Google Nexus 7 2012 (asus-grouper): Difference between revisions
Appearance
Updated wifi firmware link. Since latest note refers back to the "name" of older one, I didn't remove it |
Updted with notes from a quick test run or two. If these are in the wrong place, please let me know. Will keep updating as I can |
||
Line 30: | Line 30: | ||
* weston-keyboard | * weston-keyboard | ||
* Can't boot without reflashing boot (!) [https://github.com/postmarketOS/pmbootstrap/issues/834#issuecomment-341231881] | * <s>Can't boot without reflashing boot (!) [https://github.com/postmarketOS/pmbootstrap/issues/834#issuecomment-341231881]</s> '''Update:''' Does not seem to be an issue any more | ||
* Full-disk Encrpyion. Use <code>install --no-fde</code> | |||
=== How to enter flash mode === | === How to enter flash mode === | ||
Line 38: | Line 39: | ||
* Hold power + volume down | * Hold power + volume down | ||
* <code>fastboot</code> should work when the green android appears on the screen | * <code>fastboot</code> should work when the green android appears on the screen | ||
=== Installation process: === | |||
<syntaxhighlight lang="shell" line='line'> | |||
$ git clone https://github.com/postmarketOS/pmbootstrap | |||
$ cd pmbootstrap | |||
$ ./pmbootstrap.py init | |||
$ ./pmbootstrap.py install --no-fde | |||
$ ./pmbootstrap.py flasher flash_kernel (optional?) | |||
$ ./pmbootstrap.py flasher flash_system | |||
</syntaxhighlight> | |||
=== UI options: === | |||
* Weston: Boots, but also occasionally reboots on its own. | |||
* Hildon: Boots into a black screen. Poking some <code>/sys/</code> variables might make the screen flash or turn on, but it remains unusable | |||
* KDE: Never finishes the flash, which in turn wrecks your device partitions. This has happened even with <code>flasher flash_system --partition userdata</code> | |||
=== Notes === | === Notes === | ||
Line 45: | Line 63: | ||
* I could not get UART debugging through the headphone jack to work - as far as I can tell, and according to a few other sources I found, the 2012 version of the Nexus 7 does not have this feature. | * I could not get UART debugging through the headphone jack to work - as far as I can tell, and according to a few other sources I found, the 2012 version of the Nexus 7 does not have this feature. | ||
* CONFIG_VT had to be enabled for graphics to work. In menuconfig this is located under Device Drivers -> Character devices -> Virtual terminal. | * CONFIG_VT had to be enabled for graphics to work. In menuconfig this is located under Device Drivers -> Character devices -> Virtual terminal. | ||
* /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. | * <s>/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.</s> '''Update:''' Seems to be correctly set now | ||
* xwayland does not work. | * xwayland does not work. | ||
* weston with fbdev-backend.so uses pixman-type=3 (PIXMAN_TYPE_ABGR), which now does not require configuration. | * weston with fbdev-backend.so uses pixman-type=3 (PIXMAN_TYPE_ABGR), which now does not require configuration. | ||
* The touchscreen input device is named <code>elan-touchscreen</code>. | * The touchscreen input device is named <code>elan-touchscreen</code>. | ||
* The wifi chip is the Broadcom 4330. | * The wifi chip is the Broadcom 4330. | ||
* | * This device was once officially supported on Ubuntu, so it has a firmware package in the [https://packages.ubuntu.com/trusty/linux-firmware-nexus7 Ubuntu repositories] | ||
* "Desktop" Linux firmware are outdated. Check [https://android.googlesource.com/platform/hardware/broadcom/wlan/+/master/bcmdhd/firmware/bcm4330/ here] for latest one. | * "Desktop" Linux firmware are outdated. Check [https://android.googlesource.com/platform/hardware/broadcom/wlan/+/master/bcmdhd/firmware/bcm4330/ here] for latest one. | ||
* [https://wiki.ubuntu.com/Nexus7/Kernel This page] includes a list of changes to the Android kernel that are not present in mainline Linux. | * [https://wiki.ubuntu.com/Nexus7/Kernel This page] includes a list of changes to the Android kernel that are not present in mainline Linux. | ||
* I was able to get networking over USB with an RTL8150 ethernet USB adapter by enabling the RTL8150 kernel config and following the [https://wiki.alpinelinux.org/wiki/Configure_Networking network setup guide on the Alpine Linux wiki]. | * <s>I was able to get networking over USB with an RTL8150 ethernet USB adapter by enabling the RTL8150 kernel config and following the [https://wiki.alpinelinux.org/wiki/Configure_Networking network setup guide on the Alpine Linux wiki].</s> '''Update:''' Nothing special required anymore. Just boot up and use the [https://wiki.postmarketos.org/wiki/USB_Network#Assigning_an_IP_address DHCP networking process for USB networks] | ||
* I was able to get wifi working by manually copying fw_bcmdhd.bin and nvram.txt to their kernel-specified locations and configuring <code>/etc/network/interfaces</code>. At this point, I ran <code>/etc/init.d/networking restart</code>, which gave an error about being unable to get a MAC address. I restarted the device to find that wifi Just Worked™, and was able to successfully scan for wireless networks and establish a connection to my secured wireless AP. | * I was able to get wifi working by manually copying fw_bcmdhd.bin and nvram.txt to their kernel-specified locations and configuring <code>/etc/network/interfaces</code>. At this point, I ran <code>/etc/init.d/networking restart</code>, which gave an error about being unable to get a MAC address. I restarted the device to find that wifi Just Worked™, and was able to successfully scan for wireless networks and establish a connection to my secured wireless AP. | ||
* A newer kernel, that should work, can be found here (thanks to Jasper in IRC): https://github.com/Unlegacy-Android | * A newer kernel, that should work, can be found here (thanks to Jasper in IRC): https://github.com/Unlegacy-Android | ||
''Fun fact: <code>grouper</code> was the first tablet to run pmOS!'' | ''Fun fact: <code>grouper</code> was the first tablet to run pmOS!'' |
Revision as of 22:19, 27 March 2018
![]() Galaxy Nexus 7 | |
Manufacturer | Google (ASUS) |
---|---|
Name | Nexus 7 (2012) |
Codename | grouper |
Released | 2012 |
Hardware | |
Chipset | Nvidia Tegra 3 |
CPU | Quad-core 1.2 GHz Cortex-A9 |
GPU | ULP GeForce |
Display | 800x1280 IPS |
Storage | 8/16/32 GB |
Memory | 1 GB |
Software | |
Original software | Android 4.1.2 on Linux 3.0 |
postmarketOS | |
Category | testing |
Pre-built images | no |
Mainline | no |
Flashing |
No data |
---|---|
USB Networking |
No data |
Internal storage |
No data |
SD card |
No data |
Battery |
No data |
Screen |
No data |
Touchscreen |
No data |
Multimedia | |
3D Acceleration |
No data |
Audio |
No data |
Camera |
No data |
Camera Flash |
No data |
Connectivity | |
WiFi |
No data |
Bluetooth |
No data |
GPS |
No data |
NFC |
No data |
Modem | |
Calls |
No data |
SMS |
No data |
Mobile data |
No data |
Miscellaneous | |
FDE |
No data |
USB OTG |
No data |
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 |
Contributors
- antonok
What works
- Boot process
- Telnet/SSH over USB
- Screen
- USB keyboard, mouse
- Touchscreen
- Wifi (somewhat hacky so far, will improve soon!)
What does not work
- weston-keyboard
Can't boot without reflashing boot (!) [1]Update: Does not seem to be an issue any more- Full-disk Encrpyion. Use
install --no-fde
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:
$ git clone https://github.com/postmarketOS/pmbootstrap
$ cd pmbootstrap
$ ./pmbootstrap.py init
$ ./pmbootstrap.py install --no-fde
$ ./pmbootstrap.py flasher flash_kernel (optional?)
$ ./pmbootstrap.py flasher flash_system
UI options:
- Weston: Boots, but also occasionally reboots on its own.
- Hildon: Boots into a black screen. Poking some
/sys/
variables might make the screen flash or turn on, but it remains unusable - KDE: Never finishes the flash, which in turn wrecks your device partitions. This has happened even with
flasher flash_system --partition userdata
Notes
- I am using the LineageOS kernel found here
- The kernel cannot be compiled on versions of gcc newer than 4.9 without the appropriate patch
- I could not get UART debugging through the headphone jack to work - as far as I can tell, and according to a few other sources I found, the 2012 version of the Nexus 7 does not have this feature.
- CONFIG_VT had to be enabled for graphics to work. In menuconfig this is located under Device Drivers -> Character devices -> Virtual terminal.
/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- xwayland does not work.
- weston with fbdev-backend.so uses pixman-type=3 (PIXMAN_TYPE_ABGR), which now does not require configuration.
- The touchscreen input device is named
elan-touchscreen
. - The wifi chip is the Broadcom 4330.
- This device was once officially supported on Ubuntu, so it has a firmware package in the Ubuntu repositories
- "Desktop" Linux firmware are outdated. Check here for latest one.
- This page includes a list of changes to the Android kernel that are not present in mainline Linux.
I was able to get networking over USB with an RTL8150 ethernet USB adapter by enabling the RTL8150 kernel config and following the network setup guide on the Alpine Linux wiki.Update: Nothing special required anymore. Just boot up and use the DHCP networking process for USB networks- I was able to 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, I ran/etc/init.d/networking restart
, which gave an error about being unable to get a MAC address. I restarted the device to find that wifi Just Worked™, and was able to successfully scan for wireless networks and establish a connection to my secured wireless AP. - A newer kernel, that should work, can be found here (thanks to Jasper in IRC): https://github.com/Unlegacy-Android
Fun fact: grouper
was the first tablet to run pmOS!