Bug 616 - saleae-logic16 driver doesn't work as expected if channel 0 is not enabled/used
Summary: saleae-logic16 driver doesn't work as expected if channel 0 is not enabled/used
Status: CONFIRMED
Alias: None
Product: libsigrok
Classification: Unclassified
Component: Driver: saleae-logic16 (show other bugs)
Version: unreleased development snapshot
Hardware: All All
: Normal normal
Target Milestone: ---
Assignee: Nobody
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-07-31 21:53 CEST by Uwe Hermann
Modified: 2016-11-24 13:06 CET (History)
1 user (show)



Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Uwe Hermann 2015-07-31 21:53:32 CEST
The saleae-logic16 driver doesn't work as expected if channel 0 is not enabled/used.

Happens with both sigrok-cli and PulseView, so it's likely a libsigrok or hardware issue.

Example when only channel 0 is enabled (works correctly):

$ sigrok-cli -d saleae-logic16 -c samplerate=1mhz --samples 10 -C 0 -l 5
sr: libsigrok loglevel set to 5.
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 loglevel set to 5.
sr: hwdriver: Initializing driver 'saleae-logic16'.
sr: saleae-logic16: Found a Logic16 device.
sr: hwdriver: Scan of 'saleae-logic16' found 1 devices.
sr: saleae-logic16: Firmware upload was not needed.
sr: saleae-logic16: Original Saleae Logic16 detected.
sr: saleae-logic16: Uploading FPGA bitstream at /home/uwe/sr/share/sigrok-firmware/saleae-logic16-fpga-18.bitstream.
sr: saleae-logic16: Uploaded 15872 bytes.
sr: saleae-logic16: Uploaded 15872 bytes.
sr: saleae-logic16: Uploaded 15872 bytes.
sr: saleae-logic16: Uploaded 15872 bytes.
sr: saleae-logic16: Uploaded 15872 bytes.
sr: saleae-logic16: Uploaded 15872 bytes.
sr: saleae-logic16: Uploaded 15872 bytes.
sr: saleae-logic16: Uploaded 15872 bytes.
sr: saleae-logic16: Uploaded 15872 bytes.
sr: saleae-logic16: Uploaded 6668 bytes.
sr: saleae-logic16: FPGA bitstream upload done.
sr: saleae-logic16: Original Saleae Logic16 using old bitstream.
sr: saleae-logic16: Opened device on 3.76 (logical) / usb/3-2 (physical), interface 0.
sr: hwdriver: sr_config_set(): key 30000 (samplerate) sdi 0x1aff190 cg NULL -> uint64 1000000
sr: hwdriver: sr_config_set(): key 50001 (limit_samples) sdi 0x1aff190 cg NULL -> uint64 10
sr: session: Starting.
sr: std: saleae-logic16: Starting acquisition.
sr: std: saleae-logic16: Sending SR_DF_HEADER packet.
sr: session: Running transform module 'nop'.
sr: transform/nop: Received packet of type 10000, passing on unmodified.
sr: session: bus: Received SR_DF_HEADER packet.
cli: Received SR_DF_HEADER.
sr: hwdriver: sr_config_get(): key 30000 (samplerate) sdi 0x1aff190 cg NULL -> uint64 1000000
sr: session: Running.
sr: saleae-logic16: receive_transfer(): status LIBUSB_SUCCESS / LIBUSB_TRANSFER_COMPLETED received 1536 bytes.
sr: session: Running transform module 'nop'.
sr: transform/nop: Received packet of type 10004, passing on unmodified.
sr: session: bus: Received SR_DF_LOGIC packet (20 bytes, unitsize = 2).
cli: Received SR_DF_LOGIC (20 bytes, unitsize = 2).
sr: hwdriver: sr_config_get(): key 30000 (samplerate) sdi 0x1aff190 cg NULL -> uint64 1000000
libsigrok 0.4.0-git
Acquisition with 1/16 channels at 1 MHz
sr: session: Running transform module 'nop'.
sr: transform/nop: Received packet of type 10001, passing on unmodified.
sr: session: bus: Received SR_DF_END packet.
0:00000000 00
cli: Received SR_DF_END.
sr: saleae-logic16: Closing device on 3.76 (logical) / usb/3-2 (physical) interface 0.


