linux 查看libusb版本,linux – 从使用libusb的设备读取问题
情況是這樣的:我有一個(gè)USB設(shè)備(我試圖與之交談的自定義設(shè)備)有兩個(gè)端點(diǎn),一個(gè)寫(xiě)入設(shè)備,一個(gè)從設(shè)備讀取.兩者都是批量轉(zhuǎn)移.每個(gè)通信事務(wù)采取以下形式:(1)向設(shè)備寫(xiě)入命令(2)讀取響應(yīng).我正在使用libusb(版本0.1而不是1.0 beta)來(lái)實(shí)際執(zhí)行通信.
在Windows上,一切都很好.我可以連接設(shè)備,聲稱界面并愉快地溝通.但是,在Ubuntu(標(biāo)準(zhǔn)Hardy桌面安裝)中,雖然我可以連接到設(shè)備并寫(xiě)入它,但所有讀取操作都會(huì)失敗,并顯示libusb報(bào)告的錯(cuò)誤“錯(cuò)誤提交URB:無(wú)效參數(shù)”(錯(cuò)誤代碼-22).
如果我檢查/ var / log / messages,我會(huì)看到在嘗試讀取的同時(shí)記錄了一條警告消息:“sysfs:duplicate filename’usbdev4.3_ep81’無(wú)法創(chuàng)建” – 這與設(shè)備相符(確實(shí)是在那輛公共汽車和它的端點(diǎn)81我試圖讀取).
所以…有人看到使用libusb的類似問(wèn)題,或者有任何想法如何解決它?
解決方法:
事實(shí)證明,這是設(shè)備本身描述符中的錯(cuò)誤配置. lsusb -v顯示了一個(gè)從未使用的額外接口,它具有單個(gè)等時(shí)端點(diǎn)0x81.由于這從未使用過(guò)(并且從未經(jīng)過(guò)我所見(jiàn)過(guò)的測(cè)試,因此很可能甚至沒(méi)有正確定義)我將其從設(shè)備描述符中完全刪除(在固件中).
現(xiàn)在我有一個(gè)完全正常工作的設(shè)備.為什么linux拒絕從設(shè)備上讀取,但Windows工作得很好,我不知道,但它肯定讓我瘋狂追逐.
標(biāo)簽:linux,usb,libusb
來(lái)源: https://codeday.me/bug/20190627/1302651.html
總結(jié)
以上是生活随笔為你收集整理的linux 查看libusb版本,linux – 从使用libusb的设备读取问题的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: linux查看无线网卡频率,查看无线网卡
- 下一篇: linux项目运行日志查看,Linux项