XMMProtocolInterfaces

usb_sel

HowTO

First you need to get a root shell in the device as the commands need to be executed as root.

Once this is done you need to switch the USB connector to the modem USB. This can be done with the following command:

echo MODEM > /sys/devices/virtual/sec/switch/usb_sel

Then nothing will happen, you will still be able to login through adb.

To make the device switch to the modem USB you then need to unplug and replug the USB cable between your computer and the device.

At this point, if the modem was booted, you'll see a new USB device appearing.
Some serial ports will also appear.

Tested on Replicant 6.0 0004 RC3

Device Distribution Modem status USB ids tty
GT-I9100 Replicant 6.0 0004 RC3 Booted TODO /dev/ttyACM0 -> /dev/ttyACM6
GT-I9100 Replicant 6.0 0004 RC3 Off None N/A
GT-I9300 Replicant 6.0 0004 RC3 Booted 1519:0020 Comneon HSIC Device /dev/ttyACM0 -> /dev/ttyACM6

GT-I9100
# picocom /dev/ttyACM0 
picocom v3.1

port is        : /dev/ttyACM0
flowcontrol    : none
baudrate is    : 9600
parity is      : none
databits are   : 8
stopbits are   : 1
escape is      : C-a
local echo is  : no
noinit is      : no
noreset is     : no
hangup is      : no
nolock is      : no
send_cmd is    : sz -vv
receive_cmd is : rz -vv -E
imap is        : 
omap is        : 
emap is        : crcrlf,delbs,
logfile is     : none
initstring     : none
exit_after is  : not set
exit is        : no

Type [C-a] [C-h] to see available commands
Terminal ready
AT+TRACE=1
OK
AT+CLAC
ATS

ATD

ATA

ATO

ATE

ATH

ATV

ATZ

ATl

ATm

ATQ

ATX

AT&F

AT&D

AT&C

AT\Q

AT+CGSMS

AT+CMGD

AT+CMGF

AT+CMGL

AT+CMGR

AT+CMGS

AT+CMGW

AT+CMMS

AT+CMSS

AT+CNMA

AT+CNMI

AT+CPMS

AT+CSCA

AT+CSCB

AT+CSMS

AT+XCSSMS

AT+XSMS

AT+XTESM

AT+CSDH

AT+CSAS

AT+CRES

AT+CMGC

AT+CSMP

AT+CGREG

AT+COPN

AT+COPS

AT+CREG

AT+CSQ

AT+XBANDSEL

AT+XCOPS

AT+XCSPAGING

AT+XEONS

AT+XREG

AT+XAACOPS

AT+XUBANDSEL

AT+XRAT

AT+CPLS

AT+CPOL

AT+XHOMEZR

AT+CHUP

AT+CMOD

AT+CTFR

AT+VTS

AT+XCALLSTAT

AT+XDTMF

AT+XVTS

AT+CSTA

AT+CVHU

AT+VTD

AT+CCWE

AT+CR

AT+CRC

AT+XPROGRESS

AT+XREDIAL

AT+CAOC

AT+XLIN

AT+CCFC

AT+CCWA

AT+CHLD

AT+CLCC

AT+CLCK

AT+CLIP

AT+CLIR

AT+CNAP

AT+COLP

AT+COLR

AT+CPWD

AT+CSSN

AT+CUSD

AT+CCUG

AT+CBST

AT+CEER

AT+CGACT

AT+CGATT

AT+CGAUTO

AT+CGCLASS

AT+CGCMOD

AT+CGDATA

AT+CGDCONT

AT+CGDSCONT

AT+CGEQMIN

AT+CGEQNEG

AT+CGEQREQ

AT+CGEREP

AT+CGPADDR

AT+CGQMIN

AT+CGQREQ

AT+CGTFT

AT+XCGCLASS

AT+XDNS

AT+XGAUTH

AT+FCLASS

AT+CRLP

AT+XNVMPLMN

AT+XNVMMCC

