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
  Bluetooth low energy & ANT+ sports sensors Pinephone distro? Peter Gamma 34 21,256 5 hours ago
Last Post: thibaultmol
  Slackware on pinephone? Anthony127 1 79 12-03-2021, 07:52 AM
Last Post: ryo
  openSUSE for Pinephone Alefnode 70 47,739 12-02-2021, 10:36 AM
Last Post: ragreenburg
  Kodi on Pinephone biketool 2 165 11-29-2021, 05:12 AM
Last Post: biketool
  Flat-file database script for pinephone terminal cabbie001 0 137 11-21-2021, 06:17 PM
Last Post: cabbie001
  Jami on Pinephone [ IM and VOIP ] p1trson 7 2,330 11-07-2021, 10:13 PM
Last Post: ramona.fulton
  Beta support: MMS on chatty/mmsd on Modem Manager - help/testing wanted! kop316 194 64,192 11-05-2021, 12:38 AM
Last Post: NephreNeko
  Android and Google Play Store on a PinePhone? Solra Bizna 22 22,506 11-01-2021, 07:11 AM
Last Post: digitalmouse
Exclamation PinePhone keyboard usability: no phone ring with headphones e1337 13 1,122 10-29-2021, 08:06 AM
Last Post: e1337
  NetBSD on PinePhone/PinePhone Pro? cerno 2 397 10-24-2021, 06:58 PM
Last Post: KC9UDX

Forum Jump:


Users browsing this thread: 1 Guest(s)