You can subscribe to this list here.
2006 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(2) |
Jul
|
Aug
(3) |
Sep
|
Oct
|
Nov
|
Dec
|
---|---|---|---|---|---|---|---|---|---|---|---|---|
2007 |
Jan
|
Feb
|
Mar
|
Apr
(2) |
May
|
Jun
|
Jul
(1) |
Aug
(1) |
Sep
|
Oct
(3) |
Nov
(4) |
Dec
|
2008 |
Jan
(1) |
Feb
(5) |
Mar
(2) |
Apr
|
May
(8) |
Jun
(4) |
Jul
|
Aug
|
Sep
(11) |
Oct
|
Nov
|
Dec
(20) |
2009 |
Jan
(16) |
Feb
(7) |
Mar
(9) |
Apr
(4) |
May
(6) |
Jun
(17) |
Jul
(3) |
Aug
(4) |
Sep
(5) |
Oct
(10) |
Nov
(16) |
Dec
|
2010 |
Jan
(22) |
Feb
(18) |
Mar
(9) |
Apr
(102) |
May
(29) |
Jun
(40) |
Jul
(80) |
Aug
(21) |
Sep
(47) |
Oct
(13) |
Nov
(19) |
Dec
(45) |
2011 |
Jan
(82) |
Feb
(20) |
Mar
(47) |
Apr
(25) |
May
(18) |
Jun
(24) |
Jul
(24) |
Aug
(47) |
Sep
(23) |
Oct
(22) |
Nov
(69) |
Dec
(20) |
2012 |
Jan
(56) |
Feb
(42) |
Mar
(43) |
Apr
(27) |
May
(18) |
Jun
(11) |
Jul
(61) |
Aug
(19) |
Sep
(13) |
Oct
(49) |
Nov
(32) |
Dec
(37) |
2013 |
Jan
(46) |
Feb
(14) |
Mar
(13) |
Apr
(20) |
May
(20) |
Jun
(3) |
Jul
(19) |
Aug
(7) |
Sep
(4) |
Oct
(33) |
Nov
(7) |
Dec
(15) |
2014 |
Jan
(5) |
Feb
(21) |
Mar
(3) |
Apr
(3) |
May
(30) |
Jun
(1) |
Jul
(30) |
Aug
(2) |
Sep
(22) |
Oct
(14) |
Nov
(22) |
Dec
(6) |
2015 |
Jan
(7) |
Feb
(4) |
Mar
(16) |
Apr
(9) |
May
(17) |
Jun
(28) |
Jul
(3) |
Aug
(18) |
Sep
(3) |
Oct
|
Nov
(6) |
Dec
(3) |
2016 |
Jan
(15) |
Feb
(18) |
Mar
(12) |
Apr
(14) |
May
(15) |
Jun
(3) |
Jul
(3) |
Aug
(42) |
Sep
(24) |
Oct
(6) |
Nov
(5) |
Dec
(6) |
2017 |
Jan
(6) |
Feb
(2) |
Mar
(12) |
Apr
|
May
(1) |
Jun
(3) |
Jul
(2) |
Aug
(6) |
Sep
|
Oct
(1) |
Nov
(5) |
Dec
(7) |
2018 |
Jan
|
Feb
(9) |
Mar
(7) |
Apr
|
May
(10) |
Jun
(20) |
Jul
(2) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2019 |
Jan
(20) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(1) |
Nov
(9) |
Dec
|
2020 |
Jan
(1) |
Feb
|
Mar
(1) |
Apr
(5) |
May
(2) |
Jun
|
Jul
|
Aug
|
Sep
(5) |
Oct
|
Nov
(8) |
Dec
(2) |
2021 |
Jan
(16) |
Feb
(1) |
Mar
|
Apr
(9) |
May
(4) |
Jun
|
Jul
|
Aug
|
Sep
(2) |
Oct
(2) |
Nov
|
Dec
(1) |
2022 |
Jan
|
Feb
(7) |
Mar
|
Apr
(4) |
May
|
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2023 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(1) |
Nov
|
Dec
|
2024 |
Jan
|
Feb
|
Mar
|
Apr
(1) |
May
(2) |
Jun
(2) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Xiaofan C. <xia...@gm...> - 2018-06-10 05:46:35
|
On Wed, May 16, 2018 at 9:35 PM, Roland King <ro...@ro...> wrote: > .. my first post .. > > I have a device (Atmel running their vendor development USB stack). > > It has one configuration, one interface two alternates as they use an > isochronous endpoint and you can’t have that in the default configuration. > With the simplest example I can come up with I get ‘Errno 2 - entity not > found’ on any access to any endpoint on the device. I think pyusb may not work well with isochronous transfer. I have never tried myself. You may want to try out using C first to see if the device works under plain libusb under Mac OS X. You can also try this. It claims to support isochronous transfer. https://github.com/vpelletier/python-libusb1 -- Xiaofan |
From: Xiaofan C. <xia...@gm...> - 2018-06-05 13:59:14
|
On Fri, Jun 1, 2018 at 9:48 AM, Sasha Yousefi <sas...@be...> wrote: > Hello, > Hope you are well. I am having trouble communicating with my device using > read and write. My code is able to recognize the device as well as get > attributes of the device. However, when I write to device using > dev.write(endpoint = 2, message = 'OR'), there is no change in the device. > Here is the output of the device attributes. Is there anything I am missing > with the write methods? The specific commands for the device are indicated > by 2 ASCII letters (in the example above, 'OR'). Please let me know if there > is anything I can do to modify my write command. Thank you so much. > > DEVICE ID 0403:6001 on Bus 020 Address 020 ================= > idVendor : 0x0403 > > idProduct : 0x6001 > > bcdDevice : 0x600 Device 6.0 > > iManufacturer : 0x1 FTDI > > iProduct : 0x2 USB-RS422 Cable > This is a FTDI device and it has its own communication protocol. You will have to understand the device communication protocol in order to use pyusb/libusb to talk to it. On the other hand, people has already developed python package to talk to FTDI device -- pyftdi is based on pyusb and pyserial. You can give it a try (I think it is only for Python 3.x) Ref: https://github.com/eblot/pyftdi -- Xiaofan |
From: Tormod V. <lis...@gm...> - 2018-06-02 14:59:00
|
Hi Sasha, Without seeing your code it is difficult to help you. This device (USB-RS422 Cable) looks like something that the operating system will have drivers for, and will take control over. Regards, Tormod On Fri, Jun 1, 2018 at 3:48 AM, Sasha Yousefi <sas...@be...> wrote: > Hello, > Hope you are well. I am having trouble communicating with my device using > read and write. My code is able to recognize the device as well as get > attributes of the device. However, when I write to device using > dev.write(endpoint = 2, message = 'OR'), there is no change in the device. > Here is the output of the device attributes. Is there anything I am missing > with the write methods? The specific commands for the device are indicated > by 2 ASCII letters (in the example above, 'OR'). Please let me know if there > is anything I can do to modify my write command. Thank you so much. > > DEVICE ID 0403:6001 on Bus 020 Address 020 ================= > iManufacturer : 0x1 FTDI > iProduct : 0x2 USB-RS422 Cable |
From: Sasha Y. <sas...@be...> - 2018-06-01 02:16:12
|
Hello, Hope you are well. I am having trouble communicating with my device using read and write. My code is able to recognize the device as well as get attributes of the device. However, when I write to device using dev.write(endpoint = 2, message = 'OR'), there is no change in the device. Here is the output of the device attributes. Is there anything I am missing with the write methods? The specific commands for the device are indicated by 2 ASCII letters (in the example above, 'OR'). Please let me know if there is anything I can do to modify my write command. Thank you so much. DEVICE ID 0403:6001 on Bus 020 Address 020 ================= bLength : 0x12 (18 bytes) bDescriptorType : 0x1 Device bcdUSB : 0x200 USB 2.0 bDeviceClass : 0x0 Specified at interface bDeviceSubClass : 0x0 bDeviceProtocol : 0x0 bMaxPacketSize0 : 0x8 (8 bytes) idVendor : 0x0403 idProduct : 0x6001 bcdDevice : 0x600 Device 6.0 iManufacturer : 0x1 FTDI iProduct : 0x2 USB-RS422 Cable iSerialNumber : 0x3 FTWY19P5 bNumConfigurations : 0x1 CONFIGURATION 1: 500 mA ================================== bLength : 0x9 (9 bytes) bDescriptorType : 0x2 Configuration wTotalLength : 0x20 (32 bytes) bNumInterfaces : 0x1 bConfigurationValue : 0x1 iConfiguration : 0x0 bmAttributes : 0x80 Bus Powered bMaxPower : 0xfa (500 mA) INTERFACE 0: Vendor Specific =========================== bLength : 0x9 (9 bytes) bDescriptorType : 0x4 Interface bInterfaceNumber : 0x0 bAlternateSetting : 0x0 bNumEndpoints : 0x2 bInterfaceClass : 0xff Vendor Specific bInterfaceSubClass : 0xff bInterfaceProtocol : 0xff iInterface : 0x2 USB-RS422 Cable ENDPOINT 0x81: Bulk IN =============================== bLength : 0x7 (7 bytes) bDescriptorType : 0x5 Endpoint bEndpointAddress : 0x81 IN bmAttributes : 0x2 Bulk wMaxPacketSize : 0x40 (64 bytes) bInterval : 0x0 ENDPOINT 0x2: Bulk OUT =============================== bLength : 0x7 (7 bytes) bDescriptorType : 0x5 Endpoint bEndpointAddress : 0x2 OUT bmAttributes : 0x2 Bulk wMaxPacketSize : 0x40 (64 bytes) bInterval : 0x0 Sasha Yousefi -- Class of 2020 |
From: Roland K. <ro...@ro...> - 2018-05-17 01:40:36
|
.. my first post .. I have a device (Atmel running their vendor development USB stack). It has one configuration, one interface two alternates as they use an isochronous endpoint and you can’t have that in the default configuration. With the simplest example I can come up with I get ‘Errno 2 - entity not found’ on any access to any endpoint on the device. Heres the python, this is on MacOS MacBook-Pro:eic rols$ python3 Python 3.5.1 (v3.5.1:37a07cee5969, Dec 5 2015, 21:12:44) [GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> import usb >>> dev=usb.core.find(idVendor=0x3eb,idProduct=0x2423) >>> dev.set_configuration() >>> dev.set_interface_altsetting(0,1) >>> dev.write(0x83,'test') Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/usb/core.py", line 948, in write self.__get_timeout(timeout) File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/usb/backend/libusb1.py", line 824, in bulk_write timeout) File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/usb/backend/libusb1.py", line 920, in __write _check(retval) File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/usb/backend/libusb1.py", line 595, in _check raise USBError(_strerror(ret), ret, _libusb_errno[ret]) usb.core.USBError: [Errno 2] Entity not found >>> There’s a print of the device at the bottom showing that it does have one config and interface 0 has an alternate. I note that the framework has correctly deduced the endpoint is bulk (it’s in bulk_write) and I tried a few others and ended up in the same place in different functions (read_bulk, write_int.. etc) so it has definitely parsed the descriptor properly and is calling the right thing. the USB Prober on the Mac shows the interface is configured, it wasn’t before I did the dev.set_configuration() so I’m definitely talking to it and as it’s a device I’m building I can see the correct setup calls were made to the board, pretty sure it’s in config 0, interface 0/alternate 1. I’ve tried explicitly claiming it, no difference. I don’t believe the OS claims this interface as it’s all totally vendor and when restarted it comes up unconfigured. I get the same error reading or writing to any of the non-control interfaces. Is there a step I missed here? DEVICE ID 03eb:2423 on Bus 020 Address 035 ================= bLength : 0x12 (18 bytes) bDescriptorType : 0x1 Device bcdUSB : 0x200 USB 2.0 bDeviceClass : 0x0 Specified at interface bDeviceSubClass : 0x0 bDeviceProtocol : 0x0 bMaxPacketSize0 : 0x40 (64 bytes) idVendor : 0x03eb idProduct : 0x2423 bcdDevice : 0x100 Device 1.0 iManufacturer : 0x0 iProduct : 0x0 iSerialNumber : 0x0 bNumConfigurations : 0x1 CONFIGURATION 1: 100 mA ================================== bLength : 0x9 (9 bytes) bDescriptorType : 0x2 Configuration wTotalLength : 0x45 (69 bytes) bNumInterfaces : 0x1 bConfigurationValue : 0x1 iConfiguration : 0x0 bmAttributes : 0x80 Bus Powered bMaxPower : 0x32 (100 mA) INTERFACE 0: Vendor Specific =========================== bLength : 0x9 (9 bytes) bDescriptorType : 0x4 Interface bInterfaceNumber : 0x0 bAlternateSetting : 0x0 bNumEndpoints : 0x0 bInterfaceClass : 0xff Vendor Specific bInterfaceSubClass : 0xff bInterfaceProtocol : 0xff iInterface : 0x0 INTERFACE 0, 1: Vendor Specific ======================== bLength : 0x9 (9 bytes) bDescriptorType : 0x4 Interface bInterfaceNumber : 0x0 bAlternateSetting : 0x1 bNumEndpoints : 0x6 bInterfaceClass : 0xff Vendor Specific bInterfaceSubClass : 0xff bInterfaceProtocol : 0xff iInterface : 0x0 ENDPOINT 0x81: Interrupt IN ========================== bLength : 0x7 (7 bytes) bDescriptorType : 0x5 Endpoint bEndpointAddress : 0x81 IN bmAttributes : 0x3 Interrupt wMaxPacketSize : 0x40 (64 bytes) bInterval : 0x1 ENDPOINT 0x2: Interrupt OUT ========================== bLength : 0x7 (7 bytes) bDescriptorType : 0x5 Endpoint bEndpointAddress : 0x2 OUT bmAttributes : 0x3 Interrupt wMaxPacketSize : 0x40 (64 bytes) bInterval : 0x1 ENDPOINT 0x83: Bulk IN =============================== bLength : 0x7 (7 bytes) bDescriptorType : 0x5 Endpoint bEndpointAddress : 0x83 IN bmAttributes : 0x2 Bulk wMaxPacketSize : 0x40 (64 bytes) bInterval : 0x0 ENDPOINT 0x4: Bulk OUT =============================== bLength : 0x7 (7 bytes) bDescriptorType : 0x5 Endpoint bEndpointAddress : 0x4 OUT bmAttributes : 0x2 Bulk wMaxPacketSize : 0x40 (64 bytes) bInterval : 0x0 ENDPOINT 0x85: Isochronous IN ======================== bLength : 0x7 (7 bytes) bDescriptorType : 0x5 Endpoint bEndpointAddress : 0x85 IN bmAttributes : 0x1 Isochronous wMaxPacketSize : 0x100 (256 bytes) bInterval : 0x1 ENDPOINT 0x6: Isochronous OUT ======================== bLength : 0x7 (7 bytes) bDescriptorType : 0x5 Endpoint bEndpointAddress : 0x6 OUT bmAttributes : 0x1 Isochronous wMaxPacketSize : 0x100 (256 bytes) bInterval : 0x1 >>> |
From: Soultanian, M. <mik...@am...> - 2018-05-07 15:44:51
|
Thanks for your help! What I'm ultimately trying to do is reset the device, but it looks like pyusb has a .reset() method so I'm gonna give that a try to see if it has the same effect as the usb_modeswitch hack that we're using. Again, thanks so much! I'm not a great programmer so I kinda just have to hack my way through this stuff and sometimes I don't know where to look in the code. Once you suggested port_number, I did a search for that and found all the different items you were talking about and more. Thanks!! On 5/7/2018 12:39 AM, Tormod Volden wrote: > Mike, > > It might depend on the backend, but your device object should have > .bus , .address and .port_number members. > > Regards, > Tormod > > > On Mon, May 7, 2018 at 2:26 AM, Soultanian, Mike wrote: >> The last two items I can't figure out how to get are the bus and the dev# as >> displayed in the usb-devices output - any idea how I retrieve those? I was >> searching through the files and I can't seem to figure out what to type to >> get those attributes. >> |
From: Tormod V. <lis...@gm...> - 2018-05-07 07:39:17
|
Mike, It might depend on the backend, but your device object should have .bus , .address and .port_number members. Regards, Tormod On Mon, May 7, 2018 at 2:26 AM, Soultanian, Mike wrote: > > The last two items I can't figure out how to get are the bus and the dev# as > displayed in the usb-devices output - any idea how I retrieve those? I was > searching through the files and I can't seem to figure out what to type to > get those attributes. > |
From: Soultanian, M. <mik...@am...> - 2018-05-07 00:42:41
|
Tormod, Thank you for your assistance - that helped immensely! I wrote the following and it works: dev = usb.core.find(find_all=True) for cfg in dev: print "Product:", str(usb.util.get_string(cfg, cfg.iProduct)) print "Manufacturer:", str(usb.util.get_string(cfg, cfg.iManufacturer)) print "Serial:", str(usb.util.get_string(cfg, cfg.iSerialNumber)) print "VendorID:", hex(cfg.idVendor) + "(" + str(cfg.idVendor) + ")" print "ProductID:", str(usb.util.get_string(cfg, cfg.iProduct)) The last two items I can't figure out how to get are the bus and the dev# as displayed in the usb-devices output - any idea how I retrieve those? I was searching through the files and I can't seem to figure out what to type to get those attributes. Thanks! Mike On 5/5/2018 2:31 AM, Tormod Volden wrote: > Hi Mike, > > The numbers you get from the configuration are indexes to the string > descriptors. You can use get_string() to retrieve the strings from the > device. If nowhere else, it is documented in the usb/util.py source > code. > > Note that the configuration indexes are cached by the operating > system, and usually readable without OS privileges, however retrieving > the string descriptors involves the device and requires OS permissions > to the device. > > Regards, > Tormod > > On Sat, May 5, 2018 at 5:03 AM, Soultanian, Mike wrote: >> Hi, >> >> We have a problem at work where my coworkers are manually (visually) parsing >> through the output of "usb-devices" to find information (bus, vendor, >> prodid, manufacturer, serialnumber, etc) and then using that information to >> fix problematic devices using that information. I'd like to write a python >> script to accomplish what my coworkers have been doing by hand, but instead >> of parsing through the output of "usb-device" (which I could do, but it's >> tedious), I'd rather get that information from pyusb if it can provide what >> I'm looking for. I've been searching google and scouring through the >> documentation, but I'm confused and I'm stuck. I tried the code below but >> it's just displaying numbers instead of text: >> >> import usb.core >> >> # find USB devices >> dev = usb.core.find(find_all=True) >> >> for cfg in dev: >> print('Serial Number=' + str(cfg.iSerialNumber)) >> print('VendorID=' + hex(cfg.idVendor)) >> print('Manufacturer=' + str(cfg.Manufacturer)) >> print('Product=' + hex(cfg.iProduct) + "\n") >> >> and it outputs this: >> >> Serial Number=3 >> VendorID=0x424 >> Manufacturer=1 >> Product=2 >> >> Serial Number=3 >> VendorID=0x403 >> Manufacturer=1 >> Product=2 >> >> ... >> >> Obviously that's not what I'm looking for. I'm really hoping to get more >> information similar to the output from usb-devices: >> >> T: Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=480 MxCh= 8 >> D: Ver= 2.00 Cls=09(hub ) Sub=00 Prot=01 MxPS=64 #Cfgs= 1 >> P: Vendor=1d6b ProdID=0002 Rev=04.04 >> S: Manufacturer=Linux 4.4.0-116-generic xhci-hcd >> S: Product=xHCI Host Controller >> S: SerialNumber=0000:00:15.0 >> C: #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=0mA >> I: If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub >> >> T: Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 2 Spd=480 MxCh= 7 >> D: Ver= 2.00 Cls=09(hub ) Sub=00 Prot=02 MxPS=64 #Cfgs= 1 >> P: Vendor=0424 ProdID=2517 Rev=00.00 >> S: Manufacturer=cambrionix >> S: Product=U16S >> C: #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=2mA >> I: If#= 0 Alt= 1 #EPs= 1 Cls=09(hub ) Sub=00 Prot=02 Driver=hub >> >> ... >> >> >> Any help would be much appreciated! >> >> Thanks, >> >> Mike |
From: Tormod V. <lis...@gm...> - 2018-05-05 09:31:47
|
Hi Mike, The numbers you get from the configuration are indexes to the string descriptors. You can use get_string() to retrieve the strings from the device. If nowhere else, it is documented in the usb/util.py source code. Note that the configuration indexes are cached by the operating system, and usually readable without OS privileges, however retrieving the string descriptors involves the device and requires OS permissions to the device. Regards, Tormod On Sat, May 5, 2018 at 5:03 AM, Soultanian, Mike wrote: > Hi, > > We have a problem at work where my coworkers are manually (visually) parsing > through the output of "usb-devices" to find information (bus, vendor, > prodid, manufacturer, serialnumber, etc) and then using that information to > fix problematic devices using that information. I'd like to write a python > script to accomplish what my coworkers have been doing by hand, but instead > of parsing through the output of "usb-device" (which I could do, but it's > tedious), I'd rather get that information from pyusb if it can provide what > I'm looking for. I've been searching google and scouring through the > documentation, but I'm confused and I'm stuck. I tried the code below but > it's just displaying numbers instead of text: > > import usb.core > > # find USB devices > dev = usb.core.find(find_all=True) > > for cfg in dev: > print('Serial Number=' + str(cfg.iSerialNumber)) > print('VendorID=' + hex(cfg.idVendor)) > print('Manufacturer=' + str(cfg.Manufacturer)) > print('Product=' + hex(cfg.iProduct) + "\n") > > and it outputs this: > > Serial Number=3 > VendorID=0x424 > Manufacturer=1 > Product=2 > > Serial Number=3 > VendorID=0x403 > Manufacturer=1 > Product=2 > > ... > > Obviously that's not what I'm looking for. I'm really hoping to get more > information similar to the output from usb-devices: > > T: Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=480 MxCh= 8 > D: Ver= 2.00 Cls=09(hub ) Sub=00 Prot=01 MxPS=64 #Cfgs= 1 > P: Vendor=1d6b ProdID=0002 Rev=04.04 > S: Manufacturer=Linux 4.4.0-116-generic xhci-hcd > S: Product=xHCI Host Controller > S: SerialNumber=0000:00:15.0 > C: #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=0mA > I: If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub > > T: Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 2 Spd=480 MxCh= 7 > D: Ver= 2.00 Cls=09(hub ) Sub=00 Prot=02 MxPS=64 #Cfgs= 1 > P: Vendor=0424 ProdID=2517 Rev=00.00 > S: Manufacturer=cambrionix > S: Product=U16S > C: #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=2mA > I: If#= 0 Alt= 1 #EPs= 1 Cls=09(hub ) Sub=00 Prot=02 Driver=hub > > ... > > > Any help would be much appreciated! > > Thanks, > > Mike |
From: Soultanian, M. <mik...@am...> - 2018-05-05 03:19:31
|
Hi, We have a problem at work where my coworkers are manually (visually) parsing through the output of "usb-devices" to find information (bus, vendor, prodid, manufacturer, serialnumber, etc) and then using that information to fix problematic devices using that information. I'd like to write a python script to accomplish what my coworkers have been doing by hand, but instead of parsing through the output of "usb-device" (which I could do, but it's tedious), I'd rather get that information from pyusb if it can provide what I'm looking for. I've been searching google and scouring through the documentation, but I'm confused and I'm stuck. I tried the code below but it's just displaying numbers instead of text: import usb.core # find USB devices dev = usb.core.find(find_all=True) for cfg in dev: print('Serial Number=' + str(cfg.iSerialNumber)) print('VendorID=' + hex(cfg.idVendor)) print('Manufacturer=' + str(cfg.Manufacturer)) print('Product=' + hex(cfg.iProduct) + "\n") and it outputs this: Serial Number=3 VendorID=0x424 Manufacturer=1 Product=2 Serial Number=3 VendorID=0x403 Manufacturer=1 Product=2 ... Obviously that's not what I'm looking for. I'm really hoping to get more information similar to the output from usb-devices: T: Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=480 MxCh= 8 D: Ver= 2.00 Cls=09(hub ) Sub=00 Prot=01 MxPS=64 #Cfgs= 1 P: Vendor=1d6b ProdID=0002 Rev=04.04 S: Manufacturer=Linux 4.4.0-116-generic xhci-hcd S: Product=xHCI Host Controller S: SerialNumber=0000:00:15.0 C: #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=0mA I: If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub T: Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 2 Spd=480 MxCh= 7 D: Ver= 2.00 Cls=09(hub ) Sub=00 Prot=02 MxPS=64 #Cfgs= 1 P: Vendor=0424 ProdID=2517 Rev=00.00 S: Manufacturer=cambrionix S: Product=U16S C: #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=2mA I: If#= 0 Alt= 1 #EPs= 1 Cls=09(hub ) Sub=00 Prot=02 Driver=hub ... Any help would be much appreciated! Thanks, Mike |
From: Luigi G. <lui...@gm...> - 2018-05-03 08:19:07
|
Ok, I start to understand, thank you for the input :) Saluti, Luigi Il Gio 3 Mag 2018, 10:04 Luigi Gubello <lui...@gm...> ha scritto: > I'm reading usbmadesimple.co.uk and beyondlogic.org/usbnutshell but I do > not understand a fact: > > Without reading the C code, but using only pyusb, how do I understand that > there is a Control (IN / OUT) endpoint? > > With pyusb I read only "ENDPOINT 0x81: Interrupt IN". I'm doing a lot of > things wrong. > > Thank you so much > > > Saluti, Luigi > > Il Gio 3 Mag 2018, 02:50 Xiaofan Chen <xia...@gm...> ha scritto: > >> On Wed, May 2, 2018 at 10:50 PM, Luigi Gubello <lui...@gm...> >> wrote: >> > Hi, >> > >> > Nike has decided to close support for some products. So I have decided >> to >> > try to extract data from my Nike+ Sportband USB, by using Python and >> PyUSB. >> > I always get this error: >> > >> > 'usb.core.USBError: [Errno 110] Operation timed out' >> > >> > I have written a post on Stack Overflow, where there is my python code: >> > >> > >> https://stackoverflow.com/questions/50117520/extract-data-from-nike-sportband-with-pyusb-on-debian >> > >> > I found a C code that works, but I can not do the same with Python. You >> can >> > read the C code here: >> > >> > http://knz-blue.cocolog-nifty.com/memo/files/SportBandGetTrack.c >> > >> > I have read this topic: >> > >> > >> http://pyusb-users.narkive.com/sUHXq7uY/usb-core-usberror-errno-110-operation-timed-out >> > >> > It seems to be the same problem. Can you help me? >> > Thank you! >> >> >> As mentioned in the StackOverflow answer, your pyusb code is different >> from the C >> code. You need to send a Control OUT (write) transfer first and then >> carry out >> Control IN (read) transfer first. >> >> For the endpoint, Control IN is 0x80. Control OUT is 0x0. >> >> You can read basic of USB here. >> http://www.usbmadesimple.co.uk/ >> >> -- >> Xiaofan >> >> >> ------------------------------------------------------------------------------ >> Check out the vibrant tech community on one of the world's most >> engaging tech sites, Slashdot.org! http://sdm.link/slashdot >> _______________________________________________ >> pyusb-users mailing list >> pyu...@li... >> https://lists.sourceforge.net/lists/listinfo/pyusb-users >> > |
From: Luigi G. <lui...@gm...> - 2018-05-03 08:04:35
|
I'm reading usbmadesimple.co.uk and beyondlogic.org/usbnutshell but I do not understand a fact: Without reading the C code, but using only pyusb, how do I understand that there is a Control (IN / OUT) endpoint? With pyusb I read only "ENDPOINT 0x81: Interrupt IN". I'm doing a lot of things wrong. Thank you so much Saluti, Luigi Il Gio 3 Mag 2018, 02:50 Xiaofan Chen <xia...@gm...> ha scritto: > On Wed, May 2, 2018 at 10:50 PM, Luigi Gubello <lui...@gm...> > wrote: > > Hi, > > > > Nike has decided to close support for some products. So I have decided to > > try to extract data from my Nike+ Sportband USB, by using Python and > PyUSB. > > I always get this error: > > > > 'usb.core.USBError: [Errno 110] Operation timed out' > > > > I have written a post on Stack Overflow, where there is my python code: > > > > https://stackoverflow.com/questions/50117520/extract- > data-from-nike-sportband-with-pyusb-on-debian > > > > I found a C code that works, but I can not do the same with Python. You > can > > read the C code here: > > > > http://knz-blue.cocolog-nifty.com/memo/files/SportBandGetTrack.c > > > > I have read this topic: > > > > http://pyusb-users.narkive.com/sUHXq7uY/usb-core- > usberror-errno-110-operation-timed-out > > > > It seems to be the same problem. Can you help me? > > Thank you! > > > As mentioned in the StackOverflow answer, your pyusb code is different > from the C > code. You need to send a Control OUT (write) transfer first and then carry > out > Control IN (read) transfer first. > > For the endpoint, Control IN is 0x80. Control OUT is 0x0. > > You can read basic of USB here. > http://www.usbmadesimple.co.uk/ > > -- > Xiaofan > > ------------------------------------------------------------ > ------------------ > Check out the vibrant tech community on one of the world's most > engaging tech sites, Slashdot.org! http://sdm.link/slashdot > _______________________________________________ > pyusb-users mailing list > pyu...@li... > https://lists.sourceforge.net/lists/listinfo/pyusb-users > |
From: Xiaofan C. <xia...@gm...> - 2018-05-03 00:50:10
|
On Wed, May 2, 2018 at 10:50 PM, Luigi Gubello <lui...@gm...> wrote: > Hi, > > Nike has decided to close support for some products. So I have decided to > try to extract data from my Nike+ Sportband USB, by using Python and PyUSB. > I always get this error: > > 'usb.core.USBError: [Errno 110] Operation timed out' > > I have written a post on Stack Overflow, where there is my python code: > > https://stackoverflow.com/questions/50117520/extract-data-from-nike-sportband-with-pyusb-on-debian > > I found a C code that works, but I can not do the same with Python. You can > read the C code here: > > http://knz-blue.cocolog-nifty.com/memo/files/SportBandGetTrack.c > > I have read this topic: > > http://pyusb-users.narkive.com/sUHXq7uY/usb-core-usberror-errno-110-operation-timed-out > > It seems to be the same problem. Can you help me? > Thank you! As mentioned in the StackOverflow answer, your pyusb code is different from the C code. You need to send a Control OUT (write) transfer first and then carry out Control IN (read) transfer first. For the endpoint, Control IN is 0x80. Control OUT is 0x0. You can read basic of USB here. http://www.usbmadesimple.co.uk/ -- Xiaofan |
From: Luigi G. <lui...@gm...> - 2018-05-02 14:50:32
|
Hi, Nike has decided to close support for some products. So I have decided to try to extract data from my Nike+ Sportband USB, by using Python and PyUSB. I always get this error: 'usb.core.USBError: [Errno 110] Operation timed out' I have written a post on Stack Overflow, where there is my python code: https://stackoverflow.com/questions/50117520/extract- data-from-nike-sportband-with-pyusb-on-debian I found a C code that works, but I can not do the same with Python. You can read the C code here: http://knz-blue.cocolog-nifty.com/memo/files/SportBandGetTrack.c I have read this topic: http://pyusb-users.narkive.com/sUHXq7uY/usb-core- usberror-errno-110-operation-timed-out It seems to be the same problem. Can you help me? Thank you! Saluti, Luigi |
From: Michael H. <mic...@ri...> - 2018-03-16 05:37:38
|
I've discovered how to get pyserial to do what I need done, so I'm not responding on company time. It seems that had I stuck with pyUSB, I'd still be studying. On Fri, Mar 9, 2018 at 8:35 PM, Xiaofan Chen <xia...@gm...> wrote: > On Mon, Mar 5, 2018 at 3:51 AM, Michael Hennebry > <mic...@ri...> wrote: > > I might end up using pyserial. > > It can find the VID/PID of CDC virtual serial ports. > > > > That said, I'd still like to be able to use pyusb. > > > > At the suggestion of a colleague, > > I used zadig to get avrdude to work, > > Didn't really know what I was doing. > > Just followed directions. > > At one time, I had avrdude and Atmel Studio working, > > but I do not know what I did. > > > > My effort to get pyusb to work seems to have damaged AS7. > > It can no longer use the Atmel ICE. > > Because Atmel ICE needs to use vendor driver whereas > avrdude uses libusb-win32 or libusb-1.0 supported driver. > > In order to use Atmel Studio and avrdude, you may have > to switch driver between the two. Or try usbdk. > > > libusb-1.0 is a dll that applications, e.g. python can open? > > WinUSB, libusbK.sys, usbk and generic HID are used by the OS? > > > >> But if you really want to try, you can try libusb usbdk backend, > >> which may work with your CDC device. It acts as a filter driver. > > > > usbdk is a dll that applications, e.g. python can open? > > No. usbdk.sys/WinUSB.sys/libusbK.sys are Windows kernel > drivers that Windows OS needs to have to access your device. > That is low level stuff. To make it more complicated, > usbdk/winusb/libusbk also have associated user space library > (DLL) to let you access the device. > > libusb-1.0.dll is the user space library on top of the > usbdk/winusb/libusbk for you to easy access the device. > > pyusb can use libusb-1.0 backend through libusb-1.0 library. > Under Windows, libusb-1.0.dll is the file name for the library. > > > https://github.com/libusb/libusb/wiki/Windows#How_to_ > use_libusb_on_Windows: > >> HID keyboards and mice cannot be accessed using the native HID driver as > >> Windows reserves exclusive access to them. > > > > No user application can see either HID mice or HID keyboards as > > USB things? > > Presumably an application can see the keyboard as a file it can open. > > What can see a mouse? As what? > > There are APIs for mouse/keyboard, like Direct Input. There are > on the high level than USB. They support USB/Bluetooth etc. > > > Thank you for your attention. > > I hope it doesn't seem too much like irrigating a rock. > > > > Windows driver is a complicated world... > > -- > Xiaofan > > ------------------------------------------------------------ > ------------------ > Check out the vibrant tech community on one of the world's most > engaging tech sites, Slashdot.org! http://sdm.link/slashdot > _______________________________________________ > pyusb-users mailing list > pyu...@li... > https://lists.sourceforge.net/lists/listinfo/pyusb-users > |
From: Xiaofan C. <xia...@gm...> - 2018-03-10 02:35:48
|
On Mon, Mar 5, 2018 at 3:51 AM, Michael Hennebry <mic...@ri...> wrote: > I might end up using pyserial. > It can find the VID/PID of CDC virtual serial ports. > > That said, I'd still like to be able to use pyusb. > > At the suggestion of a colleague, > I used zadig to get avrdude to work, > Didn't really know what I was doing. > Just followed directions. > At one time, I had avrdude and Atmel Studio working, > but I do not know what I did. > > My effort to get pyusb to work seems to have damaged AS7. > It can no longer use the Atmel ICE. Because Atmel ICE needs to use vendor driver whereas avrdude uses libusb-win32 or libusb-1.0 supported driver. In order to use Atmel Studio and avrdude, you may have to switch driver between the two. Or try usbdk. > libusb-1.0 is a dll that applications, e.g. python can open? > WinUSB, libusbK.sys, usbk and generic HID are used by the OS? > >> But if you really want to try, you can try libusb usbdk backend, >> which may work with your CDC device. It acts as a filter driver. > > usbdk is a dll that applications, e.g. python can open? No. usbdk.sys/WinUSB.sys/libusbK.sys are Windows kernel drivers that Windows OS needs to have to access your device. That is low level stuff. To make it more complicated, usbdk/winusb/libusbk also have associated user space library (DLL) to let you access the device. libusb-1.0.dll is the user space library on top of the usbdk/winusb/libusbk for you to easy access the device. pyusb can use libusb-1.0 backend through libusb-1.0 library. Under Windows, libusb-1.0.dll is the file name for the library. > https://github.com/libusb/libusb/wiki/Windows#How_to_use_libusb_on_Windows: >> HID keyboards and mice cannot be accessed using the native HID driver as >> Windows reserves exclusive access to them. > > No user application can see either HID mice or HID keyboards as > USB things? > Presumably an application can see the keyboard as a file it can open. > What can see a mouse? As what? There are APIs for mouse/keyboard, like Direct Input. There are on the high level than USB. They support USB/Bluetooth etc. > Thank you for your attention. > I hope it doesn't seem too much like irrigating a rock. > Windows driver is a complicated world... -- Xiaofan |
From: Michael H. <mic...@ri...> - 2018-03-04 19:52:01
|
I might end up using pyserial. It can find the VID/PID of CDC virtual serial ports. That said, I'd still like to be able to use pyusb. More information on my level of experience and the current situation seems to be in order. Until recently, the only USB-specific code I'd written, was a CDC device using LUFA. At about the same time, I struggled to get avrdude, winAVR and AVR-studio 4 to use USB. Didn't know what I was doing even at the time. My current targets are avrdude, Atmel Studio 7 and a CDC device for which I have no source, but suspect of being an Arduino thing. When, as is usual, an Arduino tool can see it, its menu listing mentions 2560 and Leonardo. Finding a CDC virtual serial port is one of the examples I found, but it does not work for me. At the suggestion of a colleague, I used zadig to get avrdude to work, Didn't really know what I was doing. Just followed directions. At one time, I had avrdude and Atmel Studio working, but I do not know what I did. My effort to get pyusb to work seems to have damaged AS7. It can no longer use the Atmel ICE. One of the things I struggle with is that "install" can mean at least three different things: Put it where the OS will use it Put it where user applications generally can use it. Put it where a specific application will use it. I've never seen the distinction made explicitly. My guess is that zadig does the first. I did the last with libusb1. How many drivers are called libusb? My zadig knows of two named winusb. Xiaofan Chen wrote: > libusb is mainly meant for generic usb device, so it means > that you should not really use libusb/pyusb with your mouse > or serial port device. It has code specifically ignore mice and virtual serial ports? > If you use libusb-1.0 API (libusb Windows), then its supported > driver are WinUSB, libusbK.sys (better not use libusb0.sys), > usbdk and generic HID (not mouse/keyboard). So unless you > use the supported driver together with your mouse and your > CDC device, they will not be really usable by libusb and pyusb. libusb-1.0 is a dll that applications, e.g. python can open? WinUSB, libusbK.sys, usbk and generic HID are used by the OS? > But if you really want to try, you can try libusb usbdk backend, > which may work with your CDC device. It acts as a filter driver. usbdk is a dll that applications, e.g. python can open? https://github.com/libusb/libusb/wiki/Windows#How_to_use_libusb_on_Windows: > HID keyboards and mice cannot be accessed using the native HID driver as Windows reserves exclusive access to them. No user application can see either HID mice or HID keyboards as USB things? Presumably an application can see the keyboard as a file it can open. What can see a mouse? As what? Thank you for your attention. I hope it doesn't seem too much like irrigating a rock. On Sat, Mar 3, 2018 at 11:04 PM, Xiaofan Chen <xia...@gm...> wrote: > On Fri, Mar 2, 2018 at 10:10 AM, Michael Hennebry > <mic...@ri...> wrote: > > I have three USB devices connected, > > an Atmel ICE, a mouse and a CDC device. > > usb.core.find(find_all=True) > > finds the Atmel ICE twice, but not the others. > > > > I'm stuck on Windows 10. > > The device manager lists the CDC device under > > Ports (COM & LPT) > > Arduino Mega 2560 (COM6) > > The Arduino serial monitor has no trouble finding it. > > The device manager lists the mouse under > > Human Interface Devices > > Microsoft USB Wheel Mouse Optical > > > > ATmega2560's do not do USB natively. > > A chip that does is between the ATmega2560 and the USB cable. > > > > Is there some trick to get pyusb to notice > > the mouse and the CDC device? > > > > pyusb is based on libusb, so you will inherit the limitation > of libusb under Windows. > > libusb is mainly meant for generic usb device, so it means > that you should not really use libusb/pyusb with your mouse > or serial port device. > > If you use libusb-win32, its supported drivers are > libusb0.sys and libusbk.sys, so only those device using > these two drivers will be usable for libusb-win32 and pyusb. > > If you use libusb-1.0 API (libusb Windows), then its supported > driver are WinUSB, libusbK.sys (better not use libusb0.sys), > usbdk and generic HID (not mouse/keyboard). So unless you > use the supported driver together with your mouse and your > CDC device, they will not be really usable by libusb and pyusb. > > But if you really want to try, you can try libusb usbdk backend, > which may work with your CDC device. It acts as a filter driver. > > Ref: https://github.com/libusb/libusb/wiki/Windows > Ref: https://github.com/daynix/UsbDk > > -- > Xiaofan > > ------------------------------------------------------------ > ------------------ > Check out the vibrant tech community on one of the world's most > engaging tech sites, Slashdot.org! http://sdm.link/slashdot > _______________________________________________ > pyusb-users mailing list > pyu...@li... > https://lists.sourceforge.net/lists/listinfo/pyusb-users > |
From: Xiaofan C. <xia...@gm...> - 2018-03-04 05:05:38
|
On Fri, Mar 2, 2018 at 10:57 AM, Xiaofan Chen <xia...@gm...> wrote: > On Fri, Mar 2, 2018 at 3:52 AM, Michael Hennebry > <mic...@ri...> wrote: >> Don't know why I wrote avrdude. 'Tis Atmel Studio giving me trouble. >> Avrdude is working. > > I see. If Atmel studio is using a different driver than the driver > installed with Zadig, then it will not work. You have to switch driver > between applications using vendor driver and libusb supported driver. > That is a hassle you have to deal with. > > Recent version of libusb WIndows supports usbdk backend, it > is less mature but it will allow you to use both sets of application > without switching driver. > Ref: https://github.com/daynix/UsbDk > >> For some reason, I had thought that one >> could not get Windows binaries from libusb.info . >> I copied into a python directory and pyusb seems to be functioning now. > > Glad to know that. > It seems this mail may not reach the mailing list due to Sourceforge problem, sending again. -- Xiaofan |
From: Xiaofan C. <xia...@gm...> - 2018-03-04 05:04:34
|
On Fri, Mar 2, 2018 at 10:10 AM, Michael Hennebry <mic...@ri...> wrote: > I have three USB devices connected, > an Atmel ICE, a mouse and a CDC device. > usb.core.find(find_all=True) > finds the Atmel ICE twice, but not the others. > > I'm stuck on Windows 10. > The device manager lists the CDC device under > Ports (COM & LPT) > Arduino Mega 2560 (COM6) > The Arduino serial monitor has no trouble finding it. > The device manager lists the mouse under > Human Interface Devices > Microsoft USB Wheel Mouse Optical > > ATmega2560's do not do USB natively. > A chip that does is between the ATmega2560 and the USB cable. > > Is there some trick to get pyusb to notice > the mouse and the CDC device? > pyusb is based on libusb, so you will inherit the limitation of libusb under Windows. libusb is mainly meant for generic usb device, so it means that you should not really use libusb/pyusb with your mouse or serial port device. If you use libusb-win32, its supported drivers are libusb0.sys and libusbk.sys, so only those device using these two drivers will be usable for libusb-win32 and pyusb. If you use libusb-1.0 API (libusb Windows), then its supported driver are WinUSB, libusbK.sys (better not use libusb0.sys), usbdk and generic HID (not mouse/keyboard). So unless you use the supported driver together with your mouse and your CDC device, they will not be really usable by libusb and pyusb. But if you really want to try, you can try libusb usbdk backend, which may work with your CDC device. It acts as a filter driver. Ref: https://github.com/libusb/libusb/wiki/Windows Ref: https://github.com/daynix/UsbDk -- Xiaofan |
From: Michael H. <mic...@ri...> - 2018-03-04 04:14:32
|
I have three USB devices connected, an Atmel ICE, a mouse and a CDC device. usb.core.find(find_all=True) finds the Atmel ICE twice, but not the others. I'm stuck on Windows 10. The device manager lists the CDC device under Ports (COM & LPT) Arduino Mega 2560 (COM6) The Arduino serial monitor has no trouble finding it. The device manager lists the mouse under Human Interface Devices Microsoft USB Wheel Mouse Optical ATmega2560's do not do USB natively. A chip that does is between the ATmega2560 and the USB cable. Is there some trick to get pyusb to notice the mouse and the CDC device? |
From: Michael H. <mic...@ri...> - 2018-03-01 22:16:24
|
Don't know why I wrote avrdude. 'Tis Atmel Studio giving me trouble. Avrdude is working. For some reason, I had thought that one could not get Windows binaries from libusb.info . I copied into a python directory and pyusb seems to be functioning now. On Wed, Feb 28, 2018 at 8:18 AM, Xiaofan Chen <xia...@gm...> wrote: > On Tue, Feb 27, 2018 at 6:20 AM, Michael Hennebry > <mic...@ri...> wrote: > > zadig gives me the following options: > > libusbK (v 3.0.7.0) > > libusb-win32 (v 1.2.6.0) > > winUSB (v 6.1.7600.16385) > > USB Serial (CDC) > > > > The current libusb0 (v 1.2.6.0) was not obtained through zadig. > > I think I got it by letting Windows go fish. > > > > My recollection is that nothing from zadig worked with avrdude. > > I want avrdude and python.so I don't have to go back and forth between > > libraries. > > I guess I'll have to try libusb-1.0 and hope it works. > > I am not so sure why you are saying nothing from Zadig work with > avrdude, avrdude works either with libusb-0.1 API (libusb-win32, > libusb0.sys driver, libusb0.dll library) or libusb-1.0 API (libusb > Windows, WinUSB driver, libusb-1.0.dll library). Zadig will install > libusb-win32 driver or WinUSB driver for you. > > > > > -- > Xiaofan > > ------------------------------------------------------------ > ------------------ > Check out the vibrant tech community on one of the world's most > engaging tech sites, Slashdot.org! http://sdm.link/slashdot > _______________________________________________ > pyusb-users mailing list > pyu...@li... > https://lists.sourceforge.net/lists/listinfo/pyusb-users > |
From: Xiaofan C. <xia...@gm...> - 2018-02-28 14:18:35
|
On Tue, Feb 27, 2018 at 6:20 AM, Michael Hennebry <mic...@ri...> wrote: > zadig gives me the following options: > libusbK (v 3.0.7.0) > libusb-win32 (v 1.2.6.0) > winUSB (v 6.1.7600.16385) > USB Serial (CDC) > > The current libusb0 (v 1.2.6.0) was not obtained through zadig. > I think I got it by letting Windows go fish. > > My recollection is that nothing from zadig worked with avrdude. > I want avrdude and python.so I don't have to go back and forth between > libraries. > I guess I'll have to try libusb-1.0 and hope it works. I am not so sure why you are saying nothing from Zadig work with avrdude, avrdude works either with libusb-0.1 API (libusb-win32, libusb0.sys driver, libusb0.dll library) or libusb-1.0 API (libusb Windows, WinUSB driver, libusb-1.0.dll library). Zadig will install libusb-win32 driver or WinUSB driver for you. -- Xiaofan |
From: Xiaofan C. <xia...@gm...> - 2018-02-28 14:14:28
|
On Wed, Feb 28, 2018 at 3:06 AM, Michael Hennebry <mic...@ri...> wrote: > Is www.opendll.com a good place to get libusb-1? > I'm using WIndows because I have to and do not know > what places are safe or otherwise? I do not know about opendll. Anyway, libusb is an open source project and you should go to the official website. http://libusb.info/ Latest Windows binary release https://sourceforge.net/projects/libusb/files/libusb-1.0/libusb-1.0.21/libusb-1.0.21.7z/download -- Xiaofan |
From: Michael H. <mic...@ri...> - 2018-02-27 19:06:56
|
Is www.opendll.com a good place to get libusb-1? I'm using WIndows because I have to and do not know what places are safe or otherwise? On Fri, Feb 23, 2018 at 9:11 PM, Xiaofan Chen <xia...@gm...> wrote: > On Thu, Feb 8, 2018 at 8:25 AM, Michael Hennebry > <mic...@ri...> wrote: > > I'm having trouble make pyusb work at all. > > When typing usb stuff in interactive mode, > > usb.core.find(...) either produces ant empty list > > or something that prints as nothing. > > \Python27\python search.py > > produced ValueError: No backend available . > > search.py : > > import usb.core > > import usb.util > > import usb.control > > import array > > dev = usb.core.find(find_all=True) > > print dev > > dev = usb.core.find() > > dev = usb.core.find(find_all=True, idVendor=0x045e, idProduct=0x0040) # > my > > mouse > > print dev > > dev = usb.core.find( idVendor=0x045e, idProduct=0x0040) # > my > > mouse > > print dev > > dev = usb.core.find(find_all=True, idVendor=0x03eb, idProduct=0x2141) # > > Atmel ICE > > print dev > > dev = usb.core.find( idVendor=0x03eb, idProduct=0x2141) # > > Atmel ICE > > print dev > > > > I'm on Windows 10. > > A find on libusb produces only files with names beginning libusb0. > > How do I make pyusb work? > > pyusb supports libusb-win32 and libusb (aka libusb-1.0) under Windows. > libusb-win32 is a bit old. So the better option is libusb Windows. > > 1) Use Zadig to install WinUSB driver to the device you are interested. > https://github.com/libusb/libusb/wiki/Windows#driver-installation > > 2) Get latest version of libusb Windows binary (libusb-1.0.dll) and put > it into a location your Python installation recognizes. > > > -- > Xiaofan > > ------------------------------------------------------------ > ------------------ > Check out the vibrant tech community on one of the world's most > engaging tech sites, Slashdot.org! http://sdm.link/slashdot > _______________________________________________ > pyusb-users mailing list > pyu...@li... > https://lists.sourceforge.net/lists/listinfo/pyusb-users > |
From: Michael H. <mic...@ri...> - 2018-02-27 00:20:05
|
Any suggestions on where to get the dll? I've tried www.opendlls.com , but the checksums did not match. On Mon, Feb 26, 2018 at 4:20 PM, Michael Hennebry < mic...@ri...> wrote: > zadig gives me the following options: > libusbK (v 3.0.7.0) > libusb-win32 (v 1.2.6.0) > winUSB (v 6.1.7600.16385) > USB Serial (CDC) > > The current libusb0 (v 1.2.6.0) was not obtained through zadig. > I think I got it by letting Windows go fish. > > My recollection is that nothing from zadig worked with avrdude. > I want avrdude and python.so I don't have to go back and forth between > libraries. > I guess I'll have to try libusb-1.0 and hope it works. > ' > > On Fri, Feb 23, 2018 at 9:11 PM, Xiaofan Chen <xia...@gm...> wrote: > >> On Thu, Feb 8, 2018 at 8:25 AM, Michael Hennebry >> <mic...@ri...> wrote: >> > I'm having trouble make pyusb work at all. >> > When typing usb stuff in interactive mode, >> > usb.core.find(...) either produces ant empty list >> > or something that prints as nothing. >> > \Python27\python search.py >> > produced ValueError: No backend available . >> > search.py : >> > import usb.core >> > import usb.util >> > import usb.control >> > import array >> > dev = usb.core.find(find_all=True) >> > print dev >> > dev = usb.core.find() >> > dev = usb.core.find(find_all=True, idVendor=0x045e, idProduct=0x0040) >> # my >> > mouse >> > print dev >> > dev = usb.core.find( idVendor=0x045e, idProduct=0x0040) >> # my >> > mouse >> > print dev >> > dev = usb.core.find(find_all=True, idVendor=0x03eb, idProduct=0x2141) # >> > Atmel ICE >> > print dev >> > dev = usb.core.find( idVendor=0x03eb, idProduct=0x2141) # >> > Atmel ICE >> > print dev >> > >> > I'm on Windows 10. >> > A find on libusb produces only files with names beginning libusb0. >> > How do I make pyusb work? >> >> pyusb supports libusb-win32 and libusb (aka libusb-1.0) under Windows. >> libusb-win32 is a bit old. So the better option is libusb Windows. >> >> 1) Use Zadig to install WinUSB driver to the device you are interested. >> https://github.com/libusb/libusb/wiki/Windows#driver-installation >> >> 2) Get latest version of libusb Windows binary (libusb-1.0.dll) and put >> it into a location your Python installation recognizes. >> >> >> -- >> Xiaofan >> >> ------------------------------------------------------------ >> ------------------ >> Check out the vibrant tech community on one of the world's most >> engaging tech sites, Slashdot.org! http://sdm.link/slashdot >> _______________________________________________ >> pyusb-users mailing list >> pyu...@li... >> https://lists.sourceforge.net/lists/listinfo/pyusb-users >> > > |