usb-skeleton.c不起作用

时间:2015-12-08 00:19:01

标签: linux usb linux-device-driver usb-mass-storage

我正在尝试在Linux中编写基本设备驱动程序,以便在USB大容量存储设备上执行IO。我正在使用2.6.34内核。我使用内核附带的usb-skeleton.c来了解USB核心API的正确工作。我编译了它,为我的USB闪存盘插入了生成的/ dev / skel0设备。

http://lxr.free-electrons.com/source/drivers/usb/usb-skeleton.c?v=2.6.34

我在设备上写了一个1024字节的数据包,但令我惊讶的是,写入失败了输入/输出错误

# insmod usb-skeleton.ko
# ls /dev/skel0
  /dev/skel0
# dd if=/dev/urandom of=/dev/skel0 bs=1024 count=1
  dd closing output file `/dev/ask0': Input/Output error

当我写数据时,骨架驱动程序的写入函数甚至写入回调都被调用但IO仍然失败。

由于usb-skeleton.c附带Linux内核,我相信它会经过严格的测试和完美无缺。我必须做错事,并且在设备驱动程序编程方面是新手,我无法意识到错误。我很感激这方面的任何帮助。

谢谢。

1 个答案:

答案 0 :(得分:0)

您可以使用

$ sudo chmod -R 777 /dev/skel0