Skip to content

Latest commit

 

History

History
43 lines (32 loc) · 1.69 KB

usb_modeswitch_modes.md

File metadata and controls

43 lines (32 loc) · 1.69 KB

Balong modems support different USB modes: from plain old PPP modem up to Ethernet emulation and CDC NCM modem specification.
The modes weren't documented before, so this is what's available on E3372-153.

Check drivers/usb/mbb_usb_unitary/{hw_pnp.c,hw_pnp.h,f_mass_storage.c,hw_pnp_adapt.c} for more information.

#define SC_REWIND_11 = 0x11

struct rewind_cmd_param
{
    USB_UINT8 bCmdReserved;         # 6
    USB_UINT8 bPcType;              # WINDOWS_OS_FLAG=0x00, MAC_OS_FLAG=0x10, LINUX_OS_FLAG=0x20, GATEWAY_OS_FLAG=0x30
    USB_UINT8 bTimeOut;
    USB_UINT8 bPID;
    USB_UINT8 bNewPID;
    USB_UINT8 bSupportCD;
    USB_UINT8 bProFile;             # GATEWAT_MODEM_MODE=0, GATEWAY_NDIS_MODE=1
    USB_UINT8 bGreenMode;           # USB_RNDIS=1
    USB_UINT8 reserved[USB_NUM_7];
};


Strings for usb_modeswitch

Old PPP mode:
55534243123456780000000000000011063000000100000000000000000000

RNDIS mode:
55534243123456780000000000000011060000000100000100000000000000

CDC Ethernet mode:
55534243123456780000000000000011062000000101000100000000000000

CDC NCM (modem) mode:
55534243123456780000000000000011063000000000010000000000000000


555342431234567800000000000000     11             06         20       00       00   01        01        00        01    00000000000000
                               SC_REWIND_11  bCmdReserved  bPcType  bTimeOut  bPID bNewPID bSupportCD bProFile bGreenMode  reserved

Besides SC_REWIND_11 older models may have SC_MAC_SYS (0xbb), SC_WIN_SYS (0xa2) SCSI commands.
Additional switching functionality is also present for USB gadget (not CD-ROM). Check
https://github.com/hisili/E5573Cs/blob/bbc208728a449bbe72cca158283d682305fe3bca/drivers/usb/mbb_usb_unitary/hw_pnp.c#L3033