ZTE MF833V: registered network operator name is incorrect when no pin code is required
Hi,
I found another weirdness with the ZTE MF833V modem: Modem Manager 1.14.8 (or later) fails to read properly the operator name if the SIM does not require the pin code. No problem with the operator code.
mmcli -m any:
--------------------------------
General | path: /org/freedesktop/ModemManager1/Modem/0
| device id: xxxx
--------------------------------
Hardware | manufacturer: ZTE CORPORATION
| model: MF833V
| firmware revision: BD_CNGENMF833VV1.0.0B08
| supported: gsm-umts, lte
| current: gsm-umts, lte
| equipment id: xxxx
--------------------------------
System | device: /sys/devices/pci0000:00/0000:00:14.0/usb1/1-1
| drivers: option
| plugin: zte
| primary port: ttyUSB3
| ports: ttyUSB1 (qcdm), ttyUSB2 (at), ttyUSB3 (at)
--------------------------------
Status | unlock retries: sim-pin (3), sim-puk (10)
| state: registered
| power state: on
| access tech: 1xrtt, evdo0, lte
| signal quality: 80% (recent)
--------------------------------
Modes | supported: allowed: 2g; preferred: none
| allowed: 3g; preferred: none
| allowed: 4g; preferred: none
| allowed: 2g, 3g, 4g; preferred: none
| current: allowed: any; preferred: none
--------------------------------
IP | supported: ipv4, ipv6, ipv4v6
--------------------------------
3GPP | imei: xxxx
| operator id: 20801
| operator name: 004F0030 004F0030
| registration: home
--------------------------------
3GPP EPS | ue mode of operation: csps-1
--------------------------------
SIM | primary sim path: /org/freedesktop/ModemManager1/SIM/0
From the debug logs, it seems that Modem Manager configures the character set in UCS-2 because the modem says it supports it:
ModemManager[200611]: <debug> [1610719228.825446] [modem0/ttyUSB3/at] --> 'AT+CSCS=?<CR>'
ModemManager[200611]: <debug> [1610719228.841981] [modem0/ttyUSB3/at] <-- '<CR><LF>+CSCS: ("IRA","GSM","UCS2")<CR><LF><CR><LF>OK<CR><LF>'
...
ModemManager[200611]: <debug> [1610719228.842590] [modem0/ttyUSB3/at] --> 'AT+CSCS="UCS2"<CR>'
ModemManager[200611]: <debug> [1610719228.861516] [modem0/ttyUSB3/at] <-- '<CR><LF>OK<CR><LF>'
...
ModemManager[200611]: <debug> [1610719228.861969] [modem0/ttyUSB3/at] --> 'AT+CSCS?<CR>'
ModemManager[200611]: <debug> [1610719228.873323] [modem0/ttyUSB3/at] <-- '<CR><LF>+CSCS: "UCS2"<CR><LF><CR><LF>OK<CR><LF>'
But with the configured charset, the modem returns an unexpected string format (not UCS-2 as least) for +COPS AT command response:
ModemManager[200611]: <debug> [1610719230.299835] [modem0/ttyUSB3/at] --> 'AT+COPS=3,0<CR>'
ModemManager[200611]: <debug> [1610719230.314483] [modem0/ttyUSB3/at] <-- '<CR><LF>OK<CR><LF>'
ModemManager[200611]: <debug> [1610719230.314600] [modem0/ttyUSB3/at] device open count is 3 (close)
ModemManager[200611]: <debug> [1610719230.314685] [modem0/ttyUSB3/at] --> 'AT+COPS?<CR>'
ModemManager[200611]: <debug> [1610719230.325878] [modem0/ttyUSB3/at] <-- '<CR><LF>+COPS: 0,0,"004F0030 004F0030",7<CR><LF><CR><LF>OK<CR><LF>'
ModemManager[200611]: <debug> [1610719230.326158] [modem0] loaded Operator Name: 004F0030 004F0030
I've reproduced it with Minicom too.
AT+CSCS=?
+CSCS: ("IRA","GSM","UCS2")
OK
AT+CSCS?
+CSCS: "IRA"
OK
AT+COPS=0,0
OK
AT+COPS?
+COPS: 0,0,"Orange F Orange F",7
OK
AT+CSCS?
+CSCS: "IRA"
OK
AT+COPS=3,0
OK
AT+COPS?
+COPS: 0,0,"Orange F Orange F",7
OK
AT+CSCS="UCS2"
OK
AT+COPS?
+COPS: 0,0,"004F0030 004F0030",7
OK
AT+CSCS="GSM"
OK
AT+COPS?
+COPS: 0,0,"Orange F Orange F",7
OK
The AT command list document I was provided with does not describe the +COPS string format output nor if the +CSCS affects it. I don't know if this is just a firmware issue (no other ZTE modems to compare) or something can be done in Modem Manager as a workaround. What do you think ?
Modem Manager version: master (17ea1dfa)
debug logs: mm_debug_master.log