Yocto 3.3 Hardknott - Audio fixes
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.2 based rootfs and recovery (https://www.yoctoproject.org/)
Before you begin
While I always thoroughfully check every single release, you might encounter problems I didn't find. Please, take a minute to get a copy of the stock firmware here (https://github.com/Biktorgj/quectel_eg25_recovery), and carefully read the README. If you don't know understand what it says, or don't know how to recover the firmware in case something goes wrong, avoid touching your modem
CHANGES FROM PREVIOUS RELEASE
- Reworked the call status detection function. Now it looks for the right bits in the right places, and hopefully fixes audio in all case scenarios. Thanks a lot to @MFor1, @nextonoting and @Konstantinos Pol for their help!
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)
- With the modem active, jump to fastboot mode:
- If you don't have ADB enabled, enter the following command in
/dev/ttyS2
(minicom -D /dev/ttyS2):AT+QFASTBOOT
- If you already have ADB enabled:
adb reboot bootloader
- If you don't have ADB enabled, enter the following command in
- After a bit, if you run
lsusb
you should see the modem in fastboot mode:
Bus 003 Device 005: ID 18d1:d00d Google Inc. Xiaomi Mi/Redmi 2 (fastboot)
- Once in fastboot mode, first flash the unlocked bootloader:
fastboot flash aboot appsboot.mbn
- After that
fastboot reboot ; fastboot oem stay
- After flashing and rebooting to the bootloader the modem will say
FAILED (remote: 'Waiting for orders!')
- Now you can flash everything:
fastboot flash boot boot-mdm9607.img
- If you get an error flashing the kernel, run fastboot flash:raw :
fastboot flash:raw boot boot-mdm9607.img
- If you get an error flashing the kernel, run fastboot flash:raw :
fastboot flash recovery recovery.img
fastboot flash system rootfs-mdm9607.ubi
fastboot flash recoveryfs recoveryfs.ubi
- After you flashed everything, you can run 'fastboot reboot' and wait for it to come back.
If you want to return to stock, I would advise to keep the unlocked bootloader. It will do no harm, and it will give you more recovery functions in case you mess something up or something in the firmware breaks. It is compatible with Quectel's firmware, and the only thing it doesn't do is allowing automatic OTA updates. In case you want to recover the bootloader too, follow the following steps exactly
- Grab the recovery image from my recovery repo: https://github.com/Biktorgj/quectel_eg25_recovery
- Extract it to some folder and move to the update/ folder
- One by one, flash all the image files, in this order:
fastboot flash system mdm9607-sysfs.ubi
fastboot flash recoveryfs mdm9607-recovery.ubi
fastboot flash boot mdm9607-boot.img
fastboot flash recovery mdm9607-boot.img
- If all the files have been correctly flashed, only then, run
fastboot flash aboot appsboot.mbn
The reason for this is because if you reinstall the locked bootloader and some of the official files weren't flashed you might enter a reboot loop and you will need to open the phone and short the emergency recovery test points to get into EDL mode and use Qfirehose.
Have fun!