When I connect the UT61C cable to my PC, it comes up with the expect PID/VID, but sigrok-cli fails to configure the baud-rate correctly: --------------------- $ sigrok-cli -d uni-t-ut61c:conn=1a86.e008 --continuous -l 5 sr: [00:00.000001] log: libsigrok loglevel set to 5. sr: [00:00.000052] backend: libsigrok 0.6.0-git-7c517d02/4:0:0 (rt: 0.6.0-git-7c517d02/4:0:0). sr: [00:00.000081] backend: Libs: glib 2.54.1 (rt: 2.54.1/5401:1), libzip 1.1.2, libserialport 0.1.1/1:0:1 (rt: 0.1.1/1:0:1), libusb-1.0 1.0.21.11156. sr: [00:00.000093] backend: Host: x86_64-pc-linux-gnu, little-endian. sr: [00:00.000099] backend: SCPI backends: TCP, RPC, serial, USBTMC. sr: [00:00.000134] backend: Sanity-checking all drivers. sr: [00:00.000154] backend: Sanity-checking all input modules. sr: [00:00.000164] backend: Sanity-checking all output modules. sr: [00:00.000176] backend: Sanity-checking all transform modules. srd: libsigrokdecode loglevel set to 5. sr: [00:00.006733] hwdriver: sr_config_list(): key 2147418112 (NULL) sdi (nil) cg NULL -> [uint32 20000] sr: [00:00.006828] usb: Found USB device (VID:PID = 1a86:e008, bus.address = 1.23). sr: [00:00.006843] hwdriver: Scan found 1 devices (uni-t-ut61c). sr: [00:00.006860] device: uni-t-ut61c: Opening device instance. sr: [00:00.006866] usb: Trying to open USB device 1.23. sr: [00:00.006913] usb: Opened USB device (VID:PID = 1a86:e008, bus.address = 1.23). sr: [00:00.006943] session: Using thread-default main context. sr: [00:00.006949] session: Starting. sr: [00:00.006952] hwdriver: uni-t-ut61c: Starting acquisition. sr: [00:00.006956] std: uni-t-ut61c: Sending SR_DF_HEADER packet. sr: [00:00.006963] session: Running transform module 'nop'. sr: [00:00.006966] transform/nop: Received packet of type 10000, passing on unmodified. sr: [00:00.006971] session: bus: Received SR_DF_HEADER packet. cli: Received SR_DF_HEADER. Press any key to stop acquisition. sr: [00:00.033400] uni-t-dmm: Sending initial HID feature report. sr: [00:00.033437] uni-t-dmm: HID init = 0x60 0x09 0x00 0x00 0x03 (2400 baud) sr: [00:00.033665] uni-t-dmm: HID feature report error: LIBUSB_ERROR_PIPE. sr: [00:00.033675] uni-t-dmm: HID chip init failed: -1. sr: [00:00.033685] session: fd_source_finalize: key 0xffffffffffffffff sr: [00:00.033706] session: Stopped. sr: [00:00.033734] hwdriver: Cleaning up all drivers. --------------------- Here is the lsusb output: --------------------- $ lsusb -v -d 1a86:e008 Bus 001 Device 025: ID 1a86:e008 QinHeng Electronics HID-based serial adapater Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 1.00 bDeviceClass 0 (Defined at Interface level) bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 8 idVendor 0x1a86 QinHeng Electronics idProduct 0xe008 HID-based serial adapater bcdDevice 12.00 iManufacturer 1 (error) iProduct 2 (error) iSerial 0 bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 41 bNumInterfaces 1 bConfigurationValue 1 iConfiguration 4 (error) bmAttributes 0x80 (Bus Powered) MaxPower 100mA Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 2 bInterfaceClass 3 Human Interface Device bInterfaceSubClass 0 No Subclass bInterfaceProtocol 0 None iInterface 0 HID Device Descriptor: bLength 9 bDescriptorType 33 bcdHID 1.00 bCountryCode 0 Not supported bNumDescriptors 1 bDescriptorType 34 Report wDescriptorLength 37 Report Descriptors: ** UNAVAILABLE ** Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x82 EP 2 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0008 1x 8 bytes bInterval 5 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x02 EP 2 OUT bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0008 1x 8 bytes bInterval 5 Device Status: 0x58a0 (Bus Powered) ---------------------
gsi_ pointed out the script in README.device: #!/bin/bash for dat in /sys/bus/usb/devices/*; do if test -e $dat/manufacturer; then grep "WCH.CN" $dat/manufacturer > /dev/null && echo auto > ${dat}/power/level && echo 0 > ${dat}/power/autosuspend fi done I tried running this script as root on Ubuntu with Linux 4.13.0, but problem persists.
Joel, does the USB reset approach work for you? Others report that the above suspend method stopped working for them on recent distros. See littleyoda on 2018-01-07 on IRC 20:57 <littleyoda> For my unit-t-ut61d I have to use the tool usbreset. 20:57 <littleyoda> https://marc.info/?l=linux-usb&m=121459435621262&q=p3 20:57 <littleyoda> And I'm using the following shell-script to start usbreset 20:57 <littleyoda> https://pastebin.com/qDU460NA More context on usbreset is in the Ubuntu Forum/Wiki IIRC.
Ping. Worth a retry. The project switched from custom logic on top of libusb to the hidapi library. Which may have improved portability and the ability to access devices which were not accessible before.
Closing as works-for-me since it does here. Haven't used the extra script for years now.