ASUS MeMO Pad 7 (asus-me176c): Difference between revisions
→Internal Storage: resizing of rootfs on first boot seems to be fragile (or missing?); add instructions to remedy (see also sdcard) |
Add note about new Linux kernel on edge branch |
||
Line 76: | Line 76: | ||
The bootloader cannot boot directly from a SD card, therefore the boot partition must be always on internal storage. | The bootloader cannot boot directly from a SD card, therefore the boot partition must be always on internal storage. | ||
Boot into Fastboot mode, and use <code>fastboot flash APD asus-me176c-bootpart.img</code> (or <code>pmbootstrap flasher flash_kernel</code> with pmbootstrap) to flash the boot partition. Then you need to create a boot entry for postmarketOS. Create a file <code>pmos.conf</code>: | Boot into Fastboot mode, and use <code>fastboot flash APD asus-me176c-bootpart.img</code> (or <code>pmbootstrap flasher flash_kernel</code> with pmbootstrap) to flash the boot partition. Then you need to create a boot entry for postmarketOS. Create a file <code>pmos.conf</code>. | ||
For pmOS v22.06 use: | |||
<nowiki> | <nowiki> | ||
Line 84: | Line 86: | ||
initrd /intel-ucode.img | initrd /intel-ucode.img | ||
initrd /acpi-me176c.img | initrd /acpi-me176c.img | ||
initrd /initramfs | |||
# Comment this out to get more output on screen while booting | |||
options console=null</nowiki> | |||
For pmOS edge drop <code>/acpi-me176c.img</code> and use <code>vmlinuz-edge</code> instead: | |||
<nowiki> | |||
title postmarketOS | |||
volume 80868086-8086-8086-8086-000000000007 | |||
linux /vmlinuz-edge | |||
initrd /intel-ucode.img | |||
initrd /initramfs | initrd /initramfs | ||
# Comment this out to get more output on screen while booting | # Comment this out to get more output on screen while booting |
Revision as of 18:47, 7 October 2022
![]() asus-me176cx running postmarketOS | |
Manufacturer | ASUS |
---|---|
Name | MeMO Pad 7 (ME176C(X)) |
Codename | asus-me176c |
Released | 2014 |
Hardware | |
Chipset | Intel Bay Trail T Z3745 |
CPU | Intel® Atom™ CPU Z3745 @ 1.33GHz |
GPU | Atom Processor Z36xxx/Z37xxx Series Graphics & Display |
Display | 7" 800x1280 IPS LCD |
Storage | 8/16 GB |
Memory | 1 GB |
Architecture | x86_64 |
Software | |
Original software | Android 4.4 KitKat (updated to 5.0 Lollipop + UEFI) |
postmarketOS | |
Category | community |
Pre-built images | yes |
postmarketOS kernel | 5.4 (LTS) |
Unixbench Whet/Dhry score | 1664.4 |
Flashing |
Works |
---|---|
USB Networking |
Works |
Internal storage |
No data |
SD card |
No data |
Battery |
Works |
Screen |
Works |
Touchscreen |
Works |
Multimedia | |
3D Acceleration |
Works |
Audio |
Works |
Camera |
Broken |
Camera Flash |
No data |
Connectivity | |
WiFi |
Works |
Bluetooth |
Works |
GPS |
Broken |
Miscellaneous | |
FDE |
Works |
USB OTG |
Works |
HDMI/DP |
No data |
Sensors | |
Accelerometer |
Works |
Magnetometer |
Works |
Ambient Light |
No data |
Proximity |
No data |
Hall Effect |
No data |
Haptics |
No data |
Barometer |
No data |
Contributors
Users owning this device
Installation
Preparation
The device has a locked Android bootloader. To boot other operating systems, you need to replace the bootloader entirely with a custom one.
- Make sure that you are running Android 5.0 (Lollipop) - older versions did not have UEFI firmware.
- Install me176c-boot.
- Set up the
APD
partition as additional ESP (EFI System Partition), see me176c-boot - Setting up an additional ESP partition.
Pre-built image
Choose an image for your device from the download page.
Download 2 files:
<date>-...-asus-me176c-bootpart.img.xz
(boot partition)<date>-...-asus-me176c.img.xz
(rootfs)
Unpack them using unxz *.xz
.
Note: The default username is user , and the default password is 147147 . |
pmbootstrap
- Follow the Installation guide.
- Use
pmbootstrap export
to get the same files as in the pre-built images section.
Flashing boot partition
The bootloader cannot boot directly from a SD card, therefore the boot partition must be always on internal storage.
Boot into Fastboot mode, and use fastboot flash APD asus-me176c-bootpart.img
(or pmbootstrap flasher flash_kernel
with pmbootstrap) to flash the boot partition. Then you need to create a boot entry for postmarketOS. Create a file pmos.conf
.
For pmOS v22.06 use:
title postmarketOS volume 80868086-8086-8086-8086-000000000007 linux /vmlinuz initrd /intel-ucode.img initrd /acpi-me176c.img initrd /initramfs # Comment this out to get more output on screen while booting options console=null
For pmOS edge drop /acpi-me176c.img
and use vmlinuz-edge
instead:
title postmarketOS volume 80868086-8086-8086-8086-000000000007 linux /vmlinuz-edge initrd /intel-ucode.img initrd /initramfs # Comment this out to get more output on screen while booting options console=null
Note: the filenames in pmos.conf
must match those in asus-me176c-bootpart.img
, else expect boot hang with failed to open file:
or similar console messages. In that case, inspect bootpart.img
directly or examine APD contents after flashing.
To install the new boot entry, boot into TWRP recovery, mount the ESP partition, and push the new configuration using ADB: adb push pmos.conf /esp/loader/entries/
Now you can choose if you would like to install the root partition (asus-me176c(-root).img
) on internal storage or a SD card.
Internal Storage
Normally you should be also able to flash the rootfs using Fastboot:
- System partition:
fastboot flash system asus-me176c.img
(pmbootstrap flasher flash_rootfs
) - Data partition (larger):
fastboot flash data asus-me176c.img
(pmbootstrap flasher flash_rootfs --partition=data
)
However, if you get an error you may need to flash it using dd
via the TWRP recovery instead:
$ gzip -c ...-asus-me176c.img | adb shell "zcat | dd of=/dev/block/by-name/data bs=4m"
It looks like Fastboot can only handle small partitions on this tablet, so the error occurs whenever the image becomes too large for Fastboot to handle. Check via fastboot getvar max-download-size
(see also flash_fastboot_max_size). On a 16GB device the value is ~512MiB.
Note that on first boot the resizing of the partition containing the rootfs may fail quietly (or not occur at all?). Check the resulting filesystem(s) and partition(s) with df
and sudo fdisk -l
. If necessary, boot to recovery, unmount the filesystem, and use resize2fs
on the partition.
SD card
Write the root partition image to a partition on your SD card:
- Find the correct block device $ lsblk (usually
/dev/mmcblkXpY
but sometimes/dev/sdXY
) - Write the image to the partition (Warning: Existing data will be erased):
dd if=asus-me176c-root.img of=/dev/mmcblkXpY bs=4M
- Check resulting rootfs filesize
resize2fs -P /dev/mmcblkXpY
and useresize2fs
to make better use of the partition.
ZRAM
Since the tablet has very little RAM, some applications might hang or crash easily. This affects web browsers (e.g. Firefox) in particular. Consider enabling ZRAM to improve the situation somewhat.
Hardware details (hwtest
)
Category | Model | Path | Status | Value |
---|---|---|---|---|
framebuffer | i915drmfb | /sys/class/graphics/fb0 | Working | |
drm | /sys/class/drm/card0-HDMI-A-1 | Working | Not connected | |
drm | /sys/class/drm/card0-DSI-1 | Working | 800x1280 | |
drm | /sys/class/drm/card0-DP-1 | Working | Not connected | |
magnetometer | i2c-AKM9911:00 | /sys/bus/iio/devices/iio:device0 | Working | -0.1, -0.12, 0.31 gauss |
accelerometer | i2c-KXJ2109:00 | /sys/bus/iio/devices/iio:device1 | Working | 0.4, -4.58, -8.6 g |
input | Video Bus | /dev/input/event5 | Working | |
input | bytcr-rt5640 Headset | /dev/input/event4 | Working | |
input | Goodix Capacitive TouchScreen | /dev/input/event3 | Working | |
input | gpio-keys | /dev/input/event2 | Working | |
input | gpio-keys | /dev/input/event1 | Working | |
input | ASUS Lid Cover | /dev/input/event0 | Working |
The accelerometer orientation differs from what iio-sensor-proxy expects. The following hack corrects auto-rotation. If you know the proper way to do this in a postmarketOS device package, please consider pushing a patch.
$ cat /lib/udev/hwdb.d/61-sensor-local.hwdb
# source: https://github.com/systemd/systemd/blob/master/hwdb.d/60-sensor.hwdb
sensor:modalias:acpi:KXJ2109*:dmi:*:svnASUSTeK*:pnME176C:*
ACCEL_MOUNT_MATRIX=-1, 0, 0; 0, 1, 0; 0, 0, 1
$ cp /etc/udev/hwdb.bin ~/hwdb.bin.BAK # save a pristine backup!
$ sudo udevadm --debug hwdb --update
$ diff ~/hwdb.bin.BAK /etc/udev/hwdb.bin # they should differ now
$ monitor-sensor # test: tilt or rotate the screen
Sofware issues
Phosh tweaks / gotchas
- Auto-rotate landscape is inverted. Static workaround: long press on icon to
portrait
, orient screen as desired, then tap tolandscape
. - Unlock button is not accessible for lockscreen rewake in landscape mode with large display scales (150%, 175%). Power cycle seems to be required.
- Auto-rotate lockscreen orientation is fixed at locking.
See also
- Linux on ASUS MeMO Pad 7 (ME176C(X))
- Arch Linux on ASUS MeMO Pad 7 (ME176C(X))
- LineageOS 16.0 (Android) ROM (uses the same kernel)
- Unsupported features: GPS, Camera