Example when only channel 3 is enabled (doesn't work as expected, i.e. it doesn't return 10 samples, and says "status LIBUSB_TRANSFER_TIMED_OUT received 0 bytes" instead):

$ sigrok-cli -d saleae-logic16 -c samplerate=1mhz --samples 10 -C 3 -l 5
sr: libsigrok loglevel set to 5.
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 loglevel set to 5.
sr: hwdriver: Initializing driver 'saleae-logic16'.
sr: saleae-logic16: Found a Logic16 device.
sr: hwdriver: Scan of 'saleae-logic16' found 1 devices.
sr: saleae-logic16: Firmware upload was not needed.
sr: saleae-logic16: Original Saleae Logic16 detected.
sr: saleae-logic16: Uploading FPGA bitstream at /home/uwe/sr/share/sigrok-firmware/saleae-logic16-fpga-18.bitstream.
sr: saleae-logic16: Uploaded 15872 bytes.
sr: saleae-logic16: Uploaded 15872 bytes.
sr: saleae-logic16: Uploaded 15872 bytes.
sr: saleae-logic16: Uploaded 15872 bytes.
sr: saleae-logic16: Uploaded 15872 bytes.
sr: saleae-logic16: Uploaded 15872 bytes.
sr: saleae-logic16: Uploaded 15872 bytes.
sr: saleae-logic16: Uploaded 15872 bytes.
sr: saleae-logic16: Uploaded 15872 bytes.
sr: saleae-logic16: Uploaded 6668 bytes.
sr: saleae-logic16: FPGA bitstream upload done.
sr: saleae-logic16: Original Saleae Logic16 using old bitstream.
sr: saleae-logic16: Opened device on 3.76 (logical) / usb/3-2 (physical), interface 0.
sr: hwdriver: sr_config_set(): key 30000 (samplerate) sdi 0x1e22d30 cg NULL -> uint64 1000000
sr: hwdriver: sr_config_set(): key 50001 (limit_samples) sdi 0x1e22d30 cg NULL -> uint64 10
sr: session: Starting.
sr: std: saleae-logic16: Starting acquisition.
sr: std: saleae-logic16: Sending SR_DF_HEADER packet.
sr: session: Running transform module 'nop'.
sr: transform/nop: Received packet of type 10000, passing on unmodified.
sr: session: bus: Received SR_DF_HEADER packet.
cli: Received SR_DF_HEADER.
sr: hwdriver: sr_config_get(): key 30000 (samplerate) sdi 0x1e22d30 cg NULL -> uint64 1000000
sr: session: Running.
sr: saleae-logic16: receive_transfer(): status LIBUSB_TRANSFER_TIMED_OUT received 0 bytes.
sr: saleae-logic16: receive_transfer(): status LIBUSB_TRANSFER_TIMED_OUT received 0 bytes.
sr: saleae-logic16: receive_transfer(): status LIBUSB_TRANSFER_TIMED_OUT received 0 bytes.
sr: saleae-logic16: receive_transfer(): status LIBUSB_TRANSFER_TIMED_OUT received 0 bytes.
sr: saleae-logic16: receive_transfer(): status LIBUSB_TRANSFER_TIMED_OUT received 0 bytes.
sr: saleae-logic16: receive_transfer(): status LIBUSB_TRANSFER_TIMED_OUT received 0 bytes.
sr: saleae-logic16: receive_transfer(): status LIBUSB_TRANSFER_TIMED_OUT received 0 bytes.
sr: saleae-logic16: receive_transfer(): status LIBUSB_TRANSFER_TIMED_OUT received 0 bytes.
sr: saleae-logic16: receive_transfer(): status LIBUSB_TRANSFER_TIMED_OUT received 0 bytes.
sr: saleae-logic16: receive_transfer(): status LIBUSB_TRANSFER_TIMED_OUT received 0 bytes.
sr: saleae-logic16: receive_transfer(): status LIBUSB_TRANSFER_TIMED_OUT received 0 bytes.
sr: saleae-logic16: receive_transfer(): status LIBUSB_TRANSFER_TIMED_OUT received 0 bytes.
sr: saleae-logic16: receive_transfer(): status LIBUSB_TRANSFER_TIMED_OUT received 0 bytes.
sr: saleae-logic16: receive_transfer(): status LIBUSB_TRANSFER_TIMED_OUT received 0 bytes.
sr: saleae-logic16: receive_transfer(): status LIBUSB_TRANSFER_TIMED_OUT received 0 bytes.
sr: saleae-logic16: receive_transfer(): status LIBUSB_TRANSFER_TIMED_OUT received 0 bytes.
sr: saleae-logic16: receive_transfer(): status LIBUSB_TRANSFER_TIMED_OUT received 0 bytes.
sr: saleae-logic16: receive_transfer(): status LIBUSB_TRANSFER_TIMED_OUT received 0 bytes.
sr: saleae-logic16: receive_transfer(): status LIBUSB_TRANSFER_TIMED_OUT received 0 bytes.
sr: saleae-logic16: receive_transfer(): status LIBUSB_TRANSFER_TIMED_OUT received 0 bytes.
sr: saleae-logic16: receive_transfer(): status LIBUSB_TRANSFER_TIMED_OUT received 0 bytes.
sr: saleae-logic16: receive_transfer(): status LIBUSB_TRANSFER_TIMED_OUT received 0 bytes.
sr: saleae-logic16: receive_transfer(): status LIBUSB_TRANSFER_TIMED_OUT received 0 bytes.
sr: saleae-logic16: receive_transfer(): status LIBUSB_TRANSFER_TIMED_OUT received 0 bytes.
sr: saleae-logic16: receive_transfer(): status LIBUSB_TRANSFER_TIMED_OUT received 0 bytes.
sr: saleae-logic16: receive_transfer(): status LIBUSB_TRANSFER_TIMED_OUT received 0 bytes.
sr: saleae-logic16: receive_transfer(): status LIBUSB_TRANSFER_TIMED_OUT received 0 bytes.
sr: saleae-logic16: receive_transfer(): status LIBUSB_TRANSFER_TIMED_OUT received 0 bytes.
sr: saleae-logic16: receive_transfer(): status LIBUSB_TRANSFER_TIMED_OUT received 0 bytes.
sr: saleae-logic16: receive_transfer(): status LIBUSB_TRANSFER_TIMED_OUT received 0 bytes.
sr: saleae-logic16: receive_transfer(): status LIBUSB_TRANSFER_TIMED_OUT received 0 bytes.
sr: saleae-logic16: receive_transfer(): status LIBUSB_TRANSFER_TIMED_OUT received 0 bytes.
sr: saleae-logic16: receive_transfer(): status LIBUSB_TRANSFER_TIMED_OUT received 0 bytes.
sr: saleae-logic16: receive_transfer(): status LIBUSB_TRANSFER_TIMED_OUT received 0 bytes.
sr: saleae-logic16: receive_transfer(): status LIBUSB_TRANSFER_TIMED_OUT received 0 bytes.
sr: saleae-logic16: receive_transfer(): status LIBUSB_TRANSFER_TIMED_OUT received 0 bytes.
sr: saleae-logic16: receive_transfer(): status LIBUSB_TRANSFER_TIMED_OUT received 0 bytes.
sr: saleae-logic16: receive_transfer(): status LIBUSB_TRANSFER_TIMED_OUT received 0 bytes.
sr: saleae-logic16: receive_transfer(): status LIBUSB_TRANSFER_TIMED_OUT received 0 bytes.
sr: saleae-logic16: receive_transfer(): status LIBUSB_TRANSFER_TIMED_OUT received 0 bytes.
sr: saleae-logic16: receive_transfer(): status LIBUSB_TRANSFER_TIMED_OUT received 0 bytes.
sr: saleae-logic16: receive_transfer(): status LIBUSB_TRANSFER_TIMED_OUT received 0 bytes.
sr: saleae-logic16: receive_transfer(): status LIBUSB_TRANSFER_TIMED_OUT received 0 bytes.
sr: saleae-logic16: receive_transfer(): status LIBUSB_TRANSFER_TIMED_OUT received 0 bytes.
sr: saleae-logic16: receive_transfer(): status LIBUSB_TRANSFER_TIMED_OUT received 0 bytes.
sr: saleae-logic16: receive_transfer(): status LIBUSB_TRANSFER_TIMED_OUT received 0 bytes.
sr: saleae-logic16: receive_transfer(): status LIBUSB_TRANSFER_TIMED_OUT received 0 bytes.
sr: saleae-logic16: receive_transfer(): status LIBUSB_TRANSFER_TIMED_OUT received 0 bytes.
sr: saleae-logic16: receive_transfer(): status LIBUSB_TRANSFER_TIMED_OUT received 0 bytes.
sr: saleae-logic16: receive_transfer(): status LIBUSB_TRANSFER_TIMED_OUT received 0 bytes.
sr: saleae-logic16: receive_transfer(): status LIBUSB_TRANSFER_TIMED_OUT received 0 bytes.
sr: saleae-logic16: receive_transfer(): status LIBUSB_TRANSFER_TIMED_OUT received 0 bytes.
sr: saleae-logic16: receive_transfer(): status LIBUSB_TRANSFER_TIMED_OUT received 0 bytes.
sr: saleae-logic16: receive_transfer(): status LIBUSB_TRANSFER_TIMED_OUT received 0 bytes.
sr: saleae-logic16: receive_transfer(): status LIBUSB_TRANSFER_TIMED_OUT received 0 bytes.
sr: saleae-logic16: receive_transfer(): status LIBUSB_TRANSFER_TIMED_OUT received 0 bytes.
sr: saleae-logic16: receive_transfer(): status LIBUSB_TRANSFER_TIMED_OUT received 0 bytes.
sr: saleae-logic16: receive_transfer(): status LIBUSB_TRANSFER_TIMED_OUT received 0 bytes.
sr: saleae-logic16: receive_transfer(): status LIBUSB_TRANSFER_TIMED_OUT received 0 bytes.
sr: saleae-logic16: receive_transfer(): status LIBUSB_TRANSFER_TIMED_OUT received 0 bytes.
sr: saleae-logic16: receive_transfer(): status LIBUSB_TRANSFER_TIMED_OUT received 0 bytes.
sr: saleae-logic16: receive_transfer(): status LIBUSB_TRANSFER_TIMED_OUT received 0 bytes.
sr: saleae-logic16: receive_transfer(): status LIBUSB_TRANSFER_TIMED_OUT received 0 bytes.
sr: saleae-logic16: receive_transfer(): status LIBUSB_TRANSFER_TIMED_OUT received 0 bytes.
sr: saleae-logic16: receive_transfer(): status LIBUSB_TRANSFER_TIMED_OUT received 0 bytes.
sr: session: Running transform module 'nop'.
sr: transform/nop: Received packet of type 10001, passing on unmodified.
sr: session: bus: Received SR_DF_END packet.
cli: Received SR_DF_END.
sr: saleae-logic16: Closing device on 3.76 (logical) / usb/3-2 (physical) interface 0.
Comment 1 karlp 2016-11-24 13:06:25 CET
This works for me with the MCUpro version.

$ sigrok-cli -d saleae-logic16 -c samplerate=1mhz --samples 20 -C 3 
libsigrok 0.5.0-git-782c5d1
Acquisition with 1/16 channels at 1 MHz
3:00000000 00000000 0000