MC7304 on 4.10 Kernel

I am currently working on integrating a MC7304 module onto our iMx6 embedded platform running a 3.10.17 kernel. I can get this kernel to detect the MC7304 module by adding the appropriate device:product ids to qcserial.c and qmi_wwan.c. After I do this, I get the 3 wwan, the 3 qmi_cdc and the 3 ttyUSB interfaces. They all seem to work using at commands and qmicli.

Looking at the latest Kernel mainline, I see the following:
USB: qcserial/option: make AT URCs work for Sierra Wireless MC73xx

The patch is explained here:
article.gmane.org/gmane.linux.usb.general/119747

When I backport the changes to 3.10.17, I no longer see the wwan nor qmi_cdc interfaces as they have been blacklisted as per the patch.

I am yet to attempt to make a call on the MC73xx. I require data, SMS and voice to work. My question is this, will I now need to use the SDK to access the qmi interface? Do I need the qmi interface at all? Will it cause me a lot of trouble if I do not apply the patch?

Thanks in advance.

That patch should not affect any qmi/wwan functions. It moves the device ID from the qcserial driver to the option driver for the reasons explained in the discussion you point to. Those two drivers have a bit of a different way to sort out which USB interfaces they should handle. The qcserial driver has a sierra-specific whitelist, while the option driver depends on blacklisting USB interfaces which it should ignore.

The net effect should be the same though: both drivers will ignore the QMI/RMNET interfaces, leaving those for the qmi_wwan driver.

If this doesn’t work as expected for you, then please post the kernel log showing which driver probes which USB interface. Preferably along with your current USB layout (“lsusb -vd 1199:68c0” or similar).

Hi dl5162,

You are correct. I did a clean and forgot to re-enable the kernel option. All the interfaces are there now.

Thanks for you help.