BG96 - QFlash for Linux doesn't seem to work

I have the UMTS & LTE EVB devboard kit with Quectel BG96 modem. I have followed all the steps specified in:

  • Quectel_WCDMA&LTE_Linux_USB_Driver_User_Guide_V1.8.pdf
  • Quectel_LTE&LTE-A_QFlash_Linux&Android_User_Guide_V2.0.pdf

Though neither qfastboot nor QFlash seem to work properly. Upon trying to run ./QFlash -f example.bin I get this output:

[01-15_16:44:24:168] Error: bash keywords should not be includes in path

I disabled (commented out) the ‘bash keyword’ checking, because I don’t see how it makes sense to have it and progressed further to this error:

[01-15_16:54:37:973] Auto detect Quectel modem port = ttyUSB3
[01-15_16:54:37:973] Error: Not found contents.xml
[01-15_16:54:37:973] Error: Parse file error
[01-15_16:54:37:973] product model = Qualcomm CDMA Technologies MSM

What is contents.xml? It is not described anywhere in the documentation that I have read. It’s also a bit weird how fastboot.c doesn’t include Quectel’s vendorID, the ifc_class, ifc_subclass and ifc_protocol defined there are completely different from what I am getting:

/dev/ttyUSB2 - 0xff, 0xfe, 0xff;
/dev/ttyUSB[0,1,3] - 0xff, 0xff, 0xff

I am quite honestly stuck and there’s no additional documentation that I found that could help me. Any advice &/or suggestions would be appreciated.

1 Like

Dear Sir,

There are several Suggestions, you can try to check the following
1.At present, upgrade tools only support Native PC, not support virtual PC.
2.pls make sure the USB driver is installed correctly.The log information looks like there is a problem with the USB driver installation.
3./QFlash -f firmware package file name //The path to the full upgrade package, not a single bin file

B&R

Thank you for replying,

I am not running a virtual machine and I am fairly sure the drivers are installed correctly. The only foreseeable problem is that I am using an newer kernel than the one described in the documentation. On the other hand, I do have all ttyUSB[0,1,2,3] devices being created, lsusb names the correct modem & I am able to send AT commands and get responses from the device.

It is however possible, that I am using an incorrect tool to upload my own custom image built with QuecOpen (ThreadX underneath). Do I have to upload these files manually via the AT commands? Is the only way to upload these files via the QWinExplorer application that only runs on Windows?

Firmware currently running on the BG96 - BG96MAR02A07M1G_01.007.01.007

Do you want to upload and debug the application or update the firmware?

I want to upload and debug my application.

pls use the QEFS_Explorer to uploader your application and oem_app_path.ini to the module
Attached are relevant videos and documentation, you can try it.
btw,the tool in the video is QPST, which is the same as QEFS_Explorer. You can choose between the two tools.
(Note : the SDK version needs to be the same as the firmware version.)

https://cnquectel-my.sharepoint.com/:u:/g/personal/asean-fae_quectel_com/EUf-4XrDxD9CoZRbBPwrwsEBDBM32HFg4v3l2zaeg5nPVg?e=x1eprH

1 Like

I understand that there’s Quectel applications for Windows to transfer files and run certain AT commands. My question pertains to the Linux environment, as in the product description of BG96 it does say:

(USB drivers for Windows 7/8/8.1/10, Linux and Android)

I’ve written my own little tool that uses the AT commands in order to send files to the modem. However I am only able to upload these files to the UFS, I cannot access the /datatx/ directory in order to send my application and .ini files there.

Is there something that I have missed? Considering that QFlash & qfastboot is supposed to work with the device (on Linux, mind you, it’s in the dev kit), there must be a way to write a tool to upload these files. I thought that I would be able to do something like this:

AT+QFUPL="/datatx/app.bin",[size],[timeout],[ack]
<Wait for CONNECT then send 1024 chunks of data>

But alas, it doesn’t work as it apparently doesn’t recognize the folder as legitimate storage space.

The next thing I tried was an attempt to query the same commands that are used to flash the firmware image, hoping that they would give me access to some more functionality. (In the end, the tools provided by Quectel need to query something on the device to be able to do it in the first place) Though AT+qfastboot doesn’t work and as I’ve mentioned before, neither adb devices nor fastboot devices shows any devices to be connected.

I have read online that there’s a python script called QFLOG.py. Is there any possibility you could throw it in here as it might lead me towards a solution.

Yes, we have AT command to upload the file, you can also upload the file to the server and then download, the following is the verification screenshot of AT command, I hope it can help you.

Please refer to the attached link document for more information

QQ%E6%88%AA%E5%9B%BE20200117142232
https://cnquectel-my.sharepoint.com/:b:/g/personal/asean-fae_quectel_com/EQupkEf32m1Os6hr6DjHeu8Bzpvw1fyRp-82rHH5ALXXeA?e=bPkD4F

1 Like

That was what I was looking for, thanks!

However, it does seem that I have an older firmware for the BG96, as I can’t query:

AT+QFLDS="EUFS"
+CME ERROR: 425

Attached is the version I tested above, I hope it can help you.

https://cnquectel-my.sharepoint.com/:u:/g/personal/asean-fae_quectel_com/EW3K8CTxblFLvMB5jsouabABMbt6jrJd3ThagF1Y1cvgbw?e=yVeHnP