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
Here also sudo was needed. All was running flawlessly. Now testing the modem

Kernel:
Linux manjaro-arm 5.7.19-5-MANJARO-ARM #1 SMP Sun Oct 4 13:15:52 CEST 2020 aarch64 GNU/Linux
  Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  openSUSE for Pinephone Alefnode 73 75,158 11-26-2022, 12:07 PM
Last Post: Eugo
Lightbulb Article: Experiments for super low PinePhone power consumption with Genode Surehand53 0 187 11-19-2022, 02:43 PM
Last Post: Surehand53
  Fedora + Phosh for PinePhone njha 73 92,062 11-18-2022, 09:12 PM
Last Post: Alho
  Article: NuttX RTOS for PinePhone: Render Graphics in Zig lupyuen 0 158 11-15-2022, 04:16 AM
Last Post: lupyuen
Sad Modem is always visible/connected but stops working after a while dante404 6 456 11-08-2022, 09:12 AM
Last Post: dante404
Tongue Android Auto on Pinephone via Waydroid: a pipe dream? slondr 1 266 11-06-2022, 01:46 PM
Last Post: wibble
  Article: Rendering PinePhone's Display (DE and TCON0) lupyuen 0 250 10-29-2022, 06:09 PM
Last Post: lupyuen
  Downsides of the open-source modem firmware? alpineduck 4 552 10-25-2022, 05:28 PM
Last Post: Zebulon Walton
  Article: NuttX RTOS for PinePhone: Display Driver in Zig lupyuen 0 284 10-17-2022, 07:02 PM
Last Post: lupyuen
Question Proprietary apps for PinePhone/PineTab Benoit 10 9,081 10-14-2022, 12:29 AM
Last Post: groomsb31

Forum Jump:


Users browsing this thread: 1 Guest(s)