Great. Thanks!
Yes, both SMS and cellular data work.
About the voice calls, I noticed that it seems to change from 4G to 3G when a call happens, then after the call it changes back to 4G again.
I tried to find out which bands are used but so far I don’t know how (if it’s at all possible) to find out which band(s) it is really using.
My best attempt along those lines is using the mmcli
command as follows.
First do this to find out the current number of the modem:
purism@pureos:~$ mmcli -L
/org/freedesktop/ModemManager1/Modem/3 [QUALCOMM INCORPORATED] 0
The imporant number to note there is the “3” in the end of the /org/freedesktop/ModemManager1/Modem/3
string. It can be different next time I boot, or after flipping the modem kill switch off and on again.
Knowing that the number is currently 3, then we can use the command mmcli --modem=3
which lists a lot of info:
purism@pureos:~$ mmcli --modem=3
--------------------------------
General | dbus path: /org/freedesktop/ModemManager1/Modem/3
| device id: [...]
--------------------------------
Hardware | manufacturer: QUALCOMM INCORPORATED
| model: 0
| firmware revision: MPSS.JO.2.0.2.c1.1-00032-9607_GENNS_PACK-1 1 [Feb 25 2019 01:00:00]
| carrier config: default
| h/w revision: 10000
| supported: gsm-umts, lte
| current: gsm-umts, lte
| equipment id: [...]
--------------------------------
System | device: /sys/devices/platform/soc@0/38200000.usb/xhci-hcd.4.auto/usb1/1-1/1-1.2
| drivers: qmi_wwan, option1
| plugin: broadmobi
| primary port: cdc-wdm0
| ports: ttyUSB0 (qcdm), ttyUSB1 (at), ttyUSB2 (at), ttyUSB3 (at),
| wwan0 (net), cdc-wdm0 (qmi)
--------------------------------
Status | lock: sim-pin2
| unlock retries: sim-pin (3), sim-pin2 (3), sim-puk (10), sim-puk2 (10)
| state: registered
| power state: on
| access tech: lte
| signal quality: 78% (recent)
--------------------------------
Modes | supported: allowed: 2g; preferred: none
| allowed: 3g; preferred: none
| allowed: 4g; preferred: none
| allowed: 2g, 3g; preferred: 3g
| allowed: 2g, 3g; preferred: 2g
| allowed: 2g, 4g; preferred: 4g
| allowed: 2g, 4g; preferred: 2g
| allowed: 3g, 4g; preferred: 4g
| allowed: 3g, 4g; preferred: 3g
| allowed: 2g, 3g, 4g; preferred: 4g
| allowed: 2g, 3g, 4g; preferred: 3g
| allowed: 2g, 3g, 4g; preferred: 2g
| current: allowed: 2g, 3g, 4g; preferred: 4g
--------------------------------
Bands | supported: egsm, dcs, pcs, g850, utran-1, utran-5, utran-8, utran-2,
| eutran-1, eutran-2, eutran-3, eutran-5, eutran-7, eutran-8,
| eutran-20, eutran-38, eutran-40, eutran-41
| current: egsm, dcs, pcs, g850, utran-1, utran-5, utran-8, utran-2,
| eutran-1, eutran-2, eutran-3, eutran-5, eutran-7, eutran-8,
| eutran-20, eutran-38, eutran-40, eutran-41
--------------------------------
IP | supported: ipv4, ipv6, ipv4v6
--------------------------------
3GPP | imei: [...]
| operator id: 24001
| operator name: TELIA
| registration: home
--------------------------------
3GPP EPS | ue mode of operation: csps-1
--------------------------------
SIM | dbus path: /org/freedesktop/ModemManager1/SIM/3
So there is a part about bands there, it shows “supported” bands and the “current” bands. It is possible to choose which bands are “current” which I think means that it will then only use those bands, but, as far as I know, there is no way to find out which of the current band(s) it is actually using for calls/sms/data. I suppose that only a few (or only one?) of the bands in the long list of “current” bands are used in practice at a given moment.
This kind of command seems to work to set the “current” bands:
mmcli --modem 3 --set-current-bands='eutran-1|eutran-2|eutran-3|eutran-5'
Then if running mmcli --modem 3
again after that, it shows those bands as the current bands.
I played around a little bit with setting only one or a few bands as “current” and then tried to see if calls worked, based on those experiments I got the impression that calls are always made using the “egsm” band, or at least that the “egsm” band is a requirement for making calls. It could be using other bands also, together with the egsm band, I don’t know. Of course that could depend on what cell towers are nearby, I mostly just tried this around my house.
I don’t know but maybe the information about which bands are really used is something that only the modem knows internally, maybe there isn’t even a way to request that info from the modem?
Anyway, the mmcli
command can be used for lots of other things, for example I was able to unlock the sim card using this command (instead of entering the pin using the GUI):
mmcli --modem=3 --simple-connect=pin=1234,apn=online.telia.se
Lots of other things can be done using mmcli
, the man page has parts about sending sms for example, which I have not tried yet. But the man page does not seem to say anything more about bands, other than the “current” bands setting.
Something that I have not figured out yet is how to determine if it currently uses 2G or 3G or 4G – I guess that must be possible somehow because phosh shows it in the top left corner of the screen, next to the bars showing signal quality. Could it be that the “4G” in the corner corresponds to the “access tech: lte” in the mmcli
output?