Hi Paul, Dimitri,

Hope you don't mind jumping on where you left the investigation.

I have access to both Windows 10 and Linux Ubuntu 18.04 and have the 2018 variant of the mcupro Logic16 clone. On Ubuntu, I have Sigrok-CLI 0.7.0, WIndows 10 uses PulseView 0.50 with libsigrok 0.6.0

As described in https://sigrok.org/wiki/Mcupro_Logic16_clone#Firmware:

"2015-01-08 and 2018 variants:  Only requires an upload of Cypress FX2LP firmware to operate. Open-source binaries from gregani <https://github.com/gregani/la16fw> work, but must be renamed to *saleae-logic16-fx2.fw*."

I have used the three files from gregani and in Ubuntu was able to upgrade the firmware (put the three files in the newly created directory /usr/local/share/sigrok-firmware, fore reference, and had to run sigrok-cli as sudo). The lsusb -v information before and after the upgrade match the one shown on https://sigrok.org/wiki/Mcupro_Logic16_clone/Info.

On Windows,I have put the same three files in \Users\XYXYXY\AppData\Local\sigrok-firmware\ and using "pulseview -d saleae-logic16 -l 5":

sr: ezusb: uploading firmware to device on 2.22
sr: ezusb: setting CPU reset mode on...
sr: resource: Opened 'C:\Users\XYXYXY\AppData\Local\sigrok-firmware\saleae-logic16-fx2.fw'.
sr: ezusb: Uploading firmware 'saleae-logic16-fx2.fw'.
sr: ezusb: Uploaded 4096 bytes.
sr: ezusb: Uploaded 1121 bytes.
sr: ezusb: Firmware upload done.
sr: ezusb: setting CPU reset mode off...
sr: hwdriver: Scan found 1 devices (saleae-logic16).
sr: device: saleae-logic16: Opening device instance.
sr: saleae-logic16: Waiting for device to reset.
sr: saleae-logic16: Waited 647ms.
sr: saleae-logic16: Waited 784ms.
sr: saleae-logic16: Waited 1016ms.
sr: saleae-logic16: Waited 1190ms.
sr: saleae-logic16: Waited 1386ms.
sr: saleae-logic16: Waited 1517ms.
sr: saleae-logic16: Waited 1648ms.
sr: saleae-logic16: Waited 1842ms.
sr: saleae-logic16: Waited 1974ms.
sr: saleae-logic16: Waited 2125ms.
sr: saleae-logic16: Waited 2326ms.
sr: saleae-logic16: Waited 2460ms.
sr: saleae-logic16: Waited 2613ms.
sr: saleae-logic16: Waited 2829ms.
sr: saleae-logic16: Waited 2976ms.
sr: saleae-logic16: Waited 3114ms.
sr: saleae-logic16: Device failed to renumerate.

Opening the latest Zadig (2.5) (Options, List all Devices, select Logic S/16) I change the drive to libusb-win32 (v1.2.6.0), succesfully.
Running Pulseview again ("pulseview -d saleae-logic16 -l 5"):

