EM7455 in custom embedded IOT device


I have a custom embedded Linux Yocto build based on kernel 3.18.71 on an ARM based target. I currently use a WNC WWAN module connected via USB port. To start a data connection I use QMI commands using the uqmi utility over /dev/qcqmi0. This is network interface rmnet_usb0. I also do some logging with the DIAG port /dev/ttyUSB0. I am now trying to use the EM7455 module in a USB adapter board. I can see the device with lsusb (0x1199 0x9079). However, no drivers set any ports up. The documentation talks about setting up GOBI drivers, etc. but I’m not sure this is realistic for our environment. I’d like to stick with some adaptation of the methods I am currently using. I’m starting with the usual suspects like adding the PID / VID to driver files sierra.c, qcserial.c, etc. and rebuilding the kernel. Does this sound like a reasonable path to go down? Should I be investigating other options? MBIM? Perhaps there is a different Sierra Wireless module that I should consider?


Looking at the USB descriptors for the EM7455 I’m thinking that CDC MBIM is the way to go. I’ll enable this driver in the kernel and see what happens.


Looking through the Linux QMI SDK Application Developer’s Guide it says that EM/MC74xx is supported but then it shows the supported VID/PID combos and the EM7455 VID / PID is not shown…


I rebuilt the kernel with CDC MBIM support. Now when I plug in the modem I get a /dev/cdc-wdm0. I then compiled the umbim application from OpenWRT. I can use that to send commands to the modem and it responds. I have a valid SIM card and the modem tells me that. So, that’s progress. Is there documentation on the mbim commands I need to issue to get the thing to setup a network connection?