linuxnetwork-programmingopenwrtlsusb

3g Dongle switches to a weird product ID


I am using a TP-Link MA 260 dongle plugged into an OpenWrt device. The dongles has two modes:

USB mode: vendor=0x2357 product=0xf000

Modem mode: vendor=0x2357 product=0x9000

Both work as expected in their respective modes and I use usb_modeswitch to switch between the two. This is the full command to switch to modem mode:

usb_modeswitch -v 2357 -p f000 -V 2357 -P 9000 -W -I -n -M '5553424312345678000000000000061e000000000000000000000000000000' -2 '5553424312345678000000000000061b000000020000000000000000000000'

My problem is that occasionally, the modem switches to product=0x900e and I have no idea what that is. Does anyone know what it means and how I can switch back from the mode incase it happens? Brownie points if someone can really explain why it occurs and whether or not it's random.


Solution

  • In my experience, this happens occasionally, and it is just a matter of removing and re-inserting the dongle, and then it shows the right id.

    I have had situations where I have run usb_modeswitch several times, just to realize that the switch has been done "sort of". In these cases, just remove and reinsert the stick and it gets the right id.

    Why it is happening? I have no idea whatsoever, to me, it seems like a bug in the dongle. It is supposed to initialize as a mass storage device under windows, but either there is a third option that is triggered sometimes or it is just a plain bug.