Uqmi hangs when modem is active

On a GL-X750 (spitz) I can easily use uqmi to get info about the connection, such as

uqmi -d /dev/cdc-wdm0 -s --get-data-status
uqmi -d /dev/cdc-wdm0 -s --get-signal-info
uqmi -d /dev/cdc-wdm0 -s --get-serving-system

but uqmi only seems to work when the connection is relatively idle. When I have active traffic it just hangs. It’s also possible that it is not an active/idle issue but rather that it got stuck at about the same time as the connection became busy. Is this a known issue and is there a work-around? I’m trying to get the signal info in particular for my monitoring system…

After some more testing I discovered I had a pile of uqmi processes hanging. After killing them all now I get

root@cellgw:~# uqmi -d /dev/cdc-wdm0 -s --get-signal-info
"Failed to connect to service"

The modem is transferring data just fine…

After a reboot uqmi works fine. So it seems to have a way to get itself stuck… Is there a way to reset whatever service it’s trying to connect to without a reboot?

The engineer who is well versed in qmi is in holiday. I don’t have an answer for you.

Is there any way to reset the modem when uqmi gets stuck?

After some desperation I finally figured out that the following “does something”:

usbreset 001/004

The help says:

# usbreset
Usage:
  usbreset PPPP:VVVV - reset by product and vendor id
  usbreset BBB/DDD   - reset by bus and device number
  usbreset "Product" - reset by product name

Devices:
  Number 001/003  ID 05e3:0752  USB Storage
  Number 001/002  ID 05e3:0618  USB2.0 Hub
  Number 001/004  ID 2c7c:0306  LTE-A Module

Not sure how uncool this is, but it does seem to get things unstuck… Expert advice would be awesome…

usbreset is a utility to send a USB port reset to a USB device. This way is reset by software.

I’m finding that uqmi or the uqmi interface for the EP06-A are really unreliable. I’m running a test on a Spitz that reads uqmi --get-signal-info every 20 minutes and performs some bandwidth tests (curl from a web server). After a few hours of running uqmi stops working. Traffic continues to pass fine. How do I troubleshoot where this is coming from? I’m not seeing any error messages in either logread or dmesg. Does uqmi or the driver have a debug option? Is this likely to be a bug in the EP06 firmware?

What I’m getting is:

root@cellgw:~# timeout -t 2 uqmi -d /dev/cdc-wdm0 -s --get-signal-info
"Unknown error"
root@cellgw:~# timeout -t 2 uqmi -d /dev/cdc-wdm0 -s --get-signal-info
"Failed to connect to service"