OnePlus 7 Pro (oneplus-guacamole)
Manufacturer | OnePlus |
---|---|
Name | 7 Pro |
Codename | oneplus-guacamole |
Released | 2019 |
Type | handset |
Hardware | |
Chipset | Qualcomm Snapdragon 855 (SM8150) |
CPU | Octa-core (1x2.96 GHz Kryo 485 & 3x2.42 GHz Kryo 485 & 4x1.78 GHz Kryo 485) |
GPU | Adreno 640 |
Display | 1440x3120 AMOLED |
Storage | 128/256 GB |
Memory | 8 GB |
Architecture | aarch64 |
Software | |
Original software | Android |
Original version | 10 (OxygenOS) on Linux 4.14 |
postmarketOS | |
Category | testing |
Pre-built images | no |
Mainline | yes |
postmarketOS kernel | 6.2-rc3 |
Unixbench Whet/Dhry score | 7894.6 |
Flashing |
Works |
---|---|
USB Networking |
Works |
Internal storage | |
SD card | |
Battery | |
Screen |
Partial |
Touchscreen |
Works |
Multimedia | |
3D Acceleration | |
Audio | |
Camera | |
Camera Flash | |
Connectivity | |
WiFi |
Broken |
Bluetooth | |
GPS |
Broken |
NFC | |
Modem | |
Calls |
Broken |
SMS |
Broken |
Mobile data |
Broken |
Miscellaneous | |
FDE | |
USB OTG | |
HDMI/DP | |
Sensors | |
Accelerometer | |
Magnetometer | |
Ambient Light | |
Proximity | |
Hall Effect | |
Haptics | |
Barometer | |
About
This page describes the support for postmarketOS on the OnePlus 7 Pro. The phone is able to boot a mainline kernel which you can find here.
This page only documents OnePlus 7 Pro specific features, for an overview of the common OnePlus 7 series features See here
To get the mainline kernel up and running, follow the SM7150 Mainlining guide and replace references to "SM7150" with "SM8150".
Phone details
The OnePlus 7 and 7 Pro have some notable differences compared to the 7T and 7T Pro devices. The biggest of these is that the T series devices use an Android "Super" partition, rather than have individual partitions for the slots. As a result, the non-T devices are easier to flash and test with.
The modem was tested with firmware extracted from the OnePlus 7 and OnePlus 7 Pro OTA packages and was determined to be non-functional. The following is a snippet of the kernel logs after making an adjustment to get more specific error messages:
[ 38.958176] remoteproc remoteproc0: remote processor 4080000.remoteproc is now up [ 39.649216] ath10k_snoc 18800000.wifi: failed to create WMI vdev 0: -108 [ 39.649436] ath10k_snoc 18800000.wifi: could not suspend target (-108) [ 70.624549] ath10k_snoc 18800000.wifi: failed to send qmi config: -110 [ 70.624602] ath10k_snoc 18800000.wifi: failed to enable wcn3990: -110 [ 70.624998] ath10k_snoc 18800000.wifi: Could not init hif: -110 [ 70.631345] ath10k_snoc 18800000.wifi: cannot restart a device that hasn't been started [ 71.001740] qcom_q6v5_pas 4080000.remoteproc: fatal error received: err_qdi.c:1024:EX:wlan_process:0x1:WLAN RT:0x1078:PC=0xb0008e20 [ 71.001778] remoteproc remoteproc0: crash detected in 4080000.remoteproc: type fatal error [ 71.002534] remoteproc remoteproc0: handling crash #2 in 4080000.remoteproc [ 71.002544] remoteproc remoteproc0: recovering 4080000.remoteproc [ 71.012661] ath10k_snoc 18800000.wifi: firmware crashed! (guid 39d03e20-3763-479d-9e46-fa26f5cbd8ac) [ 71.012682] ath10k_snoc 18800000.wifi: wcn3990 hw1.0 target 0x00000008 chip_id 0x00000000 sub 0000:0000 [ 71.012692] ath10k_snoc 18800000.wifi: kconfig debug 0 debugfs 0 tracing 0 dfs 0 testmode 0 [ 71.012704] ath10k_snoc 18800000.wifi: firmware ver 1.0.0.698 api 5 features wowlan,mgmt-tx-by-reference,non-bmi crc32 b3d4b790 [ 71.012715] ath10k_snoc 18800000.wifi: board_file api 2 bmi_id N/A crc32 00000000 [ 71.012726] ath10k_snoc 18800000.wifi: htt-ver 3.71 wmi-op 4 htt-op 3 cal file max-sta 32 raw 0 hwcrypto 1 [ 72.820947] remoteproc remoteproc0: stopped remote processor 4080000.remoteproc
It appears that the error came from the firmware itself. The commits for attempting to get the modem working for this handset are not merged onto the mainline kernel fork at this time, but a patch for the kernel and pmaports will be available upon request.
Partition map
OnePlus7Pro:/ # ls -la /dev/block/bootdevice/by-name/
total 0 drwxr-xr-x 2 root root 2680 1971-08-30 11:57 . drwxr-xr-x 3 root root 2500 1971-08-30 11:57 .. lrwxrwxrwx 1 root root 15 1971-08-30 11:57 ALIGN_TO_128K_1 -> /dev/block/sdd1 lrwxrwxrwx 1 root root 15 1971-08-30 11:57 ALIGN_TO_128K_2 -> /dev/block/sdf1 lrwxrwxrwx 1 root root 16 1971-08-30 11:57 LOGO_a -> /dev/block/sde22 lrwxrwxrwx 1 root root 16 1971-08-30 11:57 LOGO_b -> /dev/block/sde49 lrwxrwxrwx 1 root root 15 1971-08-30 11:57 abl_a -> /dev/block/sde8 lrwxrwxrwx 1 root root 16 1971-08-30 11:57 abl_b -> /dev/block/sde36 lrwxrwxrwx 1 root root 16 1971-08-30 11:57 aging -> /dev/block/sde56 lrwxrwxrwx 1 root root 16 1971-08-30 11:57 aging_mod -> /dev/block/sde57 lrwxrwxrwx 1 root root 15 1971-08-30 11:57 aop_a -> /dev/block/sde1 lrwxrwxrwx 1 root root 16 1971-08-30 11:57 aop_b -> /dev/block/sde29 lrwxrwxrwx 1 root root 16 1971-08-30 11:57 apdp -> /dev/block/sde61 lrwxrwxrwx 1 root root 41 1971-08-30 11:57 bluetooth -> /dev/block/bootdevice/by-name/bluetooth_b lrwxrwxrwx 1 root root 15 1971-08-30 11:57 bluetooth_a -> /dev/block/sde5 lrwxrwxrwx 1 root root 16 1971-08-30 11:57 bluetooth_b -> /dev/block/sde33 lrwxrwxrwx 1 root root 36 1971-08-30 11:57 boot -> /dev/block/bootdevice/by-name/boot_b lrwxrwxrwx 1 root root 16 1971-08-30 11:57 boot_a -> /dev/block/sde11 lrwxrwxrwx 1 root root 16 1971-08-30 11:57 boot_b -> /dev/block/sde39 lrwxrwxrwx 1 root root 16 1971-08-30 11:57 catecontentfv -> /dev/block/sde74 lrwxrwxrwx 1 root root 16 1971-08-30 11:57 catefv -> /dev/block/sde73 lrwxrwxrwx 1 root root 16 1971-08-30 11:57 cateloader -> /dev/block/sde68 lrwxrwxrwx 1 root root 15 1971-08-30 11:57 cdt -> /dev/block/sdd2 lrwxrwxrwx 1 root root 16 1971-08-30 11:57 cmnlib64_a -> /dev/block/sde13 lrwxrwxrwx 1 root root 16 1971-08-30 11:57 cmnlib64_b -> /dev/block/sde41 lrwxrwxrwx 1 root root 16 1971-08-30 11:57 cmnlib_a -> /dev/block/sde12 lrwxrwxrwx 1 root root 16 1971-08-30 11:57 cmnlib_b -> /dev/block/sde40 lrwxrwxrwx 1 root root 16 1971-08-30 11:57 config -> /dev/block/sda12 lrwxrwxrwx 1 root root 16 1971-08-30 11:57 core_nhlos_a -> /dev/block/sde21 lrwxrwxrwx 1 root root 15 1971-08-30 11:57 ddr -> /dev/block/sdd3 lrwxrwxrwx 1 root root 16 1971-08-30 11:57 devcfg_a -> /dev/block/sde14 lrwxrwxrwx 1 root root 16 1971-08-30 11:57 devcfg_b -> /dev/block/sde42 lrwxrwxrwx 1 root root 16 1971-08-30 11:57 devinfo -> /dev/block/sde59 lrwxrwxrwx 1 root root 16 1971-08-30 11:57 dip -> /dev/block/sde60 lrwxrwxrwx 1 root root 35 1971-08-30 11:57 dsp -> /dev/block/bootdevice/by-name/dsp_b lrwxrwxrwx 1 root root 15 1971-08-30 11:57 dsp_a -> /dev/block/sde9 lrwxrwxrwx 1 root root 16 1971-08-30 11:57 dsp_b -> /dev/block/sde37 lrwxrwxrwx 1 root root 16 1971-08-30 11:57 dtbo_a -> /dev/block/sde18 lrwxrwxrwx 1 root root 16 1971-08-30 11:57 dtbo_b -> /dev/block/sde46 lrwxrwxrwx 1 root root 15 1971-08-30 11:57 frp -> /dev/block/sda6 lrwxrwxrwx 1 root root 15 1971-08-30 11:57 fsc -> /dev/block/sdf5 lrwxrwxrwx 1 root root 15 1971-08-30 11:57 fsg -> /dev/block/sdf4 lrwxrwxrwx 1 root root 16 1971-08-30 11:57 fw_ufs1_a -> /dev/block/sde23 lrwxrwxrwx 1 root root 16 1971-08-30 11:57 fw_ufs1_b -> /dev/block/sde50 lrwxrwxrwx 1 root root 16 1971-08-30 11:57 fw_ufs2_a -> /dev/block/sde24 lrwxrwxrwx 1 root root 16 1971-08-30 11:57 fw_ufs2_b -> /dev/block/sde51 lrwxrwxrwx 1 root root 16 1971-08-30 11:57 fw_ufs3_a -> /dev/block/sde25 lrwxrwxrwx 1 root root 16 1971-08-30 11:57 fw_ufs3_b -> /dev/block/sde52 lrwxrwxrwx 1 root root 16 1971-08-30 11:57 fw_ufs4_a -> /dev/block/sde26 lrwxrwxrwx 1 root root 16 1971-08-30 11:57 fw_ufs4_b -> /dev/block/sde53 lrwxrwxrwx 1 root root 16 1971-08-30 11:57 fw_ufs5_a -> /dev/block/sde27 lrwxrwxrwx 1 root root 16 1971-08-30 11:57 fw_ufs5_b -> /dev/block/sde54 lrwxrwxrwx 1 root root 15 1971-08-30 11:57 hyp_a -> /dev/block/sde3 lrwxrwxrwx 1 root root 16 1971-08-30 11:57 hyp_b -> /dev/block/sde31 lrwxrwxrwx 1 root root 16 1971-08-30 11:57 imagefv_a -> /dev/block/sde20 lrwxrwxrwx 1 root root 16 1971-08-30 11:57 imagefv_b -> /dev/block/sde48 lrwxrwxrwx 1 root root 21 1971-08-30 11:57 india_a -> /data/india/india.img lrwxrwxrwx 1 root root 21 1971-08-30 11:57 india_b -> /data/india/india.img lrwxrwxrwx 1 root root 16 1971-08-30 11:57 keymaster_a -> /dev/block/sde10 lrwxrwxrwx 1 root root 16 1971-08-30 11:57 keymaster_b -> /dev/block/sde38 lrwxrwxrwx 1 root root 15 1971-08-30 11:57 keystore -> /dev/block/sda5 lrwxrwxrwx 1 root root 16 1971-08-30 11:57 limits -> /dev/block/sde65 lrwxrwxrwx 1 root root 16 1971-08-30 11:57 logdump -> /dev/block/sde69 lrwxrwxrwx 1 root root 16 1971-08-30 11:57 logfs -> /dev/block/sde67 lrwxrwxrwx 1 root root 15 1971-08-30 11:57 mdm1m9kefs1 -> /dev/block/sdf7 lrwxrwxrwx 1 root root 15 1971-08-30 11:57 mdm1m9kefs2 -> /dev/block/sdf8 lrwxrwxrwx 1 root root 15 1971-08-30 11:57 mdm1m9kefs3 -> /dev/block/sdf6 lrwxrwxrwx 1 root root 15 1971-08-30 11:57 mdm1m9kefsc -> /dev/block/sdf9 lrwxrwxrwx 1 root root 16 1971-08-30 11:57 mdm1oemnvbktmp -> /dev/block/sde79 lrwxrwxrwx 1 root root 16 1971-08-30 11:57 mdm_oem_dycnvbk -> /dev/block/sda10 lrwxrwxrwx 1 root root 16 1971-08-30 11:57 mdm_oem_stanvbk -> /dev/block/sda11 lrwxrwxrwx 1 root root 45 1971-08-30 11:57 mdm_oem_stanvbk_a -> /dev/block/bootdevice/by-name/mdm_oem_stanvbk lrwxrwxrwx 1 root root 45 1971-08-30 11:57 mdm_oem_stanvbk_b -> /dev/block/bootdevice/by-name/mdm_oem_stanvbk lrwxrwxrwx 1 root root 15 1971-08-30 11:57 mdmddr -> /dev/block/sdd4 lrwxrwxrwx 1 root root 15 1971-08-30 11:57 mdtp_a -> /dev/block/sde7 lrwxrwxrwx 1 root root 16 1971-08-30 11:57 mdtp_b -> /dev/block/sde35 lrwxrwxrwx 1 root root 15 1971-08-30 11:57 mdtpsecapp_a -> /dev/block/sde6 lrwxrwxrwx 1 root root 16 1971-08-30 11:57 mdtpsecapp_b -> /dev/block/sde34 lrwxrwxrwx 1 root root 16 1971-08-30 11:57 metadata -> /dev/block/sda17 lrwxrwxrwx 1 root root 15 1971-08-30 11:57 misc -> /dev/block/sda3 lrwxrwxrwx 1 root root 37 1971-08-30 11:57 modem -> /dev/block/bootdevice/by-name/modem_b lrwxrwxrwx 1 root root 15 1971-08-30 11:57 modem_a -> /dev/block/sde4 lrwxrwxrwx 1 root root 16 1971-08-30 11:57 modem_b -> /dev/block/sde32 lrwxrwxrwx 1 root root 15 1971-08-30 11:57 modemst1 -> /dev/block/sdf2 lrwxrwxrwx 1 root root 15 1971-08-30 11:57 modemst2 -> /dev/block/sdf3 lrwxrwxrwx 1 root root 16 1971-08-30 11:57 msadp -> /dev/block/sde62 lrwxrwxrwx 1 root root 16 1971-08-30 11:57 multiimgoem_a -> /dev/block/sde28 lrwxrwxrwx 1 root root 16 1971-08-30 11:57 multiimgoem_b -> /dev/block/sde55 lrwxrwxrwx 1 root root 16 1971-08-30 11:57 odm_a -> /dev/block/sda15 lrwxrwxrwx 1 root root 16 1971-08-30 11:57 odm_b -> /dev/block/sda16 lrwxrwxrwx 1 root root 15 1971-08-30 11:57 oem_dycnvbk -> /dev/block/sda8 lrwxrwxrwx 1 root root 41 1971-08-30 11:57 oem_dycnvbk_a -> /dev/block/bootdevice/by-name/oem_dycnvbk lrwxrwxrwx 1 root root 41 1971-08-30 11:57 oem_dycnvbk_b -> /dev/block/bootdevice/by-name/oem_dycnvbk lrwxrwxrwx 1 root root 15 1971-08-30 11:57 oem_stanvbk -> /dev/block/sda9 lrwxrwxrwx 1 root root 41 1971-08-30 11:57 oem_stanvbk_a -> /dev/block/bootdevice/by-name/oem_stanvbk lrwxrwxrwx 1 root root 41 1971-08-30 11:57 oem_stanvbk_b -> /dev/block/bootdevice/by-name/oem_stanvbk lrwxrwxrwx 1 root root 16 1971-08-30 11:57 op1 -> /dev/block/sde58 lrwxrwxrwx 1 root root 15 1971-08-30 11:57 op2 -> /dev/block/sda7 lrwxrwxrwx 1 root root 15 1971-08-30 11:57 param -> /dev/block/sda4 lrwxrwxrwx 1 root root 15 1971-08-30 11:57 persist -> /dev/block/sda2 lrwxrwxrwx 1 root root 16 1971-08-30 11:57 qupfw_a -> /dev/block/sde15 lrwxrwxrwx 1 root root 16 1971-08-30 11:57 qupfw_b -> /dev/block/sde43 lrwxrwxrwx 1 root root 16 1971-08-30 11:57 rawdump -> /dev/block/sda18 lrwxrwxrwx 1 root root 16 1971-08-30 11:57 reserve1 -> /dev/block/sde75 lrwxrwxrwx 1 root root 16 1971-08-30 11:57 reserve2 -> /dev/block/sde76 lrwxrwxrwx 1 root root 16 1971-08-30 11:57 reserve3 -> /dev/block/sde77 lrwxrwxrwx 1 root root 16 1971-08-30 11:57 reserve4 -> /dev/block/sde78 lrwxrwxrwx 1 root root 25 1971-08-30 11:57 reserve_a -> /data/reserve/reserve.img lrwxrwxrwx 1 root root 25 1971-08-30 11:57 reserve_b -> /data/reserve/reserve.img lrwxrwxrwx 1 root root 16 1971-08-30 11:57 secdata -> /dev/block/sde72 lrwxrwxrwx 1 root root 16 1971-08-30 11:57 splash -> /dev/block/sde64 lrwxrwxrwx 1 root root 16 1971-08-30 11:57 spunvm -> /dev/block/sde63 lrwxrwxrwx 1 root root 15 1971-08-30 11:57 ssd -> /dev/block/sda1 lrwxrwxrwx 1 root root 16 1971-08-30 11:57 storsec_a -> /dev/block/sde70 lrwxrwxrwx 1 root root 16 1971-08-30 11:57 storsec_b -> /dev/block/sde80 lrwxrwxrwx 1 root root 38 1971-08-30 11:57 system -> /dev/block/bootdevice/by-name/system_b lrwxrwxrwx 1 root root 16 1971-08-30 11:57 system_a -> /dev/block/sda13 lrwxrwxrwx 1 root root 16 1971-08-30 11:57 system_b -> /dev/block/sda14 lrwxrwxrwx 1 root root 16 1971-08-30 11:57 toolsfv -> /dev/block/sde66 lrwxrwxrwx 1 root root 15 1971-08-30 11:57 tz_a -> /dev/block/sde2 lrwxrwxrwx 1 root root 16 1971-08-30 11:57 tz_b -> /dev/block/sde30 lrwxrwxrwx 1 root root 16 1971-08-30 11:57 uefisecapp_a -> /dev/block/sde19 lrwxrwxrwx 1 root root 16 1971-08-30 11:57 uefisecapp_b -> /dev/block/sde47 lrwxrwxrwx 1 root root 16 1971-08-30 11:57 uefivarstore -> /dev/block/sde71 lrwxrwxrwx 1 root root 16 1971-08-30 11:57 userdata -> /dev/block/sda19 lrwxrwxrwx 1 root root 16 1971-08-30 11:57 vbmeta_a -> /dev/block/sde17 lrwxrwxrwx 1 root root 16 1971-08-30 11:57 vbmeta_b -> /dev/block/sde45 lrwxrwxrwx 1 root root 38 1971-08-30 11:57 vendor -> /dev/block/bootdevice/by-name/vendor_b lrwxrwxrwx 1 root root 16 1971-08-30 11:57 vendor_a -> /dev/block/sde16 lrwxrwxrwx 1 root root 16 1971-08-30 11:57 vendor_b -> /dev/block/sde44 lrwxrwxrwx 1 root root 15 1971-08-30 11:57 xbl_a -> /dev/block/sdb1 lrwxrwxrwx 1 root root 15 1971-08-30 11:57 xbl_b -> /dev/block/sdc1 lrwxrwxrwx 1 root root 15 1971-08-30 11:57 xbl_config_a -> /dev/block/sdb2 lrwxrwxrwx 1 root root 15 1971-08-30 11:57 xbl_config_b -> /dev/block/sdc2
Contributors
Maintainer(s)
Users owning this device
- Caleb (Notes: mainline some day)
- Farkasma (Notes: Stock Android daily driver)
- Froggo (Notes: 8+256GB)
- JustinSUF (Notes: 8GB/256GB)
- Kenny (Notes: shattered and malfunctioning display)
- Matx1 (Notes: 8GB/256GB)
- Miki (Notes: daily, broken front camera, stock a12 with unlocked bl, 12/256 model)
- Nexplorer-3e (Notes: Daily device, with PE13 installed)
- Pairman (Notes: 8+256GB, Android)
- Techwizz (Notes: Broken, for now anyway)
- Thekingkerellos (Notes: My main device running Los 20. Too good of a phone)
- Uclydde (Notes: 12GB/256GB)
See also
- pmaports!2151 Initial device package merge request