Latest firmware for PinePhone modem!
#1
I'm providing an updated copy of the firmware for the PinePhone's Quectel EG25-G modem.

The flashing utility was provided to me by Quectel support, and the modem firmware from a forum link for another device that uses this modem.

As they don't have an easy download link, perhaps the only way you're going to get it is from me or megous.

NOTE: If compiling C programs, or the idea of modem firmware, or any of these concepts seem alien to you, you should NOT attempt this. This is only for the brave and the wise.

This assumes some knowledge of Linux command lines, as well as having played with the modem previously.

I am attempting to help as this significantly improved my phone's reliability, but if you follow these instructions, you do so at your own risk. I am not responsible for anything that may happen as a result of attempting this, including the destruction of your phone.

For me, this fixed call audio not working at random times, as well as losing control of an outgoing call in progress.

Here is the flashing utility, and here is the modem firmware.

Extract both archives, possibly with "tar xf" if you don't have a good GUI for that.

I pre-compiled the flashing utility for AArch64 Linux, but dynamically linked for glibc. That means it should work on Mobian, Fedora, etc, but not other, weirder systems.
If you can't run the precompiled version, there is a makefile included with the source code, so type "make" to compile it after installing gcc and make from your package manager.

!! DANGER !!: This resets some modem configuration options, and you will probably need to reset them manually before calls work correctly, if you don't use megous' new modem power manager in kernel 5.8 or later. You should update to such a kernel BEFORE proceeeding.

THIS IS A DANGEROUS ACTION THAT CAN DESTROY YOUR MODEM.

Put the extracted qfirehose_good and newfw folders in the same location.
Next, cd to the qfirehose_good folder, and run:

Code:
sudo ./QFirehose -f ../newfw

It should take about a minute or a little longer.
Afterwards, if it says upgrade succeeded, you're good.

If it fails, try a couple more times. If it says something about no such file or directory, you're probably fine, you just have the wrong path specified for newfw.

Lastly, if you're unable to use a newer kernel, here's a dump of good settings from megous' kernel driver. QDAI is the most important and probably the only one you really need to change. Try changing that one first and see if things work normally.

Code:
[   41.248670] modem-power serial1-0: QDAI is '1,1,0,1,0,0,1,1'
[   41.264677] modem-power serial1-0: QCFG 'risignaltype' is '"physical"'
[   41.288660] modem-power serial1-0: QCFG 'urc/ri/ring' is '"pulse",1,1000,5000,"off",1'
[   41.304783] modem-power serial1-0: QCFG 'urc/ri/smsincoming' is '"pulse",1,1'
[   41.324645] modem-power serial1-0: QCFG 'urc/ri/other' is '"off",1,1'
[   41.340632] modem-power serial1-0: QCFG 'urc/ri/pin' is 'uart_ri'
[   41.356644] modem-power serial1-0: QCFG 'urc/delay' is '0'
[   41.372625] modem-power serial1-0: QCFG 'sleepind/level' is '0'
[   41.388666] modem-power serial1-0: QCFG 'wakeupin/level' is '0,0' (changing to '0')
[   41.440653] modem-power serial1-0: QCFG 'ApRstLevel' is '0'
[   41.456689] modem-power serial1-0: QCFG 'ModemRstLevel' is '0'
[   41.472673] modem-power serial1-0: QCFG 'apready' is '0,0,500'
[   41.488913] modem-power serial1-0: QCFG 'airplanecontrol' is '1,0'
[   41.512699] modem-power serial1-0: QCFG 'fast/poweroff' is '1'

And, the QFirehose source code will make you cry. I'm surprised it works. Just warning you.
  Reply
#2
what is included in the update? i dont have the know how of ho to do this stuff, i have a pinetime watch coming soon and hopefully infinitime update the watch enough.
  Reply
