Biktorgj / quectel_eg25_recovery

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

README flashing instructions could use some clarifications #21

Open ell1e opened 1 year ago

ell1e commented 1 year ago

The README flashing instructions could use some clarifications. Here are some points that I find considerably confusing and misleading:

Make sure you have fastboot installed in your host system

What is "your host system"? This doesn't sound like it refers to the OS on the PinePhone itself, but if it doesn't, I suggest this section really should include 1. a USB cable (which I assume is required if this is flashing from a PC to a phone), 2. how to reboot the phone or whatnot in a way that enables flashing (which I assume would also be required?). Similarly, the EDL/qfirehose section just casually mentions ADB which is not a tool that exists on many PinePhone distros and I remember not using for Quectel firmware flashes. I suggest the README should absolutely not just assume I use an external PC when it's 1. not actually needed (is it really?) and 2. it doesn't at all suggest that and how I should use such an external PC in the process (vaguely mentioning "adb" isn't really specific or meaningful to a newbie, neither is it to an expert who switches over to a distro like postmarketOS that isn't really made to interface with adb). It just seems all around a little confusing right now and seems too vague on the exact steps to flash.

Also more generally, the README seems to sadly have no info on the special case of the modem still being on some variant of the original Quectel blob. Does that change anything? Do both methods of flashing still work then? What would be a precaution to be able to return to the Quectel blob if things go wrong? oops, didnt realize at first this was the quectel blobs repo and not the OSS firmware repo, so this doesn't apply

My bad if I'm just reading the README wrong, but in overall it leaves me with too many questions to just dare to flash right now.

ell1e commented 1 year ago

For what it's worth, I just noticed the instructions here also seem to suggest adb isn't needed: https://wiki.pine64.org/wiki/PinePhone#Firmware_update the whole EDL reboot part is just not mentioned. Is that incorrect then?

Biktorgj commented 1 year ago

Hi @ell1e, The host system would be your Pinephone/Pro if that's where the modem is installed, but it could be your laptop or dekstop computer, or a router, if you're using a Quectel EG25-G MiniPCIE or USB modem.

The EG25-G comes in different form factors, and while the PinePhone is the "primary" usecase of this repo, there's people using the same modem in different scenarios (that I know of, at least in laptops and routers).

Since I also have no clue on what's the current modem state, there are different options provided:

  1. (preferred) Using fastboot, if the modem works and you just want it to flash the stock firmware
  2. Using ADB + EDL, if you come from an ancient version of the stock firmware (which had some bugs)
  3. Using EDL test points, if everything went to hell and your modem doesn't work anymore (let's call it a disaster recovery mode).

If the modem is working normally, you can flash any firmware version with just flashstock script (which uses fastboot to do the actual flashing), as everything is working well enough. If you bought an EG25-G from some obscure retailer that comes with a really really old version of the firmware, you might have to use options 2 or 3, and if your phone shutdown in the middle of flashing and the modem doesn't give any signs of life at all you might need to use option 3 directly.

That said, I agree that some instructions may get messy to someone who hasn't done this before (worse if you've never flashed your modem and it doesn't work and you just want to fix it), so I'll try to organize the readme so it makes more sense

MoonlightWave-12 commented 11 months ago

@Biktorgj I saw that there is a branch with a new firmware and an updated "README.md" from 7 months ago. Did you forget to set it as the default-branch?