OnePlus 3 (oneplus-oneplus3)

From postmarketOS Wiki


OnePlus 3
OnePlus 3 with Plasma Mobile UI
OnePlus 3 with Plasma Mobile UI
Manufacturer OnePlus
Name 3
Codename oneplus-oneplus3
Released 2016
Type handset
Hardware
Chipset Qualcomm Snapdragon 820 (MSM8996)
CPU Kryo 2x2.2 GHz + 2x1.6 Ghz
GPU Adreno 530
Display 1080x1920 AMOLED
Storage 64 GB
Memory 6 GB
Architecture aarch64
postmarketOS
Category testing
Pre-built images no
Mainline yes
Features
Flashing
Works
USB Networking
Works
Internal storage
SD card
Battery
Broken
Screen
Partial
Touchscreen
Broken
Multimedia
3D Acceleration
Broken
Audio
Camera
Camera Flash
Connectivity
WiFi
Works
Bluetooth
Broken
GPS
NFC
Modem
Calls
SMS
Mobile data
Miscellaneous
FDE
USB OTG
HDMI/DP
Sensors
Accelerometer
Magnetometer
Ambient Light
Proximity
Hall Effect
Haptics
Barometer
This device is based on the Snapdragon 820.
See the SoC page for common tips, guides and troubleshooting steps

Contributors

Maintainer(s)

Users owning this device

  • Bczeman
  • Bdju (Notes: partially broken/disassembled)
  • Caesarhao (Notes: European version)
  • Harryausten (Notes: disassembled with UART connected)
  • Jja2000
  • Jrg (Notes: Broken touchscreen)
  • MasterPlexus (Notes: still on Lineage)
  • Nspire
  • Rjeli
  • Roboe (Notes: bloated battery (removed), might try to make a charging circuit or get a replacement sometime; aftermarket screen replacement, lot of issues with CPU suspend; running Lineage OS)
  • Santeri3700 (Notes: x1, in-use with Android)
  • Shubhamvis98
  • Ungeskriptet (Notes: Glass lifts off a little, needs new glue)


Unlocking the Bootloader

WARNING: Doing this will wipe ALL data on your device. Please backup all your personal data before continuing!

  1. Enable Developer options by tapping the build number 7 times in Settings > About
  2. Go to Developer options and enable both USB Debugging and OEM Unlocking
  3. Open a terminal window and type adb devices to verify your device is visible.
  4. Type adb reboot bootloader to reboot your device into fastboot mode.
  5. Type fastboot devices to verify once again that your device is visible.
  6. Type fastboot oem unlock. To navigate the on screen options use Volume Up/Down and select an option with the Power button.
  7. Congrats, your bootloader is now unlocked!

Enter Flashmode

  1. After the bootloader is unlocked press the Power button and you should see the warning screen. Press Volume Up/Down to open the boot options.
  2. Select Fastboot and press Power

You are now ready to flash.

Installation

UART

Start by removing the 2 T2 screws at the bottom which are holding the back cover together and then pry the back cover up from the bottom. The 2 points are located below the camera

Note Note: For some peculiar reason, UART doesn't work with the back cover attached.

Oneplus-oneplus3 UART.png

Bootloader UART logs:

