Difference between revisions of "Xiaomi Mi Note 2 (xiaomi-scorpio)"

From postmarketOS
Jump to navigation Jump to search
(Update OTG status)
(→‎Mainline: Update issue)
 
(19 intermediate revisions by 2 users not shown)
Line 3: Line 3:
 
| name = Mi Note 2
 
| name = Mi Note 2
 
| codename = xiaomi-scorpio
 
| codename = xiaomi-scorpio
| image = File:Xiaomi-scorpio.jpg
+
| image = File:Xiaomi-scorpio-phosh.jpg
| imagecaption = Xiaomi Mi Note 2 running Weston
+
| imagecaption = Xiaomi Mi Note 2 running Phosh
 
| releaseyear = 2016
 
| releaseyear = 2016
 
| originalsoftware = Android 6.0 (Marshmallow), MIUI 8.2 - Upgradeable to Android 8.0
 
| originalsoftware = Android 6.0 (Marshmallow), MIUI 8.2 - Upgradeable to Android 8.0
| pmoskernel = 3.18.124
 
 
| chipset = Qualcomm MSM8996Pro Snapdragon 821
 
| chipset = Qualcomm MSM8996Pro Snapdragon 821
| cpu = 2x 2.35 GHz Kryo & 2x 1.6 GHz Kryo)
+
| cpu = 2x 2.34 GHz Kryo & 2x 2.19 GHz Kryo
 
| gpu = Adreno 530
 
| gpu = Adreno 530
| storage = UFS 2.0:
+
| storage = UFS 2.0 64/128GB
 
+
| display = 1080x1920 OLED
64GB (Samsung KLUCG4J1CB-B0B1), or
 
128GB
 
| display = LGD SW43101 1080x1920 OLED video mode panel
 
 
| memory = 4/6 GB
 
| memory = 4/6 GB
 
| architecture = aarch64
 
| architecture = aarch64
<!-- the following status_* questions should be answered with Y - yes, P - partial, N - no, or left blank (for untested or unknown) -->
+
| status_usbnet = Y
| status_usbnet = N <!-- USB networking does work? then put Y here and delete this comment -->
+
| status_flashing = Y
| status_flashing = Y <!-- Flashing with "pmbootstrap flasher" works? Put Y here. It works the same for everything coming below. -->
+
| status_touch = Y
| status_touch = Y<!-- Touch screen is working? You can also answer these questions with P for partially. -->
+
| status_screen = Y
| status_screen = Y <!-- The display is working? -->
+
| status_wifi = Y
| status_wifi = N <!-- Wireless network works? -->
+
| status_xwayland = Y
| status_xwayland = <!-- Showing X11 applications in a Wayland compositor (Weston, KWin, ...) works? -->
+
| status_fde =
| status_fde = <!-- When installing with full disk encryption, can you type in the password with the on screen keyboard? -->
+
| status_mainline = Y
| status_mainline = Y <!-- Instead of a Linux kernel fork, it is possible to run mainline. -->
+
| status_battery = N
| status_battery = P <!-- Charging the battery with charging-sdl is possible -->
+
| status_3d = Y
| status_3d = N <!-- Hardware accelerated 3D graphics (e.g. with freedreno) -->
+
| status_accel = N
| status_accel = N <!-- The sensor that measures proper acceleration works -->
+
| status_audio = P
| status_audio = <!-- Using the device's speakers/headphone jack works -->
+
| status_bluetooth = Y
| status_bluetooth = <!-- It's possible to pair and use other devices via the bluetooth protocol -->
+
| status_camera = N
| status_camera = <!-- Taking photos and videos works. -->
+
| status_gps =
| status_gps = <!-- The Global Positioning System sensor works.  -->
+
| status_mobiledata =
| status_mobiledata = <!-- Connecting to the Internet via cellular network. -->
+
| status_sms = Y
| status_sms = <!-- Sending and receiving short messages works as intended. -->
+
| status_calls = N
| status_calls = <!-- Talking to other people over the cellular network. -->
+
| status =
| status = <!-- Text displayed in the "not booting" table on the Devices page , e.g "kernel compiles, doesn't boot" -->
+
| booting = yes
| booting = yes <!-- The device is booting at all, can be yes/no *IMPORTANT* -->
 
 
 
<!-- you can also use these lines if you need to:
 
see Unixbench page on wiki
 
| whet_dhry = 0.0
 
Is OTG available, not used in wiki
 
 
| status_otg = N
 
| status_otg = N
-->
+
| whet_dhry = 2555.6
 
}}
 
}}
  
Line 53: Line 43:
 
== Maintainer(s) ==
 
== Maintainer(s) ==
 
* Tooniis
 
* Tooniis
<!-- Only if this device doesn't run on linux-postmarketos yet! -->
 
<!-- This person needs to be willing to answer questions from users of this device -->
 
  
 
== Users owning this device ==
 
== Users owning this device ==
Line 63: Line 51:
  
 
== Installation ==
 
