Running successive acquisitions with fx2lafw devices fails more often than not. 1) With PulseView, select any fx2lafw device, 1G samples, 1MHz rate, then start acquisition. I used a MCU123 USBee AX Pro clone. 2) Either wait for acquisition to finish, or click Stop. 3) Now click Start. Expected result: A new acquisition starts, and data is plotted by Pulseview. Actual result: Acquisition fails to start, and the terminal outputs: sr: session: sr_session_start: could not start an acquisition (-1) Failed to start session. sr: fx2lafw: Device failed to renumerate. sr: session: sr_session_dev_add: dev_open failed (-1) Failed to use device.
acquisition
+1 I've seen this also. It's an important problem.
For the same test conditions I get the error: sr: usb: Failed to get device descriptor: LIBUSB_ERROR_IO. sr: session: sr_session_start: could not start an acquisition (-1) Both with a Saleae Clone and an AX clone.
*** Bug 75 has been marked as a duplicate of this bug. ***
This bug can be surpressed by commenting g_slist_free_full(session->devs, (GDestroyNotify)sr_dev_close); in sr_session_dev_remove_all in session.c In PulseView the sampling session lasts the length of the sampling thread: from when the user clicks run, to when the sampling is complete. sr_dev_open and sr_dev_close are called by pulseview in pv::SigSession::set_device when the selected device changes, so no need to do it in sr_session_dev_remove_all.
The above fix fixes the current problems running a second session, but not if the user clicks "Stop"
When the user clicks Start -> Stop -> Start, sampling fails to start because devc->submitted_transfers != 0. For some reason, it seems not all the submitted transfers get released.
(In reply to comment #5) > This bug can be surpressed by commenting > > g_slist_free_full(session->devs, (GDestroyNotify)sr_dev_close); > > in sr_session_dev_remove_all in session.c > > In PulseView the sampling session lasts the length of the sampling thread: > from when the user clicks run, to when the sampling is complete. > > sr_dev_open and sr_dev_close are called by pulseview in > pv::SigSession::set_device when the selected device changes, so no need to > do it in sr_session_dev_remove_all. Fixed in 681803d
(In reply to comment #6) > The above fix fixes the current problems running a second session, but not > if the user clicks "Stop" Fixed in 037286445116d0f4f