Google Nexus 7 2012 (asus-grouper)
![]() Google Nexus 7 | |
Manufacturer | Google (ASUS) |
---|---|
Name | Nexus 7 (2012) |
Codename | asus-grouper & asus-tilapia |
Released | 2012 |
Hardware | |
Chipset | Nvidia Tegra 3 T30 |
CPU | Quad-core 1.2 GHz Cortex-A9 |
GPU | ULP GeForce |
Display | 800x1280 IPS |
Storage | 8/16/32 GB |
Memory | 1 GB |
Architecture | armv7 |
Software | |
Original software | Android 4.1.2 on Linux 3.0 |
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 |
Works |
Touchscreen |
Works |
Multimedia | |
3D Acceleration |
Partial |
Audio |
Works |
Camera |
No data |
Camera Flash |
No data |
Connectivity | |
WiFi |
Works |
Bluetooth |
Works |
GPS |
Partial |
NFC |
No data |
Miscellaneous | |
FDE |
No data |
USB OTG |
No data |
HDMI/DP |
No data |
Sensors | |
Accelerometer |
Works |
Magnetometer |
No data |
Ambient Light |
No data |
Proximity |
No data |
Hall Effect |
No data |
Haptics |
No data |
Barometer |
No data |
Maintainer(s)
- okias
Contributors
- antonok
- pangelo
Users owning this device
- 00p513
- Antonok
- Baonks81 (Notes: Hw rev.E1565 no GSM - 6 tablets software 3d accelerate on ALARM with grate-driver LLVMpipe built)
- Bczeman
- Blitztide
- BogdanTheGeek (Notes: E1565 no GSM)
- Clamor (Notes: pmOS with Grate kernel and U-Boot)
- Ecloud
- Eloy
- GloomyJD (Notes: Works, very weak battery)
- Gull Code (Notes: OK,daily use with XFCE4. See my profile if you want to have automatic rotation and light with Asus grouper sensor daemon or jump to https://gitlab.com/gullradriel/asus-grouper-nexus-7-sensor-daemon)
- Hilledkinged (Notes: Revived from corrupt bootloader)
- Isot42 (Notes: OK PM269 version)
- Joshaspinall (Notes: PM269)
- LongnoseRob (Notes: 2x E1565 type, pmOS (edge) w/ u-boot, UI: mate)
- Maff (Notes: Multiple)
- Mattdaha
- Misopog (Notes: Like new, unlocked, stock)
- Nergzd723 (Notes: emmc dead, bct partition intact, possible to fusee-gelee)
- Okias (Notes: OK, HW rev.E1565 (asus-tilapia))
- Pangelo (Notes: original grouper (non-GSM) model)
- Pojntfx
- Progressnoize (Notes: Screen broken)
- Roboe (Notes: (borrowed) variant: grouper, version-hardware: ER3; HW rev. E1565; running pmOS edge with U-Boot bootloader)
- Roboe (Notes: (borrowed) variant: grouper; version-hardware: ER3; HW rev. E1565; broken battery)
- Russanandres (Notes: Cyanogenmod 11, using for old gaiming)
- Segfault (Notes: x3 - 2 16GB and 1 32GB)
- The Arjdroid (Notes: Impressive! Works with phosh & xfce4, but not daily driveable yet. It needs 3D acceleration for smoother UI, & firefox fix crashes. Great for running it as a no display server like a raspberry pi. Running with xfce4 can make it usable as a smart display like a calendar or something.)
- Yifei (Notes: bad battery)
Flashing
How to enter flash mode
- Connect a USB cable
- Power the device off
- Hold power + volume down
fastboot
should work when the green android appears on the screen
Installation process
Preparing rootfs and flashing kernel:
$ pmbootstrap init # choose vendor asus and model grouper (without GSM) or tilapia (GSM)
$ pmbootstrap install
$ pmbootstrap flasher flash_kernel
Flashing rootfs smaller than 650 MB
pmbootstrap flasher flash_rootfs
Flashing rootfs larger than 650 MB
NOTE: This may change size of your data partition. You can fix it by resizing partition in TWRP before flashing Android.
You should proceed very carefully here.
When rootfs is larger than 650 MB you can choose to flash it to the system partition or USERDATA partition (which is on Nexus always > 4 GB). This guide is intended will help you flash rootfs onto USERDATA partition.
Prerequisites: Official TWRP, at least version 3.3.1-0, binaries are here for grouper or tilapia.
First, start TWRP (hold power + volume up) and then continue with these instructions
(computer) $ pmbootstrap export
(computer) $ adb shell
(twrp) $ df # look for the data partition. should be something like /dev/block/mmcblk0p9 or p10 with /data next to it
(twrp) $ umount /dev/block/mmcblk0p__ <- fill partition number
(twrp) $ umount /dev/block/mmcblk0p__ <- fill partition number # again, it can be mounted as /sdcard and as /data
(computer again) $ adb push /tmp/postmarketOS-export/asus-grouper.img /dev/block/mmcblk0p__ <- fill partition number
- grouper has likely data on /dev/block/mmcblk0p9 but make sure!
- tilapia has likely data on /dev/block/mmcblk0p10 but make sure!
it's probably because tilapia has additional modem partition. If you're not sure, come to our Matrix channel and ask :)
Hardware status (mainline)
There is multiple hardware revisions, so this status may not apply to all of them. This status apply for tilapia (Bach revision).
Status | Hardware | Info |
---|---|---|
Y | Booting | ... but when is kernel larger than approx 4MB, initfs must be packed directly inside kernel (not into boot.img as usual), otherwise kernel won't boot. With downstream kernel it works. |
Y | Touchscreen | Works. |
Y | USB | Works. |
Y | SDHCI | Works. |
Y | NFC | wired, not tested yet. Please update if it'll work for you. |
P | GPS | Pangelo works on it. Some progress been done. BCM4751 |
Y | WiFi | Wi-Fi works (best with IWD daemon: apk add iwd; rc-config del wpa_supplicant; rc-config add iwd; and HOWTO). |
Y | GPIO keys | There is 3 keys on GPIO: Power, Volume up, Volume down. |
Y | Battery | Driver works. |
Y | Charger | patches send to upstream, probably will arrive in 5.7 or 5.8 ( https://github.com/okias/linux/commits/smb3xx-charger ) |
Y | Bluetooth | Works well, it has even BT 4.2, also BT 5.0 headphones works. |
Y | Sound | sound also works, but require ALSA UCM configuration (for now you'll need to enable DACs and etc using alsamixer)
alsamixer -c 0 # and enable something like: "Speaker R" "Speaker L" "DAC MIXR INF1" "DAC MIXL INF1" "SPOL MIX DAC R1" "SPOL MIX DAC L1" "Stereo DAC MIXR DAC R1" "Stereo DAC MIXL DAC L1" |
Y | Temperature sensor | temperature sensor works |
Y | Proximity sensor | (tilapia only) Disabled, but works (boolean state, on/off). Would be nice to have this driver work with IIO framework (TODO) |
Y | Light sensor | Driver Dyna-Image AL3010. Brightness regulation works, install iio-sensor-proxy . It's slightly oversensitive. |
N | Front camera | |
P | 3D support | See Nvidia_Tegra_2_(tegra20)#Graphics |
N | Modem | (tilapia only) contribution welcome, no work done yet. |
UI options
- Phosh (mainline only): Purism Librem 5 compositor and GNOME based environment, needs performance optimization, but works.
- Xfce4 (mainline only): Xfce4 is a GTK-based desktop environment aiming to be fast and lightweight. Needs performance optimization, but works. Follow the guide at https://wiki.postmarketos.org/wiki/XFCE4 for adjustments.
- Weston (on legacy): Boots on legacy kernel. Touchscreen is working.
Development Notes
Kernel
- Up-to-date kernel, where tegra development ongoing.
- Old Android kernels: LineageOS kernel sources Unlegacy kernel sources
- Ubuntu Nexus 7 Kernel wiki (old, last updated 2012)
- The default images for android provided by google have the bootloader broken, meaning it can't be flashed. It does not seem to affect the install process of PostMarketOS, but is something to take into account. If you need a working bootloader image version 4.23 can be found [here], or can be 4.18 can be grabbed from the factory images for KitKat
Graphics
- The touchscreen input device is named
elan-touchscreen
. - (legacy) CONFIG_VT had to be enabled for graphics to work. In menuconfig this is located under Device Drivers -> Character devices -> Virtual terminal.
- (legacy)
/sys/class/graphics/fb0/mode is empty on boot, it must have U:800x1280p-0. This uses the same initfs hook as many other devices.Update: Seems to be correctly set now - (legacy) weston with fbdev-backend.so uses pixman-type=3 (PIXMAN_TYPE_ABGR), which now does not require configuration.
Wifi
- There's a proper firmware subpackage now, wifi device should work out-of-the box.
- "Desktop" Linux firmware are outdated. Check here for latest one.
- To connect follow the instructions on this page.
- (legacy)It is possible to manually get wifi working by manually copying fw_bcmdhd.bin and nvram.txt to their kernel-specified locations and configuring
/etc/network/interfaces
. At this point, running/etc/init.d/networking restart
, gave an error about being unable to get a MAC address. After restarting the device to find that wifi Just Worked™, it was possible to successfully scan for wireless networks and establish a connection to secured wireless APs.
Pending Issues
- pmbootstrap#60: Use the system and userdata partition on Android with LVM
- pmbootstrap#1422: The
system
partition is too small to hold rootfs images over 650Mb (e.g. Plasma Mobile is about 1.1Gb). Flashing touserdata
partition fails. - Merge stuff from Alpine-Mobile (tegra-stuff) back to postmarketOS.
- pmaports#201: With legacy kernel, device seems to reboot spontaneously under heavy load. For better experience, please use mainline kernel.
Fun Fact
grouper
was the first tablet to run postmarketOS!
See also
- dmesg logs from various tegra devices https://paste.sr.ht/%7Eokias