#3
(10-13-2020, 10:02 AM)Markdanni123 Wrote: what is included in the update? i dont have the know how of ho to do this stuff, i have a pinetime watch coming soon and hopefully infinitime update the watch enough.
There is a release notes file included in newfw that tells you a lot, but this is useless for PineTime and should not be used.
  Reply
#4
Thank you! Everyone should download a copy of this for emergency at least. You're a hero! Similarly i don't recommend anyone do this if they are not comfortable, but there was that issue about our quectel modem firmware getting corrupted in instances of sudden battery removal or improper shutdown. This could well revive any phones unfortunate enough to have gone through that and might be worth posting as a possible fix in some of those threads. That aside,for a normal update without need for emergency revival, pehaps one of the OS dev teams could build this into an update so it can be done safely along with a regular update and not require the risks of doing it manually.
  Reply
#5
Thank you very much for this highly interesting piece of the PhonePuzzle.

Who else has dared to go that way and what are the results?
  Reply
#6
85 MB for compressed firmware? What the...
  Reply
#7
(10-14-2020, 12:29 PM)TimotheeLF Wrote: 85 MB for compressed firmware? What the...
Well it contains the entire armv7 linux OS for the modem, so.
  Reply
#8
(10-14-2020, 05:21 PM)Subsentient Wrote:
(10-14-2020, 12:29 PM)TimotheeLF Wrote: 85 MB for compressed firmware? What the...
Well it contains the entire armv7 linux OS for the modem, so.
To be clear, I'm not disappointing with your work, thank you a lot for working to getting it!

It's just that it feels quite unoptimized.

Also do you need megous kernel specifically, or is an up to date upstream kernel good enough?
  Reply
#9
(10-14-2020, 06:37 PM)TimotheeLF Wrote: It's just that it feels quite unoptimized.

Oh, it is, believe me. Wish Quectel had some semblance of quality control in their software division.
  Reply
#10
Great work! Flashed just now via Mobian (SD card) on my PostmarketOS CE PinePhone. Needed sudo before the command, and had to chown and chmod the directories since I extracted the files on Windows and copied them over via USB. Aside from initial permission issues due to no sudo, all went well as far as I can tell. The modem info displays properly in the settings, calls work. The Phone app does occasionally crash on me, but that's probably an issue with Mobian, or more specifically, Mobian with all the things I've installed and changed on my end. Haven't switched over to my PinePhone just yet as my daily driver, and won't until MMS is supported, so I don't have much data to compare this firmware to the previous, but I can at least confirm calling and data work. Will need to test SMS.
  Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
Rainbow Sxmo - Simple X Mobile Released for the Pinephone (new minimalistic UI & image) mil 127 33,911 4 hours ago
Last Post: hiimtye
  openSUSE for Pinephone Alefnode 44 10,554 11-28-2020, 04:16 PM
Last Post: darkdragon-001
  theoretical battery life on Pinephone hiimtye 5 377 11-25-2020, 09:27 AM
Last Post: dallytaur
  kubernetes (k3s) on the pinephone e-minguez 0 257 11-25-2020, 08:59 AM
Last Post: e-minguez
  Scaling Issues With Various Programs on Pinephone publiclewdness 3 222 11-22-2020, 07:29 PM
Last Post: publiclewdness
  Fedora + Phosh for PinePhone njha 38 15,266 11-22-2020, 02:40 PM
Last Post: torbuntu
  Quick look at 4 different PinePhone OSs Luke 9 2,763 11-22-2020, 10:10 AM
Last Post: elastic
  Latest modem firmware breaks voice calls bero 3 423 11-20-2020, 07:18 PM
Last Post: bero
  PureOS on Pinephone dukla2000 82 26,166 11-19-2020, 02:24 PM
Last Post: clover
  Slarm64 on PinePhone [Slackware ARM - 64 bit] acid andy 0 193 11-16-2020, 12:15 PM
Last Post: acid andy

Forum Jump:


Users browsing this thread: 2 Guest(s)