sr: saleae-logic16: Found a Logic16 device.
sr: hwdriver: Scan found 1 devices (saleae-logic16).
sr: device: saleae-logic16: Opening device instance.
sr: saleae-logic16: Firmware upload was not needed.
sr: saleae-logic16: mcupro Saleae16 detected.
sr: saleae-logic16: Opened device on 2.25 (logical) / usb/2-2.1.1 (physical), interface 0. sr: hwdriver: sr_config_list(): key 30014 (triggermatch) sdi 0000000003B0BE20 cg NULL -> [1, 2, 3, 4, 5] sr: hwdriver: sr_config_list(): key 30014 (triggermatch) sdi 0000000003B0BE20 cg NULL -> [1, 2, 3, 4, 5] sr: hwdriver: sr_config_list(): key 30014 (triggermatch) sdi 0000000003B0BE20 cg NULL -> [1, 2, 3, 4, 5] sr: hwdriver: sr_config_list(): key 30014 (triggermatch) sdi 0000000003B0BE20 cg NULL -> [1, 2, 3, 4, 5] sr: hwdriver: sr_config_list(): key 30014 (triggermatch) sdi 0000000003B0BE20 cg NULL -> [1, 2, 3, 4, 5] sr: hwdriver: sr_config_list(): key 30014 (triggermatch) sdi 0000000003B0BE20 cg NULL -> [1, 2, 3, 4, 5] sr: hwdriver: sr_config_list(): key 30014 (triggermatch) sdi 0000000003B0BE20 cg NULL -> [1, 2, 3, 4, 5] sr: hwdriver: sr_config_list(): key 30014 (triggermatch) sdi 0000000003B0BE20 cg NULL -> [1, 2, 3, 4, 5] sr: hwdriver: sr_config_list(): key 30014 (triggermatch) sdi 0000000003B0BE20 cg NULL -> [1, 2, 3, 4, 5] sr: hwdriver: sr_config_list(): key 30014 (triggermatch) sdi 0000000003B0BE20 cg NULL -> [1, 2, 3, 4, 5] sr: hwdriver: sr_config_list(): key 30014 (triggermatch) sdi 0000000003B0BE20 cg NULL -> [1, 2, 3, 4, 5] sr: hwdriver: sr_config_list(): key 30014 (triggermatch) sdi 0000000003B0BE20 cg NULL -> [1, 2, 3, 4, 5] sr: hwdriver: sr_config_list(): key 30014 (triggermatch) sdi 0000000003B0BE20 cg NULL -> [1, 2, 3, 4, 5] sr: hwdriver: sr_config_list(): key 30014 (triggermatch) sdi 0000000003B0BE20 cg NULL -> [1, 2, 3, 4, 5] sr: hwdriver: sr_config_list(): key 30014 (triggermatch) sdi 0000000003B0BE20 cg NULL -> [1, 2, 3, 4, 5] sr: hwdriver: sr_config_list(): key 30014 (triggermatch) sdi 0000000003B0BE20 cg NULL -> [1, 2, 3, 4, 5] sr: hwdriver: sr_config_list(): key 30023 (voltage_threshold) sdi 0000000003B0BE20 cg NULL -> [(0.69999999999999996, 1.3999999999999999), (1.3999999999999999, 3.6000000000000001)] sr: hwdriver: sr_config_get(): key 30023 (voltage_threshold) sdi 0000000003B0BE20 cg NULL -> (0.69999999999999996, 1.3999999999999999) sr: hwdriver: sr_config_get(): key 30023 (voltage_threshold) sdi 0000000003B0BE20 cg NULL -> (0.69999999999999996, 1.3999999999999999) sr: hwdriver: sr_config_get(): key 30001 (captureratio) sdi 0000000003B0BE20 cg NULL -> uint64 0 sr: hwdriver: sr_config_get(): key 30001 (captureratio) sdi 0000000003B0BE20 cg NULL -> uint64 0 sr: hwdriver: sr_config_set(): key 50001 (limit_samples) sdi 0000000003B0BE20 cg NULL -> uint64 1000000 sr: hwdriver: sr_config_list(): key 30000 (samplerate) sdi 0000000003B0BE20 cg NULL -> {'samplerates': } sr: hwdriver: sr_config_get(): key 30000 (samplerate) sdi 0000000003B0BE20 cg NULL -> uint64 500000 sr: hwdriver: sr_config_list(): key 30000 (samplerate) sdi 0000000003B0BE20 cg NULL -> {'samplerates': } sr: hwdriver: sr_config_get(): key 30000 (samplerate) sdi 0000000003B0BE20 cg NULL -> uint64 500000 sr: hwdriver: sr_config_list(): key 30023 (voltage_threshold) sdi 0000000003B0BE20 cg NULL -> [(0.69999999999999996, 1.3999999999999999), (1.3999999999999999, 3.6000000000000001)] sr: hwdriver: sr_config_get(): key 30023 (voltage_threshold) sdi 0000000003B0BE20 cg NULL -> (0.69999999999999996, 1.3999999999999999) sr: hwdriver: sr_config_get(): key 30023 (voltage_threshold) sdi 0000000003B0BE20 cg NULL -> (0.69999999999999996, 1.3999999999999999) sr: hwdriver: sr_config_get(): key 30001 (captureratio) sdi 0000000003B0BE20 cg NULL -> uint64 0 sr: hwdriver: sr_config_get(): key 30001 (captureratio) sdi 0000000003B0BE20 cg NULL -> uint64 0 sr: hwdriver: sr_config_list(): key 30000 (samplerate) sdi 0000000003B0BE20 cg NULL -> {'samplerates': } sr: hwdriver: sr_config_get(): key 30000 (samplerate) sdi 0000000003B0BE20 cg NULL -> uint64 500000

The issue is that when you finish your work, close PulseView and disconnect the analyser, when you start up again you have to again change the settings through Zadig, you get the same "Device failed to renumerate. Notifying user of session error: "generic/unspecified error"".

Does this provide you with enough information? Hope this helps,

Best regards,

Martijn


On 05/02/2020 13:03, Paul Fertser wrote:
Hi,

On Tue, Jan 14, 2020 at 12:30:17AM +0100, Dmitry Katsubo via sigrok-devel wrote:
I have extracted the firmware from Logic v1.2.10 and placed it to
the necessary directory. Now PulseView fails with the following log:
sr: resource: Opened 
'...\PulseView\share\sigrok-firmware\saleae-logic16-fx2.fw'.
...
saleae-logic16: Failed to receive reply to EP1 command 0x7d: LIBUSB_ERROR_IO.
sr: saleae-logic16: Failed to init device.
Were you able to solve this issue? This might hint at something odd
going on with the windows usb stack specifically. Is there a chance
you can try the same version with the same hardware using GNU/Linux?
Then you'll have more debug data from the kernel, "lsusb -v" etc.

We recently had an odd issue with OpenOCD on windows where a
claim_interface libusb API call was missing and it was giving weird
errors as the result but just on windows.


_______________________________________________
sigrok-devel mailing list
sigrok-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sigrok-devel

Reply via email to