LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1127|回复: 0

usb设备驱动 usb_bulk_msg()返回非零值,求解!

[复制链接]
发表于 2009-2-27 17:09:02 | 显示全部楼层 |阅读模式
借用usb_sckel.c写设备驱动,只改了设备ID等,编译成功后:

insmod usb_sckel.ko

lsmod查看USB的主设备号为180,我的驱动的从设备号为192.

mknod /dev/usb/sckel c 180 192

然后写了一个简单的测试函数
int main()
{
        int fd = open("/dev/usb/sckel", O_RDWR);
        if(fd == -1){
                cout << "open usb fail!\n";
                return fd;
        }
        int i=0;
                for(int k=0; k<10; k++) {
                     read(fd, &i, sizeof(int));
                     cout<<i;
                }

        return 0;
}


测试函数中open()调用正常,查看了调试信息,probe()也正确,找到了IN和OUT端点,但是read()函数时,到了usb_bulk_msg()时出错!!!似乎根本就收不到数据,最后超时返回了。

不知道原因,请教各位!谢谢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表