字體:小 中 大 | |
|
|
2011/01/26 01:23:02瀏覽865|回應1|推薦0 | |
http://tbofcai.blogspot.com/2010/06/usbchipgenius.html
取得此晶片相對應的量產工具。 ChipGenius http://tw.network01.net/modules/mydownloads/singlefile.php?cid=7&lid=33 smi mass production SM32110量產工具 量產工具下载.rar 以下截錄自http://www.csie.nctu.edu.tw/~mdchang/lkn/lkn.html ==========================================Begin USB Devices 與 PCI devices 類似,差別只是在改找 USB bus ID,也就是 VID (vendor ID) 與 PID (product ID)。 1. 利用 lsusb 找出 USB 裝置的 VID/PID。 可觀察 USB 裝置插入/移除後,那個 device 出現又消失。lsusb 得到的資訊如下: $ /usr/sbin/lsusb | grep -v 0000:0000 Bus 004 Device 003: ID 157e:300d 其中 ID 後的兩組數字分別就是 USB VID/PID。grep -v 0000:0000 是排除 VID/PID 皆為 0x0000 的 USB host controller。 2. 在 .../drivers/ 下搜尋 VIP/PID,並且要同時出現在 struct usb_device_id 的定義裏。 USB IDs 並沒有如 PCI IDs 有個檔案定義 symbols,所以要直接以 VID/PID 的數值來尋找。如同 PCI,USB drivers 也必須告訴 kernel 支援那些硬體,這些資訊就存在 struct usb_device_id 這個資料結構內。如: static struct usb_device_id usb_ids[] = { /* ZD1211 */ { USB_DEVICE(0x0ace, 0x1211), .driver_info = DEVICE_ZD1211 }, { USB_DEVICE(0x07b8, 0x6001), .driver_info = DEVICE_ZD1211 }, /* ZD1211B */ { USB_DEVICE(0x157e, 0x300d), .driver_info = DEVICE_ZD1211B }, /* "Driverless" devices that need ejecting */ { USB_DEVICE(0x0ace, 0x2011), .driver_info = DEVICE_INSTALLER }, {} }; 3. 老方法:在 source tree 下的所有 Makefile 搜尋包含 struct usb_device_id 的檔案名稱,如: $ find -type f -name Makefile | xargs grep -l zd_usb | xargs cat obj-$(CONFIG_ZD1211RW) += zd1211rw.o zd1211rw-objs := zd_chip.o zd_ieee80211.o \ zd_mac.o zd_netdev.o \ zd_rf_al2230.o zd_rf_rf2959.o \ zd_rf.o zd_usb.o zd_util.o ifeq ($(CONFIG_ZD1211RW_DEBUG),y) EXTRA_CFLAGS += -DDEBUG endif 由上得知此 USB device 需要啟動 CONFIG_ZD1211RW。 ==========================================End. |
|
( 休閒生活|生活情報 ) |