I mean, I believe you, but ... what on earth IS all of that?
I mean, I believe you, but ... what on earth IS all of that?
This "usb_modeswitch" program handles that for linux. It sniffs the USB traffic and switches the mode to 3G/4G for you. All the crazy args are whatever was in the Windows config file. The -v 12d1 is the "VID" (vendor ID) of the device to sniff traffic for. The -p arg is similar, but the "PID" (product ID). The -P 14ac is the "PID" to switch to to get from storage to 3G/4G device. The -M <long-string> is the magic payload sent to the device to make it switch.
Only if you have a relatively new or rare modem, you need to find the magic string yourself (or even reverse engineer it from a windows setup), to make it work.
55 53 42 43: "USBC"
00 00 00 00: CBW Tag
00 00 00 00: Transfer length
00 00 00 00: CBW direction, LUN, CBW CB length, CBW Command Block
00 00 00 11: CBW CB(cont.)
06 00 00 00: (same)
00 00 00 00: (same)
00 00 00 00: (same)
00 00 00 : (same)
---
00 00 00 00 11 06: TUR LUN0 RSVD RSVD RSV1 0001 0110
00 00 00 00 00 00: TUR LUN0 RSVD RSVD RSVD 00RS VD00
00 00 00 00 00 00: TUR LUN0 RSVD RSVD RSVD 00RS VD00
00 00: ?