Format: Log Type - Time(microsec) - Message - Optional Info
Log Type: B - Since Boot(Power On Reset),  D - Delta,  S - Statistic
S - QC_IMAGE_VERSION_STRING=BOOT.XF.1.0-00316
S - IMAGE_VARIANT_STRING=M8996LAB
S - OEM_IMAGE_VERSION_STRING=rd-build-193
S - Note XBL compiled at Nov  4 2019 21:08:39
S - Boot Interface: UFS
S - Secure Boot: On
S - Boot Config @ 0x00076044 = 0x000001c9
S - JTAG ID @ 0x000760f4 = 0x409470e1
S - OEM ID @ 0x000760f8 = 0x2a703db9
S - Serial Number @ 0x00074138 = 0x6abfe9f1
S - Feature Config Row 0 @ 0x000741a0 = 0x0050000010000100
S - Feature Config Row 1 @ 0x000741a8 = 0x0001000000000000
S - Core 0 Frequency, 1228 MHz
B -         0 - PBL, Start
B -     10414 - bootable_media_detect_entry, Start
B -     45926 - bootable_media_detect_success, Start
B -     45930 - elf_loader_entry, Start
B -     46916 - auth_hash_seg_entry, Start
B -     47896 - auth_hash_seg_exit, Start
B -     79705 - elf_segs_hash_verify_entry, Start
B -     82200 - PBL, End
B -     84241 - SBL1, Start
B -    174521 - usb: hs_phy_nondrive_start
B -    174856 - usb: PLL lock success - 0x3
B -    177845 - usb: hs_phy_nondrive_finish
B -    181993 - boot_flash_init, Start
D -        30 - boot_flash_init, Delta
B -    189100 - sbl1_ddr_set_default_params, Start
D -        30 - sbl1_ddr_set_default_params, Delta
B -    197060 - boot_config_data_table_init, Start
B -    430782 - CDT not programmed, using default
D -    229238 - boot_config_data_table_init, Delta - (54 Bytes)
B -    434106 - CDT Version:3,Platform ID:8,Major ID:1,Minor ID:0,Subtype:0
B -    439932 - Image Load, Start
D -     22082 - PMIC Image Loaded, Delta - (37464 Bytes)
B -    462014 - pm_device_init, Start
B -    467748 - PON REASON:PM0:0x2000000a0 PM1:0x2000000a0 
B -    504287 - PM_SET_VAL:Skip
D -     40138 - pm_device_init, Delta
B -    506208 - pm_driver_init, Start
D -      2989 - pm_driver_init, Delta
B -    512796 - pm_sbl_chg_init, Start
D -       305 - pm_sbl_chg_init, Delta
B -    519567 - vsense_init, Start
D -         0 - vsense_init, Delta
B -    527345 - Pre_DDR_clock_init, Start
D -       366 - Pre_DDR_clock_init, Delta
B -    533170 - ddr_initialize_device, Start
B -    536861 - 8996 v3.x detected, Max frequency = 1.8 GHz
B -    540917 - hw_self_refresh_enable = 0
B -    546285 - reboot_reason = 0x0
B -    555466 - hw_self_refresh_enable = 0
B -    555496 - reboot_reason = 0x0
B -    559095 - ddr_initialize_device, Delta
B -    561566 - DDR ID, Rank 0, Rank 1, 0x1, 0x600, 0x600
B -    565653 - Basic DDR tests done
B -    625860 - clock_init, Start
D -       244 - clock_init, Delta
B -    627873 - Image Load, Start
D -      5856 - QSEE Dev Config Image Loaded, Delta - (48160 Bytes)
B -    634217 - Image Load, Start
D -      7320 - APDP Image Loaded, Delta - (7696 Bytes)
B -    642879 - Image Load, Start
D -     57004 - QSEE Image Loaded, Delta - (1704316 Bytes)
B -    699914 - Image Load, Start
D -       183 - SEC Image Loaded, Delta - (4096 Bytes)
B -    707478 - sbl1_efs_handle_cookies, Start
D -       305 - sbl1_efs_handle_cookies, Delta
B -    715957 - Image Load, Start
D -     14548 - QHEE Image Loaded, Delta - (262592 Bytes)
B -    730536 - Image Load, Start
D -     13969 - RPM Image Loaded, Delta - (223932 Bytes)
B -    744840 - Image Load, Start
D -      3630 - STI Image Loaded, Delta - (0 Bytes)
B -    751642 - Image Load, Start
D -     89151 - APPSBL Image Loaded, Delta - (1667588 Bytes)
B -    840885 - SBL1, End
D -    760883 - SBL1, Delta
S - Flash Throughput, 115000 KB/s  (3960114 Bytes,  34237 us)
S - DDR Frequency, 1017 MHz
Android Bootloader - UART_DM Initialized!!!
[0] Note LK compiled at Nov  4 2019 21:18:46

