OnePlus 8 Pro (oneplus-instantnoodlep)
|  . | |
| Manufacturer | OnePlus | 
|---|---|
| Name | 8 Pro | 
| Codename | oneplus-instantnoodlep | 
| Released | 2020 | 
| Type | handset | 
| Hardware | |
| Chipset | Qualcomm Snapdragon 865 5G (SM8250) | 
| CPU | Octa-core (1x2.84 GHz Cortex-A77 3x2.42 GHz Cortex-A77 4x1.80 GHz Cortex-A55) | 
| GPU | Adreno 650 | 
| Display | 1440 x 3168 pixels (~513 ppi density) | 
| Storage | 128 or 256 GB | 
| Memory | 8 GB or 12 GB | 
| Architecture | aarch64 | 
| Software | |
| Original software The software and version the device was shipped with. | Android 10 | 
| Extended version The most recent supported version from the manufacturer. | Android | 
| postmarketOS | |
| Category | testing | 
| Mainline Instead of a Linux kernel fork, it is possible to run (Close to) Mainline. | yes | 
| Device package |  device-oneplus-instantnoodlep | 
| Kernel package |  linux-postmarketos-qcom-sm8250 | 
| Flashing Whether it is possible to flash the device with  pmbootstrap flasher. | Works | 
|---|---|
| USB Networking After connecting the device with USB to your PC, you can connect to it via telnet (initramfs) or SSH (booted system). | Works | 
| Battery Whether charging and battery level reporting work. | Partial | 
| Screen Whether the display works; ideally with sleep mode and brightness control. | Partial | 
| Touchscreen | Works | 
| Multimedia | |
| 3D Acceleration | Broken | 
| Audio Audio playback, microphone, headset and buttons. | Broken | 
| Camera | Broken | 
| Connectivity | |
| WiFi | Works | 
| Bluetooth | Works | 
| GPS | Broken | 
| NFC Near Field Communication | Works | 
| Modem | |
| Calls | Broken | 
| SMS | Broken | 
| Mobile data | Broken | 
| Miscellaneous | |
| FDE Full disk encryption and unlocking with unl0kr. | Broken | 
| USB OTG USB On-The-Go or USB-C Role switching. | Broken | 
| Sensors | |
| Accelerometer Handles automatic screen rotation in many interfaces. | Broken | 
Contributors
Maintainer(s)
Users owning this device
- Denvit (Notes: postmarketOS)
- Lucia-selvlysende (Notes: LineageOS, primary device.)
- Simplefluorine (Notes: unlocked)
How to enter flash mode
Normally to fastboot: By pressing vol-, vol+, and power button.
When you are in initial boot stages however the above doesn't work, so try this: Poweroff vs EDL mode (I'm not sure which): Press vol-, vol+, and power button for about 10 sec Then to put in fastboot: Press vol- and power only
Prior / Dynamic Partitions Info
Before flashing anything:
Pull super in root adb shell
adb root adb pull /dev/block/by-name/super super.img
Android 10 launch, non-retro fit dynamic partitioning. See also PMOS wiki on this
Installation
Don't recommend use of downstream kernel unless you are debugging something. Choose mainline during ```pmbootstrap init```.
pmbootstrap install pmbootstrap flasher flash_dtbo pmbootstrap flasher flash_rootfs pmbootstrap flasher flash_kernel
Back to Android
img2simg super.img super-s.img fastboot flash super super-s.img
Flash Android as usual now
Partition layout
OnePlus8Pro:~$ ls -al /dev/block/bootdevice/by-name/ 
lrwxrwxrwx 1 root root 15 1970-02-03 17:53 ALIGN_TO_128K_1 -> /dev/block/sdd1 lrwxrwxrwx 1 root root 15 1970-02-03 17:53 ALIGN_TO_128K_2 -> /dev/block/sdf1 lrwxrwxrwx 1 root root 15 1970-02-03 17:53 abl_a -> /dev/block/sde8 lrwxrwxrwx 1 root root 16 1970-02-03 17:53 abl_b -> /dev/block/sde32 lrwxrwxrwx 1 root root 16 1970-02-03 17:53 abl_log -> /dev/block/sde67 lrwxrwxrwx 1 root root 16 1970-02-03 17:53 aging_kernel -> /dev/block/sde64 lrwxrwxrwx 1 root root 16 1970-02-03 17:53 aging_mod -> /dev/block/sde65 lrwxrwxrwx 1 root root 16 1970-02-03 17:53 android_log -> /dev/block/sde69 lrwxrwxrwx 1 root root 15 1970-02-03 17:53 aop_a -> /dev/block/sde1 lrwxrwxrwx 1 root root 16 1970-02-03 17:53 aop_b -> /dev/block/sde25 lrwxrwxrwx 1 root root 16 1970-02-03 17:53 apdp -> /dev/block/sde51 lrwxrwxrwx 1 root root 15 1970-02-03 17:53 bluetooth_a -> /dev/block/sde5 lrwxrwxrwx 1 root root 16 1970-02-03 17:53 bluetooth_b -> /dev/block/sde29 lrwxrwxrwx 1 root root 16 1970-02-03 17:53 boot_a -> /dev/block/sde11 lrwxrwxrwx 1 root root 16 1970-02-03 17:53 boot_b -> /dev/block/sde35 lrwxrwxrwx 1 root root 15 1970-02-03 17:53 cdt -> /dev/block/sdd2 lrwxrwxrwx 1 root root 16 1970-02-03 17:53 cmnlib64_a -> /dev/block/sde13 lrwxrwxrwx 1 root root 16 1970-02-03 17:53 cmnlib64_b -> /dev/block/sde37 lrwxrwxrwx 1 root root 16 1970-02-03 17:53 cmnlib_a -> /dev/block/sde12 lrwxrwxrwx 1 root root 16 1970-02-03 17:53 cmnlib_b -> /dev/block/sde36 lrwxrwxrwx 1 root root 16 1970-02-03 17:53 config -> /dev/block/sda11 lrwxrwxrwx 1 root root 15 1970-02-03 17:53 ddr -> /dev/block/sdd3 lrwxrwxrwx 1 root root 16 1970-02-03 17:53 devcfg_a -> /dev/block/sde14 lrwxrwxrwx 1 root root 16 1970-02-03 17:53 devcfg_b -> /dev/block/sde38 lrwxrwxrwx 1 root root 16 1970-02-03 17:53 devinfo -> /dev/block/sde49 lrwxrwxrwx 1 root root 16 1970-02-03 17:53 dip -> /dev/block/sde50 lrwxrwxrwx 1 root root 15 1970-02-03 17:53 dsp_a -> /dev/block/sde9 lrwxrwxrwx 1 root root 16 1970-02-03 17:53 dsp_b -> /dev/block/sde33 lrwxrwxrwx 1 root root 16 1970-02-03 17:53 dtbo_a -> /dev/block/sde17 lrwxrwxrwx 1 root root 16 1970-02-03 17:53 dtbo_b -> /dev/block/sde41 lrwxrwxrwx 1 root root 16 1970-02-03 17:53 featenabler_a -> /dev/block/sde22 lrwxrwxrwx 1 root root 16 1970-02-03 17:53 featenabler_b -> /dev/block/sde46 lrwxrwxrwx 1 root root 15 1970-02-03 17:53 frp -> /dev/block/sda5 lrwxrwxrwx 1 root root 15 1970-02-03 17:53 fsc -> /dev/block/sdf5 lrwxrwxrwx 1 root root 15 1970-02-03 17:53 fsg -> /dev/block/sdf4 lrwxrwxrwx 1 root root 15 1970-02-03 17:53 hyp_a -> /dev/block/sde3 lrwxrwxrwx 1 root root 16 1970-02-03 17:53 hyp_b -> /dev/block/sde27 lrwxrwxrwx 1 root root 16 1970-02-03 17:53 hyp_log -> /dev/block/sde71 lrwxrwxrwx 1 root root 16 1970-02-03 17:53 imagefv_a -> /dev/block/sde23 lrwxrwxrwx 1 root root 16 1970-02-03 17:53 imagefv_b -> /dev/block/sde47 lrwxrwxrwx 1 root root 16 1970-02-03 17:53 kernel_log -> /dev/block/sde68 lrwxrwxrwx 1 root root 16 1970-02-03 17:53 keymaster_a -> /dev/block/sde10 lrwxrwxrwx 1 root root 16 1970-02-03 17:53 keymaster_b -> /dev/block/sde34 lrwxrwxrwx 1 root root 15 1970-02-03 17:53 keystore -> /dev/block/sda4 lrwxrwxrwx 1 root root 16 1970-02-03 17:53 limits -> /dev/block/sde54 lrwxrwxrwx 1 root root 16 1970-02-03 17:53 limits-cdsp -> /dev/block/sde55 lrwxrwxrwx 1 root root 16 1970-02-03 17:53 logdump -> /dev/block/sde57 lrwxrwxrwx 1 root root 16 1970-02-03 17:53 logfs -> /dev/block/sde56 lrwxrwxrwx 1 root root 16 1970-02-03 17:53 logo_a -> /dev/block/sde24 lrwxrwxrwx 1 root root 16 1970-02-03 17:53 logo_b -> /dev/block/sde48 lrwxrwxrwx 1 root root 15 1970-02-03 17:53 mdm1m9kefs1 -> /dev/block/sdf7 lrwxrwxrwx 1 root root 15 1970-02-03 17:53 mdm1m9kefs2 -> /dev/block/sdf8 lrwxrwxrwx 1 root root 15 1970-02-03 17:53 mdm1m9kefs3 -> /dev/block/sdf6 lrwxrwxrwx 1 root root 15 1970-02-03 17:53 mdm1m9kefsc -> /dev/block/sdf9 lrwxrwxrwx 1 root root 16 1970-02-03 17:53 mdm1oemnvbktmp -> /dev/block/sde63 lrwxrwxrwx 1 root root 15 1970-02-03 17:53 mdm_oem_dycnvbk -> /dev/block/sda7 lrwxrwxrwx 1 root root 15 1970-02-03 17:53 mdm_oem_stanvbk -> /dev/block/sda8 lrwxrwxrwx 1 root root 15 1970-02-03 17:53 mdmddr -> /dev/block/sdd4 lrwxrwxrwx 1 root root 15 1970-02-03 17:53 mdtp_a -> /dev/block/sde7 lrwxrwxrwx 1 root root 16 1970-02-03 17:53 mdtp_b -> /dev/block/sde31 lrwxrwxrwx 1 root root 15 1970-02-03 17:53 mdtpsecapp_a -> /dev/block/sde6 lrwxrwxrwx 1 root root 16 1970-02-03 17:53 mdtpsecapp_b -> /dev/block/sde30 lrwxrwxrwx 1 root root 16 1970-02-03 17:53 metadata -> /dev/block/sda19 lrwxrwxrwx 1 root root 15 1970-02-03 17:53 misc -> /dev/block/sda3 lrwxrwxrwx 1 root root 15 1970-02-03 17:53 modem_a -> /dev/block/sde4 lrwxrwxrwx 1 root root 16 1970-02-03 17:53 modem_b -> /dev/block/sde28 lrwxrwxrwx 1 root root 15 1970-02-03 17:53 modemdump -> /dev/block/sda9 lrwxrwxrwx 1 root root 15 1970-02-03 17:53 modemst1 -> /dev/block/sdf2 lrwxrwxrwx 1 root root 15 1970-02-03 17:53 modemst2 -> /dev/block/sdf3 lrwxrwxrwx 1 root root 16 1970-02-03 17:53 msadp -> /dev/block/sde52 lrwxrwxrwx 1 root root 16 1970-02-03 17:53 multiimgoem_a -> /dev/block/sde19 lrwxrwxrwx 1 root root 16 1970-02-03 17:53 multiimgoem_b -> /dev/block/sde43 lrwxrwxrwx 1 root root 16 1970-02-03 17:53 multiimgqti_a -> /dev/block/sde20 lrwxrwxrwx 1 root root 16 1970-02-03 17:53 multiimgqti_b -> /dev/block/sde44 lrwxrwxrwx 1 root root 16 1970-02-03 17:53 op1 -> /dev/block/sde66 lrwxrwxrwx 1 root root 16 1970-02-03 17:53 op2 -> /dev/block/sda10 lrwxrwxrwx 1 root root 16 1970-02-03 17:53 opproduct_a -> /dev/block/sda12 lrwxrwxrwx 1 root root 16 1970-02-03 17:53 opproduct_b -> /dev/block/sda13 lrwxrwxrwx 1 root root 15 1970-02-03 17:53 param -> /dev/block/sda6 lrwxrwxrwx 1 root root 15 1970-02-03 17:53 persist -> /dev/block/sda2 lrwxrwxrwx 1 root root 16 1970-02-03 17:53 qsee_log -> /dev/block/sde70 lrwxrwxrwx 1 root root 16 1970-02-03 17:53 qupfw_a -> /dev/block/sde15 lrwxrwxrwx 1 root root 16 1970-02-03 17:53 qupfw_b -> /dev/block/sde39 lrwxrwxrwx 1 root root 16 1970-02-03 17:53 rawdump -> /dev/block/sda22 lrwxrwxrwx 1 root root 16 1970-02-03 17:53 recovery_a -> /dev/block/sda15 lrwxrwxrwx 1 root root 16 1970-02-03 17:53 recovery_b -> /dev/block/sda16 lrwxrwxrwx 1 root root 16 1970-02-03 17:53 reserve1 -> /dev/block/sde72 lrwxrwxrwx 1 root root 16 1970-02-03 17:53 reserve2 -> /dev/block/sde73 lrwxrwxrwx 1 root root 16 1970-02-03 17:53 reserve3 -> /dev/block/sde74 lrwxrwxrwx 1 root root 16 1970-02-03 17:53 reserve4 -> /dev/block/sde75 lrwxrwxrwx 1 root root 16 1970-02-03 17:53 secdata -> /dev/block/sde60 lrwxrwxrwx 1 root root 16 1970-02-03 17:53 spunvm -> /dev/block/sde53 lrwxrwxrwx 1 root root 15 1970-02-03 17:53 ssd -> /dev/block/sda1 lrwxrwxrwx 1 root root 16 1970-02-03 17:53 storsec_a -> /dev/block/sde58 lrwxrwxrwx 1 root root 16 1970-02-03 17:53 storsec_b -> /dev/block/sde76 lrwxrwxrwx 1 root root 16 1970-02-03 17:53 super -> /dev/block/sda14 lrwxrwxrwx 1 root root 15 1970-02-03 17:53 tz_a -> /dev/block/sde2 lrwxrwxrwx 1 root root 16 1970-02-03 17:53 tz_b -> /dev/block/sde26 lrwxrwxrwx 1 root root 16 1970-02-03 17:53 uefisecapp_a -> /dev/block/sde18 lrwxrwxrwx 1 root root 16 1970-02-03 17:53 uefisecapp_b -> /dev/block/sde42 lrwxrwxrwx 1 root root 16 1970-02-03 17:53 uefivarstore -> /dev/block/sde59 lrwxrwxrwx 1 root root 16 1970-02-03 17:53 userdata -> /dev/block/sda23 lrwxrwxrwx 1 root root 16 1970-02-03 17:53 vbmeta_a -> /dev/block/sde16 lrwxrwxrwx 1 root root 16 1970-02-03 17:53 vbmeta_b -> /dev/block/sde40 lrwxrwxrwx 1 root root 16 1970-02-03 17:53 vbmeta_system_a -> /dev/block/sda17 lrwxrwxrwx 1 root root 16 1970-02-03 17:53 vbmeta_system_b -> /dev/block/sda18 lrwxrwxrwx 1 root root 16 1970-02-03 17:53 vm-data -> /dev/block/sde62 lrwxrwxrwx 1 root root 16 1970-02-03 17:53 vm-keystore -> /dev/block/sde61 lrwxrwxrwx 1 root root 16 1970-02-03 17:53 vm-linux_a -> /dev/block/sde21 lrwxrwxrwx 1 root root 16 1970-02-03 17:53 vm-linux_b -> /dev/block/sde45 lrwxrwxrwx 1 root root 16 1970-02-03 17:53 vm-system_a -> /dev/block/sda20 lrwxrwxrwx 1 root root 16 1970-02-03 17:53 vm-system_b -> /dev/block/sda21 lrwxrwxrwx 1 root root 15 1970-02-03 17:53 xbl_a -> /dev/block/sdb1 lrwxrwxrwx 1 root root 15 1970-02-03 17:53 xbl_b -> /dev/block/sdc1 lrwxrwxrwx 1 root root 15 1970-02-03 17:53 xbl_config_a -> /dev/block/sdb2 lrwxrwxrwx 1 root root 15 1970-02-03 17:53 xbl_config_b -> /dev/block/sdc2
Known Issues
Wi-Fi / BT not working on v6.11
On sm8250-linux v6.11 the Wi-Fi and Bluetooth functionality are broken. This is due to an issue with the DTS of this device. A MR has been opened and will be merged soon: in the meantime, you can edit your boot.img as follows:
Step 1
Clone the patched kernel and compile the dts:
$ git clone --depth 1 -b fix/instantnoodlep-wifi https://gitlab.com/denvit/sm8250-linux/ $ cd sm8250-linux $ make dtbs -j $(nproc)
Step 2
Extract the original boot.img ($PMOS_ROOT/chroot_rootfs_oneplus-instantnoodlep/boot/boot.img) as follows:
$ mkdir /tmp/firmware $ cd /tmp/firmware $ unpack_bootimg --boot_img $PMOS_ROOT/chroot_rootfs_oneplus-instantnoodlep/boot/boot.img --format=mkbootimg
Step 3
Copy the newly compiled dtb and re-pack the image:
$ cp ~/git/sm8250-linux/arch/arm64/boot/dts/qcom/sm8250-oneplus-instantnoodlep.dtb /tmp/firmware/out/dtb $ mkbootimg --header_version 2 --kernel out/kernel --ramdisk out/ramdisk --dtb out/dtb --pagesize 0x00001000 --base 0x00000000 --kernel_offset 0x00008000 --ramdisk_offset 0x01000000 --second_offset 0x00000000 --tags_offset 0x00000100 --dtb_offset 0x0000000001f00000 --board '' --cmdline 'clk_ignore_unused pd_ignore_unused pmos_boot_uuid=d86a5f31-2802-4333-b5aa-ff8a59e4d66e pmos_root_uuid=efbc85d5-1ba9-45ff-af90-1eecd5235327 pmos_rootfsopts=defaults' -o boot-repacked.img
Step 4
Put your device in fastboot mode, then flash the image and reboot:
fastboot flash boot boot-repacked.img && fastboot reboot
Step 5
Verify that the chip is now working again:
instantnoodlep$ ip link show wlan0
4: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP qlen 1000
    link/ether 00:ca:fe:ba:be:00 brd ff:ff:ff:ff:ff:ff