OnePlus 3T (oneplus-oneplus3t): Difference between revisions
m Specify type |
|||
(23 intermediate revisions by 5 users not shown) | |||
Line 8: | Line 8: | ||
| imagecaption = OnePlus 3T with Plasma Mobile UI | | imagecaption = OnePlus 3T with Plasma Mobile UI | ||
| releaseyear = 2016 | | releaseyear = 2016 | ||
| originalsoftware = | | originalsoftware = Android | ||
| chipset = Qualcomm | | originalversion = 6.0 Marshmallow (OxygenOS 3.x) | ||
| chipset = Qualcomm Snapdragon 821 (MSM8996Pro) | |||
| cpu = 2x 2.35 GHz Kryo & 2x 1.6 GHz Kryo | | cpu = 2x 2.35 GHz Kryo & 2x 1.6 GHz Kryo | ||
| gpu = Adreno 530 | | gpu = Adreno 530 | ||
Line 16: | Line 17: | ||
| memory = 6 GB | | memory = 6 GB | ||
| architecture = aarch64 | | architecture = aarch64 | ||
| type = handset | |||
<!-- the following status_* questions should be answered with Y - yes, P - partial, N - no, or left blank (for untested or unknown) --> | <!-- the following status_* questions should be answered with Y - yes, P - partial, N - no, or left blank (for untested or unknown) --> | ||
| status_usbnet = Y <!-- USB networking does work? then put Y here and delete this comment --> | | status_usbnet = Y <!-- USB networking does work? then put Y here and delete this comment --> | ||
| status_flashing = Y <!-- Flashing with "pmbootstrap flasher" works? Put Y here. It works the same for everything coming below. --> | | status_flashing = Y <!-- Flashing with "pmbootstrap flasher" works? Put Y here. It works the same for everything coming below. --> | ||
| status_touch = Y <!-- Touch screen is working? You can also answer these questions with P for partially. --> | | status_touch = Y <!-- Touch screen is working? You can also answer these questions with P for partially. --> | ||
| status_screen = | | status_screen = P <!-- The display is working? --> | ||
| status_wifi = Y <!-- Wireless network works? --> | | status_wifi = Y <!-- Wireless network works? --> | ||
| status_xwayland = Y <!-- Showing X11 applications in a Wayland compositor (Weston, KWin, ...) works? --> | | status_xwayland = Y <!-- Showing X11 applications in a Wayland compositor (Weston, KWin, ...) works? --> | ||
Line 28: | Line 30: | ||
| status_3d = P <!-- Hardware accelerated 3D graphics (e.g. with freedreno) --> | | status_3d = P <!-- Hardware accelerated 3D graphics (e.g. with freedreno) --> | ||
| status_accel = <!-- The sensor that measures proper acceleration works --> | | status_accel = <!-- The sensor that measures proper acceleration works --> | ||
| status_audio = <!-- Using the device's speakers/headphone jack works --> | | status_audio = P <!-- Using the device's speakers/headphone jack works --> | ||
| status_bluetooth = <!-- It's possible to pair and use other devices via the bluetooth protocol --> | | status_bluetooth = Y <!-- It's possible to pair and use other devices via the bluetooth protocol --> | ||
| status_camera = <!-- Taking photos and videos works. --> | | status_camera = <!-- Taking photos and videos works. --> | ||
| status_gps = <!-- The Global Positioning System sensor works. --> | | status_gps = <!-- The Global Positioning System sensor works. --> | ||
Line 37: | Line 39: | ||
| status = <!-- Text displayed in the "not booting" table on the Devices page , e.g "kernel compiles, doesn't boot" --> | | status = <!-- Text displayed in the "not booting" table on the Devices page , e.g "kernel compiles, doesn't boot" --> | ||
| booting = yes <!-- The device is booting at all, can be yes/no *IMPORTANT* --> | | booting = yes <!-- The device is booting at all, can be yes/no *IMPORTANT* --> | ||
| status_otg = | | status_otg = Y | ||
| status_nfc = Y | |||
<!-- you can also use these lines if you need to: | <!-- you can also use these lines if you need to: | ||
Line 47: | Line 50: | ||
| whet_dhry = 0.0 | | whet_dhry = 0.0 | ||
Is OTG available, not used in wiki | Is OTG available, not used in wiki | ||
| status_otg = | | status_otg = Y | ||
--> | --> | ||
}}{{Based on SoC|Qualcomm_Snapdragon_820/821_(MSM8996)|Snapdragon 821}} | }}{{Based on SoC|Qualcomm_Snapdragon_820/821_(MSM8996)|Snapdragon 821}} | ||
Line 85: | Line 88: | ||
== Installation == | == Installation == | ||
< | <syntaxhighlight lang="shell-session"> | ||
$ pmbootstrap init | |||
$ pmbootstrap install | |||
$ pmbootstrap flasher flash_rootfs | |||
$ pmbootstrap flasher flash_kernel | |||
</syntaxhighlight> | |||
If the fastboot flash fails use the recovery mode: | |||
{{note|'''NOTE''': The original recovery fails to sideload the zip file, [https://twrp.me/oneplus/oneplusthree.html#fastboot flash TWRP recovery] first}} | |||
<syntaxhighlight lang="shell-session"> | |||
$ pmbootstrap install --android-recovery-zip | |||
$ pmbootstrap flasher --method=adb sideload | |||
</syntaxhighlight> | |||
== Mainline == | == Mainline == | ||
Line 115: | Line 131: | ||
Samsung S6E3FA5R9S | Samsung S6E3FA5R9S | ||
| | | P | ||
| | | Panel does not resume from suspend, drivers not in mainline yet | ||
|- | |- | ||
|GPU | |GPU | ||
Line 129: | Line 145: | ||
|- | |- | ||
|Bluetooth | |Bluetooth | ||
| | | Y | ||
| | | Tested and working using bluetoothctl | ||
|- | |- | ||
|Modem | |Modem | ||
Line 142: | Line 158: | ||
|- | |- | ||
|NFC | |NFC | ||
| NXP | | NXP PN66T (PN548 C2 + SmartMX) | ||
| | | Y | ||
| | | NFC tags are detected, SmartMX secure element on SPI is not configured | ||
|- | |- | ||
|Audio Codec | |Audio Codec | ||
| WCD9335 (Headphones, earpiece, microphones) | | WCD9335 (Headphones, earpiece, microphones) | ||
NXP TFA9890 (Speaker) | NXP TFA9890 (Speaker) | ||
| | | P | ||
| | | Headphone output works | ||
|- | |- | ||
|Video Codec | |Video Codec | ||
Line 194: | Line 210: | ||
|Touchkeys | |Touchkeys | ||
| Synaptics S1302 | | Synaptics S1302 | ||
| | | Y | ||
| | | Synaptics F1A driver not in mainline yet | ||
|- | |- | ||
|Fingerprint Reader | |Fingerprint Reader | ||
Line 206: | Line 222: | ||
|Buttons | |Buttons | ||
| TLMM<sup>1,2</sup>/PM8996 GPIO<sup>2</sup> (Volume Up, Volume Down) | | TLMM<sup>1,2</sup>/PM8996 GPIO<sup>2</sup> (Volume Up, Volume Down) | ||
PM8994 PON | PM8994 PON<sup>2</sup> (Power) | ||
| Y | | Y | ||
| | | | ||
Line 212: | Line 228: | ||
|Tri-state switch | |Tri-state switch | ||
| TLMM<sup>1,2</sup>/PM8996 GPIO<sup>2</sup> | | TLMM<sup>1,2</sup>/PM8996 GPIO<sup>2</sup> | ||
| | | Y | ||
| | | | ||
|- | |- | ||
|Haptics | |Haptics | ||
| PMI8996 Haptics<sup>2</sup> | | PMI8996 Haptics<sup>2</sup> | ||
| | | P | ||
| Driver not upstream yet | | Driver not upstream yet, direct play mode support is missing | ||
|- | |- | ||
|LEDs | |LEDs | ||
| | | PMI8996 MPP<sup>2</sup> (touchkeys backlights) | ||
PMI8996 LPG/Flash<sup>2</sup> (Status light, Flash) | PMI8996 LPG/Flash<sup>2</sup> (Status light, Flash) | ||
| | | P | ||
| | | Status light and touchkeys backlights work. Flash will probably require a driver. | ||
|- | |- | ||
|} | |} | ||
Line 232: | Line 248: | ||
== Known issues == | == Known issues == | ||
* kernel oops on reboot https://gitlab.com/pmos-oneplus3t/linux/-/wikis/oneplus3t-mainline-reboot-oops-dmesg | * screen goes to suspend on power button press, resume does not work | ||
* kernel oops on reboot https://gitlab.com/pmos-oneplus3t/linux/-/wikis/oneplus3t-mainline-reboot-oops-dmesg Workaround: https://gitlab.com/pmos-oneplus3t/linux/-/commit/13c0a5cf0feb296940c95753025222c022357cc4 | |||
* screen goes to suspend in about 30 seconds after tinydm phosh/weston) starts and never resumes. Fix: https://gitlab.com/msm8996-mainline/linux/-/merge_requests/12 | * screen goes to suspend in about 30 seconds after tinydm phosh/weston) starts and never resumes. Fix: https://gitlab.com/msm8996-mainline/linux/-/merge_requests/12 | ||
== See also == | == See also == |
Latest revision as of 06:02, 20 October 2023
![]() OnePlus 3T with Plasma Mobile UI | |
Manufacturer | OnePlus |
---|---|
Name | 3T |
Codename | oneplus-oneplus3t |
Released | 2016 |
Type | handset |
Hardware | |
Chipset | Qualcomm Snapdragon 821 (MSM8996Pro) |
CPU | 2x 2.35 GHz Kryo & 2x 1.6 GHz Kryo |
GPU | Adreno 530 |
Display | 1080x1920 AMOLED |
Storage | 64/128 GB |
Memory | 6 GB |
Architecture | aarch64 |
Software | |
Original software | Android |
Original version | 6.0 Marshmallow (OxygenOS 3.x) |
postmarketOS | |
Category | testing |
Pre-built images | no |
Mainline | yes |
Flashing |
Works |
---|---|
USB Networking |
Works |
Internal storage |
No data |
SD card |
No data |
Battery |
Works |
Screen |
Partial |
Touchscreen |
Works |
Multimedia | |
3D Acceleration |
Partial |
Audio |
Partial |
Camera |
No data |
Camera Flash |
No data |
Connectivity | |
WiFi |
Works |
Bluetooth |
Works |
GPS |
No data |
NFC |
Works |
Modem | |
Calls |
No data |
SMS |
No data |
Mobile data |
No data |
Miscellaneous | |
FDE |
No data |
USB OTG |
Works |
HDMI/DP |
No data |
Sensors | |
Accelerometer |
No data |
Magnetometer |
No data |
Ambient Light |
No data |
Proximity |
No data |
Hall Effect |
No data |
Haptics |
No data |
Barometer |
No data |
This device is based on the Snapdragon 821. See the SoC page for common tips, guides and troubleshooting steps |
Contributors
- DrGit
- MartinL
Maintainer(s)
Users owning this device
- Akitlove (Notes: 64GB with Samsung s6e3fa5 display panel)
- Bczeman
- DALEK 77 (Notes: 128GB, Gunmetal, Samsung S6E3FA5 display panel)
- Drebrez
- DrGit (Notes: 128GB)
- Earboxer (Notes: broken OLED, no os, can't get into bootloader)
- Kirjoittamaton (Notes: Samsung S6E3FA3 display panel)
- MartinL (Notes: 128GB with Samsung s6e3fa5 display panel)
- Nobodywasishere (Notes: Have two of them)
- Sanzoghenzo (Notes: See the journal)
- SheatNoisette (Notes: 128GB)
- ThatGeekZen (Notes: A3000)
- TPJS (Notes: Good condition; stock; unknown screen type)
Good luck.
Unlocking the Bootloader
WARNING: Doing this will wipe ALL data on your device. Please backup all your personal data before continuing!
- Enable
Developer options
by tapping the build number 7 times inSettings
>About
- Go to
Developer options
and enable bothUSB Debugging
andOEM Unlocking
- Open a terminal window and type
adb devices
to verify your device is visible. - Type
adb reboot bootloader
to reboot your device into fastboot mode. - Type
fastboot devices
to verify once again that your device is visible. - Type
fastboot oem unlock
. To navigate the on screen options use and select an option with the button. - Congrats, your bootloader is now unlocked!
How to enter flash mode
- After the bootloader is unlocked press the button and you should see the warning screen. Press to open the boot options.
- Select
Fastboot
and press
You are now ready to flash.
Installation
$ pmbootstrap init
$ pmbootstrap install
$ pmbootstrap flasher flash_rootfs
$ pmbootstrap flasher flash_kernel
If the fastboot flash fails use the recovery mode:
NOTE: The original recovery fails to sideload the zip file, flash TWRP recovery first |
$ pmbootstrap install --android-recovery-zip
$ pmbootstrap flasher --method=adb sideload
Mainline
MSM8996 common mainline kernel fork
Feature | Components | Status | |
---|---|---|---|
USB | Onsemi FUSB301 (extcon)
PMI8996 SMBCharger (OTG supply) |
Y | SMBCharger OTG VBUS driver not upstream. |
UFS | SAMSUNG KLUDG8J1CB-B0B1 (128GB) | Y | |
Display | MDSS1,2
Samsung S6E3FA3 Samsung S6E3FA5 Samsung S6E3FA5R9S |
P | Panel does not resume from suspend, drivers not in mainline yet |
GPU | Adreno 5301 | Y | Somewhat glitchy, causes some artifacts and tearing in GNOME and GTK4 due to a possible mesa bug. Can be mitigated by disabling binning by setting FD_MESA_DEBUG=nobin .
|
WiFi | QCA6174a | Y | |
Bluetooth | Y | Tested and working using bluetoothctl | |
Modem | MSS1 | N | Calls and SMS untested. Mobile data requires WIP IPA 2.5 support in IPA driver and modemmanager. |
GNSS | N | requires PDS support in gpsd | |
NFC | NXP PN66T (PN548 C2 + SmartMX) | Y | NFC tags are detected, SmartMX secure element on SPI is not configured |
Audio Codec | WCD9335 (Headphones, earpiece, microphones)
NXP TFA9890 (Speaker) |
P | Headphone output works |
Video Codec | Venus1 | N | Untested |
Battery | TI BQ27541 3400mAh
PMI8996 SMBCharger/Fuel gauge2 SMB13512 |
P | Fuel gauge works. Charger can reach its maximum current at 5V. Faster charging (9V) will require extra handling in the PMI8996 SMBCharger driver, and for better efficiency (and possibly even faster charging) a new driver for SMB1351. |
Rear Camera | Sensor: Sony IMX298
Lens actuator: ROHM BU63165GWL |
N | Needs dts, untested, no mainline driver |
Front Camera | Sensor: Samsung S5K3P8SP | N | Needs dts, untested, no mainline driver |
Sensors | SLPI/SSC1,2
Gyroscope/Accelerometer: LSM6DS3 Magnetometer: MMC3416PJ Pressure Proximity + Light: APDS-9922 |
N | Work in progress SSC driver. |
Touchscreen | Synaptics S3320 | Y | |
Touchkeys | Synaptics S1302 | Y | Synaptics F1A driver not in mainline yet |
Fingerprint Reader | fpc1020 | N | Must confirm if SPI and/or GPIOs leading to it are accessible from the normal world. Work in progress fingerprint subsystem. Needs driver.
If SPI and GPIOs are secure, a driver for QSEECOM will be needed to load the vendor-provided trusted app, as well as something to communicate with it. |
Buttons | TLMM1,2/PM8996 GPIO2 (Volume Up, Volume Down)
PM8994 PON2 (Power) |
Y | |
Tri-state switch | TLMM1,2/PM8996 GPIO2 | Y | |
Haptics | PMI8996 Haptics2 | P | Driver not upstream yet, direct play mode support is missing |
LEDs | PMI8996 MPP2 (touchkeys backlights)
PMI8996 LPG/Flash2 (Status light, Flash) |
P | Status light and touchkeys backlights work. Flash will probably require a driver. |
1: Internal component
2: Driver of component
Known issues
- screen goes to suspend on power button press, resume does not work
- kernel oops on reboot https://gitlab.com/pmos-oneplus3t/linux/-/wikis/oneplus3t-mainline-reboot-oops-dmesg Workaround: https://gitlab.com/pmos-oneplus3t/linux/-/commit/13c0a5cf0feb296940c95753025222c022357cc4
- screen goes to suspend in about 30 seconds after tinydm phosh/weston) starts and never resumes. Fix: https://gitlab.com/msm8996-mainline/linux/-/merge_requests/12
See also
- pmaports!923 Initial merge request
- Device package
- Accessing UART