- Using a custom recovery and/or modding your device may very likely mess up your device in irreversible ways.
- You will lose the automatic update functionality.
- It will also void your warrantee.
- I will not responsible for any kind of damage or loss occurred to your device, during or after the installation process. Proceed at your own risk.
- This is my own personal work and has no endorsement from either Philips or Screeneo.
- If these instructions are not sufficient for you, you should not be doing this.
Requirements
- USB-A to USB-A cable
- Android platform tool (ADB/Fastboot). Grab here
- ADB USB Driver. RockChip specific drivers (with precoded VID/PID) are in here, but the reference Google drivers here should also work.
- Some proficiency for installing and using the above. Find one of the many tutorials online.
via PPM launcher
- Click ok 5 times in About > Software Version.
- Then from the hidden android menu, go to Device Preferences > About and click 10 times on the build number. This is only needed once.
- Finally go to Developer Options and enable both usb debugging and Internet Adb.
- Plug in your USB-A to USB-A cable to your PC.
- Enable USB Settings. This needs to be done after every reboot.
- A new USB device will pop up on your PC with VID=0x2207 and PID=0x0006. Manually install the USB drivers for "Android ADB Interface".
- Run
adb devices
at least once; the PPX620 will ask to authenticate the PC, which you should.
via Network
- Click ok 5 times in About > Software Version.
- Then from the hidden android menu, go to Device Preferences > About and click 10 times on the build number. This is only needed once.
- Finally go to Developer Options and enable both usb debugging and Internet Adb.
- Connect to the PPX620 via
adb connect <ip-address>:5555
First, make sure you are connected via ADB.
- Run
adb reboot fastboot
- Disconnect USB-A cable if it was connected. PPX620 will not reboot when connected
- PPX620 will reboot, screen will stay black
- Connect USB-A to USB-A
- A new USB device will pop up on your PC with VID=0x18D1 and PID=0xD00D. Manually install the USB drivers for "Android Bootloader Interface".
- Verify you are connected with
fastboot devices
Note: If you get a USB device with VID=0x2207, PID=0x320C, your device is not in Fastboot but in RockUSB mode. Just hold the power button to power off.
-
Build the image yourself as below, or grab a prebuilt image from the releases page.
-
Put the device in fastboot mode
-
Flash the image
fastboot flash recovery recovery.img
-
Boot into the recovery
Note: The PPX620 restores its original recovery on regular system boot.
- disconnect USB-A and USB-C Power cable
- long press power until device powers down
- while pressing recovery button, turn on using power button. The recovery button can be accessed by the pinhole closest to the USB-C power connector.
Holding the recovery button while pressing power results in Recovery mode when the USB-A is not connected, and in RockUSB mode when the USB-A cable is connected.
Following packages are needed in Ubuntu:
sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z-dev libgl1-mesa-dev libxml2-utils xsltproc unzip libtinfo5
Ubuntu 20.04 install lib32nurses6 where we need version 5, so we make a symlink:
sudo ln -s /usr/lib/x86_64-linux-gnu/libncursesw.so.6.2 /usr/lib/x86_64-linux-gnu/libncursesw.so.5
sudo ln -s /usr/lib/x86_64-linux-gnu/libncurses.so.6.2 /usr/lib/x86_64-linux-gnu/libncurses.so.5
Create a working directory
export BUILD=/home/peter/twrp-omni
mkdir -p $BUILD
Start with initializing a shallow clonee of the minimal TWRP manifest as follows:
cd $BUILD
repo init --depth=1 -u git://github.com/minimal-manifest-twrp/platform_manifest_twrp_omni.git -b twrp-9.0
Then add this github to the local manifest. Create a new file $BUILD/.repo/local_manifests/ppx620.xml
with the following contents:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<project name="pvliesdonk/device_philips_ppx620" path="device/philips/ppx620" remote="github" revision="master" />
<remove-project name="android_bootable_recovery"/>
<project name="pvliesdonk/android_bootable_recovery" path="bootable/recovery" remote="github" revision="android-9.0"/>
</manifest>
e.g.
mkdir -p $BUILD/.repo/local_manifests
cat <<EOT >> $BUILD/.repo/local_manifests/ppx620.xml
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<project name="pvliesdonk/device_philips_ppx620" path="device/philips/ppx620" remote="github" revision="master" />
<remove-project name="android_bootable_recovery"/>
<project name="pvliesdonk/android_bootable_recovery" path="bootable/recovery" remote="github" revision="android-9.0"/>
</manifest>
EOT
Then to sync up:
repo sync
Then to build:
cd $BUILD
export ALLOW_MISSING_DEPENDENCIES=true
. build/envsetup.sh
lunch omni_ppx620-eng
make recoveryimage
The built recovery image can be found in $BUILD/out/target/product/ppx620/recovery.img
.