Skip to content

Releases: the-modem-distro/pinephone_modem_sdk

0.6.5: Bugfixes and improvements

15 May 08:56
1509d7b
Compare
Choose a tag to compare

CHANGELOG

0.6.5

IMPORTANT: Moved the internal phone number to +22 33 44 55 66 77

Make sure to remove the old chat and send AT+SIMUSMS once to get a new chat window

Big, enormous thank you to all the people who participate in the development of this firmware, be it by contributing with code, documentation, donations or testing and reporting issues, this firmware gets better on each release thanks to your help and feedback!

New:

  • LK2nd bootloader! BIG THANK YOU to minecrell for all the help in making this work. Currently we're using a fork to add some specific patches, but hopefully we'll be able get upstream soon! (tm)
  • Support for enabling/disabling cell broadcast from the chat
  • Automatic masking of the phone number in the logs unless you explicitly set it to debug mode
  • Moved lots of informational messages in the log to debug mode only

Fixes:

  • PPP audio doesn't work when doing a warm boot (there was a regression in the kernel in previous version)
  • Fix for SMS interface hogging the usb descriptor, making modemmanager loose packets sometimes
  • AT interface blocking while in use by Openqti
  • Ghost SMS from the internal chat is no longer receive when the modem receives an MMS

Other:

0.6.4: Click to show / hide 0.6.4 #### New functions: - Wipe all SMS storage (AT+WIPESMS) - Persistent storage support - Use a configuration file for most of openqti's functions - SMS Logging - Reminders and wake up alarms (make the modem call you to wake you up or remind you of something)

Fixes:

  • Faster audio set up time (no more cutting the first 2 seconds of a call)
  • Fix one, two or -2,147,483,648 buffer overflows
  • Better time sync handling
  • (Testing) More delay between ring in pulse and actual call start attempt

Other:

  • Update Yocto to 3.4.4

0.6.3

