Biktorgj / quectel_eg25_recovery

Stock firmware recovery packages for Quectel EG25-G
78 stars 15 forks source link

Modem won't go into EDL mode despite shorting pins #4

Closed CCF100 closed 2 years ago

CCF100 commented 3 years ago

I can't seem to get the modem to go into EDL mode, I'm not sure what the best way to short these pads are, I've tried a paperclip, but I can't seem to get it to work...

I have a PinePhone board revision 1.2b

Reasons for needing to flash: I was playing around with the usb init script from https://github.com/Biktorgj/pinephone_modem_sdk/issues/13 and now the modem doesn't expose its usb device. I know I've made a stupid mistake, I only hope I didn't manage to already brick this phone in the 2 weeks I've had it...

Biktorgj commented 3 years ago

Nah, don't worry, it's perfectly recoverable :) If you're running the custom firmware the modified bootloader brings two different recovery methods so you don't need to go into EDL mode: One setting a GPIO pin via software in reset and the other one just by rebooting the phone.

But let's go with the basics first: You modified the USB script and now it's not bringing it up. Which distro are you running? As root, try running the following command: echo -ne "AT+QFASTBOOT\r" > /dev/ttyS2 If OpenQTI is still alive despite USB being broken, it should reboot and stop at fastboot, so you can just reflash the system partition and get up and running in no time. Another command you could try, even with the broken USB is echo -ne "AT+ADBOFF\r" > /dev/ttyS2 followed by echo -ne "AT+ADBON\r" > /dev/ttyS2 and echo -ne "AT+RESETUSB\r" > /dev/ttyS2

This will trigger an ADB stop internally, followed by an overwrite of the lines you changed in the USB settings file and restart the usb subsystem. It should just probably go back up right away.

If nothing of the above works, we can trigger the bootloader to stay in fastboot by resetting the modem, even if you don't see it. Easiest approach is to get you a mobian image and run this script as root: https://github.com/Biktorgj/pinephone_modem_sdk/blob/hardknott/tools/helpers/gotofastboot

Last, if you really really need to trigger EDL download mode, try using a small wire to short the pins, and remember to have the battery inserted on the phone. The process should be, with the middle frame removed:

  1. Phone off, put the battery on
  2. Short the EDL pins
  3. While keeping them shorted, connect a USB cable to make the PinePhone turn on without using the power button so the board doesn't move
  4. Keep it shorted at least until 3-4 seconds have passed since you heard the camera clicking

The modem doesn't turn on until it's probed by the kernel, and that's a couple of seconds from poweron, so it's best to just keep it shorted until you can be sure it had enough time to go through actual reset

Let me know if any of the options worked ;)

EDIT: By the way, last release includes an AT command just to turn on and off USB audio on runtime, so you don't need to manually edit config files