当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 4 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : 似乎执行成功,但"Error in ioctl: Is a directory"是什么意思?我没有指定任何目录啊
帖子发表于 : 2015-10-09 22:53 

注册: 2013-05-26 6:58
帖子: 2154
系统: Debian 9
送出感谢: 893
接收感谢: 30
似乎执行成功,设备指示灯闪烁了,但"Error in ioctl: Is a directory"是什么意思?我没有指定任何目录啊
USB鼠标的灯闪烁了一下,并且似乎重启了(因为鼠标之前没反应)
命令:sudo ./usbreset /dev/bus/usb/003/001
结果:
Resetting USB device /dev/bus/usb/003/001
Error in ioctl: Is a directory

/dev/bus/usb/003/001 是一个root_hub,实际上它插着一个USB鼠标
usbreset源程序:
代码:
/* usbreset -- send a USB port reset to a USB device */

#include <stdio.h>
#include <unistd.h>
#include <fcntl.h>
#include <errno.h>
#include <sys/ioctl.h>

#include <linux/usbdevice_fs.h>


int main(int argc, char **argv)
{
    const char *filename;
    int fd;
    int rc;

    if (argc != 2) {
        fprintf(stderr, "Usage: usbreset device-filename\n");
        return 1;
    }
    filename = argv[1];

    fd = open(filename, O_WRONLY);
    if (fd < 0) {
        perror("Error opening output file");
        return 1;
    }

    printf("Resetting USB device %s\n", filename);
    rc = ioctl(fd, USBDEVFS_RESET, 0);
    if (rc < 0) {
        perror("Error in ioctl");
        return 1;
    }
    printf("Reset successful\n");

    close(fd);
    return 0;
}



页首
 用户资料  
 
2 楼 
 文章标题 : Re: 似乎执行成功,但"Error in ioctl: Is a directory"是什么意思?我没有指定任何目录啊
帖子发表于 : 2015-10-12 23:03 
头像

注册: 2007-03-15 16:58
帖子: 2802
地址: 湖北武汉
送出感谢: 2
接收感谢: 4
:em06 这也太复杂


_________________
引用:


页首
 用户资料  
 
3 楼 
 文章标题 : Re: 似乎执行成功,但"Error in ioctl: Is a directory"是什么意思?我没有指定任何目录啊
帖子发表于 : 2015-11-03 15:45 
头像

注册: 2008-09-18 13:11
帖子: 2781
送出感谢: 1
接收感谢: 453
对root hub用USBDEVFS_RESET报这个错很正常。
往大了说,用USBDEVFS_RESET出任何错都很正常,自己看看内核文档里是怎么说的
https://www.kernel.org/doc/htmldocs/usb ... ioctl.html



_________________
评价: 3.7% 科学之子
 
页首
 用户资料  
 
4 楼 
 文章标题 : Re: 似乎执行成功,但"Error in ioctl: Is a directory"是什么意思?我没有指定任何目录啊
帖子发表于 : 2015-12-16 21:07 

注册: 2013-05-26 6:58
帖子: 2154
系统: Debian 9
送出感谢: 893
接收感谢: 30
astolia 写道:
对root hub用USBDEVFS_RESET报这个错很正常。
往大了说,用USBDEVFS_RESET出任何错都很正常,自己看看内核文档里是怎么说的
https://www.kernel.org/doc/htmldocs/usb ... ioctl.html


引用:
往大了说,用USBDEVFS_RESET出任何错都很正常

意思是指这段警告?
引用:
Warning
Avoid using this call until some usbcore bugs get fixed, since it does not fully synchronize device, interface, and driver (not just usbfs) state.



引用:
对root hub用USBDEVFS_RESET报这个错很正常。

"很正常"意思是否和那段警告的意思相同?还是有什么肯定的原因?

另外,您是用什么关键词和搜索引擎找到的呢?


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 4 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 2 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译