Jump to content

Meizu M6 Note (meizu-meilan-note-6)

From postmarketOS Wiki
Meizu M6 Note
Meizu M6 NOTE
Meizu M6 NOTE
Manufacturer Meizu
Name M6 Note
Codename meizu-meilan-note-6
Released 2017
Type handset
Hardware
Chipset Qualcomm Snapdragon 625 (MSM8953)
CPU Octa-core 2 GHz Cortex-A53
GPU Adreno 506
Display 1080x1920 IPS
Storage 16/32/64 GB
Memory LPDDR3 SDRAM, 933MHz, 3/4 GB
Architecture aarch64
Software
Original software
The software and version the device was shipped with.
Android (Flyme OS) 7
Extended version
The most recent supported version from the manufacturer.
Android (Flyme OS)
postmarketOS
Mainline
Instead of a Linux kernel fork, it is possible to run (Close to) Mainline.
no
pmOS kernel
The kernel version that runs on the device's port.
7.1.3
Features
Flashing
Whether 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
Internal storage
eMMC, SD cards, UFS...
Works
Battery
Whether charging and battery level reporting work.
Works
Screen
Whether the display works; ideally with sleep mode and brightness control.
Works
Touchscreen
Works
Multimedia
3D Acceleration
Works
Audio
Audio playback, microphone, headset and buttons.
Works
Camera
Partial
Camera Flash
Works
Connectivity
WiFi
Works
Bluetooth
Works
GPS
Partial
Modem
Calls
Partial
SMS
Works
Mobile data
Works
Miscellaneous
FDE
Full disk encryption and unlocking with unl0kr.
Untested
USB OTG
USB On-The-Go or USB-C Role switching.
Untested
Sensors
Accelerometer
Handles automatic screen rotation in many interfaces.
Works
Magnetometer
Sensor to measure the Earth's magnetism
Untested
Ambient Light
Measures the light level; used for automatic screen dimming in many interfaces.
Works
Proximity
Partial
Hall Effect
Measures magnetic fields; usually used as a flip cover sensor
Untested
Haptics
Works

Meizu M6 Note (m1721) is a Qualcomm Snapdragon 625 (MSM8953) handset. This page tracks a work-in-progress mainline postmarketOS port (phosh) built on the msm8953-mainline kernel. The pmaports device directory is meizu-m1721 (from the internal model id m1721); meilan-note-6 is the marketing codename. The port is not yet in upstream pmaports.

Maintainer(s)

Contributors

  • Skivaks

Users owning this device

  • CyberTailor (Notes: LineageOS 21.0, needs screen replacement)

Installation

Warning WARNING: This is an unofficial out-of-tree port. It is not in upstream pmaports and is not installable through the official postmarketOS tooling: pmbootstrap init does not list the device, and there is no official image. It is built from a personal pmaports fork against a forked msm8953-mainline kernel and flashed manually (see Flash mode below). Use at your own risk.

The device-specific kernel patch series (14 patches: DTS, panel, camera sensors, sound/voice, LED/flash, haptics, sensors) lives as a branch on a personal fork of the msm8953-mainline kernel: nomorecoolnicknames/linux @ meizu-m1721 (based on the barni2000/7.1.3/develop branch); these have not yet been submitted upstream.

The postmarketOS aports (device package, the shared kernel aport with the m1721 patches, and the libcamera fork) are published as a pmaports overlay: nomorecoolnicknames/meizu-m1721-pmaports, which includes build + flash instructions.

Note Note: the boot partition holds lk2nd in its first 512 KiB; the postmarketOS boot.img is written at a 512 KiB offset so lk2nd stays intact.

Flash mode

  • Stock Fastboot: power on the device with Power + Volume Down.
  • lk2nd Fastboot: power on the device and, after the boot vibration, hold a Volume button.

What works

