【问题标题】:Python libusb give me OSError: exception: access violation readingPython libusb给我OSError:异常:访问冲突读取
【发布时间】:2019-08-29 01:33:56
【问题描述】:

我一直在尝试将 USB 输入与 libusb 相交。我可以成功检测并连接到设备,但无法从设备读取。

我有一个监控设备,可以与它自己的软件完美配合。但我需要将数据获取到 python 以进行进一步分析。

import usb.core
dev = usb.core.find(idVendor=0x09da, idProduct=0xc10a)
import usb1
with usb1.USBContext() as context:
    handle = context.openByVendorIDAndProductID(0x09DA,0xC10A,skip_on_error=True)
Ep = dev[0][(0,0)][0]
while True:
    data = handle.bulkRead(0x5, 8)

OSError Traceback(最近一次调用最后一次) 在 4 Ep = dev[0][(0,0)][0] 5 当真: ----> 6 个数据 = handle.bulkRead(0x5, 8)

c:\users\admin\appdata\local\programs\python\python36\lib\site-packages\usb1__init__.py in bulkRead(self, endpoint, length, timeout) 1567 数据,data_buffer = create_binary_buffer(长度) 1568 尝试: -> 1569 传输 = self._bulkTransfer(端点、数据、长度、超时) 1570 除了 USBErrorTimeout 作为异常: 1571 exception.received = data_buffer[:exception.transferred]

c:\users\admin\appdata\local\programs\python\python36\lib\site-packages\usb1__init__.py in _bulkTransfer(self, endpoint, data, length, timeout) 1516 尝试: 1517 mayRaiseUSBError(libusb1.libusb_bulk_transfer( -> 1518 self.__handle,endpoint,data,length,byref(transferred),timeout, 第1519章) 1520 除了 USBErrorTimeout 作为异常:

OSError:异常:访问冲突读取 0x0000000000000040

【问题讨论】:

标签: python usb


【解决方案1】:

我在使用 usb.core 时遇到了类似的 OSError。

OSError: exception: access violation writing 0x0000000000000024

我尝试了这里建议的几个更改 - https://github.com/pyusb/pyusb/issues/203

  1. 使用来自 git 的补丁,因为它没有在 PyPi 中发布 https://github.com/pyusb/pyusb

  2. 使用 libusb 转 1.0.22 DLL

这降低了异常发生的频率,但没有为我解决。

然后,我尝试了这个 -

dev = usb.core.find(find_all=True)
dev.set_configuration()  # added this line

到目前为止,我还没有看到异常发生。希望这会有所帮助。

我还没有尝试过,但是,也许可以尝试应用这个补丁(建议在https://github.com/pyusb/pyusb/issues/203) - https://github.com/jonasmalacofilho/liquidctl/commit/e1cdcb686e50231e425f0121f880289420510c8d

【讨论】:

    猜你喜欢
    • 2019-06-19
    • 2013-03-06
    • 1970-01-01
    • 1970-01-01
    • 2023-03-14
    • 2014-11-01
    • 1970-01-01
    • 2020-06-15
    • 2016-10-24
    相关资源
    最近更新 更多