Project

General

Profile

Bug #3340

osmo-trx-lms doesn't exit nor recover if device is unplugged

Added by laforge 3 months ago. Updated 17 days ago.

Status:
Resolved
Priority:
High
Assignee:
Category:
LimeSDR
Target version:
-
Start date:
06/13/2018
Due date:
% Done:

100%

Estimated time:
Spec Reference:

Description

Especially with USB based devices, it's not completely unlikely that once upon a time there is a bus reset or some other event that makes the device disappear.

The current behavior of osmo-trx-lms is to start spewing error messages, but it will not terminate, nor will it recover after the USB device is re-attached.

Wed Jun 13 15:34:30 2018 DMAIN <0000> LMSDevice.cpp:509 [tid=140361119426304] LMS: Device receive timed out
Wed Jun 13 15:34:30 2018 DMAIN <0000> radioInterface.cpp:319 [tid=140361119426304] Receive error 340
Wed Jun 13 15:34:30 2018 DMAIN <0000> LMSDevice.cpp:507 [tid=140361119426304] chan 0 recv buffer of len 0 expect dc7d50 got 0 (0) diff=ffffffffff2382b0
Wed Jun 13 15:34:30 2018 DMAIN <0000> LMSDevice.cpp:509 [tid=140361119426304] LMS: Device receive timed out
Wed Jun 13 15:34:30 2018 DMAIN <0000> radioInterface.cpp:319 [tid=140361119426304] Receive error 0
Wed Jun 13 15:34:30 2018 DMAIN <0000> LMSDevice.cpp:507 [tid=140361119426304] chan 0 recv buffer of len 0 expect dc7d50 got 0 (0) diff=ffffffffff2382b0
Wed Jun 13 15:34:30 2018 DMAIN <0000> LMSDevice.cpp:509 [tid=140361119426304] LMS: Device receive timed out
Wed Jun 13 15:34:30 2018 DMAIN <0000> radioInterface.cpp:319 [tid=140361119426304] Receive error 0
Wed Jun 13 15:34:30 2018 DMAIN <0000> LMSDevice.cpp:507 [tid=140361119426304] chan 0 recv buffer of len 0 expect dc7d50 got 0 (0) diff=ffffffffff2382b0

I think the easiest would be to exit the program and have systemd respawn it, like we do with other osmocom programs


Related issues

Related to OsmoTRX - Feature #2919: Native LimeSDR supportResolved2018-02-09

History

#1 Updated by laforge 3 months ago

#2 Updated by laforge about 1 month ago

  • Priority changed from Normal to High

#3 Updated by pespin 24 days ago

  • Description updated (diff)

#4 Updated by pespin 20 days ago

Improved the situation with following patches:

remote: https://gerrit.osmocom.org/#/c/osmo-trx/+/10739 Logger: Disable pthread cancel point inside Logger destructor
remote: https://gerrit.osmocom.org/#/c/osmo-trx/+/10740 cosmetic: Fix trailing whitespace
remote: https://gerrit.osmocom.org/#/c/osmo-trx/+/10741 radioInterface: forward errors from RadioDevice to Transceiver in recv path
remote: https://gerrit.osmocom.org/#/c/osmo-trx/+/10742 lms: Return error on device read timeout
remote: https://gerrit.osmocom.org/#/c/osmo-trx/+/10743 osmo-trx: Add osmo_signal to stop whole transceiver chain correctly on error
remote: https://gerrit.osmocom.org/#/c/osmo-trx/+/10744 radioInterface: Fix variable storing integer return value

So after those patches are applied, when I disconnect the usb plug of the device it will signal that the device is failing and osmo-trx will destroy the transceiver object (and all the other objects behind it) and once it's done, it will end the process.

#5 Updated by pespin 19 days ago

  • Status changed from New to Feedback
  • % Done changed from 0 to 90

#6 Updated by pespin 17 days ago

  • Status changed from Feedback to Resolved
  • % Done changed from 90 to 100

Merged, closing.

Also available in: Atom PDF

Add picture from clipboard (Maximum size: 48.8 MB)