Mobile broadband HW reset (minipci-e)

Mobile broadband adapter: MC8790
RouterBoard: RB411U

The idea here is to make sure that Mikrotik router is always online on mobile broadband. To make sure it resume if/when mobile adapter goes down I did configure watchdog which trigger routerboard hardware reset.

Unfortunately I did notice that when RB411 reset, MC8790 does not. Is there a way to trigger a hardware reset on minipci-e apadter (GPIO ?)

The test case I use is removing the SIM which kill the connection and then trigger watchdog.

First observation, if I remove SIM, wait for connection to go down, insert back the SIM. MC8790 still show “ERROR: SIM not inserted”.

/system serial-terminal usb2 channel=3 then enter AT!RESET to reset modem.

Modem now detect SIM and connection is resumed. I did try to enter “AT!RESET” as “Modem Init” string without success. Look like modem is never initialized. Someone can confirm ?

Second observation, if I remove SIM, wait for connection to go down, insert back the SIM. MC8790 still show “ERROR: SIM not inserted”.

Then I wait for watchdog to trigger reset. After reboot, MC8790 still show “ERROR: SIM not inserted”. Need a power reset or a manual “AT!RESET” to resume.

Help, idea, comment ? :confused:

there is no hardware reset for the mini-pcie slot on the RB411U.
If you want to have USB power reset that also resets the power for the 3g mini-pcie modem then I would suggest to look on RB912 board.

What about “AT!RESET” workaround ?

Why when done manually with “/system serial-terminal usb2 channel=3” that recover the issue but setting “AT!RESET” as init string fail to recover ?

Do you have any suggestion to prevent loosing broadband access beside manually power cycling the device ?

instead of using init-string, try to use info command where you can send a command to the modem. Example:
/int ppp-client info ppp-out1 user-command=AT once do={:delay 1}

Also you can check the logs by adding topics async,debug and look in the log files what does the modem respond.

I was on that troubleshooting track and did something similar.

Info channel is #3
Data channel is #5

I did notice that data and info does not support same command set.

Look like init string is sent on Data channel where that command as no effect. Init shouldn’t be sent on Command/Info channel ? Is this a Bug ?

19:31:29 async,debug usb2:5: sent ATH
19:31:29 async,debug usb2:5: rcvd OK
19:31:29 async,ppp,info ppp-out1: initializing modem...
19:31:29 async,debug usb2:5: sent AT!RESET
19:31:29 async,debug usb2:5: rcvd OK

When I issue “/int ppp-client info ppp-out1 user-command=AT!RESET once do={:delay 1}” modem recover and detect SIM.

How can I automatically issue that command every time ppp-out1 connection is about to be launched ? Kind of “init” to replace the original broken init ?

Should I fill a bug report ?