0.5.9: Incremental fixes
CHANGELOG
0.5.9: Click to show / hide
0.5.9
- Kernel:
- USB (Remote wakeup): Getting '1' at pm_runtime_get_sync isn't an error, so don't let functionFS drivers think something went wrong when we get it.
- RT5616 Codec: Ensure the registers are synced before we use it (PPP fix voicecall on resume)
- Small cleanup of some unused Quectel functions in the audio driver
- Stop complaining about calibration data missing in the AFE driver (we don't use them)
- System:
- Send a pulse ring_in when generating a call
- Allow for more than 999 seconds of wait time
- Send a call disconnect request when it's been more than 60 seconds and the user didn't pick up
0.5.8
- Outgoing & Incoming call support for the modem
- Set the correct time zone in the message PDU, so users who don't live in GMT+1 have correct timestamps
- oFono: Fix receiving internal SMS (outgoing and calls still not working)
- Added new commands for the chat:
- Poweroff (off) and reboot (reboot) the modem from the chat
- Get GSM signal status (gsm signal)
- Call support: "call me" to make the modem call you immediately, "call me in X" to make it call you after X seconds
- Set modem name and username: You can give the modem a name now, and you can tell it yours
- "get reconnects": Get number of ModemManager dirty reconnects (when a USB reset happens or modemmanager is killed)
- Send "help" to get the full list of commands
0.5.7
- Internal test release for matrix room users and LVFS
0.5.6
- Internal test release for matrix room users and LVFS
0.5.5:
- Update Yocto to 3.4.1
- Fixed a bug that would make openqti use 95% of the available CPU doing nothing
- Better handling of outgoing SMS, now it doesn't block the usb interface while sending them to the phone
- SMS queue: Allow pushing up to 100 messages at one, so you can request things like getting logs and it will split the contents across different messages
- More fixes on handling messages sent from the Pinephone to the modem. There's probably some case still where the contents are not correctly decoded (please open an issue if you still get a "command not found" when sending something
- More detailed help command
- Allow to 'get log' and 'get dmesg' to get Openqti's log or kernel log via SMS
0.5.4: [Test release unpublished]
0.5.3:
- Allow OpenQTI to write to USB even while suspend when a QMI message from the Voice or Messaging service is waiting
- When an incoming SMS notification arrived via QMI and USB was suspended, send a ring in pulse to wake the Pinephone up, wait a second, and resend the notification (this should get rid of the issue where sometimes SMS aren't received until reboot -testing!-)
0.5.2:
- Fixed a bug where the modem would end up in recovery mode if GPS was left on and the phone suspended
- Rebuilt rmnet proxy function to be able to discard, pass trhough, or skip certain types of QMI messages
- Added a function to trigger a new message notification in case it got stuck by ModemManager
- OpenQTI now can intercept and send SMS messages to the Pinephone!
- The firmware will listen and intercept messages going to the phone number +1 555 0199 999
- To start the chat for the first time, you can send the "AT+SIMUSMS" AT command and it'll reply through your chat app with a "Hello world"
- After that, simply send a message with the command you want to run and it'll reply. You can send "help" to get the list of available commands.
- The current command list is very limited right now, more functions will be implemented as needed or requested by you! Commands in this release are:
name
: Dummy, returns the modem nameuptime
: System uptimeload
: Current load averageversion
: Current firmware versionmemory
: Free / Used / Shared memory and running processesnet stats
: Get packet statistics for the RMNET interface (where ModemManager/oFono communicate with the modem)gps stats
: Get packet statistics for the GPS function (both usb port and QMI calls)caffeinate
: Block USB from entering suspenddecaff
: Allow USB to suspendenable adb
: Turn on ADB and reset the USB portdisable adb
: Turn off ADB and reset the USB porthelp
: Show the command list
- The current command list is very limited right now, more functions will be implemented as needed or requested by you! Commands in this release are:
NOTE: This function will only work with an active SIM installed, and unlocked
Compatibility:
- Pinephone
- Pinephone Pro
- Quectel EG25 based MiniPCIe cards (make sure you enable USB audio if you want to make a call)
Known issues
- SMS Timestamps will be wrong if the modem can't manage to sync the date from the carrier. If this happens all messages will have a date of 2022-01-01 (+- timezone offset)
- You tell me!
NOTES:
- When using a Pinephone Pro, make sure you enable USB persist:
- In
/usr/lib/udev/rules.d/80-modem-eg25.rules
- ACTION=="add", SUBSYSTEM=="usb", DRIVERS=="usb", ENV{DEVTYPE}=="usb_device", ATTRS{idVendor}=="2c7c", ATTRS{idProduct}=="0125", ATTR{power/persist}="1"
- In
SHA512 Sum of the package file
0a91fd4167704cf2a622705aa0413a5ae5913430620a0679b32874490bdcf23631adabbae6d9911df2ce45c254ff9f6860877bc69097bfad9b0fc76649420ad5 target/package.tar.gz
Inside the compressed tar file there's a file containing the SHA sums for the files in it.
Installation instructions:
- Get required tools: you need adb and fastboot
- Grab a copy of the firmware, and, optionally, a recovery firmware (https://github.com/Biktorgj/quectel_eg25_recovery)
- Run the
flashall
script bundled in the package as root. If something fails, flash manually - After you flashed everything, the modem should come back automatically after 14-18 seconds
WARNING: Make sure you have a recent enough baseband version before installing the firmware, or some things won't work as expected. You can check your current ADSP firmware by sending the command AT+QGMR
when running stock. Below you can find the latest ADSP firmware blobs we have found (all of them will work):
ADSP Firmware:
Depending on your carrier, some firmware versions will work better than others. You can check your current ADSP firmware version by sending the "AT+QGMR" AT command. If in doubt, version 01.002.01.002 is the default if you used the recovery repo. I've been using version 003 for months without issues (and improvements in data handling) but some users have reported problems making VoLTE calls with it, so pick whatever works best for you (or don't change it at all if it worked fine before)
Flashing it:
- Open a root terminal and run:
echo -ne "AT+QFASTBOOT\r" > /dev/ttyUSB2
to enter fastboot mode - Run
fastboot flash modem NON-HLOS.ubi && fastboot reboot
Something went wrong?
Feel free to check the troubleshooting section. If you don't manage to fix it, feel free to open an issue and I'll do my best to help you out
This release is a flashable package based on the following repos:
- Unlocked Bootloader (LK): https://github.com/Biktorgj/quectel_lk/releases
- Linux 3.18.140 Kernel: https://github.com/Biktorgj/quectel_eg25_kernel
- Forked meta-qcom layer: https://github.com/Biktorgj/meta-qcom/
- Yocto 3.4 based rootfs and recovery (https://www.yoctoproject.org/)
Have fun!