BG96 with RPi4 with Linux 5.4.66+

Hello, I’ve run into an issue with the IoT HAT and the Quectel BG96, and it appears as though some changes in 5.4.66 have affected how USB3 is treated?

From this link (search BG96):

Change rules for EC21, EC25, BG96 and EG95 to match vendor specific
serial functions only, to prevent binding to class functions. Require
2 endpoints on ff/ff/ff functions, avoiding the 3 endpoint QMI/RMNET
network functions.

Reverting to 5.4.65 allows for BG96 to load correctly. Any ideas for how to keep using latest kernel (currently 5.4.73) ?

Hi @rocketjosh,

Yes, this is a driver-based issue, This has been informed to the module OEM for the driver update/patch. For the time being, you can downgrade the kernel version to 5.4.65 where the module works fine.

Right on, thanks @ensar

I’m using kernel 5.4.75 and BG96 still problem mapping ttyUSBx devices. Any news?

I can’t install HMI drivers on kernel 5.4.72, the qm_install.sh report error:
Driver for 5.4.72-v7l+ kernel not found

I’ve running drivers on older kernel 5.4 … What’s wrong?

Hi @dome,

I will update you when I have more information.

Could you add the whole log? It’s working for me, just tested

The script “qmi_install.sh” create “files” dir in /home/root and not in /home/pi because it is using $(whoami) running as sudo. Anyway now it compiles correctly and quectel-CM start but I get:

[11-26_17:12:14:849] Quectel_QConnectManager_Linux_V1.6.0.12
[11-26_17:12:14:852] Find /sys/bus/usb/devices/1-1.3 idVendor=0x2c7c idProduct=0x296, bus=0x001, dev=0x006
[11-26_17:12:14:854] Auto find qmichannel = /dev/cdc-wdm0
[11-26_17:12:14:854] Auto find usbnet_adapter = wwan0
[11-26_17:12:14:855] netcard driver = qmi_wwan, driver version = 22-Aug-2005
[11-26_17:12:14:856] ioctl(0x89f3, qmap_settings) failed: Operation not supported, rc=-1
[11-26_17:12:14:857] Modem works in QMI mode
[11-26_17:12:14:876] cdc_wdm_fd = 7
[11-26_17:12:14:885] Get clientWDS = 1
[11-26_17:12:14:887] Get clientDMS = 1
[11-26_17:12:14:889] Get clientNAS = 1
[11-26_17:12:14:891] Get clientUIM = 1
[11-26_17:12:14:893] Get clientWDA = 1
[11-26_17:12:14:895] requestBaseBandVersion BG96MAR02A07M1G  1  [Jun 22 2018 06:00:00]
[11-26_17:12:14:903] requestGetSIMStatus SIMStatus: SIM_READY
[11-26_17:12:14:903] requestSetProfile[1] iot.1nce.net///0
[11-26_17:12:14:915] requestGetProfile[1] iot.1nce.net///0
[11-26_17:12:14:917] requestRegistrationState2 MCC: 0, MNC: 0, PS: Detached, DataCap: UNKNOW
[11-26_17:12:14:919] requestQueryDataCall IPv4ConnectionStatus: DISCONNECTED
[11-26_17:12:14:920] ifconfig wwan0 down
[11-26_17:12:14:931] ifconfig wwan0 0.0.0.0
^C[11-26_17:12:23:303] QmiWwanThread exit
[11-26_17:12:23:305] qmi_main exit

I see an ioctl error but I don’t know what it means.
On the older kernel I had 4 ttyUSBx (0,1,2,3) but now I’ve only 2 ttyUSBx (0,1).

You can ignore this error message during the process. This is a warning message only.

I’ve already mentioned this here:

Have you tried a PPP connection?

In the meantime I’ve downgraded kernel to 5.4.65 … We hope in a fast fix…

now I even get any of the USB ports anymore. I get the same results after formatting and reinstall 3 different Noobs version (the latest, september 2020 and even june 2019).

Make sure that the micro USB cable is connected between the HAT and the Rpi.
Also, make sure your module is powered up. It can be turned on by pushing the PWRKEY button for at least 500ms.

now seems everything ok till sudo pon

after pressing the PWRKEY at least 5 seconds all USB ports are listed.
however it doesn’t recognize the sudo pon sudo: pon: command not found

the example port table is listing ttyUSB3 but there are 0, 1, 2, 3 USB ports available, i tried all but
sudo pon remains not found