Jump to content

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
Mainline
Instead of a Linux kernel fork, it is possible to run (Close to) Mainline.
yes
Device package device-oneplus-oneplus3
Kernel package linux-oneplus-oneplus3
Features
Flashing
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
Charging and battery level reporting works
Broken
Screen
Display works. Ideally with sleep mode and brightness control.
Partial
Touchscreen
Broken
Multimedia
3D Acceleration
Broken
Audio
Audio playback, microphone, headset and buttons.
Untested
Camera
Untested
Connectivity
WiFi
Works
Bluetooth
Broken
GPS
Untested
Modem
Calls
Untested
SMS
Untested
Mobile data
Untested
Miscellaneous
FDE
Full disk encryption and unlocking with unl0kr.
Untested
Sensors
Accelerometer
Auto screen rotation works in desktops e.g. Phosh or Plasma Mobile
Untested


Contributors

Maintainer(s)

Users owning this device


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.

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