I’m using Quectel EG810M-EU module with Linux Ubuntu 24.04 and I made experimental USB driver for it. I have that module on my custom made PCB. Now I see three serial ports and one Ethernet port visible. I can succesfully communicate with AT commands thru /dev/ttyUSB1 and /dev/ttyUSB2 but serial port /dev/ttyUSB0 is not answering anything because it is for diagnose/upgrade and I don’t know the commands. Apparently it needs QFlash (Windows) or QFirehose (Linux) application but using QFirehose is not possible because I could not find suitable firmware file for it to upload.
Firmware what is downloadable from Quectel site contains *.bin files which are precompiled when QFirehose expects *.mbn file format.
QFlash does not work on Linux with Wine. That was tested by others on the forum. Result of dmesg usb part after my device driver initialization and connecting EG810M-EU:
[104879.608117] usb 1-3: GSM modem (1-port) converter now attached to ttyUSB0
[104879.608945] usb 1-3: GSM modem (1-port) converter now attached to ttyUSB1
[104879.609794] usb 1-3: GSM modem (1-port) converter now attached to ttyUSB2
[104879.702679] cdc_ether 1-3:1.0 usb0: register ‘cdc_ether’ at usb-0000:05:00.3-3, CDC Ethernet Device, ae:0c:29:a3:9b:6d
[104879.702768] usbcore: registered new interface driver cdc_ether
[104879.731178] cdc_ether 1-3:1.0 enxae0c29a39b6d: renamed from usb0
My intention is to program device with QuecPython, but there’s no REPL port. And where is module file system available? If I need to upload new firmware containing QuecPython interface, how to do that via USB?
[104879.353938] usb 1-3: new high-speed USB device number 54 using xhci_hcd
[104879.484000] usb 1-3: New USB device found, idVendor=2c7c, idProduct=6002, bcdDevice= 3.18
[104879.484015] usb 1-3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[104879.484019] usb 1-3: Product: Android
[104879.484022] usb 1-3: Manufacturer: Android
[104879.484026] usb 1-3: SerialNumber: 0000
Apparently there is Android operating system inside a module but ADB is not working because there is no any open ports on it’s IP address. I performed a port scan for all ports.
If I connect USB_BOOT pin to ground via 4k7 ohm resistor before plugging power supply to device and module I got following lines to dmesg:
[148898.372435] usb 1-3: new high-speed USB device number 83 using xhci_hcd
[148898.517053] usb 1-3: New USB device found, idVendor=2ecc, idProduct=3004, bcdDevice= 0.00
[148898.517073] usb 1-3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[148898.517081] usb 1-3: Product: Arom Usb Boot Port
[148898.517089] usb 1-3: Manufacturer: ASR Microelectronics
[148898.517096] usb 1-3: SerialNumber: arom0123456789
But I honestly don’t know how to use that information to anything. Could you help or lead me to right direction how to get QuecPython interface working. Thanks.