1)cd linux-source-3.0.0
2)lsusb /*查看所有连接到系统的USB设备*/
3)拔掉USB设备,然后再运行一遍lsusb命令,这样就可以确定以上哪条信息是针对你的新硬件的了。
Bus 002 Device 004: ID 1e3d:2093 /*我的硬件识别信息*/
其中ID 1e3d:2093这个信息对我们很有用处,我们需要用它来查找内核中与硬件匹配的信息。1e3d代表的是厂商ID,就是哪家厂商。2093是硬件ID。
下面开始用1e3d搜索内核源码树:
4)grep -i -R-l 0403 drivers
drivers/usb/serial/ftdi_sio.mod.o drivers/usb/serial/ftdi_sio.ko drivers/usb/serial/ftdi_sio.mod.c drivers/watchdog/pcwd_pci.ko drivers/watchdog/pcwd_pci.mod.c drivers/watchdog/pcwd_pci.mod.o drivers/bluetooth/btusb.ko drivers/bluetooth/btusb.mod.c drivers/bluetooth/btusb.mod.o drivers/media/rc/keymaps/rc-hauppauge.c drivers/media/rc/keymaps/rc-dib0700-rc5.c drivers/media/dvb/dvb-usb/dvb-usb-vp702x.mod.c drivers/media/dvb/dvb-usb/nova-t-usb2.c drivers/media/dvb/dvb-usb/dvb-usb-vp702x.ko drivers/media/dvb/dvb-usb/dvb-usb-vp702x.mod.o
该命令执行完后,会在屏幕上显示若干条以.data .c .h等为结尾的文件,比如drivers/usb/serial/ftdi_sio.ko不用看最后一部分,前三个目录名就可以确定这是个USB串口设备。同样的判断方法,我们就可以确定我们需要的内核文件了。以防万一,我们进入这个文件中,USB驱动告诉内核它们支持哪些谁被,以便内核可以把驱动绑定到设备上。一般在一个结构体变量中列出制造商ID和设备ID。如果我们设备的制造商ID和设备ID在里面的话,说明这个驱动支持我们的硬件设备。
cd linux-3.0.0 /*进入内核文件中*/
find –type f –name Makefile | xargs grep XXXXX/*会显示一个以CONFIG_为前缀的字段*/
找到这个字段后,返回内核Makefile文件中,使用内核配置工具menuconfig,搜索这个字段。最后在该程序菜单中相应位置启动这个驱动。
不论你在什么时候开始,重要的是开始之後就不要停止