[Q] Problems with FlashTools in Linux Mint / Ubuntu - Xperia SP Q&A, Help & Troubleshooting

Hi,
I have a problem for run FlashTool in my Linux Mint 13 (equal to Ubuntu 12.04) x64.
I installed all necessary, and when to go to start a FlashTool appears this error in console:
Code:
Running as root.
JAVA_HOME not set. Using default value : ./x10flasher_lib/linjre64
#
[thread 140117424174848 also had an error]# A fatal error has been detected by the Java Runtime Environment:
#
# SIGSEGV (0xb) at pc=0x00007f6fa0724820, pid=13085, tid=140118065010432
#
# JRE version: 7.0_21-b11
# Java VM: Java HotSpot(TM) 64-Bit Server VM (23.21-b01 mixed mode linux-amd64 compressed oops)
# Problematic frame:
# C [libdbus-1.so.3+0x24820] dbus_threads_init_default+0x2490
#
# Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
#
# An error report file with more information is saved as:
# /home/user/Escritorio/FlashTool/hs_err_pid13085.log
[thread 140117409789696 also had an error]
# [ timer expired, abort... ]
Aborted (core dumped)
I search for google, but any can solved this problem.
Thanks and regards!

Related

[Q] How to use the camera in burst mode programmatically ?

Hello,
I did search the forums and stackoverflow as best as I could and tried on my own but I am not making any progress.
I am trying to trigger the Xperia Z's camera in burst mode from code but I can't get to the functionality.
I've tried using the official Sony Add-on SDK(developer.sonymobile.com/knowledge-base/sdks/sony-add-on-sdk/install-the-sony-add-on-sdk/)but it doesn't provide the burst functionality.
Then I downloaded and tried to compile the AOSP(github.com/sonyxperiadev/device-sony-c6603) project but ran into errors:
Code:
First I ran into this:
build/core/main.mk:100: ************************************************************
build/core/main.mk:101: You are building on a case-insensitive filesystem.
build/core/main.mk:102: Please move your source tree to a case-sensitive filesystem.
build/core/main.mk:103: ************************************************************
build/core/main.mk:104: *** Case-insensitive filesystems not supported. Stop.
then I modified that makefile like so:
Code:
ifneq ($(HOST_OS),windows)
ifneq ($(HOST_OS)-$(HOST_ARCH),darwin-ppc)
# check for a case sensitive file system
# ifneq (a,$(shell mkdir -p $(OUT_DIR) ; \
# echo a > $(OUT_DIR)/casecheck.txt; \
# echo B > $(OUT_DIR)/CaseCheck.txt; \
# cat $(OUT_DIR)/casecheck.txt))
# $(warning ************************************************************)
# $(warning You are building on a case-insensitive filesystem.)
# $(warning Please move your source tree to a case-sensitive filesystem.)
# $(warning ************************************************************)
# $(error Case-insensitive filesystems not supported)
# endif
endif
endif
but then ran into another error:
Code:
host ObjC: emulator-arm <= external/qemu/distrib/sdl-1.2.15/src/main/macosx/SDLMain.m
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk/System/Library/Frameworks/Security.framework/Headers/Security.h:24,
from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSURLCredential.h:9,
from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk/System/Library/Frameworks/Foundation.framework/Headers/Foundation.h:70,
from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk/System/Library/Frameworks/Cocoa.framework/Headers/Cocoa.h:12,
from external/qemu/distrib/sdl-1.2.15/src/main/macosx/SDLMain.h:11,
from external/qemu/distrib/sdl-1.2.15/src/main/macosx/SDLMain.m:9:
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk/System/Library/Frameworks/Security.framework/Headers/cssmconfig.h:73: error: conflicting types for ‘uint16’
external/qemu/fpu/softfloat.h:60: error: previous declaration of ‘uint16’ was here
make: *** [out/host/darwin-x86/obj/EXECUTABLES/emulator-arm_intermediates/distrib/sdl-1.2.15/src/main/macosx/SDLMain.o] Error 1
I'm using osx 10.8 and have both 10.7 and 10.8 sdks downloaded. I'm not sure how to resolve this issue though.
I've never build an os from source, so this is a bit intimidating now. I did snoop through the source code and found something very close what I need in frameworks/av/services/camera/libcameraservice as it contains a BurstCapture c++ class. I'm guessing this will be compiled as a shared library which will probably be accessed via JNI or something from an android .jar. Is my guess correct ? How can I compile the shared library and jar ?
I am interested in only the burst capture functionality. How can I get/use those libraries ? Do I need to compile the whole AOSP ? If so, how do I get past the make error ?
Update:
I've changed a few things in a couple of makefiles:
- commented out the emulator since it was throwing errors (in emulator.mk)
- moved libcamera_client and libcameraservice to the top of base.mk as it looked like what I needed as a priority.
Luckily, after a long time, AOSP finally compiled and now I've got:
libcamera_client.so
libcamera_metadata.so
libcameralight.so
libcameraservice.so
as a result.
Have no clue how to use those yet to trigger the camera in burst mode,so any hints are helpful.
Thanks,
George

Linux on the Nexus 7 2012 wifi rev. E1565 - grouper, 2023 edition