[40] UFS init success
[40] ----Inquiry buffer----
[40] [Oneplus]buf[0] = 0
[40] [Oneplus]buf[1] = 0
[40] [Oneplus]buf[2] = 6
[50] [Oneplus]buf[3] = 2
[50] [Oneplus]buf[4] = 1f
[50] [Oneplus]buf[5] = 0
[50] [Oneplus]buf[6] = 0
[60] [Oneplus]buf[7] = 2
[60] [Oneplus]buf[8] = 53
[60] [Oneplus]buf[9] = 41
[60] [Oneplus]buf[10] = 4d
[70] [Oneplus]buf[11] = 53
[70] [Oneplus]buf[12] = 55
[70] [Oneplus]buf[13] = 4e
[70] [Oneplus]buf[14] = 47
[70] [Oneplus]buf[15] = 0
[80] [Oneplus]buf[16] = 4b
[80] [Oneplus]buf[17] = 4c
[80] [Oneplus]buf[18] = 55
[80] [Oneplus]buf[19] = 43
[90] [Oneplus]buf[20] = 47
[90] [Oneplus]buf[21] = 34
[90] [Oneplus]buf[22] = 4a
[90] [Oneplus]buf[23] = 31
[100] [Oneplus]buf[24] = 43
[100] [Oneplus]buf[25] = 42
[100] [Oneplus]buf[26] = 2d
[100] [Oneplus]buf[27] = 42
[110] [Oneplus]buf[28] = 30
[110] [Oneplus]buf[29] = 42
[110] [Oneplus]buf[30] = 31
[110] [Oneplus]buf[31] = 0
[120] [Oneplus]buf[32] = 30
[120] [Oneplus]buf[33] = 38
[120] [Oneplus]buf[34] = 30
[120] [Oneplus]buf[35] = 30
[130] ----end of buffer---
[130] ucs_scsi_send_inquiry_revision :0800
[130] FFU is successful! 
[140] get_param_by_index_and_offset[50]  sid_index = 1  offset = 24 buf = 0x91e9d880 length = 4
[150] set_msm_boot_mode_by_gpio : enter
[150] GPIO detect:  MSM_BOOT_MODE__NORMAL
[170] set_msm_boot_mode_by_share_memory_args : Reboot mode by mem args =0x0
[170] project name is null and use default 15801
[190] start_pwrkey_monitor_func : press
[200] bq27541_dsi_i2c_read
[200] get bq27541 DCAP_H=0xe
[200] get_hw_version=16,bat_type=11,HW_VERSION__28=28
[210] FG: gain -20  raw_vbat 4173 calibrated_vbat 3964 errFlag = 0
[210] stored_soc[0x0], shutdown_soc[-1]
[220] Qseecom Init Done in Appsbl version is 0x1001000
[220] secure app region addr=0x86600000 size=0x2200000[230] TZ App region notif returned with status:0 addr:86600000 size:35651584
[230] TZ App log region register returned with status:0 addr:91edb000 size:4096
[240] Qseecom TZ Init Done in Appsbl
[270] Loading cmnlib done
[300] <8>keymaster: "\"KEYMASTER Init \""
[300] <8>keymaster: "\"Error: qsee_cfg_getpropval in get_enable_set_bandwidth failed for enable_set_bandwidth, ret_size = 0\"
[310] <8>keymaster: "\"open_add_km_partition status:0\""
[330] RPMB is enable
[330] RPMB is enable, we do not change enable_dm_verity value in devinfo.
[330] get_param_by_index_and_offset[50]  sid_index = 12  offset = 416 buf = 0x91ed0950 length = 4
[400] start_pwrkey_monitor_func : press
[890] Not able to search the panel:
[900] init_panel_data: SAMSUNG_S6E3FA3_1080P_CMD_PANEL
[900] Return value from recv_data: 14
[910] Return value from recv_data: 14
[920] Return value from recv_data: 14
[940] is_usb_present: FALSE
[940] LOGO: MSM_BOOT_MODE__NORMAL
[1020] read the LCD ID register is 0x4 
[1020] match s6e3fa3 id successfully
[1130] set samsung brightness 68 
[1140] Device is unlocked! Skipping verification...
[1190] Loading (boot) image (10977280): done
[6400] is_usb_present: FALSE
[6410] LOGO: MSM_BOOT_MODE__NORMAL
[6420] Return value from recv_data: 14
[6430] Return value from recv_data: 14
[6440] Return value from recv_data: 14
[6450] <8>keymaster: "\"len: 48\""
[6450] <8>keymaster: "\"boot state: 48\""
[6460] <8>keymaster: "\"is_unlocked: 1\""
[6460] <8>keymaster: "\"color: 1\""
[6460] <8>keymaster: "\"system_version: 0\""
[6470] <8>keymaster: "\"system_security_level 0\""
[6470] Sending Root of Trust to trustzone: end
[6770] set_msm_boot_mode_by_uart : enter
# # # [6920] COLD: power_on_reason  is PON1 [0xa0]
[6920] COLD: power_on_reason  is KPADPWR_N [0xa0]
[6920] COLD: power_off_reason  is PS_HOLD [0x2]
[6930] get_param_by_index_and_offset[50]  sid_index = 0  offset = 76 buf = 0x91ed0720 length = 28
[6940] get_param_by_index_and_offset[50]  sid_index = 12  offset = 412 buf = 0x91ed0708 length = 4
[6950] get_param_by_index_and_offset[50]  sid_index = 10  offset = 128 buf = 0x91ed0704 length = 4
[6950] get_param_by_index_and_offset[50]  sid_index = 12  offset = 408 buf = 0x91ed06e8 length = 4
[6960] boot_stage:0x9012 
[6970] get_param_by_index_and_offset[50]  sid_index = 12  offset = 412 buf = 0x91ed06e8 length = 4
[6970] data_stage:0x1234
[6980] RPMB is enable
[6980] get_param_by_index_and_offset[50]  sid_index = 12  offset = 424 buf = 0x91ed0708 length = 4
[6990] get_param_by_index_and_offset[50]  sid_index = 0  offset = 76 buf = 0x91ed0728 length = 28
[7000] Failed to get parent node: fstab error: -1
[7000] ERROR: Cannot update fstab node
[7010] Success [7010] Return value from recv_data: 14
[7020] Qseecom De-Init Done in Appsbl

See Also