近来学习usb驱动,看到网上都在分析usb-skeleton.c的驱动框架,就想对其调试一下,看一下其函数调用流程。要想调试usb-skeleton,首先需要kvm能够探测到usb设备;其次,在kvm中编译usb-skeleton.c;最后,卸载默认的usb-storage.ko,加载usb-skeleton.ko.
1. kvm中使用usb设备
要想在kvm中使用usb设备,只需在启动参数中增加usb选项即可。下面是我的kvm驱动命令,红色字体为新添加的参数:
- sudo kvm -drive file=ubuntu.img -m 512 -smp 1,cache=writeback,aio=native -net nic,vlan=0,model=rtl8139,macaddr=52-54-00-12-34-01 -net tap,vlan=0,ifname=tap0,script=no -usb -usbdevice host:058f:6390
因此,首先需要知道我们使用的usb设备的vendor id和product id,可以在主机的终端中通过命令lsusb来的到。
2. 编译和加载usb-skeleton.c就不用详细介绍了!
阅读(1025) | 评论(0) | 转发(0) |