Google Nexus 9 (htc-flounder)
Appearance
| This device has been archived. This means that it no longer appears in pmbootstrap and is likely broken. It can still be selected in pmbootstrap init by typing in the vendor and codename, but you will have to build the kernel package manually. |
|
Nexus 9 | |
| Manufacturer | Google (HTC) |
|---|---|
| Name | Nexus 9 (Wifi) |
| Codename | htc-flounder |
| Released | 2014 |
| Type | tablet |
| Hardware | |
| Chipset | Nvidia Tegra K1 (T132) |
| CPU | 2.3 GHz dual-core 64-bit Denver |
| GPU | 192-core Kepler |
| Display | 2048×1536 LCD IPS |
| Storage | 16GB/32GB |
| Memory | 2 GB LPDDR3-1866 |
| Architecture | aarch64 |
| Software | |
Original software The software and version the device was shipped with. |
Android 5.0 |
Extended version The most recent supported version from the manufacturer. |
Android |
| postmarketOS | |
| Category | archived |
Mainline Instead of a Linux kernel fork, it is possible to run (Close to) Mainline. |
no |
| Device package |
|
| Kernel package |
|
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). |
Broken
|
Battery Whether charging and battery level reporting work. |
Works
|
Screen Whether the display works; ideally with sleep mode and brightness control. |
Partial
|
Touchscreen |
Works
|
| Multimedia | |
3D Acceleration |
Broken
|
Audio Audio playback, microphone, headset and buttons. |
Broken
|
Camera |
Broken
|
| Connectivity | |
WiFi |
Works
|
Bluetooth |
Broken
|
GPS |
Broken
|
NFC Near Field Communication |
Broken
|
| Miscellaneous | |
FDE Full disk encryption and unlocking with unl0kr. |
Untested
|
USB OTG USB On-The-Go or USB-C Role switching. |
Works
|
| Sensors | |
Accelerometer Handles automatic screen rotation in many interfaces. |
Broken
|
Magnetometer Sensor to measure the Earth's magnetism |
Broken
|
Ambient Light Measures the light level; used for automatic screen dimming in many interfaces. |
Broken
|
Hall Effect Measures magnetic fields; usually used as a flip cover sensor |
Broken
|
Power Sensor Sensor to monitor current, voltage and power. Not fuel gauge! |
Works
|
Contributors
- lillywho
- Segfault
Device owners
- 504TimeOut (Notes: 1x 16GB, 1x 32GB)
- Baasm (Notes: still stock)
- Dcambie (Notes: Actually lte version. Boots, USB problematic, DTS needs fixes :()
- Ifrit05 (Notes: Does not boot any GUI)
- Jja2000 (Notes: Looks like shit, but it'll do)
- MartijnBraam (Notes: On loan)
- Mupuf
- No112 (Notes: own 2x, mainline work)
- Russanandres (Notes: LinageOS 15.1)
- Segfault (Notes: Port stalled due to Tegra DSI driver limitations)
- UltrasonicMadness (Notes: Bubbling present in screen)
How to enter flash mode
Hold + , press to confirm Fastboot mode Note that in Fastboot mode you can check from the text in the header if your device is the Wifi (htc-flounder) or LTE (htc-flounder_lte) version.
Installation
The initramfs is unable to open the subpartitions, requiring the use of --single-partition.
$ pmbootstrap install --single-partition
$ pmbootstrap flasher flash_kernel
$ pmbootstrap flasher flash_rootfs
LTE version =
The LTE version won't boot with the kernel of the wifi version because the bootloader only loads the kernel image if the device tree blob (DTB) has a compatible property field. That is `google,flounder64` for the WiFi version and `google,flounder64_lte` for the LTE. (see [1]) After that change the LTE will boot as well.
Mainlining notes
An ongoing mainline port is available here https://github.com/TuxThePenguin0/linux/tree/htc-flounder
- A sector with a GPT partition table is provided by the bootloader but that GPT is empty, instead TegraPT is used
- Broadcom BCM4354XKUBG wifi module
- Broadcom BCM4752 GPS
- Broadcom BCM2079x NFC (enable on PB1, irq on PR7, wake on PS1, i2c addr 0x77)
- NXP tfa9895 audio amp (enable on PX5, i2c addr 0x34)
- NXP tfa9895l amp (i2c addr 0x35)
- Realtek rt5677 codec (enable on PX3, i2c addr 0x2d)
- USB port is EHCI1, id pin is PW2
- On the LTE version the modem is on EHCI2
See also
- pmbootstrap!1309 Initial merge request
- pmaports!3623 Mainline merge request
- pmbootstrap#1384 Kernel panic
- https://en.wikipedia.org/wiki/Nexus_9