AT+CBC

AT+CCID

AT+CCLK

AT+CFUN

AT+CGMI

AT+CGMM

AT+CGMR

AT+CGSN

AT+CIMI

AT+CMEE

AT+CMUX

AT+CNUM

AT+CPIN

AT+CPWROFF

AT+CRSM

AT+CSCS

AT+CSIM

AT+CSVM

AT+CTZR

AT+CTZU

AT+IPR

AT+XCTMS

AT+XGENDATA

AT+XPINCNT

AT+XLOG

AT+XMER

AT+XSIMSTATE

AT+TRACE

AT+XL1SET

AT+XSIO

AT+XDLCTEST

AT+XPOW

AT+XCEER

AT+XEER

AT+XTRACECONFIG

AT+XMUX

AT+XFDOR

AT+XFDORT

AT+XCONFIG

AT+XAPP

AT+XHSDUPA

AT+CPIN2

AT+XDATACHANNEL

AT+CONNECTPORT

AT+CAMM

AT+CACM

AT+CCHO

AT+CCHC

AT+XCSP

AT+NEER

AT+CUAD

AT+XUICC

AT+XLEMA

AT+XSYSTRACE

AT+CLAC

AT+CPUC

AT+CLAN

AT+CGLA

AT+CRLA

AT+CPAS

AT+XSVM

AT+XNOTIFYDUNSTATUS

AT+XRXDIV

AT+XSETCAUSE

OK

Xgoldmon seem to display things on the GT-I9100:

# ./xgoldmon -vvvv -i localhost -t s2 -l /dev/ttyACM1
LOG:>>[HIGH]oembatt.c,310,[DISP] Thermistor : measured_value=1630666778<<
LOG:>>[HIGH]oembatt.c,137,[DISP] oem_set_batt_level : 4220<<
LOG:>>[HIGH]oembatt.c,236,[DISP] BATT : measured_value_mv=4220, AvgBattVal_mv=4007, battery_level=5<<
LOG:>>[LOW]oemdisplay.c,363,no change -> rssi:4, bat:5<<
LOG:>>[HIGH]oembatt.c,310,[DISP] Thermistor : measured_value=1630666779<<
LOG:>>[HIGH]oembatt.c,137,[DISP] oem_set_batt_level : 4225<<
LOG:>>[HIGH]oembatt.c,236,[DISP] BATT : measured_value_mv=4225, AvgBattVal_mv=4026, battery_level=5<<
LOG:>>[LOW]oemdisplay.c,363,no change -> rssi:4, bat:5<<
LOG:>>[HIGH]oembatt.c,310,[DISP] Thermistor : measured_value=1630666778<<
LOG:>>[HIGH]oembatt.c,137,[DISP] oem_set_batt_level : 4220<<
LOG:>>[HIGH]oembatt.c,236,[DISP] BATT : measured_value_mv=4220, AvgBattVal_mv=4055, battery_level=5<<
LOG:>>[LOW]oemdisplay.c,363,no change -> rssi:4, bat:5<<

And when calling an (inexisting/invalid) number, the frames appear in Wireshark.

GT-I9300

# picocom /dev/ttyACM0 
picocom v3.1

port is        : /dev/ttyACM0
flowcontrol    : none
baudrate is    : 9600
parity is      : none
databits are   : 8
stopbits are   : 1
escape is      : C-a
local echo is  : no
noinit is      : no
noreset is     : no
hangup is      : no
nolock is      : no
send_cmd is    : sz -vv
receive_cmd is : rz -vv -E
imap is        : 
omap is        : 
emap is        : crcrlf,delbs,
logfile is     : none
initstring     : none
exit_after is  : not set
exit is        : no

Type [C-a] [C-h] to see available commands
Terminal ready
AT+TRACE=1
OK
AT
OK
AT+CLAC
ATS

ATD

ATA

ATO

ATE

ATH

ATV

ATZ

ATl

ATm

ATQ

