作者a1781781781 (嘎了給給)
看板Python
標題[問題] USB descriptor 讀取問題
時間Fri Sep 11 15:23:34 2020
各位大神好
最近在寫usb的應用程式
作業系統是win10 python版本3.7
使用套件pyusb
遇到的問題是電腦對HID裝置下set report(feature)改變裝置內的設定
下Reset後有看到bus上是改變設定後的descriptor,但程式內讀到的還是舊的
目前是寫重新執行程式再讀一次(os.excel),但這樣實在很不方便,請問有人碰過類似狀
況而且有其他解法的嗎?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 49.216.33.195 (臺灣)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Python/M.1599809016.A.53C.html
1F:→ kenduest: pyusb 在 windows 上沒有處理熱插拔等通知處理實作支援09/11 16:27
2F:推 kenduest: 或者是說沒有提供裝置異動時候 callback 處理實作支援 09/11 16:33
3F:→ a1781781781: No~~~~~怎麼會QQ09/11 21:32
4F:→ a1781781781: 但Backend選libusb1就會讀到對的descriptor但對裝置09/11 22:10
5F:→ a1781781781: 讀寫就會蹦出錯誤...09/11 22:10
6F:→ kenduest: 你不是說讀到舊的嗎?好像是新的問題,有錯誤看另外是09/12 12:20
7F:→ kenduest: 寫什麼。09/12 12:20
用回文比較方便說明狀況
我試過兩種backend libusb0與 libusb1
libusb0
要用inf-wizard將HID裝置在裝置管理員下新增在libusb-win32的裝置下pyusb就讀得到,下
控制或讀寫也都正常,就是reset後讀不到新的descriptor
libusb1
可以不用像libusb0這麼麻煩,不用額外安裝什麼。但是下控制或讀寫讀寫會出現no implem
entation on this platform 或是Input/output error。若是先用libusb0下reset,再用li
busb1讀會讀到正確的descriptor
※ 編輯: a1781781781 (49.216.33.195 臺灣), 09/12/2020 16:26:27
8F:→ MOONY135: 改變之後重握會好一點 10/12 14:01