[問題] rpi2 usb webcam Device ID

看板LinuxDev作者 (卡卡獸)時間9年前 (2016/01/20 17:21), 編輯推噓7(7027)
留言34則, 5人參與, 最新討論串1/1
Hi , 我手邊一個 RPI2 ,接兩顆同型號之 webcam Device, 我想知道有沒辦法去辨識哪個 webcam 目前接到哪個 usb port? (目前重開機後, usb device no 與 port 之對應有時會亂掉 ) 我試過用 lsusb 方式去比較,發現裡面只有列出 VID 與 PID, 輸出並沒有其他可以識別的資訊。 請問這部份是否有辦法判別,哪個 /dev/video? 對應到的哪個 usb port ?? 先感謝各位的不吝指導,謝謝。 -- 「自從我學了 C# , 人都變聰明 , 考試都考一百分」 「自從我學了 VB , 皮膚都變好 , 人也變漂亮了 」 「自從我學了 Java , 明顯變壯 , 個子也變高了 」 「自從我學了 C++ , 內分泌失調 , 頭都禿了... 」 < Kuso 星爺語錄 > -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 60.251.92.138 ※ 文章網址: https://www.ptt.cc/bbs/LinuxDev/M.1453281684.A.AAA.html

01/20 17:22, , 1F
雖手邊是 RPI2 , 但覺得很多和 linux 相似 , 故於此請教
01/20 17:22, 1F

01/20 17:56, , 2F
看 sysfs 下面 (/sys/class/video? 不確定) 對應你用的dev
01/20 17:56, 2F

01/20 17:56, , 3F
下應該會有 device 這個 symlink, 指向的可能就是 usb 路徑
01/20 17:56, 3F

01/20 18:09, , 4F
@wens : 我在 sys 裡試著找了幾個相關的路徑, 沒發現有
01/20 18:09, 4F

01/20 18:09, , 5F
video?? 的訊息
01/20 18:09, 5F

01/20 18:10, , 6F
( /sys/class/ 裡類似的是 video4linux 資料夾 )
01/20 18:10, 6F

01/20 18:15, , 7F
目前只能用linux的usb裝置位址表示法(bus-port-device)
01/20 18:15, 7F

01/20 18:15, , 8F
來分辨usb上的兩個以上的相同型號裝置,但是硬體的實際
01/20 18:15, 8F

01/20 18:16, , 9F
插槽在linux顯示的是哪一個port,得要查看硬體設計跟usb
01/20 18:16, 9F

01/20 18:17, , 10F
host controller驅動程式的設計才能知道
01/20 18:17, 10F

01/20 18:18, , 11F
@leolarrel : 請問你說的 bus-port-device 指的是 lsusb
01/20 18:18, 11F

01/20 18:19, , 12F
的結果嗎?ex : Bus 001 Device 002: ID 0424:9512
01/20 18:19, 12F

01/20 18:21, , 13F
上面的結果只有 Device 0001 不同, 其他相同 , 這樣的話
01/20 18:21, 13F

01/20 18:21, , 14F
lsusb -t 的結果
01/20 18:21, 14F

01/20 18:21, , 15F
是否只能從 FW / Driver 那裡去查了?
01/20 18:21, 15F

01/20 18:22, , 16F
但是寫程式的時候不是直接剖析lsusb -t 的結果,而是要
01/20 18:22, 16F

01/20 18:22, , 17F
利用/sys
01/20 18:22, 17F

01/20 18:23, , 18F
我絕得你還是先買本LKK 3/e 然後好好研讀第13章
01/20 18:23, 18F

01/20 18:24, , 19F
說錯,不是LKK,是LDD,linux device driver
01/20 18:24, 19F

01/20 18:29, , 20F
也只能先這樣了 , 謝謝 leolarrel 和 wens , 謝謝各位。
01/20 18:29, 20F

01/20 21:36, , 21F
VID跟PID就算一樣,也還可以看序號
01/20 21:36, 21F

01/21 09:16, , 22F
@askacis , 目前就是苦惱有沒有可以看序號 SID之類的東西
01/21 09:16, 22F

01/21 09:21, , 23F
我似乎有查到, 用 lsusb -v 裡面有 iSerial,但我手邊的
01/21 09:21, 23F

01/21 09:21, , 24F
兩顆 webcam 都是 0
01/21 09:21, 24F

01/21 11:13, , 25F
iSerial是指string index,不是真正的serial number值
01/21 11:13, 25F

01/21 11:14, , 26F
你可以看看系統上還有沒有/proc/bus/usb/devices
01/21 11:14, 26F

01/21 11:16, , 27F
cat 他就可以看到真正的serial ~
01/21 11:16, 27F

01/21 11:17, , 28F
不要太新的kernel 應該都還可以打開 CONFIG_USB_DEVICEFS
01/21 11:17, 28F

01/21 11:22, , 29F
或是cat /sys/class/usb_device/usbdevXX/device/serial
01/21 11:22, 29F

01/21 14:17, , 30F
連我都不知道,又學到了
01/21 14:17, 30F

01/21 17:12, , 31F
@askacis , 謝謝您的熱心回覆 , 剛我在我的樹莓派上都沒
01/21 17:12, 31F

01/21 17:12, , 32F
找到您提到的目錄,我再往這方向繼續research,非常感謝!
01/21 17:12, 32F

01/23 09:27, , 33F
webcam是哪個牌子的?從usb層下手應該很難解
01/23 09:27, 33F

01/23 09:34, , 34F
看上面有沒有eeprom,有些eeprom會有eui64可以讀
01/23 09:34, 34F
文章代碼(AID): #1Mdr6Kgg (LinuxDev)
文章代碼(AID): #1Mdr6Kgg (LinuxDev)