ATX

AT&F

AT&D

AT&C

AT\Q

AT+CGSMS

AT+CMGD

AT+CMGF

AT+CMGL

AT+CMGR

AT+CMGS

AT+CMGW

AT+CMMS

AT+CMSS

AT+CNMA

AT+CNMI

AT+CPMS

AT+CSCA

AT+CSCB

AT+CSMS

AT+XCSSMS

AT+XSMS

AT+XTESM

AT+CSDH

AT+CSAS

AT+CRES

AT+CMGC

AT+CSMP

AT+CGREG

AT+COPN

AT+COPS

AT+CREG

AT+CSQ

AT+XBANDSEL

AT+XCOPS

AT+XCSPAGING

AT+XEONS

AT+XREG

AT+XAACOPS

AT+XUBANDSEL

AT+XRAT

AT+CPLS

AT+CPOL

AT+XHOMEZR

AT+XCSQ

AT+CHUP

AT+CMOD

AT+CMUT

AT+CTFR

AT+VTS

AT+XCALLSTAT

AT+XDTMF

AT+XVTS

AT+CSTA

AT+CVHU

AT+VTD

AT+CCWE

AT+CR

AT+CRC

AT+XPROGRESS

AT+XREDIAL

AT+CAOC

AT+XLIN

AT+CCFC

AT+CCWA

AT+CHLD

AT+CLCC

AT+CLCK

AT+CLIP

AT+CLIR

AT+CNAP

AT+COLP

AT+COLR

AT+CPWD

AT+CSSN

AT+CUSD

AT+CCUG

AT+CBST

AT+CEER

AT+CGACT

AT+CGANS

AT+CGATT

AT+CGAUTO

AT+CGCLASS

AT+CGCMOD

AT+CGDATA

AT+CGDCONT

AT+CGDSCONT

AT+CGEQMIN

AT+CGEQNEG

AT+CGEQREQ

AT+CGEREP

AT+CGPADDR

AT+CGQMIN

AT+CGQREQ

AT+CGTFT

AT+XCGCLASS

AT+XDNS

AT+XGAUTH

AT+FCLASS

AT+CRLP

AT+XNVMPLMN

AT+XNVMMCC

AT+CBC

AT+CCID

AT+CCLK

AT+CFUN

AT+CGMI

AT+CGMM

AT+CGMR

AT+CGSN

AT+GSN

AT+CIMI

AT+CMEE

AT+CMUX

AT+CNUM

AT+CPIN

AT+CPWROFF

AT+CRSM

AT+CSCS

AT+CSIM

AT+CSVM

AT+CTZR

AT+CTZU

AT+IPR

AT+XCTMS

AT+XGENDATA

AT+XPINCNT

AT+XLOG

AT+XMER

AT+XSIMSTATE

AT+TRACE

AT+XL1SET

AT+XSIO

AT+XDLCTEST

AT+XPOW

AT+XCEER

AT+XEER

AT+XTRACECONFIG

AT+XMUX

AT+XFDOR

AT+XFDORT

AT+XCONFIG

AT+XAPP

AT+XHSDUPA

AT+XCAP

AT+CPIN2

AT+XDATACHANNEL

AT+CONNECTPORT

AT+CAMM

AT+CACM

AT+CCHO

AT+CCHC

AT+XCSP

AT+NEER

AT+CUAD

AT+XUICC

AT+XLEMA

AT+XSYSTRACE

AT+CLAC

AT+CPUC

AT+CLAN

AT+CGLA

AT+CRLA

AT+CPAS

AT+XSVM

AT+XNOTIFYDUNSTATUS

AT+XRXDIV

AT+XRXDIV3GRAB

AT+XMAGETKEY

AT+XMAGETBLOCK

AT+CPOS

AT+CPOSR

AT+CMOLR

AT+CMTLR

AT+CMTLRA

AT+XCPOSR

AT+XSETCAUSE

AT+XSPEECHINFO

OK