Fixes on bugs found while debugging issue #81:

  • Bugfix: Proxy wrongfully uses uint8_t for file descriptors in some functions
  • Bugfix: Internal call handling: Make sure we reset the call state after automatically disconnecting the call (fixes only-one-call if we let the call die)
  • Bugfix: Remove buggy response to ALL_CALL_INFO packet type (created a buffer underrun in openqti leading up to a modem forced reboot, introduced in 0.6.2)
  • Bugfix: When disconnecting a call, also send up a hang-up signal (oFono doesn't like not getting that)
  • More descriptive message when a simulated call is getting no commands
  • Remove hacky code to handle automatic call disconnect on no answer from the user, let the proxy handle it instead of spawning another thread and risk writing from two places at the same time to the USB port. Timing won't be as exact when hanging up but it's not really an issue

This release may still have some issues, if you run into a problem downgrade to 0.6.1
0.6.2

  • Fix transaction_id types when moving them around in internal calls and SMS (fixes oFono support for messages, calls is still a WIP)
  • Calculate signal strength from the reported "bars" indication
  • Use AT+CIND to check if we're roaming, signal quality or if we're on a call
  • Stop spamming the host with a bogus established call notification while we're in a simulated call
  • Initial support for gsm network data reporting and change notification
  • Make sure we re-set ALSA controls for I2S and sampling rate each time we're setting up audio
  • Only request AT+CIND when tracking is enabled (for testing, in package-alt.tar.gz)

0.6.1

  • Unify the phone number used in calls and sms with the modem. Remember you can trigger the first SMS with the command AT+SIMUSMS, and a call trigger sending "call me" in that chat
  • The correct phone number now will be +01 555 0199 999 for both calls and messages
  • TTS Support: Send a message to the modem while in a call and it will reply with voice instead of text
  • Stop using misc partition to set bootloader flags
  • Cell Broadcasting Support: ModemManager doesn't have Cell Broadcasting support, but now this firmware can forward CB messages as normal SMS, so you can receive emergency alerts. You can enable all Cell broadcasting messages with AT+CSCB=0,"0-6000"
    Power key monitoring: reduces shutdown time in some distros from >30 seconds to ~3. It also allows you to restart the modem by restarting eg25-manager
  • BUGFIX: Make sure we destroy all TTS memory allocation after use (pointers weren't correctly freed in 0.6.0)
  • Try to sync time from network first, and if it fails, try to use whatever CCLK has (so you can set time and date via a script from the PinePhone if your carrier sends an invalid date)
  • Reenable debug serial port (for those using Quectel EG25 in a EVB)
  • Remove Quectel's modifications to the audio driver. This seems to fix different issues, most notably, fixes an issue in the PPP where static noise would be heard in approximately 1/4 calls. As a result of this change, runtime switching of PCM sampling rate is not possible anymore, and the modem will use 8KHz sampling rate for the PinePhone and 16KHz for the PinePhone Pro

0.6.0

  • Internal test release

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 name
        • uptime: System uptime
        • load: Current load average
        • version: Current firmware version
        • memory: Free / Used / Shared memory and running processes
        • net 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 suspend
        • decaff: Allow USB to suspend
        • enable adb: Turn on ADB and reset the USB port
        • disable adb: Turn off ADB and reset the USB port
        • help: Show the command list

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...
Read more

0.6.4 - Wake me up, modem!

04 May 06:04
Compare
Choose a tag to compare

CHANGELOG

0.6.4

New functions:

  • Wipe all SMS storage (AT+WIPESMS)
  • Persistent storage support
  • Use a configuration file for most of openqti's functions
  • SMS Logging
  • Reminders and wake up alarms (make the modem call you to wake you up or remind you of something)

Fixes:

  • Faster audio set up time (no more cutting the first 2 seconds of a call)
  • Fix one, two or -2,147,483,648 buffer overflows
  • Better time sync handling
  • (Testing) More delay between ring in pulse and actual call start attempt

Other:

  • Update Yocto to 3.4.4
0.6.3: Click to show / hide 0.6.3

Fixes on bugs found while debugging issue #81:

  • Bugfix: Proxy wrongfully uses uint8_t for file descriptors in some functions
  • Bugfix: Internal call handling: Make sure we reset the call state after automatically disconnecting the call (fixes only-one-call if we let the call die)
  • Bugfix: Remove buggy response to ALL_CALL_INFO packet type (created a buffer underrun in openqti leading up to a modem forced reboot, introduced in 0.6.2)
  • Bugfix: When disconnecting a call, also send up a hang-up signal (oFono doesn't like not getting that)
  • More descriptive message when a simulated call is getting no commands
  • Remove hacky code to handle automatic call disconnect on no answer from the user, let the proxy handle it instead of spawning another thread and risk writing from two places at the same time to the USB port. Timing won't be as exact when hanging up but it's not really an issue

This release may still have some issues, if you run into a problem downgrade to 0.6.1
0.6.2

  • Fix transaction_id types when moving them around in internal calls and SMS (fixes oFono support for messages, calls is still a WIP)
  • Calculate signal strength from the reported "bars" indication
  • Use AT+CIND to check if we're roaming, signal quality or if we're on a call
  • Stop spamming the host with a bogus established call notification while we're in a simulated call
  • Initial support for gsm network data reporting and change notification
  • Make sure we re-set ALSA controls for I2S and sampling rate each time we're setting up audio
  • Only request AT+CIND when tracking is enabled (for testing, in package-alt.tar.gz)

0.6.1

  • Unify the phone number used in calls and sms with the modem. Remember you can trigger the first SMS with the command AT+SIMUSMS, and a call trigger sending "call me" in that chat
  • The correct phone number now will be +01 555 0199 999 for both calls and messages
  • TTS Support: Send a message to the modem while in a call and it will reply with voice instead of text
  • Stop using misc partition to set bootloader flags
  • Cell Broadcasting Support: ModemManager doesn't have Cell Broadcasting support, but now this firmware can forward CB messages as normal SMS, so you can receive emergency alerts. You can enable all Cell broadcasting messages with AT+CSCB=0,"0-6000"
    Power key monitoring: reduces shutdown time in some distros from >30 seconds to ~3. It also allows you to restart the modem by restarting eg25-manager
  • BUGFIX: Make sure we destroy all TTS memory allocation after use (pointers weren't correctly freed in 0.6.0)
  • Try to sync time from network first, and if it fails, try to use whatever CCLK has (so you can set time and date via a script from the PinePhone if your carrier sends an invalid date)
  • Reenable debug serial port (for those using Quectel EG25 in a EVB)
  • Remove Quectel's modifications to the audio driver. This seems to fix different issues, most notably, fixes an issue in the PPP where static noise would be heard in approximately 1/4 calls. As a result of this change, runtime switching of PCM sampling rate is not possible anymore, and the modem will use 8KHz sampling rate for the PinePhone and 16KHz for the PinePhone Pro

0.6.0

  • Internal test release

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 name
        • uptime: System uptime
        • load: Current load average
        • version: Current firmware version
        • memory: Free / Used / Shared memory and running processes
        • net 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 suspend
        • decaff: Allow USB to suspend
        • enable adb: Turn on ADB and reset the USB port
        • disable adb: Turn off ADB and reset the USB port
        • help: Show the command list

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:

SHA512 Sum of the package file

455916e6519424c93b11ecde2bdbaf572bdd7986a5452ca8fd0ad70e208fb388692228eeec6cb257d0420c37fe3999bbfd11b38568f0e821aeb95b26904cf538 package.tar.gz

Inside the compressed tar file there's a file containing the SHA sums for the files in it.

Installation instructions:

  1. Get required tools: you need adb and fastboot
  2. 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.
If you want to go back to stock, check the recovery repo

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, or AT+GETADSPVER when using this firmware. Below you can find the latest ADSP firmware blobs we have found (all of them will work):

ADSP Firm...

Read more

0.6.3 Fixes, fixes, more fixes

10 Apr 06:53
Compare
Choose a tag to compare
Pre-release

CHANGELOG

0.6.3

Fixes on bugs found while debugging issue #81:

  • Bugfix: Proxy wrongfully uses uint8_t for file descriptors in some functions
  • Bugfix: Internal call handling: Make sure we reset the call state after automatically disconnecting the call (fixes only-one-call if we let the call die)
  • Bugfix: Remove buggy response to ALL_CALL_INFO packet type (created a buffer underrun in openqti leading up to a modem forced reboot, introduced in 0.6.2)
  • Bugfix: When disconnecting a call, also send up a hang-up signal (oFono doesn't like not getting that)
  • More descriptive message when a simulated call is getting no commands
  • Remove hacky code to handle automatic call disconnect on no answer from the user, let the proxy handle it instead of spawning another thread and risk writing from two places at the same time to the USB port. Timing won't be as exact when hanging up but it's not really an issue

This release may still have some issues, if you run into a problem downgrade to 0.6.1

0.6.2: Click to show / hide 0.6.2
  • Fix transaction_id types when moving them around in internal calls and SMS (fixes oFono support for messages, calls is still a WIP)
  • Calculate signal strength from the reported "bars" indication
  • Use AT+CIND to check if we're roaming, signal quality or if we're on a call
  • Stop spamming the host with a bogus established call notification while we're in a simulated call
  • Initial support for gsm network data reporting and change notification
  • Make sure we re-set ALSA controls for I2S and sampling rate each time we're setting up audio
  • Only request AT+CIND when tracking is enabled (for testing, in package-alt.tar.gz)

0.6.1

  • Unify the phone number used in calls and sms with the modem. Remember you can trigger the first SMS with the command AT+SIMUSMS, and a call trigger sending "call me" in that chat
  • The correct phone number now will be +01 555 0199 999 for both calls and messages
  • TTS Support: Send a message to the modem while in a call and it will reply with voice instead of text
  • Stop using misc partition to set bootloader flags
  • Cell Broadcasting Support: ModemManager doesn't have Cell Broadcasting support, but now this firmware can forward CB messages as normal SMS, so you can receive emergency alerts. You can enable all Cell broadcasting messages with AT+CSCB=0,"0-6000"
    Power key monitoring: reduces shutdown time in some distros from >30 seconds to ~3. It also allows you to restart the modem by restarting eg25-manager
  • BUGFIX: Make sure we destroy all TTS memory allocation after use (pointers weren't correctly freed in 0.6.0)
  • Try to sync time from network first, and if it fails, try to use whatever CCLK has (so you can set time and date via a script from the PinePhone if your carrier sends an invalid date)
  • Reenable debug serial port (for those using Quectel EG25 in a EVB)
  • Remove Quectel's modifications to the audio driver. This seems to fix different issues, most notably, fixes an issue in the PPP where static noise would be heard in approximately 1/4 calls. As a result of this change, runtime switching of PCM sampling rate is not possible anymore, and the modem will use 8KHz sampling rate for the PinePhone and 16KHz for the PinePhone Pro

0.6.0

  • Internal test release

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 name
        • uptime: System uptime
        • load: Current load average
        • version: Current firmware version
        • memory: Free / Used / Shared memory and running processes
        • net 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 suspend
        • decaff: Allow USB to suspend
        • enable adb: Turn on ADB and reset the USB port
        • disable adb: Turn off ADB and reset the USB port
        • help: Show the command list

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:

SHA512 Sum of the package file

cf394e2c1926f9adcd5e70f216d52ab59ea146cce2c0784c45362d74b5d1fe1c030e1cb8f81c1b0dea5f406bfed3baebc19a00e6093e909f31dcec416f9469a7 package.tar.gz

Inside the compressed tar file there's a file containing the SHA sums for the files in it.

Installation instructions:

  1. Get required tools: you need adb and fastboot
  2. 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.
If you want to go back to stock, check the recovery repo

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, or AT+GETADSPVER when using this firmware. 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)

...

Read more

0.6.2: Test release with oFono support

08 Apr 05:43
Compare
Choose a tag to compare
Pre-release

CHANGELOG

0.6.2

  • Fix transaction_id types when moving them around in internal calls and SMS (fixes oFono support for messages, calls is still a WIP)
  • Calculate signal strength from the reported "bars" indication
  • Use AT+CIND to check if we're roaming, signal quality or if we're on a call
  • Stop spamming the host with a bogus established call notification while we're in a simulated call
  • Initial support for gsm network data reporting and change notification
  • Make sure we re-set ALSA controls for I2S and sampling rate each time we're setting up audio
  • Only request AT+CIND when tracking is enabled (for testing, in package-alt.tar.gz)

Not intended for everyday use, if you run into issues please downgrade

0.6.1: Click to show / hide 0.6.1
  • Unify the phone number used in calls and sms with the modem. Remember you can trigger the first SMS with the command AT+SIMUSMS, and a call trigger sending "call me" in that chat
  • The correct phone number now will be +01 555 0199 999 for both calls and messages
  • TTS Support: Send a message to the modem while in a call and it will reply with voice instead of text
  • Stop using misc partition to set bootloader flags
  • Cell Broadcasting Support: ModemManager doesn't have Cell Broadcasting support, but now this firmware can forward CB messages as normal SMS, so you can receive emergency alerts. You can enable all Cell broadcasting messages with AT+CSCB=0,"0-6000"
    Power key monitoring: reduces shutdown time in some distros from >30 seconds to ~3. It also allows you to restart the modem by restarting eg25-manager
  • BUGFIX: Make sure we destroy all TTS memory allocation after use (pointers weren't correctly freed in 0.6.0)
  • Try to sync time from network first, and if it fails, try to use whatever CCLK has (so you can set time and date via a script from the PinePhone if your carrier sends an invalid date)
  • Reenable debug serial port (for those using Quectel EG25 in a EVB)
  • Remove Quectel's modifications to the audio driver. This seems to fix different issues, most notably, fixes an issue in the PPP where static noise would be heard in approximately 1/4 calls. As a result of this change, runtime switching of PCM sampling rate is not possible anymore, and the modem will use 8KHz sampling rate for the PinePhone and 16KHz for the PinePhone Pro

0.6.0

  • Internal test release

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 name
        • uptime: System uptime
        • load: Current load average
        • version: Current firmware version
        • memory: Free / Used / Shared memory and running processes
        • net 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 suspend
        • decaff: Allow USB to suspend
        • enable adb: Turn on ADB and reset the USB port
        • disable adb: Turn off ADB and reset the USB port
        • help: Show the command list

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:

SHA512 Sum of the package file

48bcacfeb3236760e7954a4d603c2ced9b1aa3b47560bce317d708390016fad963cb00e9515bb2064874e6598f6758d359109944eb1822ee272582c6f424a0e1 package-alt.tar.gz

Inside the compressed tar file there's a file containing the SHA sums for the files in it.

Installation instructions:

  1. Get required tools: you need adb and fastboot
  2. 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.
If you want to go back to stock, check the recovery repo

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, or AT+GETADSPVER when using this firmware. 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:

  1. Open a root terminal and run: echo -ne "AT+QFASTBOOT\r" > /dev/ttyUSB2 to enter fastboot mode
  2. 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 p...

Read more

0.6.1: Text to speech!

22 Mar 14:21
Compare
Choose a tag to compare

CHANGELOG

0.6.1

  • Unify the phone number used in calls and sms with the modem. Remember you can trigger the first SMS with the command AT+SIMUSMS, and a call trigger sending "call me" in that chat
  • The correct phone number now will be +01 555 0199 999 for both calls and messages
  • TTS Support: Send a message to the modem while in a call and it will reply with voice instead of text
  • Stop using misc partition to set bootloader flags
  • Cell Broadcasting Support: ModemManager doesn't have Cell Broadcasting support, but now this firmware can forward CB messages as normal SMS, so you can receive emergency alerts. You can enable all Cell broadcasting messages with AT+CSCB=0,"0-6000"
    Power key monitoring: reduces shutdown time in some distros from >30 seconds to ~3. It also allows you to restart the modem by restarting eg25-manager
  • BUGFIX: Make sure we destroy all TTS memory allocation after use (pointers weren't correctly freed in 0.6.0)
  • Try to sync time from network first, and if it fails, try to use whatever CCLK has (so you can set time and date via a script from the PinePhone if your carrier sends an invalid date)
  • Reenable debug serial port (for those using Quectel EG25 in a EVB)
  • Remove Quectel's modifications to the audio driver. This seems to fix different issues, most notably, fixes an issue in the PPP where static noise would be heard in approximately 1/4 calls. As a result of this change, runtime switching of PCM sampling rate is not possible anymore, and the modem will use 8KHz sampling rate for the PinePhone and 16KHz for the PinePhone Pro
0.6.0: Click to show / hide 0.6.0 - Internal test release 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 name
        • uptime: System uptime
        • load: Current load average
        • version: Current firmware version
        • memory: Free / Used / Shared memory and running processes
        • net 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 suspend
        • decaff: Allow USB to suspend
        • enable adb: Turn on ADB and reset the USB port
        • disable adb: Turn off ADB and reset the USB port
        • help: Show the command list

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:

SHA512 Sum of the package file

996ded7822c831443798a659153f6fcfef4264beb18195aa577fa4d32c035fc4f6968d74c70e3151dee8442ef5e328dd182d48bfa093eaab7d621607f232f1c6 package.tar.gz

Inside the compressed tar file there's a file containing the SHA sums for the files in it.

Installation instructions:

  1. Get required tools: you need adb and fastboot
  2. 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.
If you want to go back to stock, check the recovery repo

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, or AT+GETADSPVER when using this firmware. 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:

  1. Open a root terminal and run: echo -ne "AT+QFASTBOOT\r" > /dev/ttyUSB2 to enter fastboot mode
  2. 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:

Have fun!

0.5.9: Incremental fixes

17 Feb 10:23
a93fb96
Compare
Choose a tag to compare

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 name
        • uptime: System uptime
        • load: Current load average
        • version: Current firmware version
        • memory: Free / Used / Shared memory and running processes
        • net 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 suspend
        • decaff: Allow USB to suspend
        • enable adb: Turn on ADB and reset the USB port
        • disable adb: Turn off ADB and reset the USB port
        • help: Show the command list

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"

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:

  1. Get required tools: you need adb and fastboot
  2. Grab a copy of the firmware, and, optionally, a recovery firmware (https://github.com/Biktorgj/quectel_eg25_recovery)
  3. Run the flashall script bundled in the package as root. If something fails, flash manually
  4. 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:

  1. Open a root terminal and run: echo -ne "AT+QFASTBOOT\r" > /dev/ttyUSB2 to enter fastboot mode
  2. 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:

Have fun!

0.5.8: Can you hear me?

15 Feb 15:21
Compare
Choose a tag to compare

CHANGELOG

0.5.8: Click to show / hide

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 name
        • uptime: System uptime
        • load: Current load average
        • version: Current firmware version
        • memory: Free / Used / Shared memory and running processes
        • net 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 suspend
        • decaff: Allow USB to suspend
        • enable adb: Turn on ADB and reset the USB port
        • disable adb: Turn off ADB and reset the USB port
        • help: Show the command list

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"

SHA512 Sum of the package file

dc126806808842341a1b726abe3de19e8c7ed6d6684366533d0be6e74b50eef0aead38a7c3ae3bfb7a7963990a8467c63d1b420ebdb4c27b0a67f5574296928e target/package.tar.gz

Inside the compressed tar file there's a file containing the SHA sums for the files in it.

Installation instructions:

  1. Get required tools: you need adb and fastboot
  2. Grab a copy of the firmware, and, optionally, a recovery firmware (https://github.com/Biktorgj/quectel_eg25_recovery)
  3. Run the flashall script bundled in the package as root. If something fails, flash manually
  4. After you flashed everything, the modem should come back automatically after 14-18 seconds

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:

  1. Open a root terminal and run: echo -ne "AT+QFASTBOOT\r" > /dev/ttyUSB2 to enter fastboot mode
  2. 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:

Have fun!

0.5.5 - System updates and fixes

27 Jan 06:56
Compare
Choose a tag to compare

CHANGELOG

0.5.5: Click to show / hide

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 name
        • uptime: System uptime
        • load: Current load average
        • version: Current firmware version
        • memory: Free / Used / Shared memory and running processes
        • net 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 suspend
        • decaff: Allow USB to suspend
        • enable adb: Turn on ADB and reset the USB port
        • disable adb: Turn off ADB and reset the USB port
        • help: Show the command list

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"

SHA512 Sum of the package file

25d79c105fad27b26e4bb8360b04792793a08d6b0955968a351c19413fdc0619f2d3423735debd85ffa986f07374d0b89a59ec312819c20c4c39b294c8e84288 target/package.tar.gz

Inside the compressed tar file there's a file containing the SHA sums for the files in it.

Installation instructions:

  1. Get required tools: you need adb and fastboot
  2. Grab a copy of the firmware, and, optionally, a recovery firmware (https://github.com/Biktorgj/quectel_eg25_recovery)
  3. Run the flashall script bundled in the package as root. If something fails, flash manually
  4. After you flashed everything, the modem should come back automatically after 14-18 seconds

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:

  1. Open a root terminal and run: echo -ne "AT+QFASTBOOT\r" > /dev/ttyUSB2 to enter fastboot mode
  2. 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:

Have fun!

0.5.3 - Get those pending messages through

14 Jan 17:51
5313b96
Compare
Choose a tag to compare

CHANGELOG

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 name
        • uptime: System uptime
        • load: Current load average
        • version: Current firmware version
        • memory: Free / Used / Shared memory and running processes
        • net 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 suspend
        • decaff: Allow USB to suspend
        • enable adb: Turn on ADB and reset the USB port
        • disable adb: Turn off ADB and reset the USB port
        • help: Show the command list

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 are wrong (WIP!)
  • 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"

SHA512 Sum of the package file

bfabb1bbb432c2101517755de6f6fb4f38d6074a034be37d9777138d9fce05bed5ceb6cf02f60b92bcf2b4b96aacdd37f8ff2b371c5057e9cc0c59e2ce5426a8 target/package.tar.gz

Inside the compressed tar file there's a file containing the SHA sums for the files in it.

Installation instructions:

  1. Get required tools: you need adb and fastboot
  2. Grab a copy of the firmware, and, optionally, a recovery firmware (https://github.com/Biktorgj/quectel_eg25_recovery)
  3. Run the flashall script bundled in the package as root. If something fails, flash manually
  4. After you flashed everything, the modem should come back automatically after 14-18 seconds

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:

  1. Open a root terminal and run: echo -ne "AT+QFASTBOOT\r" > /dev/ttyUSB2 to enter fastboot mode
  2. 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:

Have fun!

0.5.2 - Chat with me!

14 Jan 11:26
5313b96
Compare
Choose a tag to compare
0.5.2 - Chat with me! Pre-release
Pre-release

CHANGELOG

  • 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 name
        • uptime: System uptime
        • load: Current load average
        • version: Current firmware version
        • memory: Free / Used / Shared memory and running processes
        • net 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 suspend
        • decaff: Allow USB to suspend
        • enable adb: Turn on ADB and reset the USB port
        • disable adb: Turn off ADB and reset the USB port
        • help: Show the command list

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 are wrong (WIP!)
  • 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"

SHA512 Sum of the package file

ad59ea068fc6b3183ef39b3f453d523903f3877766a27802eff4d4e4d18fce5ab525203c3379adf9466d873baed5b2789a7f2340d0d4f8210e1f14ce99303a10 target/package.tar.gz

Inside the compressed tar file there's a file containing the SHA sums for the files in it.

Installation instructions:

  1. Get required tools: you need adb and fastboot
  2. Grab a copy of the firmware, and, optionally, a recovery firmware (https://github.com/Biktorgj/quectel_eg25_recovery)
  3. Run the flashall script bundled in the package as root. If something fails, flash manually
  4. After you flashed everything, the modem should come back automatically after 14-18 seconds

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:

  1. Open a root terminal and run: echo -ne "AT+QFASTBOOT\r" > /dev/ttyUSB2 to enter fastboot mode
  2. 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:

Have fun!