XMMProtocolInterfaces » History » Revision 10
Revision 9 (Denis 'GNUtoo' Carikli, 12/31/2020 03:18 AM) → Revision 10/46 (Denis 'GNUtoo' Carikli, 01/04/2021 09:26 PM)
h1. XMMProtocolInterfaces 
 {{>toc}} 
 
 h2. usb_sel GT-I9100 
 h3. HowTO Setup: Replicant 6.0 0004 RC3 
 To get the modem UART: 
 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: device. 
 <pre> 
 root@i9300:/ # echo MODEM > /sys/devices/virtual/sec/switch/usb_sel 
 </pre> 
 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. cable. 
 At this point, if the modem was booted, you'll see a new USB Then some /dev/ttyACM* device appearing. 
 Some serial ports will also appear. 
 Tested appear on Replicant 6.0 0004 RC3 
 | Device     | Distribution             | Modem status | USB ids                         | tty                            | your laptop when you plug it again. 
 | GT-I9100 | Replicant 6.0 0004 RC3 | Booted         | TODO                            | <pre> 
 $ ls -la /dev/ttyACM* 
 crw-rw---- 1 root uucp 166, 0 31 déc.    03:34 /dev/ttyACM0 -> /dev/ttyACM6 | 
 | GT-I9100 | Replicant 6.0 0004 RC3 | Off            | None                            | N/A                            | crw-rw---- 1 root uucp 166, 1 31 déc.    03:34 /dev/ttyACM1 
 | GT-I9300 | Replicant 6.0 0004 RC3 | Booted         | 1519:0020 Comneon HSIC Device | /dev/ttyACM0 -> crw-rw---- 1 root uucp 166, 2 31 déc.    03:34 /dev/ttyACM2 
 crw-rw---- 1 root uucp 166, 3 31 déc.    03:34 /dev/ttyACM3 
 crw-rw---- 1 root uucp 166, 4 31 déc.    03:34 /dev/ttyACM4 
 crw-rw---- 1 root uucp 166, 5 31 déc.    03:34 /dev/ttyACM5 
 crw-rw---- 1 root uucp 166, 6 31 déc.    03:34 /dev/ttyACM6 | 
 h3. GT-I9100 
 </pre> 
 <pre> 
 # 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 
 </pre> 
 Xgoldmon seem to display things on the GT-I9100: 
 <pre> 
 # ./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<< 
 </pre> 
 And when calling an (inexisting/invalid) number, the frames appear in Wireshark. 
 
 h2. GT-I9300 
 Setup: Replicant 6.0 0004 RC3 
 To get the modem UART: 
 First get root in the device. 
 <pre> 
 root@i9300:/ # echo MODEM > /sys/devices/virtual/sec/switch/usb_sel 
 </pre> 
 Then unplug and replug the USB cable. 
 Then the following will appear on lsusb: 
 <pre> 
 Bus 001 Device 046: ID 1519:0020 Comneon HSIC Device 
 </pre> 
 And some /dev/ttyACM* device will appear on your laptop 
 <pre> 
 $ ls -la /dev/ttyACM* 
 crw-rw---- 1 root uucp 166, 0 31 déc.    03:18 /dev/ttyACM0 
 crw-rw---- 1 root uucp 166, 1 31 déc.    03:18 /dev/ttyACM1 
 crw-rw---- 1 root uucp 166, 2 31 déc.    03:18 /dev/ttyACM2 
 crw-rw---- 1 root uucp 166, 3 31 déc.    03:18 /dev/ttyACM3 
 crw-rw---- 1 root uucp 166, 4 31 déc.    03:18 /dev/ttyACM4 
 crw-rw---- 1 root uucp 166, 5 31 déc.    03:18 /dev/ttyACM5 
 crw-rw---- 1 root uucp 166, 6 31 déc.    03:18 /dev/ttyACM6 
 </pre> 
 <pre> 
 # 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 
 </pre>