EM929x needs MHI kernel changes

Hi, I recently acquired a pair of EM9291 modules and am integrating them.

I was able to see the module on the PCIe bus, but it initially did not respond to MBIM commands (would just timeout). There was also no wwan0at0 interface exposed by MHI.

I looked at the kernel source and noticed that EM919x needed some custom configuration:

Since adding something similar for EM929x, I am able to now do a DMS query for the manufacturer:

$ sudo qmicli -d /dev/wwan0mbim0 -p --device-open-mbim  --dms-get-manufacturer
[/dev/wwan0mbim0] Device manufacturer retrieved:
	Manufacturer: 'Sierra Wireless, Incorporated'

Given the code change seems to have allowed MBIM to work and exposed the AT interface, could Sierra please share the necessary channel config/changes? I have no idea how the channels should be configured.

QMI does not seem to work at all (even after mirroring the EM919x changes), so I’m guessing more is needed that I’m not privy to.

The SDK/download portal only has changes relevant to USB.

Have you contacted distributor to get this?

No. Is this information under NDA? I would imagine something like this is public.

i think so, you need to sign some agreement to have the source code

I’m just a hobbyist… unlikely to be given such an agreement.

Seems like there was just was some issue with QMI communication being stuck as part of my debugging efforts. Since power cycling the modem, MBIM/QMI/AT over MHI all work great as long as my changes are present.

I’ll submit the changes I made upstream to the MHI tree in the kernel, as EM9291 empirically seems to use the same configuration as EM9191 (surprise…). Without the changes, MHI is setup with an improper channel/ring configuration resulting in the MHI submissions timing out and AT interface is not exposed.

Setting this issue aside, very happy with how well this modem just started working out of the box.