EM7455B connection issues

Yes. I figured as much.
But how do I enable the serial device?
The hex commands should do the trick. But they don't work for me. And I've got no clue why.

All these questions are best asked on the Sierra's forum.

We're talking really outdated info here anyway. And I should know since I wrote it :slight_smile:

All the knowledge from that perl script and the hex magic predating it was incorporated into qmi-utils a log time ago. Nowadays you can simply install those and run

root@miraculix:/tmp# qmicli -p -d /dev/cdc-wdm0  --dms-swi-get-usb-composition
[/dev/cdc-wdm0] Successfully retrieved USB compositions:
            USB composition 6: DM, NMEA, AT, QMI
        [*] USB composition 8: DM, NMEA, AT, MBIM
            USB composition 9: MBIM

or if you want to change it:

qmicli -p -d /dev/cdc-wdm0  --dms-swi-set-usb-composition=8

Not sure it this actually works on a newer modem like the EM7455, though. Can't remember. But it's what those MC7710 experiments would have done, so they definitely don't work any better.

Good thing we have this Internet thing. I don't have to remember. Looks like I tested it on a MC7455 in 2015:

That does not work [for me] in OpenWrt for quite some time already, I had to rebuild libmbim to make it work again.

That's strange. It should work as long as you build libqmi with
CONFIG_LIBQMI_WITH_MBIM_QMUX=y
and that's the default. Do you have any idea what makes your rebuilt libmbim different?

I must admit that I haven't tried this on OpenWrt for a while since I don't have any OpenWrt systems with a Sierra Wireless MBIM modem anymore

the default installation have missing something that adds support for dms-swi-*

Found my mod:

--- a/data/qmi-collection-basic.json
+++ b/data/qmi-collection-basic.json
@@ -39,6 +39,8 @@
     "QMI_MESSAGE_DMS_FOXCONN_GET_FIRMWARE_VERSION",
     "QMI_MESSAGE_DMS_FOXCONN_SET_FCC_AUTHENTICATION",
     "QMI_MESSAGE_DMS_FOXCONN_SET_FCC_AUTHENTICATION_V2",
+    "QMI_MESSAGE_DMS_SWI_GET_USB_COMPOSITION",
+    "QMI_MESSAGE_DMS_SWI_SET_USB_COMPOSITION",

     "QMI_MESSAGE_NAS_ABORT",
     "QMI_MESSAGE_NAS_SET_EVENT_REPORT",

For whatever reason I was not able to build with another collection, so I had to modify qmi-collection-basic

Right. I get it. I don't need a supported modem to see that:

root@mf286d:~# qmicli --help-dms|grep swi
  --dms-swi-get-current-firmware                                                                                    Get Current Firmware (Sierra Wireless specific)

The problem is that the libqmi package builds with -Dcollection=basic by default. You need to set CONFIG_LIBQMI_COLLECTION_FULL=y instead of CONFIG_LIBQMI_COLLECTION_BASIC to get support for all the unusual QMI messages.

This type of build time configuration doesn't work very well in OpenWrt IMHO. There should have been three alternative packages instead. Most users aren't prepared to build their own package to get another variant.

Know that already, but

Okay. Thank you both very much. I'll take a look into the OpenWrt build process.
Although I'm missing a little bit Gentoo here. :wink:

See if you can temporary boot your BPi with regular Linux, then use qmicli as shown above.

Had to try that. Works for me.

root@mf286d:~# qmicli --help-dms|grep swi
  --dms-swi-get-current-firmware                                                                                    Get Current Firmware (Sierra Wireless specific)
  --dms-swi-get-usb-composition                                                                                     Get current and supported USB compositions (Sierra Wireless specific)
  --dms-swi-set-usb-composition=[#]                                                                                 Set USB composition (Sierra Wireless specific)

This was built with

bjorn@canardo:/usr/local/src/openwrt$ grep LIBQMI .config
CONFIG_LIBQMI_WITH_MBIM_QMUX=y
CONFIG_LIBQMI_WITH_QRTR_GLIB=y
# CONFIG_LIBQMI_COLLECTION_BASIC is not set
CONFIG_LIBQMI_COLLECTION_FULL=y

But very inconvenient as I said

1 Like

I feel stupid. :frowning:
It seems that the hex commands I used did work after all. I just needed to power cycle the BPI. A simple reboot wasn't good enough.

Today I booted franks debian image, installed libqmi and got this:

~# qmicli -d /dev/cdc-wdm0 --dms-swi-get-usb-composition
[/dev/cdc-wdm0] Successfully retrieved USB compositions:
      USB composition 6: DM, NMEA, AT, QMI
  [*] USB composition 8: DM, NMEA, AT, MBIM
      USB composition 9: MBIM

Exactly what I told the modem with the hex commands.
The /dev/ttyUSB device is present now.

And as a bonus the modem works. I get a connection using MM.

I very much thank you all again for the support.