[Solved] Failed to switchmode for an Axesstel 3G modem

I've looking at the wiki and other forums, but maybe the info I'm reading is for old OpenWrt versions. I'm running a custom-built 19.07.3 (on which I installed USB, 3G, and 910d)

I'm trying to setup an old Axesstel MU130 3G Modem. dmesg report it's being detected as an storage device:

[ 1293.054850] usb 1-1: USB disconnect, device number 3
[ 2651.871474] usb 1-1: new high-speed USB device number 4 using ehci-platform
[ 2652.095823] usb-storage 1-1:1.0: USB Mass Storage device detected
[ 2652.123737] scsi host0: usb-storage 1-1:1.0
[ 2653.250792] scsi 0:0:0:0: CD-ROM            UsbModem Storage Disk     2.31 PQ: 0 ANSI: 2
[ 2653.268852] scsi 0:0:0:0: Attached scsi generic sg0 type 5
[ 2661.950804] usb 1-1: USB disconnect, device number 4
[ 2662.431573] usb 1-1: new high-speed USB device number 5 using ehci-platform
[ 2662.698291] usb-storage 1-1:1.4: USB Mass Storage device detected
[ 2662.762334] scsi host0: usb-storage 1-1:1.4
[ 2663.813847] scsi 0:0:0:0: CD-ROM            UsbModem Storage Disk     2.31 PQ: 0 ANSI: 2
[ 2663.832213] scsi 0:0:0:0: Attached scsi generic sg0 type 5
[ 2663.921583] scsi 0:0:0:1: Direct-Access     UsbModem Storage Disk     2.31 PQ: 0 ANSI: 2
[ 2663.940027] sd 0:0:0:1: Attached scsi generic sg1 type 0
[ 2663.965767] sd 0:0:0:1: [sda] Attached SCSI removable disk

And this is how the kernel detects it:

T:  Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  5 Spd=480  MxCh= 0
D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
P:  Vendor=1726 ProdID=a000 Rev= 0.00
S:  Manufacturer=USB Modem
S:  Product=Modem

I think I have to manually mode-switch it. I first ran:

# usbmode -l

but shows nothing, Then I tried:

{
        "messages" : [ ],
        "devices" : {
                "1726:a000": {
                        "*": {
                                "mode": "StandardEject",
                                "msg": [ ]
                        }
                }
        }
}

But it fails to load the .json script:

# usbmode -v -s -c /tmp/MU130.json
Failed to load config file

And:

{
	"messages": [ ],
	"devices": {
		"1726:a000": {
			"*": {
                    "mode": "StandardEject",
                    "msg": [ ]
            }
		}
	}
}
# usbmode -v -s -c /tmp/MU130.json
Failed to send switch message
Failed to send switch message
Failed to send switch message
Failed to send switch message

I also tried something similar to what worked for dd-wrt in the past
(Note: before that usb_modeswitch, it was 1726:f00e):

{
	"messages": [
		"5553424312345678000000000000061b000000020000000000000000000000"
	],
	"devices": {
		"1726:a000": {
			"*": {
				"t_vendor": "1726",
				"t_product": "a000",
				"msg": [0]
			}
		}
	}
}

But it fails to send the command:

# usbmode -v -s -c /tmp/MU130.json
Failed to send switch message

Any ideas of what I'm doing wrong?

See also: https://forum.openwrt.org/t/huawei-e3276s-stick-mode-not-connecting/

Because this dongle originally was 1726:f00e, I looked into /etc/usb-mode.json for it, and it's there:

		"1726:f00e": {
			"*": {
				"t_vendor": 5926,
				"t_product": [ 40960 ],
				"mode": "StandardEject",
				"msg": [  ]
			}
		}

Therefore I changed my MU130.json and ran it:

{
	"messages": [ ],
	"devices": {
		"1726:a000": {
			"*": {
				"t_vendor": 5926,
				"t_product": [ 40960 ],
				"mode": "StandardEject",
				"msg": [  ]
			}
		}
	}
}

This time (usbmode -s -v -c /tmp/MU130.json) ran without errors. I did a reboot, but still there isn't a ttyUSB:

# ls /dev/tty*
/dev/tty    /dev/ttyS0  /dev/ttyS1

@ulmwind: thanks for replying. Are you suggesting me to issue some AT commands? through one of the above serial ports? shouldn't I be seeing a ttyUSBx port?

Yes, see documentation to your modem. I suppose, it is Stick? As a simplest case, I recommend to install ROOter (https://ofmodemsandmen.com), and check, whether it works.

1 Like

Yes, It's an old Axesstel MU130 2G/3G USB stick. I don't have its AT commands reference. I'm googling it now. And I think my (rt305x 8MB/32MB) Trendnet TEW-714TRU is not on the database of supported ROOter devices, but I'll read about it anyways.

Check this: https://www.draisberghof.de/usb_modeswitch/bb/viewtopic.php?t=1393
+1 with ROOter recommendation, if you can't see the image for your [OpenWrt supported] device on their site - just ask in their forum.

Thanks for the reply @AndrewZ. Before starting asking for support for my router and modem on the ROOter forum, I wanted to do some more troubleshooting here, and I'm glad I did.

I followed the steps @bmork wrote on another thread, even some parts doesn't add-up to me:

First, please post the output of
cat /sys/kernel/debug/usb/devices
as mentioned on https://openwrt.org/docs/guide-user/network/wan/wwan/ltedongle . This will show the device ID and the configuration before modeswitch.

but my output (before trying anything) shows the xpected value after the modeswitch:

P:  Vendor=1726 ProdID=a000 Rev= 0.00

And he wrote later on:

The output is useful because it confirms the device ID in the unswitched state, and it shows that this modem requires mode switching.

So: maybe the modeswitch was already done but somehow no ttyUSBx was created? Following that (closed) thread, I did:

# echo 1726 a000 >/sys/bus/usb-serial/drivers/option1/new_id

And now I see:

# ls /dev/tty*
/dev/tty      /dev/ttyS0    /dev/ttyS1    /dev/ttyUSB0  /dev/ttyUSB1  /dev/ttyUSB2  /dev/ttyUSB3

So I went to LuCI, created a new WAN interface, and it worked with /dev/ttyUSB3:
image

I leave this documentation for others it might be facing a similar case.

BTW, I also have read that qmi is another way of doing this. I don't know whether this Axesstel support this mode/protocol. I'll research later.

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.