Main:

  • USB Networking
  • Flashing (via lk2nd)
  • Touchscreen — Focaltech FT5435 (edt-ft5x06)
  • Display — Himax HX8399C-TCL FHD DSI panel + backlight (device-specific panel driver)
  • 3D acceleration — Adreno 506 (Freedreno/Mesa, OpenGL ES 3.1)
  • WiFi — WCN3680 (wcn36xx)
  • Bluetooth — WCN3680 (wcn36xx)
  • Battery + charger — PMI8950 (fuel-gauge + smbcharger); correct charging icon
  • Accelerometer / Gyroscope — InvenSense ICM-20608 (inv_mpu6050)
  • Ambient Light Sensor — LiteOn LTR-578ALS (PART_ID 0xB1; earlier taken for an LTR-390, whose ALS register block it shares), driven by an out-of-tree ltr578 IIO driver carried in the port that exposes both the ALS and the proximity channels (see proximity under partial)
  • Audio — earpiece, headphones, microphones (on-SoC msm8953-wcd codec) and the external boosted speaker amp Cirrus CS35L35 (speaker is the phosh default)
  • Voice calls — incoming + outgoing (GNOME Calls / ModemManager over QRTR), earpiece + mic, in-call speakerphone switching, hardware in-call mic mute; needs a q6voice in-call device-switch kernel patch, a UCM Voice Call verb and a polkit grant for ModemManager voice ops (all carried in the port)
  • Mobile Data
  • SMS (send + receive, on the active SIM — see SIM under partial)
  • Vibrator / Haptics — PMI8950 SPMI haptics (qcom-spmi-haptics with output-stage fixes carried in the port)

Other:

  • GPS — modem GNSS, NMEA sentences flow (needs open sky for a fix). Off by default to save power (a permanently-searching GNSS drains the battery and heats the modem); enabled on demand via a gps on helper
  • Notification LED — Awinic AW2013 (leds-aw2013)
  • Flashlight / torch — Awinic AW36413, all 4 ring LEDs (out-of-tree leds-aw36413 LED-class flash driver carried in the port, both chips; phosh torch toggle works)

Partial / in progress

  • Camera — rear Sony IMX260 (imx362 driver) and front Samsung S5K3P8SP both stream RAW; the capture pipeline, rear colour (native GRBG Bayer phase + a libcamera IMX362 sensor helper) and still-frame capture work. Standalone GStreamer sinks run the SoftISP preview at ~24–29 fps, but inside GNOME Snapshot the preview drops to ~10 fps: root-caused to buffer-ring starvation (Snapshot's camerabin holds more buffers than libcamera's default ring depth), not a GPU/GTK4 limit; a libcamera buffer-count bump is built and pending on-device verification. (The DMABuf zero-copy import patch currently fails per frame and falls back to CPU upload, which still sustains 28+ fps.) Megapixels still crashes on this SoftISP setup.
  • SIM — both slots detected with LTE registration; single active SIM, switchable between slots at runtime with a QMI provisioning tool (sim-select). True dual-standby (both SIMs reachable at once) is not available on the mainline QRTR stack — the second subscription never registers without qcril-style userspace, so calls/SMS only reach the active SIM.
  • Headphone jack detection — insertion is detected and audio switches to headphones; unplugging is not detected (codec MBHC removal detect), so switching back currently needs a replug-less workaround.
  • Proximity sensor — the out-of-tree ltr578 driver reports live proximity (and ALS) values on-device; the remaining step is wiring it to iio-sensor-proxy so the screen blanks against the ear during a call.

What does not work

  • Fingerprint — Goodix GF3208. No mainline driver, and enablement is blocked lower down: the sensor's SPI controller (BLSP1 QUP1 @0x78b5000) is reachable under the stock Android bootloader but not under this port's lk2nd/mainline chain — enabling it (via the hardware controller, or even a raw-GPIO bit-bang of its pads) prevents boot. Static RE of the stock bootloader found it does nothing special to open the controller, so the difference is in the kernel SPI driver/clock path; a decisive clock-rate + earlycon fault-capture experiment is the next step. The vendor stack drives the sensor entirely from a QSEE TrustZone trustlet, which does not exist on mainline.
  • Power Consumption — way too high even with no user activity. Trying to find the processes that are causing heavy CPU usage, but no clues at the moment.

See also