== Installation ==
<!-- add more sections below as necessary, e.g. WiFi, photos, ... -->
 
 
You will need to [https://en.miui.com/unlock/ unlock the bootloader] in order to be able to flash anything onto the phone.
 
You will need to [https://en.miui.com/unlock/ unlock the bootloader] in order to be able to flash anything onto the phone.
  
Line 72: Line 59:
 
{|class="wikitable feature-colors"
 
{|class="wikitable feature-colors"
 
! Feature
 
! Feature
 +
! Components
 
! Status
 
! Status
 
!  
 
!  
 
|-
 
|-
 
|USB
 
|USB
 +
| TI TUSB320 (extcon)
 +
PMI8996 SMBB (OTG supply)
 
| P
 
| P
 
| Peripheral mode only, host mode might be working but without power. USB networking works.
 
| Peripheral mode only, host mode might be working but without power. USB networking works.
 +
|-
 +
|UFS
 +
| Samsung KLUCG4J1CB-B0B1 (64GB variant)
 +
| Y
 +
|
 
|-
 
|-
 
|Display
 
|Display
 +
| LG Display SW43101
 
| Y
 
| Y
 
| Both simplefb and mdss work.
 
| Both simplefb and mdss work.
 
|-
 
|-
|Touchscreen
+
|GPU
 +
| Adreno 530<sup>1</sup>
 
| Y
 
| Y
|  
+
| Somewhat glitchy, causes some artifacts and tearing on GNOME at least.
 
|-
 
|-
|UFS
+
|WiFi
 +
| QCA6174a -> PCIe
 
| Y
 
| Y
 
|
 
|
|-
 
|GPU
 
| P
 
| Somewhat glitchy, causes some artifacts and tearing on GNOME at least.
 
|-
 
|WiFi
 
| N
 
| PCIe bus enabled but QCA6164A (QCA6174A??) doesn't show up.
 
 
|-
 
|-
 
|Bluetooth
 
|Bluetooth
 +
| QCA6174a -> UART
 
| Y
 
| Y
 
|
 
|
 
|-
 
|-
|Buttons
+
|Modem
 +
| MSS<sup>1</sup>
 +
| P
 +
| Sending and receiving SMS works. Haven't tested other things yet.
 +
|-
 +
|NFC
 +
| NXP PN548
 
| Y
 
| Y
|  
+
|
 
|-
 
|-
|Battery
+
|IR Transmitter
 +
| PM8996 PWM<sup>2</sup>
 
| N
 
| N
| Will require fuel gauge and charger drivers
+
| Will require a driver.
 
|-
 
|-
|LEDs
+
|Audio Codec
 +
| WCD9335 (Headphones, earpiece, microphones)
 +
TAS2555 (Speaker)
 
| P
 
| P
|Keypad backlights only without brightness control.
+
|Headphones output only. Headphones mic input is very quiet for some reason.
 +
Will require a driver for speaker codec.
 
|-
 
|-
|Audio
+
|Video Codec
 +
| Venus<sup>1</sup>
 
| P
 
| P
|Headphones only.
+
| Boots successfully. Untested.
 +
|-
 +
|Battery
 +
| PMI8996 SMBB/Fuel gauge<sup>2</sup>
 +
SMB1351<sup>2</sup>
 +
| P
 +
| Fuel gauge works. Charging will require a driver for SMB1351.
 +
|-
 +
|Cameras
 +
| Main: IMX318
 +
Front: IMX268
 +
| N
 +
|Will require drivers for both camera modules.
 
|-
 
|-
 
|Sensors
 
|Sensors
 +
| SLPI<sup>1,2</sup>
 +
Gyroscope/Accelerometer: LSM6DSLTR
 +
 +
Compass: AK09915
 +
 +
Pressure: BMP285
 +
 +
Proximity: unknown
 
| N
 
| N
 +
| Will require a driver for SLPI.
 +
|-
 +
|Touchscreen
 +
| Atmel MaxTouch
 +
| Y
 
|
 
|
 +
|-
 +
|Touchkeys
 +
| Cypress StreetFighter
 +
|Y
 +
|Driver not upstream yet.
 
|-
 
|-
|Cameras
+
|Fingerprint Reader
 +
| FPC1020
 
| N
 
| N
|Will require drivers for both camera modules (IMX318 main, IMX268 front).
+
| Will require a driver.
 
|-
 
|-
|NFC
+
|Buttons
 +
| TLMM<sup>1,2</sup>/PM8996 GPIO<sup>2</sup> (Home, Volume Up)
 +
PM8996 PON/RESIN<sup>2</sup> (Power, Volume Down)
 +
| Y
 +
|
 +
|-
 +
|Haptics
 +
| PMI8996 Haptics<sup>2</sup>
 
| Y
 
| Y
|
+
| Driver not upstream yet.
 
|-
 
|-
|Modem
+
|LEDs
 +
| PM8996 PWM<sup>2</sup> (Keypad backlights)
 +
PMI8996 RGB/Flash<sup>2</sup> (Status light, Flash)
 
| P
 
| P
| Sending and receiving SMS works. Haven't tested other things yet.
+
|Keypad backlights only without brightness control (modeled as GPIO LEDs for now).
 +
Will require a driver for PWM/RGB/Flash .
 
|-
 
|-
 
|}
 
|}
 +
<sup>1</sup>: Internal component
 +
 +
<sup>2</sup>: Driver of component
  
 
==== Known issues: ====
 
==== Known issues: ====
 
* The display comes up blue after initialization sometimes. Rebooting makes it work usually.
 
* The display comes up blue after initialization sometimes. Rebooting makes it work usually.
* System locks up during heavy disk I/O loads.
+
* System locks up when accessing memory intensively. This might be caused by writing to a protected area of memory.
  
 
== See also ==
 
== See also ==
 
* {{MR|1576|pmaports}} Initial merge request
 
* {{MR|1576|pmaports}} Initial merge request
 
* {{Device package|xiaomi-scorpio}}
 
* {{Device package|xiaomi-scorpio}}
* {{Kernel package|xiaomi-scorpio}}
+
* {{MR|2063|pmaports}} Switch to mainline kernel fork
 +
 
 +
* [https://gitlab.com/postmarketOS/pmaports/-/tree/4d8473e255bb5872034ad96eac53b5cb61914780/device/testing/linux-xiaomi-scorpio Old downstream kernel package]

Latest revision as of 15:03, 12 April 2021

Xiaomi Mi Note 2
Xiaomi Mi Note 2 running Phosh
Xiaomi Mi Note 2 running Phosh
Manufacturer Xiaomi
Name Mi Note 2
Codename xiaomi-scorpio
Released 2016
Category testing
Original software Android 6.0 (Marshmallow), MIUI 8.2 - Upgradeable to Android 8.0
Hardware
Chipset Qualcomm MSM8996Pro Snapdragon 821
CPU 2x 2.34 GHz Kryo & 2x 2.19 GHz Kryo
GPU Adreno 530
Display 1080x1920 OLED
Storage UFS 2.0 64/128GB
Memory 4/6 GB
Architecture aarch64
Unixbench Whet/Dhry score 2555.6
Features
USB Networking
Works
Flashing
Works
Touchscreen
Works
Display
Works
WiFi
Works
Xwayland
Works
FDE
Mainline
Works
Battery
Broken
3D Acceleration
Works
Accelerometer
Broken
Audio
Partial
Bluetooth
Works
Camera
Broken
GPS
Mobile data
SMS
Works
Calls
Broken
USB OTG
Broken



Contributors

  • Tooniis

Maintainer(s)

  • Tooniis

Users owning this device

  • Tooniis (Notes: 64GB Storage, 4GB Memory)


How to enter flash mode

Hold Power + Volume Down while the phone is turned off. This will make the phone boot into fastboot mode

Installation

You will need to unlock the bootloader in order to be able to flash anything onto the phone.

Installing TWRP before doing anything else is recommended, as it makes dealing with the phone easier later on, and allows for quick restoration by taking backups of /system and /boot, then flashing them back in order to restore the device to its original state.

Mainline

Kernel fork

Feature Components Status
USB TI TUSB320 (extcon)

PMI8996 SMBB (OTG supply)

P Peripheral mode only, host mode might be working but without power. USB networking works.
UFS Samsung KLUCG4J1CB-B0B1 (64GB variant) Y
Display LG Display SW43101 Y Both simplefb and mdss work.
GPU Adreno 5301 Y Somewhat glitchy, causes some artifacts and tearing on GNOME at least.
WiFi QCA6174a -> PCIe Y
Bluetooth QCA6174a -> UART Y
Modem MSS1 P Sending and receiving SMS works. Haven't tested other things yet.
NFC NXP PN548 Y
IR Transmitter PM8996 PWM2 N Will require a driver.
Audio Codec WCD9335 (Headphones, earpiece, microphones)

TAS2555 (Speaker)

P Headphones output only. Headphones mic input is very quiet for some reason.

Will require a driver for speaker codec.

Video Codec Venus1 P Boots successfully. Untested.
Battery PMI8996 SMBB/Fuel gauge2

SMB13512

P Fuel gauge works. Charging will require a driver for SMB1351.
Cameras Main: IMX318

Front: IMX268

N Will require drivers for both camera modules.
Sensors SLPI1,2

Gyroscope/Accelerometer: LSM6DSLTR

Compass: AK09915

Pressure: BMP285

Proximity: unknown

N Will require a driver for SLPI.
Touchscreen Atmel MaxTouch Y
Touchkeys Cypress StreetFighter Y Driver not upstream yet.
Fingerprint Reader FPC1020 N Will require a driver.
Buttons TLMM1,2/PM8996 GPIO2 (Home, Volume Up)

PM8996 PON/RESIN2 (Power, Volume Down)

Y
Haptics PMI8996 Haptics2 Y Driver not upstream yet.
LEDs PM8996 PWM2 (Keypad backlights)

PMI8996 RGB/Flash2 (Status light, Flash)

P Keypad backlights only without brightness control (modeled as GPIO LEDs for now).

Will require a driver for PWM/RGB/Flash .

1: Internal component

2: Driver of component

Known issues:

  • The display comes up blue after initialization sometimes. Rebooting makes it work usually.
  • System locks up when accessing memory intensively. This might be caused by writing to a protected area of memory.

See also