After updating to the latest firmware /dev/qcqmi0 not coming up for EM7565 on Android 8.1 RIL

Hello Everyone,

On our custom design boards we have EM7565 with Android 8.1 host.

We have updated firmware version of our module to “SWI9X50C_01.14.02.00_00_GENERIC_002.035_000”. After Updating to newer firmware we are unable to get /dev/qcqmi0 node.
Link : https://source.sierrawireless.com/resources/airprime/minicard/75xx/airprime-em_mc75xx-approved-fw-packages/#sthash.5ziws1pV.dpbs

ls -l /dev/ttyUSB*

crw-rw---- 1 radio radio 188, 0 2009-01-01 01:00 /dev/ttyUSB0
crw-rw---- 1 radio radio 188, 1 2009-01-01 01:00 /dev/ttyUSB1
crw-rw---- 1 radio radio 188, 2 2009-01-01 01:00 /dev/ttyUSB2

ls -l /dev/qcqmi*

ls: /dev/qcqmi*: No such file or directory

logcat -b radio shows below error continuously:
01-01 01:01:41.941 698 698 I use-Rlog/RLOG-RIL: QCWWAN2kEnumerateDevices unable to find device… 6

Till now we have updated firmware on 3 modules and after successful update we are facing the same issue on all modules.

What could be the issue with newer firmware? How we can debug it to find where module is stuck with new firmware.

what is the return of AT!USBCOMP? and AT!USBCOMP=?
Have you verified the module in Linux PC with GobiSerial and GobiNet driver?

Hi,

Please refer the return of AT!USBCOMP?
at!usbcomp?
Config Index: 1
Config Type: 3 (Generic)
Interface bitmask: 0000010D (diag,nmea,modem,rmnet0)

OK

Have you verified the module in Linux PC with GobiSerial and GobiNet driver? → We have not verified the module in Linux PC but we are planning to test it on next coming days.

We have tested module on Evaluation Kit with windows host and with windows host modules are working fine.

what is return of

  1. AT!USBCOMP=?
  2. AT!USBVID?
  3. AT!USBPID?

You can also check GobiUSBNet.c, inside there is PID VID table and see if it matches with your module.

Hello,

We have checked PID VID from GobiUSBNet.c and it matches with our module.

We found that in " Android 10.0 RIL Release Note" in section 2.1. Version 10.0.7.0 mentioned that “Fixed qcqmi interface may not enumerate issue”. Can anyone provide details about this fix.
We are using Android 8.1 RIL Software 8.1.2.0 and after updating firmware on module, /dev/qcqmic0 not coming up. We want fix to resolve qcqmi interface enumeration issue for Android 8.1 RIL.

Have you verified the module in Linux PC with GobiSerial and GobiNet driver?

Hi @jyijyi

I don’t have physical access to the standalone module right now. I will have it in the next few days. In the meanwhile, we are trying to understand what can be the issue. Could you share patch/issue info if you have more idea about this issue fixed in android 10.0.7.0 RIL?

Thanks,
Dhaval

you can port the USB driver from android 10.0.7.0 RIL to your platform and see if it fixed the issue.

Hi,

We have ported the USB driver from android 10.0.7.0 RIL on our platform. After updating kernel driver the issue is still there. The /dev/qcqmi0 mode is not coming.

Please refer below AT commands results after updating kernel driver and please suggest what next we can do.

ati
Manufacturer: Sierra Wireless, Incorporated
Model: EM7565
Revision: SWI9X50C_01.14.02.00 2e210b jenkins 2020/08/19 14:18:39
IMEI: 359260080346783
IMEI SV: 12
FSN: UF911470580310
+GCAP: +CGSM

OK

at+cpin?
+CPIN: READY

OK
at!gstatus?
!GSTATUS:
Current Time: 276 Temperature: 29
Reset Counter: 1 Mode: LOW POWER MODE

OK
at!image?
TYPE SLOT STATUS LRU FAILURES UNIQUE_ID BUILD_ID
FW 1 GOOD 1 0 0 ?? 01.07.02.00?
FW 2 GOOD 2 0 0 ?? 01.14.02.00?
FW 3 EMPTY 0 0 0
FW 4 EMPTY 0 0 0
Max FW images: 4
Active FW image is at slot 2
TYPE SLOT STATUS LRU FAILURES UNIQUE_ID BUILD_ID
PRI FF GOOD 0 0 0 002.035_000 01.14.02.00_GENERIC
Max PRI images: 50

OK

