usbconfig power cycling does not help vs physical device disconnection

Hello, colleagues!

I have an USB u3g modem Huawei E1750 that is working with Asterisk chan_dongle.
Everything woks well except that sometimes (once per 2 weeks or so) it falls off and not answering AT commands.
Problem resolves when I physically removing the device and reconnecting it again to USB port.

I would like to do it remotely but usbconfig power_off not helping a lot.

So when device is connected I can see the following and everything woks.

# dmesg | grep u3g
Code:
ugen1.2: <HUAWEI Technology HUAWEI Mobile> at usbus1
u3g0 on uhub1
u3g0: <HUAWEI Technology HUAWEI Mobile, class 0/0, rev 2.00/0.00, addr 1> on usbus1
u3g0: Found 3 ports.

# usbconfig
Code:
ugen1.2: <HUAWEI Technology HUAWEI Mobile> at usbus1, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON (500mA)

# ls -la /dev/tty* /dev/cuaU*
Code:
crw-rw----  1 uucp  dialer   0xa7 Jun  9 15:32 /dev/cuaU0.0
crw-rw----  1 uucp  dialer   0xc8 Jun  9 15:32 /dev/cuaU0.0.init
crw-rw----  1 uucp  dialer   0xca Jun  9 15:32 /dev/cuaU0.0.lock
crw-rw----  1 uucp  dialer   0xe4 Jun  9 15:32 /dev/cuaU0.1
crw-rw----  1 uucp  dialer   0xe6 Jun  9 15:32 /dev/cuaU0.1.init
crw-rw----  1 uucp  dialer   0xe7 Jun  9 15:32 /dev/cuaU0.1.lock
crw-rw----  1 uucp  dialer   0xf7 Jun  9 15:32 /dev/cuaU0.2
crw-rw----  1 uucp  dialer   0xf8 Jun  9 15:32 /dev/cuaU0.2.init
crw-rw----  1 uucp  dialer  0x103 Jun  9 15:32 /dev/cuaU0.2.lock
crw-------  1 root  wheel    0x41 Feb  8 16:22 /dev/ttyu0
crw-------  1 root  wheel    0x98 Jun  9 15:32 /dev/ttyU0.0
crw-------  1 root  wheel    0x99 Jun  9 15:32 /dev/ttyU0.0.init
crw-------  1 root  wheel    0x9a Jun  9 15:32 /dev/ttyU0.0.lock
crw-------  1 root  wheel    0xd0 Jun  9 15:32 /dev/ttyU0.1
crw-------  1 root  wheel    0xdb Jun  9 15:32 /dev/ttyU0.1.init
crw-------  1 root  wheel    0xe3 Jun  9 15:32 /dev/ttyU0.1.lock
crw-------  1 root  wheel    0xe9 Jun  9 15:32 /dev/ttyU0.2
crw-------  1 root  wheel    0xea Jun  9 15:32 /dev/ttyU0.2.init
crw-------  1 root  wheel    0xef Jun  9 15:32 /dev/ttyU0.2.lock
crw-------  1 root  wheel    0x42 Feb  8 16:22 /dev/ttyu0.init
crw-------  1 root  wheel    0x43 Feb  8 16:22 /dev/ttyu0.lock

Then I do usbconfig -d ugen1.2 power_off and wait couple of moments.
First of all the led light on modem is shuts down and it seems that device is powered off:

# dmesg | grep u3g
Code:
ugen1.2: <HUAWEI Technology HUAWEI Mobile> at usbus1 (disconnected)
u3g0: at uhub1, port 4, addr 1 (disconnected)
u3g0: detached

# usbconfig
Code:
ugen1.2: <HUAWEI Technology HUAWEI Mobile> at usbus1, cfg=255 md=HOST spd=HIGH (480Mbps) pwr=OFF (500mA)

# ls -la /dev/ttyU* /dev/cuaU*
Code:
ls: No match.

When I bring up device via usbconfig -d ugen1.2 power_on device led status light is blinking, I see all ports are up and usbconfig out as above when everything is working but cannot communicate with modem via console nor asterisk chan_dongle.
As I said it weirdly resolves by physically detaching modem and reattaching to same port.

It really annoying as I using this for opening the gates via SMS so it goes down unexpectedly and I have only option solve is by gong to server.

Would be thankful for any help with troubleshooting the problem.
 
Try the devctl(8) detach/attach, disable/enable subcommands (with or w/o the powering it off/on using usbconfig) on that ugen device? Or may be even going higher and resetting the controller?
 
Back
Top