I’m testing an M.2 Sierra EM7345 LTE modem on the Oratek Tofu carrier board with a Pi CM4.
I recognize that it’s not an officially tested/supported modem, but thought I might be able to get it to work.
According to ModemManager it is a supported modem:
Sierra Wireless EM7345 0x1199 0xa001 FIH7160_V1.1_MODEM_01.1349.12 Sierra (MBIM) 3GPP
Though as you can see it uses mbim, not qmi which I’m not quite sure how to handle.
When I run lsusb
, I can see what looks like it might be modem (its the only external device attached at the moment).
root@5254c10:~# lsusb
Bus 001 Device 001: ID 1d6b:0002
But ModemManager can’t find it - presumably because I need to do some setup with mbim?
root@5254c10:~# mmcli -S
successfully requested to scan devices
root@5254c10:~# mmcli -m 0
error: couldn't find modem
I also noticed that there is an existing udev rule for Sierra modems in BalenaOS, so that is encouraging:
root@5254c10:~# cat /lib/udev/rules.d/77-mm-sierra.rules
# do not edit this file, it will be overwritten on update
ACTION!="add|change|move|bind", GOTO="mm_sierra_end"
SUBSYSTEMS=="usb", ATTRS{idVendor}=="1199", GOTO="mm_sierra"
GOTO="mm_sierra_end"
LABEL="mm_sierra"
SUBSYSTEMS=="usb", ATTRS{bInterfaceNumber}=="?*", ENV{.MM_USBIFNUM}="$attr{bInterfaceNumber}"
# Netgear AC341U: enable connection status polling explicitly
ATTRS{idVendor}=="1199", ATTRS{idProduct}=="9057", ENV{ID_MM_QMI_CONNECTION_STATUS_POLLING_ENABLE}="1"
# MC74XX: Add port hints
# if 03: primary port
# if 02: raw NMEA port
# if 00: diag/qcdm port
ATTRS{idVendor}=="1199", ATTRS{idProduct}=="9071", ENV{.MM_USBIFNUM}=="03", ENV{ID_MM_PORT_TYPE_AT_PRIMARY}="1"
ATTRS{idVendor}=="1199", ATTRS{idProduct}=="9071", ENV{.MM_USBIFNUM}=="02", ENV{ID_MM_PORT_TYPE_GPS}="1"
ATTRS{idVendor}=="1199", ATTRS{idProduct}=="9071", ENV{.MM_USBIFNUM}=="00", ENV{ID_MM_PORT_TYPE_QCDM}="1"
# EM7565: Add port hints
# if 03: primary port
# if 02: raw NMEA port
# if 00: diag/qcdm port
ATTRS{idVendor}=="1199", ATTRS{idProduct}=="9091", ENV{.MM_USBIFNUM}=="03", ENV{ID_MM_PORT_TYPE_AT_PRIMARY}="1"
ATTRS{idVendor}=="1199", ATTRS{idProduct}=="9091", ENV{.MM_USBIFNUM}=="02", ENV{ID_MM_PORT_TYPE_GPS}="1"
ATTRS{idVendor}=="1199", ATTRS{idProduct}=="9091", ENV{.MM_USBIFNUM}=="00", ENV{ID_MM_PORT_TYPE_QCDM}="1"
LABEL="mm_sierra_end"
Any tips on which direction to head in order to get ModemManager to see the modem?