BG95 USB re-enumeration


I have been using BG96 for a while and have my device working well with it for data and GNSS.

We use the USB for PPP and AT commands over the UART.

When using GNSS, the modem might be powered for GNSS or for data, or for both. Sometimes we disconnect from data and use the modem just for GNSS, and vice-versa.

Adding support for the BG95 has gone relatively smoothly, but one aspect is proving difficult… If the modem has already enumerated on USB in order to provide a data connection, and then the PPP is taken down, and the host-side USB is reset whilst keeping the modem powered in order to provide GNSS - When the data side is brought up again, the USB fails to enumerate. This works fine on BG96, but not on BG95.

I have found some QCFGEXT commands relating to USB, such as AT+QCFGEXT=“disusb”, and also AT+CFGEXT=“usb/event” which looked promising, but do not seem to solve the problem.

Any suggestions gratefully received.

BG95 is different from BG96 with GNSS part , since BG95 share RF channel between LTE and GNSS , so they can not be used in the meanwile .

for the detail , pls kindly open the attachement .

Hi Stephen,

Thank you for your response.

I have actually determined that the problem here is the BG95 firmware - The issue is resolved in - All firmware versions prior to that are able to enumerated only once. This can be easily reproduced using a powered USB hub and connecting the modem to a computer, allowing it to enumerate, then disconnecting the hub from the computer (but leaving it powered), then reconnecting it to the computer. The modem will only re-enumerate on USB if the BG95 is using firmware version or later.

I believe the problem to be to do with the BG95 not handling the USB reset condition correctly, although I am not 100% certain.