at!priid?
PRI Part Number: 9907344
Revision: 002.001
Customer: Generic-M2M
Carrier PRI: 9999999_9907259_SWI9X50C_01.14.02.00_00_GENERIC_002.035_000

OK

at!impref?
!IMPREF:
preferred fw version: 01.14.02.00
preferred carrier name: GENERIC
preferred config name: GENERIC_002.035_000
preferred subpri index: 000
current fw version: 01.14.02.00
current carrier name: GENERIC
current config name: GENERIC_002.035_000
current subpri index: 000

OK

at+cfun?
+CFUN: 0

OK

Have you verified the module in Linux PC with GobiSerial and GobiNet driver?

Hi,

We have Sierra development kit and we have connect EM7565 on kit. We have connected kit using USB to Linux 16.4 PC.

We are able to check /dev/ttyUSB* but not getting /dev/qcqmi0 node. We have checked
lsusb -t | grep GobiNet but not getting anything.

$modinfo GobiNet
modinfo: ERROR: Module GobiNet not found.

$minicom -D /dev/ttyUSB2
at!gstatus?
!GSTATUS:
Current Time: 124 Temperature: 25
Reset Counter: 1 Mode: LOW POWER MODE

OK

Could you please help us how we can check GobiNet driver on Linux 16.4?

seems you did not install the GobiNet driver

You might also need to modify “/etc/modprobe.d/blacklist-modem.conf” file and restart the host

blacklist qmi_wwan

Hi,

We have installed GobiNet and GobiSerial driver on ubuntu 18.04 and blacklisted qmi_wwan module. After installing these drivers we are able to get /dev/qcqmi0 node.

But the module still shows in LPM. To change module mode from LPM to ONLINE we did below steps.

  1. Set AT!USBCOMP=1,3,10D
  2. AT!RESET
  3. AT!ENTERCND=“A710” followed by AT!USBPID=9091,9090
  4. at!openlock?
  5. AT!RESET
  6. AT!GSTATUS?

After this module shows ONLINE. We have connected same module on our Android platform. On Android platform /dev/qcqmi0 node is not able to up but module status shows ONLINE.

Could you please help us to get /dev/qcqmi0 node on our Android platform?

Thanks.

seems you have to wrong value of AT!USBCOMP…

How about set to AT!USBCOMP=1,1,10d

Hi,

AT!USBCOMP=1,1,10d is not work for us.

Why?
Does it work for linux pc?

Android RIL release note says that we need to use QMI mode, so you should not configure it to be MBIM mode.

HI,

We have done below steps on Ubuntu 18.04 PC,

  1. Install GobiNet and GobiSerial driver. We have downloaded driver from below link,
    https://source.sierrawireless.com/resources/airprime/software/usb-drivers-linux-qmi-software-s2,-d-,42n2,-d-,64/#sthash.lxpyJWJ8.dpbs

  2. Connected Sierra development kit with updated firmware module to the ubuntu 18.04 PC. We are able to get /dev/ttyUSB* and /dev/qcqmi0 mode.

  3. But the module still shows in LPM. To change module mode from LPM to ONLINE we did below steps.

  4. Set AT!USBCOMP=1,3,10D

  5. AT!RESET

  6. AT!ENTERCND=“A710” followed by AT!USBPID=9091,9090

  7. at!openlock?

  8. AT!RESET

  9. AT!GSTATUS?
    After this module shows ONLINE.

  10. To check SIM network registration we have check at+cops? but SIM network not registered.

These much we have tested on ubuntu 18.04 after that we have connected same module with our Android device.

On Android platform with Android RIL 10 kernel driver,

  1. Module shows in ONLINE mode.
  2. /dev/qcqmi0 mode not getting up.
  3. at+cops? shows SIM network registered
    at+cops?
    +cops: 0,0,“Vodafone IN”,7
    OK
    at+creg?
    +CREG: 0,1
    OK

Note: On Linux we have not set anything for MBIM mode and we have also not installed MBIM software package for Linux.

please check if GobiNet driver has been installed on Android.

Hi,

We have installed GobiNet driver of Android RIL 10 on our platform successfully and now we are able to get /dev/ttyUSB* and /dev/qcqmi0 mode.

Now we are able to get wwan0 interface up with IP address. SIM network registered.

We have updated firmware on 3 modules and after updating firmware module goes in Low Power Mode. We did not get why module goes in LPM after updating firmware.

Is there any specific condition or process because of which modules are going in LPM?

Thanks.

You can check

At!entercnd=“A710”
At!impref?
At!pcinfo?
At!custom?

Btw, can you enable it by at+cfun=1