網路城邦
上一篇 回創作列表 下一篇   字體:
usb 序號
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.
( 休閒生活生活情報 )
回應 列印 加入我的文摘
上一篇 回創作列表 下一篇

引用
引用網址:https://classic-blog.udn.com/article/trackback.jsp?uid=92girls&aid=4827333

 回應文章

凱雅斯
等級:7
留言加入好友
http://fixfakeflash.wordpress.com/
2011/03/04 13:21
http://fixfakeflash.wordpress.com/