I have tried selecting my Hantek HL4032L Logic Analyzer with both 0.4.1 release and 0.5.0-git-533b67b versions. When I choose my device from the "Connect to Device" dialog, I get the "Failed to open device generic/unspecified error"
Please set the log level to 5 in the settings menu, try to connect again and attach the log here. Also check https://sigrok.org/wiki/Windows#My_device_is_not_found_or_usable_.28USB.2Fdriver.2Ffirmware.2Fhardware_issues.29 to see if you missed anything.
Thanks for the quick response. Error in the log is: sr: hwdriver: Scan found 0 devices (rigol-ds). sr: hwdriver: Scan found 0 devices (saleae-logic-pro). sr: hwdriver: Scan found 0 devices (saleae-logic16). sr: hwdriver: Scan found 0 devices (siglent-sds). sr: hwdriver: Scan found 0 devices (sysclk-lwla). sr: hwdriver: Scan found 0 devices (sysclk-sla5032). sr: hwdriver: Scan found 0 devices (yokogawa-dlm). sr: hwdriver: Scan found 0 devices (zeroplus-logic-cube). sr: device: hantek-4032l: Opening device instance. hantek-4032l: Failed to open device: LIBUSB_ERROR_NOT_SUPPORTED. sr: hantek-4032l: Unable to open device. Notifying user of session error: "generic/unspecified error"
I just tried it on my other Windows 7 x64 machine - same problem there.
Aha! I ran Zadig twice and that seems to be working now. :-)
This has stopped working again. Pulseview was working OK. I tried modifying the sample rates etc to see a bigger range of data and then I just got sample data at all. I tried reconnecting the USB cable to the Hantek and Pulseview froze. I killed it with Task Manager and it got the "generc/unspecfied error" again. Tried Zadig.. that froze so I rebooted my PC. I uninstalled the Hantek driver via Device Manager and ran Zadig 3 times until I saw the LA-4032 under the "USB device" node. Now when I start Pulseview I still get the same error. sr: backend: libsigrok 0.6.0-git-8491cf7/4:0:0. sr: backend: Libs: glib 2.44.1 (rt: 2.44.1/4401:1), libzip 1.5.1, libserialport 0.1.1/1:0:1 (rt: 0.1.1/1:0:1), libusb-1.0 1.0.20.11003-rc3 API 0x01000104, hidapi 0.8.0-rc1, libftdi 1.4. sr: backend: Host: i686-w64-mingw32.static.posix, little-endian. sr: backend: SCPI backends: TCP, serial, USBTMC. sr: backend: Firmware search paths: sr: backend: - C:\Users\Owner\AppData\Local\sigrok-firmware sr: backend: - C:\ProgramData\sigrok-firmware sr: backend: - C:\Users\Public\Documents\sigrok-firmware sr: backend: - C:\Program Files (x86)\sigrok\PulseView\share\sigrok-firmware sr: backend: - C:\Program Files (x86)\sigrok\PulseView\share\sigrok-firmware sr: backend: Sanity-checking all drivers. sr: backend: Sanity-checking all input modules. sr: backend: Sanity-checking all output modules. sr: backend: Sanity-checking all transform modules. srd: libsigrokdecode 0.6.0-git-9677dcf/4:0:0 (rt: 0.6.0-git-9677dcf/4:0:0). srd: Libs: glib 2.44.1 (rt: 2.44.1/4401:1), Python 3.4.4 / 0x30404f0 (API 1013, ABI 3). srd: Host: i686-w64-mingw32.static.posix, little-endian. srd: Initializing libsigrokdecode. srd: Adding 'C:\Program Files (x86)\sigrok\PulseView\share\libsigrokdecode\decoders' to module path. srd: Adding 'C:\Program Files (x86)\sigrok\PulseView\share\libsigrokdecode\decoders' to module path. srd: Protocol decoder search paths: srd: - C:\Program Files (x86)\sigrok\PulseView\share\libsigrokdecode\decoders srd: - C:\Program Files (x86)\sigrok\PulseView\share\libsigrokdecode\decoders srd: Python system search paths: srd: - C:\Program Files (x86)\sigrok\PulseView\share\libsigrokdecode\decoders srd: - C:\Program Files (x86)\sigrok\PulseView\share\libsigrokdecode\decoders srd: - C:\Program Files (x86)\sigrok\PulseView\python34.zip srd: - C:\Program Files (x86)\sigrok\PulseView\DLLs srd: - C:\Program Files (x86)\sigrok\PulseView\lib srd: - C:\Program Files (x86)\sigrok\PulseView sr: hwdriver: Scan found 0 devices (asix-sigma). sr: hwdriver: Scan found 0 devices (chronovu-la). sr: demo: Generating square pattern. sr: demo: Generating sine pattern. sr: demo: Generating triangle pattern. sr: demo: Generating sawtooth pattern. sr: hwdriver: Scan found 1 devices (demo). sr: hwdriver: Scan found 0 devices (dreamsourcelab-dslogic). sr: ftdi-la: Failed to get the FTDI strings: -4 sr: hwdriver: Scan found 0 devices (ftdi-la). sr: hwdriver: Scan found 0 devices (fx2lafw). sr: hwdriver: Scan found 0 devices (gwinstek-gds-800). sr: hwdriver: Scan found 0 devices (hameg-hmo). sr: hwdriver: Scan found 1 devices (hantek-4032l). sr: hwdriver: Scan found 0 devices (hantek-6xxx). sr: hwdriver: Scan found 0 devices (hantek-dso). sr: hwdriver: Scan found 0 devices (ikalogic-scanalogic2). sr: hwdriver: Scan found 0 devices (ikalogic-scanaplus). sr: hwdriver: Scan found 0 devices (ipdbg-la). sr: hwdriver: Scan found 0 devices (lecroy-logicstudio). sr: hwdriver: Scan found 0 devices (lecroy-xstream). sr: hwdriver: Scan found 0 devices (microchip-pickit2). sr: hwdriver: Scan found 0 devices (ols). sr: hwdriver: Scan found 0 devices (p-ols). sr: hwdriver: Scan found 0 devices (rigol-ds). sr: hwdriver: Scan found 0 devices (saleae-logic-pro). sr: hwdriver: Scan found 0 devices (saleae-logic16). sr: hwdriver: Scan found 0 devices (siglent-sds). sr: hwdriver: Scan found 0 devices (sysclk-lwla). sr: hwdriver: Scan found 0 devices (sysclk-sla5032). sr: hwdriver: Scan found 0 devices (yokogawa-dlm). sr: hwdriver: Scan found 0 devices (zeroplus-logic-cube). sr: device: hantek-4032l: Opening device instance. hantek-4032l: Unable to claim interface: LIBUSB_ERROR_NOT_FOUND. Notifying user of session error: "generic/unspecified error" sr: hwdriver: Scan found 1 devices (hantek-4032l). sr: device: hantek-4032l: Opening device instance. hantek-4032l: Failed to open device: LIBUSB_ERROR_ACCESS. sr: hantek-4032l: Unable to open device. Notifying user of session error: "generic/unspecified error" sr: hwdriver: Scan found 1 devices (hantek-4032l). sr: device: hantek-4032l: Opening device instance. hantek-4032l: Unable to claim interface: LIBUSB_ERROR_NOT_FOUND. Notifying user of session error: "generic/unspecified error" sr: hwdriver: Scan found 1 devices (hantek-4032l). sr: device: hantek-4032l: Opening device instance. hantek-4032l: Failed to open device: LIBUSB_ERROR_ACCESS. sr: hantek-4032l: Unable to open device. Notifying user of session error: "generic/unspecified error" Notifying user of session error: "No active device set, can't start acquisition." sr: hwdriver: Scan found 1 devices (hantek-4032l). sr: device: hantek-4032l: Opening device instance. hantek-4032l: Unable to claim interface: LIBUSB_ERROR_NOT_FOUND. Notifying user of session error: "generic/unspecified error"
> I tried reconnecting the USB cable to the Hantek and Pulseview froze. Generally speaking, it's usually a good idea to close the program that's using a certain piece of hardware when intending to reconnect it - libsigrok is currently unable to handle such a situation and crashes, as you have experienced. That said, that didn't have an impact on the driver situation and if the drivers had been confused about the device's state, a reboot would've remedied that. Unfortunately, Windows drivers are much like voodoo and it's something that's hard to debug for end users. They shouldn't be in the need to do so in the first place, but it is what it is. Did you try a reboot after you goto PulseView to recognize the device again? Also, unplugging and unpowering the device may also help.
I just tested with on Windows 10. Works fine for me, thus closing the bug. As per discussion and wiki, you need to assign the WinUSB driver via Zadig (once should be sufficient, I don't see a reason why it would be required multiple times atm). In my test, once was indeed sufficient. As mentioned, replugging the device while PulseView is running is currently not possible/supported, you need to close PulseView, replug, re-open PulseView. I tested a bunch of different acquisitions in a row, different sampletimes, different samplerates, all seems to work fine for me. If this issue persists, a reboot might indeed help if it's some weird Windows issue, and/or different USB ports and USB cables if it's hardware related maybe. Also, make sure the external power supply is attached to the device, I don't know whether it would work without that or not. If further assistance is needed, please drop by in the #sigrok IRC channel for more "live" debugging help.