I created Ubuntu MATE 22.04 LTS, Ubuntu MATE 20.04.1 LTS and ArchLinux ARMv7 image kernel-6.1.0-next-postmarketos-grate for Nexus 7 2012 wifi rev. E1565. Following guides:
[Discontinued] Linux on the Acer Iconia Tab A500, 2022 edition
UPDATE: I discontinued work for this tablet model, due to the lack of NEON support for the Nvidia Tegra 2 CPU used in this model. Any existing work I uploaded will remain online, but I won't be uploading anything new. I'm also considering selling...
forum.xda-developers.com
[WIP] postmarketOS
postmarketOS is Linux operating system. This system is able to turn your phone or tablet into desktop like device with touchscreen controls. You can use GNOME application from your desktop if they're adapted to smaller screen or in some cases it...
forum.xda-developers.com
What works:
- flashing
- USB (including OTG)
- WiFi
- Bluetooth
- Sound
- LCD + Touchscreen (with rotation)
- light sensor
- NFC (should work, driver loads, initialize, no NFC device to test)
What doesn't work (yet):
- camera
- 3D support (partial working, es2gears/es2tri/glmark2-es2 run but glxgears crashed)
Dev docs:
- https://wiki.postmarketos.org/wiki/The_Mainline_Kernel
Kernel sources:
- used kernel https://github.com/grate-driver/linux/
Sample picture:
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Contributors
okias, digetx,Clamor-s, Worlblender, Baonks81
Source Code: https://gitlab.com/postmarketOS/pmbootstrap/
ROM OS Version: Linux
ROM Firmware Required: shipped with ROM
Based On: Linux 6.1.0-next-postmarketos-grate
--> Recrypt Tegra GPT <--
GitHub - clamor-s/re-crypt: A tool for re-partitioning Tegra 2 and Tegra 3 based product devices.
A tool for re-partitioning Tegra 2 and Tegra 3 based product devices. - GitHub - clamor-s/re-crypt: A tool for re-partitioning Tegra 2 and Tegra 3 based product devices.
github.com
--> U-boot worked on grouper <--
GitHub - clamor-s/u-boot: "Das U-Boot" Source Tree with many Tegra 20/30 devices support
"Das U-Boot" Source Tree with many Tegra 20/30 devices support - GitHub - clamor-s/u-boot: "Das U-Boot" Source Tree with many Tegra 20/30 devices support
github.com
Version Information
Status: Testing
Download link:
[Testing]Ubuntu-23.10-Mantic-Minotaur-ttyescape+armhf-kernel-6.1.0-postmarketos-grate
Ubuntu-23.10-Mantic-Minotaur-ttyescape+asus-grouper-kermel-6.1.0-armhf - Google Drive
drive.google.com
Default user: passwd
root: ubuntu
oem: ubuntu
Ubuntu 23.04 Lunar Lobster ttyescape kernel-6.1.0-postmarketos-grate
Ubuntu-23.04-Lunar-Lobster-armhf+asus-grouper-kernel-6.x.0-next-postmarketos-grate - Google Drive
Default user: passwd
root: ubuntu
oem: ubuntu
Ubuntu MATE 22.10 ext4 kernel-5.19.0-next-20220728-postmarketos-grate
Ubuntu-MATE-22.10-kernel-5.19.0-rc8-next-20220728-postmarketos-grate - Google Drive
drive.google.com
Default user: passwd
root: ubuntu
oem: ubuntu
Ubuntu 22.04.1/22.10 ttyescape kernel-5.19.0-rc8 grouper rev. E1565 postmarketos-grate
Ubuntu-22.04-Jammy-22.10-Kinetic-ttyescape-grouper-kernel-5.19.0-rc8 - Google Drive
drive.google.com
Default user: passwd
root: ubuntu
oem: ubuntu
Video:
Ubuntu 22.04.1 LTS MATE ext4 kernel-5.19.0-next-20220728-postmarketos-grate
https://drive.google.com/drive/u/0/folders/1uJ_VhBcWXF-9n7T0lH8vlHihjVY_gthV
Default user: passwd
root: ubuntu
oem: ubuntu
Ubuntu 22.04 LTS Jammy Jellyfish MATE ext4 kernel-5.17.0-next-20220324-postmarketos-grate
Ubuntu-MATE-22.04.1LTS-kernel-5.17.0-next-20220324-postmarketos-grate - Google Drive
drive.google.com
Default user: passwd
root: ubuntu
oem: ubuntu
Ubuntu 22.04 LTS Jammy Jellyfish MATE/LXQT ext4 kernel-5.15.0-rc4-next-20211011-postmarketos-grate
Ubuntu 22.04 Jammy Jellyfish+asus grouper-kernel-5.15.0-rc4 - Google Drive
drive.google.com
Default user: passwd
root: ubuntu
oem: ubuntu
Ubuntu MATE 20.04.1 LTS ext4 rootfs kernel 5.15.0-rc4-next-20211011-postmarketos-grate
Ubuntu MATE 20.04.1 LTS kernel-5.15.0-rc4 - Google Drive
drive.google.com
Ubuntu MATE 20.04.1 LTS ext4 rootfs kernel 5.14.0-rc3-next-20210729-grate:
https://drive.google.com/drive/folders/1cLs1q5thzrsuHNVM08OaQ3OWASgf6t-R
Ubuntu MATE 21.10 Impish Indri ext4 kernel 5.15.0-rc4-next-20211011-postmarketos-grate:
Ubuntu MATE 21.10 Impish Indri kernel 5.15.0-rc4 - Google Drive
drive.google.com
Ubuntu 21.10 Impish Indri pre-installed server ext4 kernel 5.15.0-rc4-next-20211011-postmarketos-grate:
https://drive.google.com/folderview?id=1GC9I_hZl3H6LVd2IG_XYJLHrq6Bj-c6C
Archlinux ARMv7 latest kernel-6.0.6-next-postmarketos-grate
ArchLinux-armv7h-ext4-latest+asus-grouper - Google Drive
drive.google.com
User/passwd:
alarm: alarm
su: root
Archlinux ARMv7 latest kernel-5.19.0-rc8-next-20220728-postmarketos-grate
https://drive.google.com/drive/folders/1sHqfA-CuFpSkNcwnW5NGOKlf0a4aHmj6
User/passwd:
alarm: alarm
su: root
ArchLinux ARMv7 kernel 5.15.0-rc4-next-20211011-postmarketos-grate
Archlinux-ARM-kernel-5.15.0 - Google Drive
drive.google.com
ArchLinux ARMv7 kernel 5.14.0-rc3-next-20210729-grate f2fs: https://drive.google.com/drive/folders/13ja5utmNSyNiz4xKTG5qcoBqRNv9qVYw?usp=sharing
ArchLinux ARMv7 kernel 5.14.0-rc3-next-20210729-grate ext4: https://drive.google.com/drive/folders/1szK5trBse8-j1hSIgzZDppL3R6ySNSCP
More distros here:
F2FS:
distros - Google Drive
drive.google.com
OS - Google Drive
drive.google.com
[Testing] Fedora 36 Minimal + Xfce Rawhide armhfp ext4 kernel-5.15.0-rc4-next-20211011-postmarketos-grate
Fedora 36 armhfp asus grouper kernel 5.15.0-rc4 - Google Drive
drive.google.com
Fedora Xfce 35 armhfp ext4 kernel-5.15.0-rc4-next-20211011-postmarketos-grate:
Fedora 35 Xfce armhfp asus grouper kernel 5.15.0-rc4 - Google Drive
drive.google.com
Fedora Xfce 34 armhfp ext4 kernel-5.14.0-rc3-next-20210729-grate: https://drive.google.com/drive/folders/1LbffvuU2B2r6ydbaTxvK2KNX_MdLxrrn
openSUSE Leap 15.3/15.4 ARMv7 XFCE/LXQT/X11 kernel-5.15.0-rc4-next-20211011-postmarketos-grate
openSUSE Leap kernel-5.15.0-rc4 - Google Drive
drive.google.com
openSUSE Leap 15.3 ext4 kernel 5.14.0-rc3: https://drive.google.com/drive/folders/19ArXlOwX2xN8-SHjxPMzMQ-kj-Xkvbf0
Debian Bulleye ext4 kernel-5.15.0-rc4-next-20211011-postmarketos-grate
Debian Bulleye armhf kernel-5.15.0-rc4 - Google Drive
drive.google.com
Debian ext4: https://drive.google.com/drive/folders/1jhq1v5ejOazDB1wSF-ZS0FxBc_QIPUFD
Install guide for Ubuntu MATE 20.04.1 LTS:
Please check your tablet is grouper or tilapia by command
TWRP (adb shell) $ grep androidboot.baseband=unknown /proc/cmdline && echo grouper || echo tilapia
Checking hardware revision of grouper(E1565 or PM269) <- this is important, because I didn't have any PM269 devices, so I only supported rev. E1565
TWRP (adb shell) $ find /sys/devices/ | grep -c max776 && echo You have E1565
TWRP (adb shell) $ find /sys/devices/ | grep -c tps6591 && echo You have PM269
Reference link here:
Google Nexus 7 2012 (asus-grouper) - postmarketOS
wiki.postmarketos.org
1. Unlock bootlader and upgrade stock Android 5.1.1 Build LMY47V
2. Install TWRP 3.3.1-0 or later
3. Connect Nexus 7 to PC/Latop. Go to bootloader and flash boot
# adb start-server
# adb reboot bootloader (or press Power button + Volume Down button to come bootloader)
# fastboot flash boot boot.img
4. TWRP -> Advance -> Terminal
# df
# umount /dev/block/mmcblk0p__ <- fill partition number (2 times)
5. Back PC/Laptop,
# unxz -v ubuntu-mate-20.04.1-desktop-armhf+asus-grouper-kernel-5.14-rc3-next-grate.img.xz
# adb push /path/to/ubuntu-mate-20.04.1-desktop-armhf+asus-grouper-kernel-5.14-rc3-next-grate.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!
6. Utilities in /opt folder such as: cpufreq, temp_throttle, clear_ram, kde-auto-rotate
7. Install preload, tlp, bleachbit compton compositor in ubuntu source
Compton:
compton --backend glx --vsync opengl-swc --glx-no-stencil --unredir-if-possible --glx-no-rebind-pixmap --glx-swap-method 3 --paint-on-overlay -b
8. Update sysctl and cpufreq
ubuntu mate 22.04/cpufreq.start · main · Baonks81 / Nexus 7 2012 grouper ubuntu mate lxqt 22.04 · GitLab
Config cpifreq vms kernel
gitlab.com
ubuntu mate 22.04/sysctl.conf · main · Baonks81 / Nexus 7 2012 grouper ubuntu mate lxqt 22.04 · GitLab
Config cpifreq vms kernel
gitlab.com
# sudo sysctl -p
# sudo chmod +x /opt/cpufreq.start
# sudo sh /opt/cpufreq.start
9. Remove rpi packages
# sudo apt-get remove --purge libraspberrypi-bin libraspberrypi0 linux-firmware-raspi2 linux-headers-raspi linux-image-raspi linux-raspi pi-bluetooth rpi-eeprom u-boot-rpi flash-kernel linux-headers-5.4.0-1015-raspi linux-image-5.4.0-1015-raspi linux-image-5.4.0-1022-raspi linux-modules-5.4.0-1015-raspi linux-modules-5.4.0-1022-raspi linux-raspi-headers-5.4.0-1022 fwupd fwupd-signed gnome-firmware
10. Install grate-driver: https://launchpad.net/~grate-driver...us_filter=published&field.series_filter=focal
# sudo add-apt-repository ppa:grate-driver/ppa
11. Update sources.list and upgrade Ubuntu MATE 20.04.4 LTS. Enjoy!
Install chromium without snap:
How to install Chromium without snap?
I just discovered that chromium will only be released as a snap package. How can I continue to get chromium, without snap? Is this possible without building from source? Notes: Please let's keep t...
askubuntu.com
$ sudo nano /etc/apt/sources.list
deb http://deb.debian.org/debian/ bullseye contrib main non-free
# deb http://deb.debian.org/debian-debug/ bullseye-debug contrib main non-free
# deb-src http://deb.debian.org/debian/ bullseye contrib main non-free
deb http://security.debian.org/debian-security bullseye-security main contrib non-free
# deb-src http://security.debian.org/debian-security bullseye-security main contrib non-free
# Backports
deb http://deb.debian.org/debian bullseye-backports main contrib non-free
$ sudo apt update && sudo apt install chromium
Accelerate chromium create
# sudo nano /etc/chromium/local.conf
unset GDK_BACKEND
Insert --use-gel=egl in /usr/share/applications/chromium.desktop at line
Exec=/bin/chromium --use-gl=egl --user-agent="Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Mobile Safari/537.36 Firefox/102.0" %U
Fix chromium authentication keyring:
# sudo apt install seahorse
$ seahorse
Create new Password keyring for application with default name was "Default keyring"
Install guide for ArchLinuxARMv7:
The same install Ubuntu MATE 20.04.1 LTS steps. OTG-USB keyboard requires
User/passwd:
alarm: alarm
su: root
Install dialog and wifi-menu, wpa_passphrase, wpa_supplicant, iwd on USB Internet(pmOS supported)
USB Internet - postmarketOS
wiki.postmarketos.org
On, Nexus 7:
Code:
# ip route add default via 172.16.42.2
# echo nameserver 1.1.1.1 > /etc/resolv.conf
On PC/Laptop connecting usb by Nexus 7:
Fisrt, enable IP forwarding:
Code:
# sysctl net.ipv4.ip_forward=1
Then follow the instructions according to the distribution or firewall you use.
iptables (Ubuntu/Arch/Alpine)​
Code:
# iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
# iptables -A FORWARD -s 172.16.42.0/24 -j ACCEPT
# iptables -A POSTROUTING -t nat -j MASQUERADE -s 172.16.42.0/24
# iptables-save #Save changes
# ssh [email protected]
Passwd: alarm
# su
Passwd: root
# pacman-key --init
# pacman-key --populate
# pacman-key --refresh-keys
# pacman -Sy archlinux-keyring
# pacman -Syu
# pacman -S dialog wpa_supplicant iwd dhcpcd
Thanks to:
- grate-driver team
- postmarketOS
- Ubuntu MATE for rpi
- ArchLinux armv7h, Fedore armhfp, openSUSE Leap armv7l
Reference link:
https://tinhte.vn/thread/ubuntu-22-...-grouper-rev-e1565-kernel-5-15-0-rc4.3447577/
Zarosky said:
Greattt!!!! Could you explain better, about the utilities that are inside the /opt folder? Thank you so much for sharing this great work!
Click to expand...
Click to collapse
It's all creating a .desktop at startup applications
# sudo chmod +x /opt/clear_ram
# sudo chmod +x /opt/cpufreq.start
# sudo chmod +x /opt/temp_throttle
# sudo visudo
ALL ALL=(ALL) NOPASSWD: /opt/clear_ram, /opt/cpufreq.start, /opt/temp_throttle
Menu -> Preferences -> Startup Applications
In foreach command create one .desktop:
1. sudo /opt/clear_ram
2. sudo /opt/cpufreq.start
3. sudo /opt/temp_throttle 59 <- this is important, because over 60 degrees, n7 will poweroff
kde-auto-rotate -> readme to install for rotation with sensors
kde-auto-rotate
MediaFire is a simple to use free service that lets you put all your photos, documents, music, and video in a single place so you can access them anywhere and share them everywhere.
www.mediafire.com
Firefox-esr v.91
# sudo add-apt-repository ppa:mozillateam/ppa
# sudo apt-get update
# sudo apt-get install firefox-esr
mobile-config-firefox
# git clone https://gitlab.com/postmarketOS/mobile-config-firefox.git
# sudo make install
# zcat /proc/config.gz | grep SWAP
CONFIG_SWAP=y
CONFIG_MEMCG_SWAP=y
CONFIG_ARCH_USE_BUILTIN_BSWAP=y
# CONFIG_FRONTSWAP is not set
# CONFIG_MTD_SWAP is not set
# CONFIG_NFS_SWAP is not set
I could install dphys-swapfile package
# sudo apt install dphys-swapfile
# zcat /proc/config.gz | grep ZRAM
CONFIG_ZRAM=m
CONFIG_ZRAM_DEF_COMP_LZ4=y
CONFIG_ZRAM_DEF_COMP="lz4"
# CONFIG_ZRAM_WRITEBACK is not set
CONFIG_ZRAM_MEMORY_TRACKING=y
# sudo apt install zram-config
# nano /usr/bin/init-zram-swapping
Code:
#!/bin/sh
# load dependency modules
NRDEVICES=$(grep -c ^processor /proc/cpuinfo | sed 's/^0S/1/')
if modinfo zram | grep -q ' zram_num_devices:' 2>/dev/null; then
MODPROBE_ARGS="zram_num_devices=${NRDEVICES}"
elif modinfo zram | grep -q ' num_devices:' 2>/dev/null; then
MODPROBE_ARGS="num_devices=${NRDEVICES}"
else
exit 1
fi
modprobe zram $MODPROBE_ARGS
# Calculate memory to use for zram (1/2 of ram)
totalmem=`LC_ALL=C free | grep -e "^Mem:" | sed -e 's/^Mem: *//' -e 's/ *.*//'`
# mem=$(((totalmem / 2 / ${NRDEVICES}) * 1024)) -> for 512MB zram
mem=$(((totalmem * 3 / 2 / ${NRDEVICES}) * 1024))
# initialize the devices
for i in $(seq ${NRDEVICES});
do
DEVNUMBER=$((i - 1))
echo lz4 > /sys/block/zram${DEVNUMBER}/comp_algorithm
echo $mem > /sys/block/zram${DEVNUMBER}/disksize
mkswap /dev/zram${DEVNUMBER}
swapon -p 1 /dev/zram${DEVNUMBER}
done
*** Fix some errors:
When libglamoregl.so fail to load, we may remove mesa from grate-driver, but keeping opentegra driver
# sudo dpkg -P --force-depends libvdpau-tegra linux-firmware libd3dadapter9-mesa libegl-mesa0 libgbm1 libgl1-mesa-dri libglapi-mesa libglx-mesa0 libosmesa6 mesa-opencl-icd mesa-va-drivers mesa-vdpau-drivers mesa-vulkan-drivers
# sudo add-apt-repository --remove ppa:grate-driver/ppa
# sudo apt install --fix-broken
When it had blink cursor but device not boot, it need checking for Read-only file system error
# sudo ssh [email protected]
# sudo su
# sudo blkid
We find mount of root file system, usually /dev/dm-1
# sudo fsck.ext4 -f /dev/dm-1
# sudo reboot
***Backup full filesystem boot and rootfs
Connect Nexus 7 to PC/Laptop using micro-usb cable, enter TWRP recovery mode → Advance → Terminal
# df
# umount /dev/block/mmcblk0p-- <- fill number here (grouper: 09 or tilapia: 10)
On PC/Laptop
# adb start-server
Backup boot: # sudo adb pull /dev/block/mmcblk0p2 /path/to/boot-kernel-5.14-rc3-next-grate.img
Backup rootfs for grouper(wifi): # sudo adb pull /dev/block/mmcblk0p9 /path/to/rootfs.img
Backup rootfs for tilapia(3G): # sudo adb pull /dev/block/mmcblk0p10 /path/to/rootfs.img
Backup full: # sudo adb pull /dev/block/mmcblk0 /path/to/full_backup_mmcblk0.img
Greattt!!!! Could you explain better, about the utilities that are inside the /opt folder? Thank you so much for sharing this great work!
Zarosky said:
Greattt!!!! Could you explain better, about the utilities that are inside the /opt folder? Thank you so much for sharing this great work!
Click to expand...
Click to collapse
It's all creating a .desktop at startup applications
# sudo chmod +x /opt/clear_ram
# sudo chmod +x /opt/cpufreq.start
# sudo chmod +x /opt/temp_throttle
# sudo visudo
ALL ALL=(ALL) NOPASSWD: /opt/clear_ram, /opt/cpufreq.start, /opt/temp_throttle
Menu -> Preferences -> Startup Applications
In foreach command create one .desktop:
1. sudo /opt/clear_ram
2. sudo /opt/cpufreq.start
3. sudo /opt/temp_throttle 59 <- this is important, because over 60 degrees, n7 will poweroff
kde-auto-rotate -> readme to install for rotation with sensors
kde-auto-rotate
MediaFire is a simple to use free service that lets you put all your photos, documents, music, and video in a single place so you can access them anywhere and share them everywhere.
www.mediafire.com
Firefox-esr v.91
# sudo add-apt-repository ppa:mozillateam/ppa
# sudo apt-get update
# sudo apt-get install firefox-esr
mobile-config-firefox
# git clone https://gitlab.com/postmarketOS/mobile-config-firefox.git
# sudo make install
***Backup full filesystem boot and rootfs
Connect Nexus 7 to PC/Laptop using micro-usb cable, enter TWRP recovery mode → Advance → Terminal
# df
# umount /dev/block/mmcblk0p-- <- fill number here (grouper: 09 or tilapia: 10)
On PC/Laptop
# adb start-server
Backup boot: # sudo adb pull /dev/block/mmcblk0p2 /path/to/boot-kernel-5.14-rc3-next-grate.img
Backup rootfs for grouper(wifi): # sudo adb pull /dev/block/mmcblk0p9 /path/to/rootfs.img
Backup rootfs for tilapia(3G): # sudo adb pull /dev/block/mmcblk0p10 /path/to/rootfs.img
Backup full: # sudo adb pull /dev/block/mmcblk0 /path/to/full_backup_mmcblk0.img
That's really cool! nice work. I have to test it on my old Nexus but i have the 2013 flo edition. I don't think that this will work :/ But does Linux run well on your Nexus ? is it laggy ??
ilikemath199 said:
That's really cool! nice work. I have to test it on my old Nexus but i have the 2013 flo edition. I don't think that this will work :/ But does Linux run well on your Nexus ? is it laggy ??
Click to expand...
Click to collapse
It's running smoothly than stock Android 5.1.1 and AOSP 7.1.2/8.1
Nexus 7 2013 flo had Snapdragon S4 Pro APQ8064, it's developing by @okias . Please waiting for new news
5.15.0-rc2-postmarketos-qcom-apq8064+ w/ irq patches — paste.sr.ht
paste.sr.ht
Are there any web browsers (up-to-date) that work? Have you tried Vivaldi armhf?
dookie23 said:
Are there any web browsers (up-to-date) that work? Have you tried Vivaldi armhf?
Click to expand...
Click to collapse
No, I didn't try Vivaldi armhf. I think chromium version 94 on debian bookworm/sid. It's latest now, edit repositories to bookworm, and just install chromium v94 with some packages depend or not
Thank you very much! It works on my old nexus7,amazing!! After apt upgrade,there not enough space on nexus. my nexus is 8GB.
yuanhao said:
Thank you very much! It works on my old nexus7,amazing!! After apt upgrade,there not enough space on nexus. my nexus is 8GB.
Click to expand...
Click to collapse
sudo apt-get remove --purge libreoffice*
sudo apt-get clean
sudo apt-get autoremove
and remove more softs, which no need. Then run upgrade again or stay at ubuntu 20.04.1, or using other images: debian, archlinux, hirsuit preinstalled, etc. Usb-otg keyboard required
Baonks81 said:
sudo apt-get remove --purge libreoffice*
sudo apt-get clean
sudo apt-get autoremove
and remove more softs, which no need. Then run upgrade again or stay at ubuntu 20.04.1, or using other images: debian, archlinux, hirsuit preinstalled, etc. Usb-otg keyboard required
Click to expand...
Click to collapse
This is my first time to use a Linux OS , I just try to learn some linux command.
after flashing Ubuntu, I download and flash Fedora. Fedora's bluetooth doesn't work well, connecting is ok, but it doesn't work well with an apple mouse and a keyboard. and there's no web brower inside.
All in all Linux is really cool. thank you!
ext4: https://drive.google.com/drive/folders/1LbffvuU2B2r6ydbaTxvK2KNX_MdLxrrn
yuanhao said:
This is my first time to use a Linux OS , I just try to learn some linux command.
after flashing Ubuntu, I download and flash Fedora. Fedora's bluetooth doesn't work well, connecting is ok, but it doesn't work well with an apple mouse and a keyboard. and there's no web brower inside.
All in all Linux is really cool. thank you!
ext4: https://drive.google.com/drive/folders/1LbffvuU2B2r6ydbaTxvK2KNX_MdLxrrn
Click to expand...
Click to collapse
Ah, well, you're the first report about fedora 34 xfce4. I just port for fun, i didn't know it working out of the box .Archlinux, openSUSE Leap was the same lol
By the way, try some packages to activate bluetooth service and neard service(NFC)
Connecting keyboard and mouse bluetooth, NFC checking:
bluez
bluez-utils
bluez-mgmt
bluez-btmon
bluez-hid2hci
bluez-alsa
neard
Command:
$ sudo bluetoothctl power on
$ sudo bluetoothctl
#<bluetoothctl>: scan on
#<bluetoothctl>: help
NFC:
$ sudo nfctool -d nfc0 -1 -p
Nice to see there is still development for Grouper! Two questions:
- how is it feel with this distros is it usable?
- which distro is preferred for speed and stability?
Bladyle said:
Nice to see there is still development for Grouper! Two questions:
- how is it feel with this distros is it usable?
- which distro is preferred for speed and stability?
Click to expand...
Click to collapse
- I think Ubuntu MATE, I'm still using MATE 20.04.3LTS/21.10 kernel 5.14/5.15 on my Nexus 7 32Gb
- It's stability and usable with fine speed even only 1Gb RAM
6. Utilities in /opt folder such as: cpufreq, temp_throttle, clear_ram, kde-auto-rotate
7. Install preload, tlp, bleachbit compton compositor in ubuntu source
Click to expand...
Click to collapse
I get to step 6 above and I don't really understand what I need to do. Any help would be appreciated. Thank you.
ncfoster said:
I get to step 6 above and I don't really understand what I need to do. Any help would be appreciated. Thank you.
Click to expand...
Click to collapse
Baonks81 said:
It's all creating a .desktop at startup applications
# sudo chmod +x /opt/clear_ram
# sudo chmod +x /opt/cpufreq.start
# sudo chmod +x /opt/temp_throttle
# sudo visudo
ALL ALL=(ALL) NOPASSWD: /opt/clear_ram, /opt/cpufreq.start, /opt/temp_throttle
Menu -> Preferences -> Startup Applications
In foreach command create one .desktop:
1. sudo /opt/clear_ram
2. sudo /opt/cpufreq.start
3. sudo /opt/temp_throttle 58 <- this is important, because over 60 degrees, n7 will poweroff
kde-auto-rotate -> readme to install for rotation with sensors
kde-auto-rotate
MediaFire is a simple to use free service that lets you put all your photos, documents, music, and video in a single place so you can access them anywhere and share them everywhere.
www.mediafire.com
Firefox-esr v.91
# sudo add-apt-repository ppa:mozillateam/ppa
# sudo apt-get update
mobile-config-firefox
# git clone https://gitlab.com/postmarketOS/mobile-config-firefox.git
# sudo make install
***Backup full filesystem boot and rootfs
Connect Nexus 7 to PC/Laptop using micro-usb cable, enter TWRP recovery mode → Advance → Terminal
# df
# umount /dev/block/mmcblk0p-- <- fill number here (grouper: 09 or tilapia: 10)
On PC/Laptop
# adb start-server
Backup boot: # sudo adb pull /dev/block/mmcblk0p2 /path/to/boot-kernel-5.14-rc3-next-grate.img
Backup rootfs for grouper(wifi): # sudo adb pull /dev/block/mmcblk0p9 /path/to/rootfs.img
Backup rootfs for tilapia(3G): # sudo adb pull /dev/block/mmcblk0p10 /path/to/rootfs.img
Backup full: # sudo adb pull /dev/block/mmcblk0 /path/to/full_backup_mmcblk0.img
Click to expand...
Click to collapse
Do I need to add something to my tablet in order to run sudo?
I get the message "sh: sudo: not found"
ncfoster said:
Do I need to add something to my tablet in order to run sudo?
I get the message "sh: sudo: not found"
Click to expand...
Click to collapse
if you had su permission, no need sudo
Baonks81 said:
if you had su permission, no need sudo
Click to expand...
Click to collapse
Thank you for your response. I'm sorry, but what I also don't seem to understand is line 6, which states:
6. Utilities in /opt folder such as: cpufreq, temp_throttle, clear_ram, kde-auto-rotate
Click to expand...
Click to collapse
Is this saying those should already be there or that we have to put them there? I do not seem to have an /opt folder at all, so I am stuck.
ncfoster said:
Thank you for your response. I'm sorry, but what I also don't seem to understand is line 6, which states:
Is this saying those should already be there or that we have to put them there? I do not seem to have an /opt folder at all, so I am stuck.
Click to expand...
Click to collapse
/opt folder in / folder
It's meaning root, change to root by cd ..
or cd /
/opt stayed long time in GNU/Linux rootfs
Yeah. I knew where to look for the opt folder. But, it is not there for me.

