我正在使用chrome.usb
來自Chrome應用的API與智能卡讀卡器USB設備進行交互。我可以打開設備並拉取配置。但是,當我撥打claimInterface()
開始交換數據時,出現錯誤消息:「聲明界面錯誤」。並沒有其他診斷。診斷chrome.usb.claimInterface()錯誤
任何指針如何處理,請?例如,我能以某種方式啓用API的診斷日誌記錄嗎?
在這個線程我正在使用chrome.usb
來自Chrome應用的API與智能卡讀卡器USB設備進行交互。我可以打開設備並拉取配置。但是,當我撥打claimInterface()
開始交換數據時,出現錯誤消息:「聲明界面錯誤」。並沒有其他診斷。診斷chrome.usb.claimInterface()錯誤
任何指針如何處理,請?例如,我能以某種方式啓用API的診斷日誌記錄嗎?
在這個線程討論了類似的問題:Error message 'Interface not claimed' from libusb
這裏有個副本
剛和的libusb-1.0相同的問題;我本來這個順序:
libusb_init
libusb_open_device_with_vid_pid
libusb_reset_device
libusb_get_device
libusb_reset_device
libusb_set_configuration
libusb_claim_interface
libusb_set_interface_alt_setting
libusb_get_device_descriptor
libusb_get_bus_number
libusb_get_device_address
libusb_get_string_descriptor_ascii
if(libusb_kernel_driver_active..)
if(libusb_detach_kernel_driver..)
libusb_bulk_transfer
...
...併爲它,當第一libusb_bulk_transfer執行(但不包括後續的,而不是如上所示)產生了「界面無人認領」,我證實了步進GDB。 (順便說一下,這個錯誤信息來自/linux/drivers/usb/core/devio.c)
本頁面:USB Hid Issue · Yubico/yubikey-personalization Wiki · GitHub引用libusb-0.1的一個修復程序,它調用相應的「detach_driver」函數;所以我開始在我的代碼四處移動「detach_driver」部分太 - 最後這個序列似乎擺脫消息「沒有聲稱接口」的:
libusb_init
libusb_open_device_with_vid_pid
if(libusb_kernel_driver_active..)
if(libusb_detach_kernel_driver..)
libusb_reset_device
libusb_get_device
libusb_set_configuration
libusb_claim_interface
libusb_set_interface_alt_setting
libusb_get_device_descriptor
libusb_get_bus_number
libusb_get_device_address
libusb_get_string_descriptor_ascii
libusb_bulk_transfer
...
顯然,如果司機先分離,然後接口聲明 - 然後不會產生錯誤。但這也是你在OP有什麼 - 所以我認爲,OP的訣竅將是分離,然後設置配置,然後索賠接口...
可能是相關的,但我在Windows上工作以開始... –
我一直有在Windows上的libusb問題。您可以使用WDK(Win10)或DDK(較早的Win),但這很複雜。這裏有libusb的錯誤代碼:
http://libusb.org/static/api-1.0/group__misc.html你是LIBUSB_ERROR_ACCESS
這似乎是操作系統的安全問題。我不熟悉windows和libusb
[顯然](https://code.google.com/p/chromium/codesearch#chromium/src/device/usb/usb_device_handle_impl.cc&sq=package:chromium&type=cs&l=733&rcl = 1447771613)錯誤信息應該出現在'chrome:// device-log /' – wOxxOm
好找。然而我沒有看到任何東西;經過多次違規代碼的運行後,最近沒有一條記錄。這種記錄是基於每個窗口的,也許是? –
請參閱[如何啓用日誌記錄](https://www.chromium.org/for-testers/enable-logging) – wOxxOm