Telit Cinterion IoT Developer Community
5G show case: running MV32 on Raspberry Pi 4 (Desktop, Raspberry Pi OS 64-bit)
Showcase, August 14, 2022 - 3:46pm, 1941 views
This is a show case where we have our running MV32 on Raspberry Pi 4 ( Desktop, Raspberry Pi OS 64-bit).
System prerequisites:
HW:
1) MV32 CS sample on the new 5G starter kit
2) Raspberry Pi 4 with Raspberry Pi OS (64-Bit), make sure that Raspberry Pi 4 device is new (2021 and further)
3) connect the MV32 sample to Raspberry Pi 4 on the USB 3.x interface
Linux OS:
On Raspberry Pi OS, make sure that the Raspberry Pi OS Linux kernel version is the latest ( v5.15.x), update with following steps:
=============================
sudo apt update
sudo apt full-upgrade
sudo rpi-eeprom-update
=============================
System Checks:
=============================
wmtester@raspberrypi:~ $ lsusb
Bus 002 Device 002: ID 1e2d:00f1 Gemalto M2M GmbH Cinterion PID 0x00F1 USB Mobile Broadband
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
wmtester@raspberrypi:~ $ mmcli -L
/org/freedesktop/ModemManager1/Modem/0 [Cinterion] Cinterion PID 0x00F1 USB Mobile Broadband
=============================
Install libmbim and libqmi:
=============================
wmtester@raspberrypi:~ $ sudo apt install libmbim-utils
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following package was automatically installed and is no longer required:
libfuse2
Use 'sudo apt autoremove' to remove it.
The following NEW packages will be installed:
libmbim-utils
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 116 kB of archives.
After this operation, 202 kB of additional disk space will be used.
Get:1 http://deb.debian.org/debian bullseye/main arm64 libmbim-utils arm64 1.24.6-0.1 [116 kB]
Fetched 116 kB in 0s (737 kB/s)
Selecting previously unselected package libmbim-utils.
(Reading database ... 92425 files and directories currently installed.)
Preparing to unpack .../libmbim-utils_1.24.6-0.1_arm64.deb ...
Unpacking libmbim-utils (1.24.6-0.1) ...
Setting up libmbim-utils (1.24.6-0.1) ...
Processing triggers for man-db (2.9.4-2) ...
wmtester@raspberrypi:~ $ sudo apt install libqmi-utils
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following package was automatically installed and is no longer required:
libfuse2
Use 'sudo apt autoremove' to remove it.
The following NEW packages will be installed:
libqmi-utils
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 154 kB of archives.
After this operation, 692 kB of additional disk space will be used.
Get:1 http://deb.debian.org/debian bullseye/main arm64 libqmi-utils arm64 1.26.10-0.1 [154 kB]
Fetched 154 kB in 0s (1,530 kB/s)
Selecting previously unselected package libqmi-utils.
(Reading database ... 92414 files and directories currently installed.)
Preparing to unpack .../libqmi-utils_1.26.10-0.1_arm64.deb ...
Unpacking libqmi-utils (1.26.10-0.1) ...
Setting up libqmi-utils (1.26.10-0.1) ...
Processing triggers for man-db (2.9.4-2) ...
wmtester@raspberrypi:~ $ sudo reboot
=============================
Device Check of MV32 via $dmesg:
=============================
[ 204.430516] usb 2-2: new SuperSpeed USB device number 3 using xhci_hcd
[ 204.452747] usb 2-2: LPM exit latency is zeroed, disabling LPM.
[ 204.456916] usb 2-2: New USB device found, idVendor=1e2d, idProduct=00f1, bcdDevice= 5.04
[ 204.456943] usb 2-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 204.456959] usb 2-2: Product: Cinterion PID 0x00F1 USB Mobile Broadband
[ 204.456974] usb 2-2: Manufacturer: Cinterion
[ 204.456987] usb 2-2: SerialNumber: 537475e0
[ 204.629524] cdc_mbim 2-2:1.0: setting rx_*** = 16384
[ 204.630257] cdc_mbim 2-2:1.0: cdc-wdm0: USB WDM device
[ 204.631158] cdc_mbim 2-2:1.0 wwan0: register 'cdc_mbim' at usb-0000:01:00.0-2, CDC MBIM, 16:13:f5:a0:8e:c0
[ 204.632868] option 2-2:1.2: GSM modem (1-port) converter detected
[ 204.633464] usb 2-2: GSM modem (1-port) converter now attached to ttyUSB0
[ 204.635636] option 2-2:1.4: GSM modem (1-port) converter detected
[ 204.636600] usb 2-2: GSM modem (1-port) converter now attached to ttyUSB1
[ 204.637601] option 2-2:1.5: GSM modem (1-port) converter detected
[ 204.638292] usb 2-2: GSM modem (1-port) converter now attached to ttyUSB2
[ 204.811003] 8021q: adding VLAN 0 to HW filter on device wwan0
========================================================
MBIM commands on MV32:
=====================================================
wmtester@raspberrypi:~ $ sudo -i
root@raspberrypi:~# mbimcli -d /dev/cdc-wdm0 -p --query-device-caps
[/dev/cdc-wdm0] Device capabilities retrieved:
Device type: 'embedded'
Cellular class: 'gsm'
Voice class: 'no-voice'
SIM class: 'removable'
Data class: 'umts, hsdpa, hsupa, lte, custom'
SMS caps: 'pdu-receive, pdu-send'
Ctrl caps: 'hw-radio-switch'
*** sessions: '15'
Custom data class: '5G'
Device ID: '355532870001404'
Firmware info: 'FDE.F0.0.0.1.3.DT.001.006'
Hardware info: 'Cinterion Snapdragon X62'
root@raspberrypi:~# mbimcli -d /dev/cdc-wdm0 -p --query-subscriber-ready-status
[/dev/cdc-wdm0] Subscriber ready status retrieved:
Ready state: 'initialized'
Subscriber ID: '262011409193877'
SIM ICCID: '89490200001487545165'
Ready info: 'none'
Telephone numbers: (1) ''
root@raspberrypi:~# mbimcli -d /dev/cdc-wdm0 -p --query-registration-state
[/dev/cdc-wdm0] Registration status:
Network error: 'unknown'
Register state: 'home'
Register mode: 'automatic'
Available data classes: 'lte'
Current cellular class: 'gsm'
Provider ID: '26201'
Provider name: 'Telekom.de'
Roaming text: 'unknown'
Registration flags: 'packet-service-automatic-attach'
root@raspberrypi:~# mbimcli -d /dev/cdc-wdm0 -p --atds-query-signal
[/dev/cdc-wdm0] Signal info retrieved:
RSSI: -65 dBm
BER: unknown (99)
RSCP: unknown
Ec/No: unknown
RSRQ: -8.00 dBm
RSRP: -93 dBm
RSSNR: 19 dB
root@raspberrypi:~#
==================================================
MBIM network connect:
=============================================
root@raspberrypi:~# mbim-network /dev/cdc-wdm0 start
Loading profile at /etc/mbim-network.conf...
APN: internet.v6.telekom
APN auth protocol: unset
APN user: unset
APN password: unset
mbim-proxy: no
Loading previous state from /tmp/mbim-network-state-cdc-wdm0...
Previous Transaction ID: 7
error: no actions specified
Clearing state at /tmp/mbim-network-state-cdc-wdm0...
Querying subscriber ready status 'mbimcli -d /dev/cdc-wdm0 --query-subscriber-ready-status --no-close '...
error: operation failed: Transaction timed out
[/dev/cdc-wdm0] Session not closed: TRID: '3'
Saving state at /tmp/mbim-network-state-cdc-wdm0... (TRID: 3)
Querying registration state 'mbimcli -d /dev/cdc-wdm0 --query-registration-state --no-open=3 --no-close '...
error: operation failed: Transaction timed out
[/dev/cdc-wdm0] Session not closed: TRID: '4'
Saving state at /tmp/mbim-network-state-cdc-wdm0... (TRID: 4)
Attaching to packet service with 'mbimcli -d /dev/cdc-wdm0 --attach-packet-service --no-open=4 --no-close '...
Saving state at /tmp/mbim-network-state-cdc-wdm0... (TRID: 5)
Starting network with 'mbimcli -d /dev/cdc-wdm0 --connect=apn='internet.v6.telekom' --no-open=5 --no-close '...
Network started successfully
Saving state at /tmp/mbim-network-state-cdc-wdm0... (TRID: 7)
========================================================
Network interface WWAN0 status check:
=================================================
wmtester@raspberrypi:/etc $ ifconfig -a wwan0
wwan0: flags=4291<UP,BROADCAST,RUNNING,NOARP,MULTICAST> mtu 1500
inet 169.254.154.29 netmask 255.255.0.0 broadcast 169.254.255.255
inet6 fe80::c0c7:b320:39b:3cf3 prefixlen 64 scopeid 0x20<link>
inet6 2a01:598:b175:77e3:615b:c322:3ce7:e56b prefixlen 64 scopeid 0x0<global>
ether 5a:c5:64:8d:17:43 txqueuelen 1000 (Ethernet)
RX packets 1268986 bytes 1573199630 (1.4 GiB)
RX errors 27 dropped 2776 overruns 0 frame 0
TX packets 633607 bytes 770014035 (734.3 MiB)
TX errors 0 dropped 129 overruns 0 carrier 0 collisions 0
wmtester@raspberrypi:~ $ sudo -i
root@raspberrypi:~# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000
link/ether dc:a6:32:cc:da:8a brd ff:ff:ff:ff:ff:ff
3: wlan0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN group default qlen 1000
link/ether dc:a6:32:cc:da:8b brd ff:ff:ff:ff:ff:ff
5: wwan0: <BROADCAST,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN group default qlen 1000
link/ether 5a:c5:64:8d:17:43 brd ff:ff:ff:ff:ff:ff
inet 169.254.154.29/16 brd 169.254.255.255 scope global noprefixroute wwan0
valid_lft forever preferred_lft forever
inet 192.0.0.2/27 brd 192.0.0.31 scope global dynamic noprefixroute wwan0
valid_lft 6353sec preferred_lft 5453sec
inet6 2a01:598:b175:77e3:615b:c322:3ce7:e56b/64 scope global mngtmpaddr noprefixroute
valid_lft forever preferred_lft forever
inet6 fe80::c0c7:b320:39b:3cf3/64 scope link
valid_lft forever preferred_lft forever
root@raspberrypi:~# ping -I wwan0 8.8.8.8
PING 8.8.8.8 (8.8.8.8) from 192.0.0.2 wwan0: 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=53 time=42.1 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=53 time=42.9 ms
64 bytes from 8.8.8.8: icmp_seq=3 ttl=53 time=53.9 ms
64 bytes from 8.8.8.8: icmp_seq=4 ttl=53 time=41.2 ms
64 bytes from 8.8.8.8: icmp_seq=5 ttl=53 time=25.6 ms
64 bytes from 8.8.8.8: icmp_seq=6 ttl=53 time=25.0 ms
64 bytes from 8.8.8.8: icmp_seq=7 ttl=53 time=23.4 ms
64 bytes from 8.8.8.8: icmp_seq=8 ttl=53 time=25.9 ms
^C
--- 8.8.8.8 ping statistics ---
8 packets transmitted, 8 received, 0% packet loss, time 6993ms
rtt min/avg/***/mdev = 23.377/34.986/53.899/10.696 ms
root@raspberrypi:~#
==================================================
Speedtest on WWAN0
==================================
Screenshot in attachment
Meanwhile, we have also used/verified our MV31/MV32 on the Raspberry Pi 5G Development Kit by SixFab
https://sixfab.com/product/raspberry-pi-5g-development-kit-5g-hat/