How To Guide How to use the Hardware Test App from ASUS on a Zenfone running a CustomROM

How to use the Hardware Test App from ASUS on a Zenfone running a CustomROM
The Hardware Test App from ASUS for the Zenfone 8 can also be used on a ASUS Zenfone 8 running a CustomROM.
But to get the App working on a CustomROM some efforts are neccessary.
The ASUS Hardware Test App needs the permission to modify system settings. To get this permission the app must be signed with the platform certificate used for the running Android OS.
And because these certificates are not available for the public for all public available CustomROMs (for some very good reasons ...) you must compile your own CustomROM for using the ASUS Hardware Test App on a CustomROM.
So -- for those who still want to continue: Here are the steps neccessary to run the Hardware Test App from ASUS for the Zenfone 8 on a phone running a CustomROM :
First copy the apk with the ASUS Hardware Test App from a Zenfone 8 running the original Android 12 from ASUS to your PC.
This is the file
/system/apps/SMMI_TEST/SMMI_TEST.apk
on the phone running the ASUS Android OS.
Now it's neccessary to sign the App with the platform key from your CustomROM:
In the OmniROM (and I assume that's also true for other AOSP based CustomROMs) the neccessary files, platform.pk8 and platform.x509.pem, are in the directory
Code:
./build/make/target/product/security
in your build tree for the CustomROM, e.g.
Code:
[[email protected] /data/develop/android/OmniROM]$ ls -l ./build/make/target/product/security/platform.*
-rw-------. 1 xtrnaw7 xtrnaw7 1219 Jun 25 09:39 ./build/make/target/product/security/platform.pk8
-rw-rw-r--. 1 xtrnaw7 xtrnaw7 1460 Jun 25 09:39 ./build/make/target/product/security/platform.x509.pem
[[email protected] /data/develop/android/OmniROM]$
Now re-sign the apk file using these commands:
Code:
# remove the current certificate files from the apk (probably not neccessary -- but shouldn't harm)
#
zip -d SMMI_TEST.apk META-INF/CERT.SF META-INF/CERT.RSA
# do a zip align for the apk and write the output to SMMI_TEST1.apk
#
# (zipalign is part of the OTA tools)
#
/data/develop/android/otatools/bin/zipalign 4 SMMI_TEST.apk SMMI_TEST1.apk
# test the result (there should be NO output from this command)
#
/data/develop/android/otatools/bin/zipalign -c 4 SMMI_TEST1.ap
# and now sign the apk with the platform key from the development tree for your self compiled CustomROM
# (apksigner.jar is part of the Sdk from Google for Android)
#
java -jar ./Android/Sdk/build-tools/33.0.0/lib/apksigner.jar sign --key platform.pk8 --cert platform.x509.pem SMMI_TEST1.apk
That's it . The re-signed apk file SMMI_TEST1.apk should work on your CustomROM
To test it:
To test the signed apk do:
Copy the signed apk to the phone running your self compiled CustomROM and issue
Code:
ls -l /sdcard/Download/SMMI_TEST1.apk
# 25733396 in the next command is the size of the file /sdcard/Download/SMMI_TEST1.apk in byte
#
cat /sdcard/Download/SMMI_TEST1.apk | pm install -S 25733396
If you get an error like this
Code:
130|ASUS_I006D:/ # ls -l /sdcard/Download/SMMI_TEST1.apk
-rw-rw---- 1 u0_a111 media_rw 25733396 2022-08-04 19:02 /sdcard/Download/SMMI_TEST1.apk
ASUS_I006D:/ #
ASUS_I006D:/ # cat /sdcard/Download/SMMI_TEST1.apk | pm install -S 25733396
Failure [INSTALL_FAILED_SHARED_USER_INCOMPATIBLE: Reconciliation failed...: Reconcile failed: Package com.asus.atd.smmitest has no signatures that match those in shared user android.uid.system; ignoring!]
1|ASUS_I006D:/ #
something went wrong signing the apk. Just do it again.
To install the apk do:
If not already done:
Compile your own CustomROM (using the certificates used to sign the ASUS Hardware Test App!) and install it on the ASUS Zenfone 8. (see How to compile the OmniROM for the ASUS Zenfone 8 for how to compile the OmniROM)
Install Magisk on your phone running the self compiled CustomROM
Simulate a Magisk Module using these commands:
Code:
adb shell su - -c mkdir -p /data/adb/modules/SMMI_TEST/system/app/SMMI_TEST
adb push SMMI_TEST1.apk /sdcard/Download/
adb shell su - -c cp /sdcard/Download/SMMI_TEST1.apk /data/adb/modules/SMMI_TEST/system/app/SMMI_TEST/SMMI_TEST1.apk
adb shell su - -c chmod o+r /data/adb/modules/SMMI_TEST/system/app/SMMI_TEST/SMMI_TEST1.apk
and reboot the phone
Code:
adb reboot
After the reboot the ASUS Hardware Test App should be visible in the directory /system/app, e.g.
Code:
130|ASUS_I006D:/ # find /system/app/SMMI_TEST/
/system/app/SMMI_TEST/
/system/app/SMMI_TEST/SMMI_TEST1.apk
ASUS_I006D:/ #
To execute the ASUS Hardware Test App do
Code:
# open a shell on the ASUS Zenfone 8 (either local or via "adb shell"), become root user
su -
and execute
Code:
# switch SELinux to permissive mode (I currently do not know the neccessary SELinux policies to avoid this step ...)
#
setenforce 0
# and start the ASUS Hardware Test App from within the shell
#
am start -n com.asus.atd.smmitest/com.asus.atd.smmitest.main.MAIN
Do not forget to enable SELinux enforcing mode after the tests are done (or reboot the phone ...)
Code:
# switch SELinux to permissive mode (I currenlty do not know the neccessary SELinux policies to avoid this step ...)
#
setenforce 1
Sample Script to start the ASUS Hardware Test App
Code:
# simple script to start the ASUS Hardware App
CUR_SELINUX_STATUS="$( getenforce )"
CUR_USERID=$( id -u -n )
RESTORE_SELINUX_STATE="false"
if [ "${CUR_SELINUX_STATUS}"x != "Permissive"x ] ; then
if [ "${CUR_USERID}"x != "root"x ] ; then
echo "Either start this script as user \"root\" or set the SELinux mode to \"permissive\" using the command \"setenforce 0\" before starting this script"
exit 1
fi
echo "Setting the SELinux mode to \"Permissive\" ..."
setenforce 0
RESTORE_SELINUX_STATE="true"
else
echo "The SELinux mode is already \"Permissive}\" "
fi
am start -n com.asus.atd.smmitest/com.asus.atd.smmitest.main.MAIN 2>&1 | tee /sdcard/Download/test.out
if [ ${RESTORE_SELINUX_STATE} = true ] ; then
echo "Press return when done with the tests .."
read USER_INPUT
echo "Setting the SElinux mode back to \"Enforcing\" ...."
setenforce 1
else
echo "Do not forget to set the SELinxu mode back to \"Enforcing\" using the command \"setenforce 1\" "
fi
Trouble Shooting
If the boot process of the phone hangs after adding the pseudo Magisk Module for the ASUS Hardware Test App do:
Code:
# connect to the phone via adb (that should work!)
#
adb shell
# become root user
#
su -
# delete the file with the AUS Hardware Test App
#
rm /data/adb/modules/SMMI_TEST/system/app/SMMI_TEST/SMMI_TEST1.apk
# and reboot the phone
#
reboot
Most probably something went wrong signing the app or you did not do the zip align (there should be some messages visible in logcat to find the reason for the boot loop; check the output of logcat before rebooting the phone)
A useful test to find reason for the boot loop is :
Code:
# try to install the apk as root user
#
su -
# and then
#
setenforce 0
pm install /sdcard/Download/SMMI_TEST.apk
If booting the phone works but the App does not start make sure that the SELinux status is permissive.
Update 26.06.2022
The adb commands to create the "simulated" Magisk Module must be executed by the user root - fixed.
Added a sample script to start the ASUS Hardware Test Tool
Update 04.08.2022
Added instructions to to test if signing the apk was successfull
Thank you so much for your guides! This is very detailled documentation with good explanations!

Unable to Launch Arm AVD on x86_64 Host

Hi,
I am trying to invoke arm based android emulator recent version(Android 11) on Linux. While doing so, facing "Device Manager: The emulator process for AVD Arm64 has terminated" -- details found on idea.log
2022-11-10 11:50:19,744 [ 611405] WARN - util.DeprecatedMethodException - Exception 'com.intellij.util.DeprecatedMethodException: The default implementation of method 'com.intellij.openapi.fileEditor.FileEditor.getFile' is deprecated, you need to override it in 'class com.android.tools.idea.mlkit.viewer.TfliteModelFileEditor'. A proper @NotNull implementation required' was reported 90 times
2022-11-10 11:50:20,006 [ 611667] INFO - Emulator: Arm64_Android11 - C:\Users\Devi\AppData\Local\Android\Sdk\emulator\emulator.exe -netdelay none -netspeed full -avd Arm64_Android11 -qt-hide-window -grpc-use-token -idle-grpc-timeout 300
2022-11-10 11:50:20,079 [ 611740] INFO - Emulator: Arm64_Android11 - PANIC: Avd's CPU Architecture 'arm64' is not supported by the QEMU2 emulator on x86_64 host.
2022-11-10 11:50:20,080 [ 611741] INFO - Emulator: Arm64_Android11 - Android emulator version 31.2.10.0 (build_id 8420304) (CL:N/A)
2022-11-10 11:50:20,084 [ 611745] INFO - Emulator: Arm64_Android11 - Process finished with exit code 1
2022-11-10 11:50:20,084 [ 611745] ERROR - Emulator: Arm64_Android11 - Emulator terminated with exit code 1
java.lang.Throwable: Emulator terminated with exit code 1
Click to expand...
Click to collapse
I am able to launch Android 7 on x86_64
Does this mean we can't launch Android arm emulator on x86_64 or am I missing any dependencies??

How To Guide How to configure the WiFI in Android via script

In the current version of Android the WiFi configuration is stored in the file
/data/misc/apexdata/com.android.wifi/WifiConfigStore.xml
e.g.
Code:
ASUS_I006D:/ # ls -lZtr /data/misc/apexdata/com.android.wifi/WifiConfigStore.xml
-rw------- 1 system system u:object_r:apex_system_server_data_file:s0 4884 2023-01-29 08:55 /data/misc/apexdata/com.android.wifi/WifiConfigStore.xml
ASUS_I006D:/ #
The file is in plain ASCII xml format so it can be processed by any executable to change text files (editor, sed, etc).
But IMHO it's better to configure the WiFi manually via GUI and then use the file WifiConfigStore.xml with that configuration for configuring the WiFi via script. Therefor I use this code in the post install script to install and configure my phone (see How to install and configure the Android OS via Script):
Spoiler: script commands to enable and configure WiFi
Bash:
#
# sample post install script for the customizing of the phone
#
# This script will be copied to the phone and executed there
#
# The script is executed by the user shell; use "su - -c <command>" to execute commands as user root
#
echo ""
echo "*** Postinstall script is running ..."
echo ""
# ... other customizations ....
#
# create the WiFi config file
#
# -rw------- 1 system system u:object_r:apex_system_server_data_file:s0 4884 2023-01-29 08:55 /data/misc/apexdata/com.android.wifi/WifiConfigStore.xml
#
WIFI_CONFIG_FILE="/data/misc/apexdata/com.android.wifi/WifiConfigStore.xml"
WIFI_CONFIG_FILE_BACKUP="${WIFI_CONFIG_FILE}.$$.bkp"
NEW_WIFI_CONFIG_FILE="/sdcard/Download/WifiConfigStore.xml"
if [ -r "${WIFI_CONFIG_FILE}" ] ; then
echo "Creating a backup of the file \"${WIFI_CONFIG_FILE}\" in \"${WIFI_CONFIG_FILE_BACKUP}\" ...."
cp "${WIFI_CONFIG_FILE}" "${WIFI_CONFIG_FILE_BACKUP}"
fi
echo "Creating the file \"${NEW_WIFI_CONFIG_FILE}\" ..."
cat >"${NEW_WIFI_CONFIG_FILE}" <<-\EOT
*** add here the contents of the file /data/misc/apexdata/com.android.wifi/WifiConfigStore.xml from the phone after manually configuring the WLAN
EOT
if [ $? -eq 0 ] ; then
echo "Creating the file \"${WIFI_CONFIG_FILE}\" ..."
su - -c cp "${NEW_WIFI_CONFIG_FILE}" "${WIFI_CONFIG_FILE}" && \
su - -c chmod 600 "${WIFI_CONFIG_FILE}" && \
su - -c chown system:system "${WIFI_CONFIG_FILE}" && \
su - -c chcon -v "u:object_r:apex_system_server_data_file:s0" "${WIFI_CONFIG_FILE}"
if [ $? -ne 0 ] ; then
echo "Error creating the file \"${WIFI_CONFIG_FILE}\" "
fi
else
echo "Error creating the file \"${NEW_WIFI_CONFIG_FILE}\" "
fi
# enable WiFi
#
echo "Enabling WiFi ..."
svc wifi enable
# optional: Disable mobile data connections
#
echo "Disabling mobile data ..."
svc data disable
# Now reboot the phone to activate the new WiFi config ..
#
echo "Waiting 15 seconds now before rebooting - press CTRL-C to abort ...."
i=0
while [ $i -lt 15 ] ; do
(( i = i + 1 ))
printf "."
sleep 1
done
printf "\n"
echo "Now rebooting the phone ..."
reboot
#
Notes:
Be aware the the file /data/misc/apexdata/com.android.wifi/WifiConfigStore.xml contains the passwords for all configured WLANs in plain text.
There should be a command to force Android to reread the file WifIConfigStore.xml but I don't know that.
Android can be forced to re-read the file WifIConfigStore.xml by killing the process system_server, e.g:
Bash:
pkill system_server
But that is more or less a warm reboot and I do not know what other side effects that restart triggers
There is an app to configure WiFi via adb command
https://github.com/steinwurf/adb-join-wifi
Bash:
adb shell am start -n com.steinwurf.adbjoinwifi/.MainActivity -e ssid myssid -e password mywlan_password -e password_type WPA
The app works but unfortunately it does not support enabling the setting to use the device MAC instead of the random MAC so it's not usable in my environment.
Another app to configure WiFi via adb command is available here:
https://github.com/pr4bh4sh/adb-wifi-setting-manager
Unfortunately that app also does not support enabling choosing the MAC address for the connection.
There is also a script to convert an old Android wpa_supplicant.conf file to the newer (post-Oreo) WifiConfigStore.xml file (not tested):
https://github.com/mnalis/android-wifi-upgrade
It's also possible to use the command wpa_cli to configure WiFi but be aware the wpa_cli only works if selinux is (temporary) disabled, example:
Spoiler: wpa_cli example
Code:
ASUS_I006D:/ $ su -
ASUS_I006D:/ #
ASUS_I006D:/ # setenforce 0
ASUS_I006D:/ #
ASUS_I006D:/ #
ASUS_I006D:/ # wpa_cli
wpa_cli v2.10-devel-11
Copyright (c) 2004-2019, Jouni Malinen <[email protected]> and contributors
This software may be distributed under the terms of the BSD license.
See README for more details.
Using interface 'wlan0'
Interactive mode
<3>Control interface command 'BSS RANGE=ALL MASK=0x2'
<3>Control interface command 'LIST_CREDS'
<3>Control interface command 'LIST_NETWORKS'
<3>Control interface command 'STA-FIRST'
>
> list_networks
network id / ssid / bssid / flags
0 Zeilsheim any [CURRENT]
1 any [DISABLED]
<3>Control interface command 'LIST_NETWORKS'
>
> quit
ASUS_I006D:/ #
Note: Use help to get list of known commands
Test Environment
I tested the WiFi config via script described above in these Android distributions:
OmniROM 13 (Android 13)
OmniROM 12 (Android 12)
ASUS Android 12
ASUS Android 13
This method seems not to work in Android 11

Categories

Resources