We have been working on integrating an EM8695 module for several months. It was initially running firmware version SWIX35C_00.01.14.00, which was updated to SWIX35C_01.01.01.00, then a few weeks ago SWIX35C_02.01.03.00. It has always presented the USB MBIM interface, and our host system expects to see the MBIM interface.
After a power-cycle the EM8695 began presenting the RmNet interface instead of MBIM. We have not been able to find any method to revert it back to MBIM.
The AT interface shows:
AT!USBCOMP?
Config Index: 1
Config Type: 1 (Generic)
Interface bitmask: 0000100D (diag,modem,gnss,rmnet0)
We can use
AT!USBCOMP=1,1,00001009
to set it back to MBIM, but after an AT!RESET or power-cycle the interface always reverts to RmNet.
AT!CUSTOM? shows that MBIMMODE is enabled.
AT!RMARESET=1 didn’t help.
When we use the Windows tool to try and reflash the firmware, it can’t access the MBIM interface, reverts to the serial interface, has an unhandled exception, exits and triggers a kernel panic on the Windows 11 PC.
The latest Linux tool to reflash the firmware refuses to do a reflash because it detects the EM8695 is already running the latest version. The tool does not have a switch to force the update. We don’t have a copy of the tool for an older version of firmware (but if we did, we assume it would refuse to downgrade the firmware).
Does anyone know how we can proceed? How can we force our EM8695 to present the MBIM interface again?
Is this a known fault? It is extremely concerning that if we deploy a product with the EM8695 and it randomly switches to RmNet, the product will no longer function. This will be costly both financially and to our reputation.