text:
Can a Samsung receive OTA updates normally with a systemless root?
If a systemless root is done, will software updates still appear in settings/show up as a notification that there is a new update available?
In case it does show up, can you download and install the update directly from the settings app even though the phone is rooted?
From what I read, systemless roots are great because they allow you to update a rooted Android without unrooting it. Is this the case or have I misread something?
Another thing I was curious about is if you root your Android via systemless root, would the phone status stay "official" or will it be "modified"/"custom"? And would a factory reset unroot a phone that has been rooted via systemless root?

Related: What is "systemless root"? (the answer touches about OTA update)

Does this answer your question? If I root a Samsung without a computer(using no computer root method) will I receive Software Update normally?

No, no matter how you root your device, you won't get Android updates unless you flash a newer rom on Android which may cause you to have to wipe your phone. It also depends on what you use, if you use Magisk, KingoRoot or CF-Autoroot, then it may hide the root, but all jailbreaking apps try to hide the root so that you don't get stopped from using apps.

Edit:
Factory resetting removes root, but depending on your oem, they may always be able to tell if you root your phone. Like if you have a Note 3 that is rooted, it starts up and says Void Warranty on the top left. Samsung will always know that you rooted your device, even if you remove the root.

although I am not Samsung user this is contradictory to my (mothers) Huawei experience, where FOTA is overwriting ramdisk.img (boot.img) automatically, causing loss of magisk su each time. there is also Magisk OTA survival guide (for non-samsung devices)


text:
Android 9 device does not save network
On an Android 9 tablet:

Settings
Use Wi-Fi
Add network
Enter an SSID, and select security None (the Wi-Fi does not require a password).
Tap Save

The network is not saved and the tablet does not connect to the Wi-Fi network. The Wi-Fi network works perfectly with half a dozen or so other devices.
Could anyone shed some light on this?

What is the model name and manufacturer of the tablet?

@Robert Thank you for trying to help. It is this device: https://jltmobile.com/product/mt3010a-10-fully-rugged-tablet/ I have figured out - I need to go to Advanced options and select Yes for the hidden network option. Should I delete this question?

Let me answer my question per the suggestion of Andrew instead of deleting it.
The solution I found:

Tap Advanced options when adding a network
Select Yes for Hidden network

I think I missed the saved network when I posted my question. The network was saved on this tablet but it was on a separate list at the bottom:

source: Stack Exchange

license: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/4.0/

sort: votes


text:
How to Flash Patched_Boot.img via termux?
Is there a way to get termux to process Fastboot cmds or flash a patched_boot.img with out a PC?

fastboot cmd is usually Fastboot flash boot --slot=all magisk_patched-24314_GyPru.img so what would i type in termux

you realize fastboot is reading file from PC though? type in termux 'su; ls -d /dev/block/*/*/*/by-name/boot*'

https://forum.xda-developers.com/t/4356231

no, there is no way to unlock bootloader nor root your device from termux (except for nexus devices). you can however run fastboot commands from another rooted device with Magisk module, or flash partitions with dd if termux is running on already rooted device
$ su
# ls -d /dev/block/*/*/*/by-name/boot*
# dd if=/storage/0815-4711/patched_boot.img of=/dev/block/platform/11120000.ufs/by-name/boot_a
# dd if=/storage/0815-4711/patched_boot.img of=/dev/block/platform/11120000.ufs/by-name/boot_b

Bootloader is Unlocked, PC crashed and must flashed patched boot.img

all_licenses: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/4.0/


text:
Is Galaxy S3 always disclosing an WiFi SSID?
I read tons of articles about how is it bad do hide SSID because client devices can disclose the network parameters by constantly "pinging" it when not in range. Ok, here is the client the bad guy, not the access point.
Ok. Then I take my Samsung Galaxy S3 phone, go to the WiFi network settings and do not see any checkbox of the kind "Connect even if SSID is hidden". But my network IS hidden and SGS3 IS connecting to it. Does it mean that SGS3 is always automatically ready to disclose WiFi parameters, no matter whether SSID is hidden or not?
There is a small bit of hope left:
May be the way how the network was added influences SGS3 WiFi client behaviour?
Because this network is hidden, I had to add it manually. May be when a WiFi network is broadcasting its SSID and I only have to choose it from the list, the phone behaves then differently and doesn't constantly try to discover the network?
Please do not write that I shouldn't hide SSID. It will deflect the discussion in an unwanted mainstream direction. There are tons of such suggestions in the Internet.
So, using the link provided by Andrew T. I found out that Android prior to v9 is always sending probe requests to the not available saved networks, and this behavior was made changeable only in Android v9+.

AFAIK hiding the SSID only changes behaviour for initial connection as one has to know the SSID to be able to connect instead of just choosing from the list.
Also the WiFi will at some point confirm its network name to devices who would try to connect to it which could be intercepted by a third party that would try to connect to it.
In my opinion hiding the SSID is just a tiny security by obscurity measure that only protects from everyday users.
Here is some interesting read about the situation with some examples:
hidden wifi ssid: How to know the name of a wireless network with no SSID


text:
Using vysor for remote adb debugging
Hi I have a computer X connected to Android phone A at my home via USB, I would like to give a remote computer Y outside my home network ability to view the phone and do remote debugging(via adb). I thought Vysor Enterprise was able to do this. But Although I can view and control A on Y using the Vysor App I am unable to see anything on adb devices on Y. Ultimately I want to install apps from Y onto it in Android Studio. Both the computers are Macbooks with Monterey and the Android phone has Android 11 or later.
I have raised this question on github https://github.com/koush/vysor.io/issues/1079 but I think the Vysor's author's response was not clear. Has someone faced and solved this issue? Any alternatives to Vysor?

adb over tcpip only works if Y and A connected to same wifi

Vysor only allows you to see the remote screen and forward mouse & keyboard commands to the remote machine. If you want to forward adb connection to a remote machine you have to set-up that separately. I don't know if Vysor supports TCP forwarding, if yes you can use that. If not you need a second channel like SSH for TCP forwarding. Search the net for "adb forward remote machine 5037" and you end up on a page like this: https://www.paincker.com/adb-remote/


text:
Is there any way to control per-device audio balance?
Device: Android 12, Pixel 6 Pro
I recently got a new Pixel 6 Pro and loved it so far, but the earpiece speaker seemed a little quiet to me, so i went into Accessibility settings and changed the audio balance.
Problematically, this also alters balance for Bluetooth headphones, Android Auto, ...
Is there any way through an app or natively that allows me to control balance just for my phone's speakers?
Thanks!

I found a solution! With Wavelet on Legacy Mode, you can control EQ, balance, and limiter per device.
Works flawlessly and only affect the phone's speakers!


text:
How can I reduce lag/crashes when mirroring a screen with scrcpy?
Scrcpy lags or crashes when mirroring a screen. How can I reduce this?
https://github.com/Genymobile/scrcpy

The docs say "It may be useful to decrease the bit-rate and the resolution:"
scrcpy --bit-rate 2M  --max-fps 15 --max-size 960
--bit-rate 2M - reduce the bit rate being sent (amount of data per second, affecting the image quality of the mirrored screen) (default 8M)
--max-fps 15 - reduce the number of frames per second (reducing the data per second) (default 60+?)

This [fps adjust] is officially supported since Android 10, but may work on earlier versions.

--max-size 960 - make the maximum width or height 960 (the other dimension is scaled down, preserving aspect ratio). This reduces the number of pixels sent (if your display is >960p). (Default native res?)
These factors seem to reduce the load on the host CPU and the amount of data needing to be reliably sent between the guest and host over USB/wifi. It seems to reduce lag and crashes.
https://github.com/Genymobile/scrcpy


text:
Encryption and deleted data
I have a galaxy S8 using "default password" meaning no startup password or secure start up.
The device is still encrypted by default so all data should not be recoverable after a factory reset as the old encryption key is deleted and a new one is generated on reboot. This is to my limited understanding. Is this right?
Now what about data that was "deleted" before the factory reset like photos or unwanted files that were "deleted" and then the device was reset? Is any of that info recoverable?

why should deleted file easier to recover than (unrecoverable) existing file? encrypted is encrypted no matter what kind of file it was

So deleted files are still encrypted and unrecoverable after a factory reset? Also, do I have the first part right about default encryption despite no password?

yes. the whole partition is encrypted, there is nothing left. not even a file system. the passphrase is "default_password" so there actually is a password. read more about FDE key derivation here


text:
How to remove the "SecurityPlugin" device admin app?
I don't know how I installed the below application to my phone and now I can't remove it or uninstall it. The app is called "SecurityPlugin".

Anyone can help?

Wecome to Android Enthusiasts! It must have been installed with one of your app. You need to find that particularapp, and remove Security Plugin from within that particular app.


text:
pstore/ramoops won't work on Poco M3, rooted
I'm trying to use pstore logs on my Poco M3. I tried everything. PSTORE configs are activated on the kernel, pstore module is loaded on the phone, phone is rooted, /sys/fs/pstore is mounted automatically but never contains anything.
130|citrus:/ # dmesg | grep pstore
[    0.094327] console [pstore-1] enabled
[    0.094468] pstore: Registered ramoops as persistent store backend
[    1.065975] pstore: Using compression: deflate
[   98.052156] type=1400 audit(1654268897.690:3752): avc: denied { read } for comm="ls" name="/" dev="pstore" ino=1197 scontext=u:r:shell:s0 tcontext=u:object_r:pstorefs:s0 tclass=dir permissive=1
[   98.052450] type=1400 audit(1654268897.690:3753): avc: denied { open } for comm="ls" path="/sys/fs/pstore" dev="pstore" ino=1197 scontext=u:r:shell:s0 tcontext=u:object_r:pstorefs:s0 tclass=dir permissive=1

it looks like selinux is blocking ls on /sys/fs/pstore. Is there a way to make it always allow ls on /sys/fs/pstore, even after reboot?
I already added androidboot.selinux=permissive to my boot command line and it's recognized on the phone:
130|citrus:/ # getenforce
Permissive

Of course, doing
citrus:/ # ls /sys/fs/pstore
citrus:/ #

shows nothing
UPDATE: I just learned that permissive means just logging without blocking, so this is not blocking, my pstore is indeed empty. Am I right?

not sure what you mean https://i.stack.imgur.com/hHp7g.jpg

@alecxs my ls-la /sys/fs/pstore is empty. Is your phone a Poco M3? On mine I can't make it work

could be you're in wrong mount namespace, try su -mm

@alecxs citrus:/ $ su -mm citrus:/ # ls /sys/fs/pstore/                                                                        citrus:/ # ls -la /sys/fs/pstore/                                                                    total 0

I am using Poco M3 Android 10 with Magisk 24304 Zygisk + LSPosed not sure why it should make any difference?

Did you make sure that pstore is mounted? mount | grep pstore.

@alecxs I think I really tried everything. I'm on Android 11 but I also tried getting pstore from both the official ROM and with my custom kernel with pstore cnfigs activated and so. Won't you upgrade to 11? I think it does not make any difference though

@IrfanLatif pstore on /sys/fs/pstore type pstore (rw,seclabel,nosuid,nodev,noexec,relatime) I also tried mounting it several times to several differend directories and etc

@IrfanLatif you may have a look at real issue here

@alecxs this does not apply to PSTORE, all the PSTORE configs end up in the .config, and the pstore module is mounted on the phone automatically


text:
Camera is not working on my Galaxy TAB
Suddenly, the camera and flashlight are not working on my Galaxy TAB device. Android throws a camera/flashlight is being used by another app issue.
I have tried to uninstall the apps one by one and factory reset, but nothing has worked so far. I have run:
adb shell dumpsys media.camera > info.txt

which gives:
== Service global info: ==

Number of camera devices: 1
Number of normal camera devices: 1
    Device 0 maps to "0"
Active Camera Clients:
[]
Allowed user IDs: 0

== Camera service events log (most recent at top): ==
  06-03 19:35:35 : DISCONNECT device 0 client for package cameraserver (PID -1)
  06-03 18:58:49 : DISCONNECT device 0 client for package cameraserver (PID -1)
  06-03 18:58:46 : DISCONNECT device 0 client for package cameraserver (PID -1)
  06-03 18:58:33 : DISCONNECT device 0 client for package cameraserver (PID -1)
  06-03 18:58:28 : DISCONNECT device 0 client for package cameraserver (PID -1)
  06-03 16:00:27 : DISCONNECT device 0 client for package cameraserver (PID -1)
  06-03 15:59:16 : DISCONNECT device 0 client for package cameraserver (PID -1)
  06-03 15:47:29 : DISCONNECT device 0 client for package cameraserver (PID -1)
  06-03 15:45:36 : DISCONNECT device 0 client for package cameraserver (PID -1)
  06-03 15:35:20 : DISCONNECT device 0 client for package cameraserver (PID -1)
  06-03 15:25:20 : DISCONNECT device 0 client for package cameraserver (PID -1)
  06-03 15:22:41 : DISCONNECT device 0 client for package cameraserver (PID -1)
  06-03 15:22:41 : DISCONNECT device 0 client for package cameraserver (PID -1)
  06-03 15:20:52 : DISCONNECT device 0 client for package cameraserver (PID -1)
  06-03 15:20:52 : DISCONNECT device 0 client for package cameraserver (PID -1)
  06-03 13:51:54 : DISCONNECT device 0 client for package cameraserver (PID -1)
  06-03 13:51:51 : DISCONNECT device 0 client for package cameraserver (PID -1)
  06-03 13:37:58 : DISCONNECT device 0 client for package cameraserver (PID -1)
  06-03 13:15:15 : DISCONNECT device 0 client for package cameraserver (PID -1)
  06-03 13:03:03 : DISCONNECT device 0 client for package cameraserver (PID -1)
  06-03 12:22:11 : DISCONNECT device 0 client for package cameraserver (PID -1)
  06-03 12:18:29 : DISCONNECT device 0 client for package cameraserver (PID -1)
  06-03 12:09:06 : DISCONNECT device 0 client for package cameraserver (PID -1)
  06-03 12:09:06 : DISCONNECT device 0 client for package cameraserver (PID -1)
  06-03 12:08:51 : DISCONNECT device 0 client for package cameraserver (PID -1)
  06-03 12:08:51 : DISCONNECT device 0 client for package cameraserver (PID -1)
  06-03 12:08:50 : DISCONNECT device 0 client for package cameraserver (PID -1)
  06-03 12:08:50 : DISCONNECT device 0 client for package cameraserver (PID -1)
  06-03 11:41:59 : DISCONNECT device 0 client for package cameraserver (PID -1)
  06-03 11:36:09 : DISCONNECT device 0 client for package cameraserver (PID -1)
  06-03 08:40:54 : DISCONNECT device 0 client for package cameraserver (PID -1)
  06-03 05:38:45 : DISCONNECT device 0 client for package cameraserver (PID -1)
  06-03 03:44:35 : DISCONNECT device 0 client for package cameraserver (PID -1)
  06-03 03:08:13 : DISCONNECT device 0 client for package cameraserver (PID -1)
  06-03 02:33:07 : DISCONNECT device 0 client for package cameraserver (PID -1)
  06-03 01:50:41 : DISCONNECT device 0 client for package cameraserver (PID -1)
  06-03 01:50:38 : DISCONNECT device 0 client for package cameraserver (PID -1)
  06-03 00:38:16 : DISCONNECT device 0 client for package cameraserver (PID -1)
  06-03 00:35:47 : DISCONNECT device 0 client for package cameraserver (PID -1)
  06-03 00:25:47 : DISCONNECT device 0 client for package cameraserver (PID -1)
  06-03 00:15:46 : DISCONNECT device 0 client for package cameraserver (PID -1)
  06-03 00:05:46 : DISCONNECT device 0 client for package cameraserver (PID -1)
  06-02 23:55:46 : DISCONNECT device 0 client for package cameraserver (PID -1)
  06-02 23:45:46 : DISCONNECT device 0 client for package cameraserver (PID -1)
  06-02 23:45:45 : DISCONNECT device 0 client for package cameraserver (PID -1)
  06-02 23:41:11 : DISCONNECT device 0 client for package cameraserver (PID -1)
  06-02 23:40:21 : DISCONNECT device 0 client for package cameraserver (PID -1)
  06-02 23:40:01 : DISCONNECT device 0 client for package cameraserver (PID -1)
  06-02 23:18:07 : DISCONNECT device 0 client for package cameraserver (PID -1)
  06-02 23:18:07 : DISCONNECT device 0 client for package cameraserver (PID -1)
  06-02 22:53:26 : DISCONNECT device 0 client for package cameraserver (PID -1)
  06-02 22:24:28 : DISCONNECT device 0 client for package cameraserver (PID -1)
  06-02 21:52:09 : DISCONNECT device 0 client for package cameraserver (PID -1)
  06-02 21:52:09 : DISCONNECT device 0 client for package cameraserver (PID -1)
  06-02 21:52:08 : DISCONNECT device 0 client for package cameraserver (PID -1)
  06-02 21:52:08 : DISCONNECT device 0 client for package cameraserver (PID -1)
  06-02 21:51:19 : DISCONNECT device 0 client for package cameraserver (PID -1)
  06-02 21:04:52 : DISCONNECT device 0 client for package cameraserver (PID -1)
  06-02 21:01:03 : DISCONNECT device 0 client for package cameraserver (PID -1)
  06-02 20:54:12 : DISCONNECT device 0 client for package cameraserver (PID -1)
  06-02 20:38:47 : DISCONNECT device 0 client for package cameraserver (PID -1)
  06-02 18:13:15 : DISCONNECT device 0 client for package cameraserver (PID -1)
  06-02 18:13:13 : DISCONNECT device 0 client for package cameraserver (PID -1)
  06-02 18:04:24 : DISCONNECT device 0 client for package cameraserver (PID -1)
  06-02 18:04:24 : DISCONNECT device 0 client for package cameraserver (PID -1)
  06-02 18:04:05 : DISCONNECT device 0 client for package cameraserver (PID -1)
  06-02 18:04:04 : DISCONNECT device 0 client for package cameraserver (PID -1)
  06-02 18:00:32 : DISCONNECT device 0 client for package cameraserver (PID -1)
  06-02 18:00:32 : DISCONNECT device 0 client for package cameraserver (PID -1)
  06-02 18:00:31 : DISCONNECT device 0 client for package cameraserver (PID -1)
  06-02 18:00:31 : DISCONNECT device 0 client for package cameraserver (PID -1)
  06-02 17:38:48 : DISCONNECT device 0 client for package cameraserver (PID -1)
  06-02 17:38:20 : DISCONNECT device 0 client for package cameraserver (PID -1)
  06-02 17:38:18 : DISCONNECT device 0 client for package cameraserver (PID -1)
  06-02 12:27:07 : DISCONNECT device 0 client for package cameraserver (PID -1)
  06-02 12:26:49 : DISCONNECT device 0 client for package cameraserver (PID -1)
  06-02 12:26:49 : DISCONNECT device 0 client for package cameraserver (PID -1)
  06-02 12:26:22 : DISCONNECT device 0 client for package cameraserver (PID -1)
  06-02 12:26:21 : DISCONNECT device 0 client for package cameraserver (PID -1)
  06-02 12:26:21 : DISCONNECT device 0 client for package cameraserver (PID -1)
  06-02 12:26:21 : DISCONNECT device 0 client for package cameraserver (PID -1)
  06-02 12:23:31 : DISCONNECT device 0 client for package cameraserver (PID -1)
  06-02 12:23:31 : DISCONNECT device 0 client for package cameraserver (PID -1)
  06-02 11:55:45 : DISCONNECT device 0 client for package cameraserver (PID -1)
  06-02 11:48:33 : DISCONNECT device 0 client for package cameraserver (PID -1)
  06-02 11:43:24 : DISCONNECT device 0 client for package cameraserver (PID -1)
  06-02 11:33:24 : DISCONNECT device 0 client for package cameraserver (PID -1)
  06-02 11:23:56 : DISCONNECT device 0 client for package cameraserver (PID -1)
  06-02 11:23:56 : DISCONNECT device 0 client for package cameraserver (PID -1)
  06-02 11:23:55 : DISCONNECT device 0 client for package cameraserver (PID -1)
  06-02 11:23:55 : DISCONNECT device 0 client for package cameraserver (PID -1)
  06-02 09:07:18 : DISCONNECT device 0 client for package cameraserver (PID -1)
  06-02 03:20:11 : DISCONNECT device 0 client for package cameraserver (PID -1)
  06-02 00:31:11 : DISCONNECT device 0 client for package cameraserver (PID -1)
  06-02 00:21:41 : DISCONNECT device 0 client for package cameraserver (PID -1)
  06-02 00:11:41 : DISCONNECT device 0 client for package cameraserver (PID -1)
  06-02 00:01:41 : DISCONNECT device 0 client for package cameraserver (PID -1)
  06-01 23:51:41 : DISCONNECT device 0 client for package cameraserver (PID -1)
  06-01 23:51:15 : DISCONNECT device 0 client for package cameraserver (PID -1)
  06-01 23:49:53 : DISCONNECT device 0 client for package cameraserver (PID -1)
  ...

== Camera device 0 status 1 dynamic info: ==
  Device 0 is closed, no client instance
== Camera Provider HAL legacy/0 (v2.0, remote) static info: 1 devices: ==
== Camera HAL device device@1.0/legacy/0 (v1.0) static information: ==
  Resource cost: 100
  Conflicting devices:
    0
  API1 info:
    Has a flash unit: false
    Facing: Back
    Orientation: -1193648
  API2 not directly supported
== Camera HAL device device@1.0/legacy/0 (v1.0) dumpState: ==

== Vendor tags: ==

  Dumping vendor tag descriptors for vendor with id 3854507339
  Dumping configured vendor tag descriptors: 32 entries
    0x80000000 (privatedata_reprocess) with type 1 (int32) defined in section org.codeaurora.qcamera3.privatedata
    0x80010000 (cds_mode) with type 1 (int32) defined in section org.codeaurora.qcamera3.CDS
    0x80010001 (cds_info) with type 0 (byte) defined in section org.codeaurora.qcamera3.CDS
    0x80020000 (opaque_raw_strides) with type 1 (int32) defined in section org.codeaurora.qcamera3.opaque_raw
    0x80020001 (opaque_raw_format) with type 0 (byte) defined in section org.codeaurora.qcamera3.opaque_raw
    0x80030000 (count) with type 1 (int32) defined in section org.codeaurora.qcamera3.crop
    0x80030001 (data) with type 1 (int32) defined in section org.codeaurora.qcamera3.crop
    0x80030002 (roimap) with type 1 (int32) defined in section org.codeaurora.qcamera3.crop
    0x80040000 (tuning_meta_data_blob) with type 1 (int32) defined in section org.codeaurora.qcamera3.tuning_meta_data
    0x80050000 (enable) with type 0 (byte) defined in section org.codeaurora.qcamera3.temporal_denoise
    0x80050001 (process_type) with type 1 (int32) defined in section org.codeaurora.qcamera3.temporal_denoise
    0x80060000 (use_iso_exp_priority) with type 3 (int64) defined in section org.codeaurora.qcamera3.iso_exp_priority
    0x80060001 (select_priority) with type 1 (int32) defined in section org.codeaurora.qcamera3.iso_exp_priority
    0x80070000 (use_saturation) with type 1 (int32) defined in section org.codeaurora.qcamera3.saturation
    0x80080000 (exposure_metering_mode) with type 1 (int32) defined in section org.codeaurora.qcamera3.exposure_metering
    0x80090000 (use_av_timer) with type 0 (byte) defined in section org.codeaurora.qcamera3.av_timer
    0x800a0000 (dynamic_black_level_pattern) with type 2 (float) defined in section org.codeaurora.qcamera3.sensor_meta_data
    0x800a0001 (is_mono_only) with type 0 (byte) defined in section org.codeaurora.qcamera3.sensor_meta_data
    0x800b0000 (enable) with type 0 (byte) defined in section org.codeaurora.qcamera3.dualcam_link_meta_data
    0x800b0001 (is_main) with type 0 (byte) defined in section org.codeaurora.qcamera3.dualcam_link_meta_data
    0x800b0002 (related_camera_id) with type 1 (int32) defined in section org.codeaurora.qcamera3.dualcam_link_meta_data
    0x800c0000 (dualcam_calib_meta_data_blob) with type 0 (byte) defined in section org.codeaurora.qcamera3.dualcam_calib_meta_data
    0x800d0000 (reprocess_flags) with type 0 (byte) defined in section org.codeaurora.qcamera3.hal_private_data
    0x800d0001 (reprocess_data_blob) with type 0 (byte) defined in section org.codeaurora.qcamera3.hal_private_data
    0x800e0000 (enable) with type 0 (byte) defined in section org.codeaurora.qcamera3.jpeg_encode_crop
    0x800e0001 (rect) with type 1 (int32) defined in section org.codeaurora.qcamera3.jpeg_encode_crop
    0x800e0002 (roi) with type 1 (int32) defined in section org.codeaurora.qcamera3.jpeg_encode_crop
    0x800f0000 (strength) with type 1 (int32) defined in section org.codeaurora.qcamera3.sharpness
    0x800f0001 (range) with type 1 (int32) defined in section org.codeaurora.qcamera3.sharpness
    0x80100000 (is_hdr_scene) with type 0 (byte) defined in section org.codeaurora.qcamera3.stats
    0x80100001 (is_hdr_scene_confidence) with type 2 (float) defined in section org.codeaurora.qcamera3.stats
    0x80110000 (brightness_val) with type 2 (float) defined in section org.codeaurora.qcamera3.brightness

== Camera error traces (0): ==
  No camera traces collected.

and
adb logcat

Where perhaps the interesting lines from the log are:
06-03 20:05:09.751  3488  3729 E SDHMS:SDHMS_UTIL_IO: e = /sys/class/input_booster/touchkey/time: open failed: EACCES (Permission denied)
06-03 20:05:10.123  1130  1824 W WindowManager: preserveSurfaceLocked: failed, no surface, w=Window{4a036a3 u0 com.sec.android.app.camera/com.sec.android.app.camera.Camera}
06-03 20:05:10.127   897   897 E mm-camera: <STATS_AEC ><ERROR> 2285: aec_biz_init: Motion Library loading error: dlopen failed: library "libMOTION.so" not found
06-03 20:05:10.183   667   667 E QCamera : <HAL><ERROR> cameraDeviceOpen: 586: Fail. Invalid camera capability info.
06-03 20:05:10.183   667   667 E SecCamDev@1.0-impl: Could not open camera 0: -19
06-03 20:05:10.183   908  3579 E CameraHardwareInterface: initialize: openSession failed! Function not implemented (-38)
06-03 20:05:10.192  2863  2900 W CameraBase: An error occurred while connecting to camera 0: Status(-8, EX_SERVICE_SPECIFIC): '10: connectHelper:1975: Failed to initialize camera "0": Function not implemented (-38)'
06-03 20:05:10.192  2863  2900 E SemCamera-JNI-Cpp: SemCamera_native_setup fail 10
06-03 20:05:10.192  2863  2900 E Request : openCamera failed - Camera device currently not available due to invalid operation
06-03 20:05:10.424  2977  2977 E dumpstate: can't find the pid
06-03 20:05:10.424  2977  2977 E dumpstate: Failed to find: /data/misc/anrd/
06-03 20:05:10.425  2977  2979 E dumpstate: *** command 'gzip -1 -f /data/log/core/..' failed: exit code 1

Unfortunately, I don't have enough android knowledge to understand the issue and the possible fix.
I would appreciate any hints.

I have found the one thing unreliable about Samsung devices, unfortunately, is their camera software.  Frequent "camera server" errors prevented me buying another Samsung device.


text:
Some music metadata/tags dissapeared after copying to micro sd
I tried copying my large music library from my internal storage to my external micro sd card, only to find 50% of my album art went missing, some artist and album info is gone, while the songs themselves are fine. Tried copying them back to my computer just to check and there the tags where intact. I've tried converting every id3 tag to a specific version to see if that might resolve the issue, but it didn't. Which got me thinking, could it be the sd card? I mean it's not damaged, i just bought it, it's brand new. But perhaps the filesystem of the sd card is somehow different from the one in internal storage, and doesn't support some of the tags..? I'm not an expert when it comes to filesystems, so any help would be appreciated.
I tried to check the files on the sd card from both 2 file managers (google files & ES File Explorer) and Rocket Music Player. I'm running Android 9 and formatted my micro sd card as usaul through the settings app. I'm using an motorola moto e6 plus. My device is NOT rooted.


text:
How do I format my SD card via terminal/Termux?
I'm running a MIUI 12.5.5 xiaomi.eu ROM on a rooted Redmi Note 9 Pro. I'm trying to format my 128GB micro SD Card via Settings > Storage > Format SD Card, but this causes the device to reboot. I suspect it's something to do with the ROM, so I'd like to format it via terminal or Termux if needed.
How should I proceed? Also, should I format it to exFAT or FAT32?

@meganukebmp is looking for testers on Partitioning SD card. sounds right on cue for you :)

WARNING: for devices with UFS flash memory only

from MIUI
mkfs.exfat /dev/block/mmcblk0p1

from TWRP
mkexfatfs /dev/block/mmcblk0p1

(mmcblk1p1 for devices with eMMC flash memory)

On devices with eMMC, mmcblk0 is usually the internal storage. And mmcblk1 is the SD card. Better add warning in your answer. Also AFAI have seen, eMMC storage is enumerated as mmcblk[N], while UFS storage is enumerated as sd[N]. In the latter case the SD card is likely to be mmcblk0 which you've stated.

Is there a way to confirm what is the correct form for my device?

cat /proc/memory_type

I don't seem to have a /proc/memory_type file, nor anything resembling it in /proc. However, cat /proc/partitions displays, among others, mmcblk0 and mmcblk0p1. Is that enough to be sure I won't format my internal storage accidentally?

remove the SD Card and compare the difference

Apparently, removing the SD Card makes them both disappear, what could this mean?

assuming with both you mean mmcblk0 and mmcblk0p1: mmcblk0 is the disk, mmcblk0p1 is the first partition on that disk. you should also see block size (KiB)


text:
How to Create a Virtual Machine on Android that Acts Identical to a New Phone?
I'm trying to create a vm/second OS on my phone because I need to install a program that can only be installed when booting up a phone after a factory reset. However, all of the vms I've tried open with an already functioning phone. Are there any that act identically to a new phone, even requiring you to sign in with a google account when you first open it?

What app are you talking about? I am not aware of a functionality that could restrict app installation to an installation directly after factory reset.

@Robert It's a phone lockdown software, maas360 to be specific, with two ways of installation, either by just installing the app from the app store and giving it admin privileges, or by installing it from the beginning stages of booting up after a wipe. I'd like to be able to test it the second way, without the need to wipe my phone or get a different phone to test it on if possible

A wipe deletes everything all data and all apps, so the an installation of an an app directly after boot is to my knowledge not possible on common devices. So you need the app to be installed as system app, included into the firmware which only works on a custom ROM or if you are the manufacturer of the phone.

@Robert I've messed around with it some and, while I'm not sure how it works, this is how it's installed. https://www.securitylearningacademy.com/mod/book/view.php?id=13794&chapterid=659 Somehow in entering the code afw#maas360 instead of an email it can configure in Device Owner mode. I need to test that mode, but can only install that mode if, upon virtual phone creation is takes me to connect a google account.


text:
How can I see the transfer speed when transferring files with Bluetooth?
I transfer files with  Bluetooth between a Google Pixel 6 and a Samsung Galaxy A8+. How can I see the transfer speed when transferring files with  Bluetooth?

Short Answer: You can not see speed when transferring files via bluetooth.
Long Answer:
Android OS by default does not have an interface for Bluetooth transfer speed or show it during the data transfer. In most cases only transfer progress will be available.
Bluetooth Broadcast Receiver only exposes RSSI or link quality and you need to do your own calculation of speed for each RSSI range.


text:
Cannot Unlock Bootloader on Fairphone 4
I have been attempting to install /e/ OS on a Fairphone 4 in accordance with these instructions: https://doc.e.foundation/devices/FP4/install and I am stuck on Step 6 of Unlocking the Bootloader. No matter what I do, I get results like this when attempting to use the fastboot flashing ... commands:
./fastboot flashing get_unlock_ability
FAILED (remote: 'Unrecognized command flashing get_unlock_ability')
fastboot: error: Command failed

I've gone through multiple Troubleshooting guides. None have helped. Here are some of the notable details and things I have tried:

I've tried on both MacOS and Windows, the result is the same.
I've tried multiple different USB-C cables with both MacOS and Windows.
I've tried installing the tools using Homebrew on Mac, then uninstalled, and installed using the official Android Studio process. The result is still the same.
I've gone through and switched out the default driver on Windows for the Google one, as recommended here: https://www.reddit.com/r/fairphone/comments/slk2qd/e_installtion_troubleshooting_guide_fastboot/ the result is still the same.
ADB works perfectly.
The device "lists" perfectly:
./adb devices -l
List of devices attached
XXXXXXXX               device usb:2097152X product:FP4eea model:FP4 device:FP4 transport_id:14

I have done the OEM unlock process.
Fastboot can clearly see the device when I boot to fastboot (./adb reboot fastboot):
./fastboot devices
XXXXXXXX      fastboot

Version information in case it helps
./fastboot --version
fastboot version 33.0.2-8557947
Installed as /Users/XXXXXXXX/Library/Android/sdk/platform-tools/fastboot

I'm clearly missing something, but I've gone over the instructions and various troubleshooting guides in detail and I cannot figure out what I missed. Does anyone have any ideas?

You are in the wrong fastboot, fastbootd (with the d at the end!) is fastboot in userspace, what you want is the "real" fastboot also called bootloader.
Either select "Reboot to bootloader" in fastbootd or reboot the phone with fastboot reboot bootloader.

Thx @ hirnsushi

OK, but that introduces a different issue, when I go into the "real fastboot" (it does indeed say "FastBoot Mode" rather than FastbootD at the top) I cannot execute any commands. When I run fastboot devices it just hangs and never returns. Is it an issue if the FastBoot Mode screen says "Device State - locked" at the bottom?

nvm... apparently fastboot devices doesn't work, but fastboot flash unlock works just fine. Thank you!

that's strange. is it reproducable?


text:
Recent Apps won't show on Other User on Android 9
I have an Android 9 phone and the Recent Apps button works just fine on my ADMIN (main) user, but ever since I created a new user, it doesn't show. I have to force quit my apps all the time to stop them from working in the background.
Whenever I press the little square, they're supposed to show and I like have ten apps open but it says No Recent Apps.
I've been looking for answers for some time, but, I can't find anything related.
Help?


text:
E3004: This package is for device: gprimeltexx,fortunafz,grandprimelte,grandprimeltexx; this device is
I am trying to flash LineageOS 18.1 GO custom ROM on my Samsung Galaxy Grand Prime. The model is gprimeltexx, and TWRP works. When I try to flash the ROM, it gives me this error:
E3004: This package is for device: gprimeltexx,fortunafz,grandprimelte,grandprimeltexx; this device is .

So it says that it is for my model, but it says "This device is ." So it doesn't report any model. Is there any way to fix that?

Possible dupe: E3004: This package is for device: gts210vewifi; this device is, looks like it's related to outdated TWRP? Which TWRP version did you flash?

modify the installer and comment out the line, or set property on cmd line

The latest version available on twrp.me, so its this version https://twrp.me/samsung/gprimeltexx.html

And what should I edit in the installer?

And how do I set "property" in command line?

how about TWRP provided in your link? https://msm8916.com/?view=downloads&tag=TWRP-3.2.3-lineage-15.1_j8_20180921_gprimeltexx

in TWRP terminal type 'setprop ro.product.device gprimeltexx' or delete the line with E3004 error message from lineage-18.1-20220120-UNOFFICIAL-gprimeltexx-V6stable.zip/META-INF/com/google/android/updater-script file with Notepad++

Looks like alecxs's comment solved this, which is great to know! However, that made me wonder why the build prop missing this value. Did you perhaps alter it before?

in TWRP terminal type 'setprop ro.product.device gprimeltexx'

This fixed my issue. Now all the roms I tried to flash now see my Samsung Galaxy Grand Prime as gprimeltexx.
Thanks everyone for help

In my case this did not fix it, the property was already set, and problem also remained.
For me (device a3ulte) a fix was to update the TWRP from 3.0.2-1-ashyx to 3.3.1-1.ashyx

the proper way would be to use getprop ro.product.device and see if it reports something. if so, update the recovery and double check if you've got the correct ROM. -- if it reports nothing (and you are sure about the device name - perhaps getprop ro.bootloader can give a hint), use the mentioned command to set it.

Thank you! I accidentally deleted /system/Build.prop and struggled for too long trying to fix the problem. You are a lifesaver


text:
Unanswerable "Allow access to phone data" prompt that comes up once per second
When I plug my Samsung Galaxy S9 phone into the Renault Zoe car, I get a flood of prompts about whether or not I want to allow access to the phone data. Cannot tell how many times I allowed that in the past, but my phone seems to forget it.
Now, that behavior has changed a bit because the prompt disappears before I am able to click it. It also comes back the next second and the next and the next. The error is new and I have had my car in over a year without problems.
Can I get rid of the prompt? Is there a way to make the phone understand that I want to give access to the car once and for all?

Seems like you car tries to access the phone using MTP protocol (the standard file exchange protocol also used by Windows and the other OS if you connect a phone via USB).
If you get multiple prompts this means your car is connecting multiple times (or tries to) or the USB connection is unstable (defect cable?).
If it is just the car trying to access the phone data again and again then you may be able to bypass the prompts by enabling USB phone data access by default.
You can enabled MTP by default in Developer Options menu (hidden by default can be enabled usually by tapping build number in phone info four times).
Search in the developer menu for USB configuration and change it to MTP (Media Transfer Protocol) or a similar named item that belongs to the MTP/data mode.

How do I enable USB phone data access by default? When I click "Default USB Configuration" in developer options, I can select something from: Transferring files /Android Auto (selected), USB tethering, MIDI, Transferring Images, Charging phone only. Maybe I could try uninstall android auto?

@AndersLindén The option Transferring files / Android Auto should be the correct one. Also make sure the phone is not locked (lockscreen) when you connect it to your car.

It is not locked, so the solution would not change anything.

@AndersLindén Then this is something Samsung specific. You can try to Force Stop the system app "USBSettings". For some users this fixed the permanent USB nag screen.

Restarting did not help


text:
Can Samsung be rooted without computer?
I have Samsung Galaxy S20 Ultra. I'm thinking of rooting it. Is rooting possible without a computer? In some places, they say you can do it, in other places, they say you can't. If you google how to root S20 Ultra without a computer, a lot of results and guides show up.
So what is the truth, is rooting without a computer possible?

https://forum.xda-developers.com/t/4215101

Some "guides" are auto-generated using the same template for other devices, and thus some are unreliable. Based on my very limited experience, rooting without a computer was possible for older Android versions using exploits, but not so much for newer Android such as Galaxy S20.


text:
Getting permissions for new apps and apps updates on Google Play Store
That's already been discussed on Hacker News, however the question remains:

How can you learn the permissions required by a new app without installing it?
How can you learn the new permissions required by an app update again without installing it?

Google has hidden app permissions both from the Google Play app and the Google Play website in the middle of May 2022 and replaced it with pretty inane "Data Safety". No one has paid attention, I've even approached at least three news outlets including Android Police, 9to5 Google, and Ars Technica - no one cared. It's a crazy serious issue and I'm appalled I'm the only person among two billion Android users who've noticed the abrupt change.
If [an] APK [file] is available on the Internet it is a solved issue, however it's often not the case, especially for paid apps.

Possible dupe: How to find app permissions in the new Google Play Store web version? (no proper answers yet. karthik's comment mentioned that the permissions are still visible from the Play Store app and I personally have confirmed it, while Firelord's comment is a potential alternative workaround)

Nothing is visible in my app - it mirrors what's seen on the play website.
AppBrain: https://www.appbrain.com/app/diablo-immortal/com.blizzard.diablo.immortal -> No permissions found. Various APK explorers? I've said exactly why it can't work for me.

Re: Play Store app, could you double-check by tapping the "About this app/game" header and then scroll down to the bottom for "App permissions"? I couldn't check for Diablo Immortal because it's not released yet in my country, but permissions are still shown for other games/apps from there. Otherwise, perhaps my Play Store app hasn't been updated? (currently v30.6.16-21 [O] [PR] 448548437)

Oh, God, org.mozilla.fenix (Firefox Browser (Nightly for Developers)) -> More Info: Everyone Unrestricted Internet. That's bloody it. Now, once installed -> App Info -> Permissions -> Triple dots at the top -> All Permissions -> a shitton of permissions. Do you actually use Android or use an emulator with some old Play Store app?

Now I'm curious, I'm using a real Pixel 3a on Android 12 and Nexus 5 on Lineage OS 14.1 (Android 7.1). Could you post the Play Store version and screenshots of what is shown on your Play Store app? Because this is what is shown on my current Play Store app: "App permissions" below "More Info", the permissions without installing the app

In the Google Play app version 30.6.16-21 [0] [PR] 448548437 - nothing is visible. https://i.imgur.com/7GRZZcg.png No idea what app version you're using. This is not what I see, it's now completely replaced with useless Data Safety.

ArtemS.Tashkinov A friend of mine has Play Store with same build as @AndrewT. has and he was able to see "App Permissions" too. Perhaps this is region related build variation. It is possible a new build update would remove this category for us too.

My Google Play store is set to the US, I've tried using it while connecting to VPNs from other countries - the result is the same.

@ArtemS.Tashkinov, I encourage you to post the AppBrain site you mentioned as an answer to this question—it’s a way to readily see an app’s permissions without needing to install a special app just to see permissions.

It is possible that Google has not killed or restricted off-the-record APIs which allowed Play Store to get app permissions info back in the day. This API might be what Raccoon and Aurora Store are able to access to still successfully show app permissions for apps without installing them.
Aurora Store
Install it from F-Droid, setup a pseudo account, search your app, scroll down on the app page, tap Permission (worked on v4.1.1).
See example here.
Raccoon APK Downloader
Raccoon is a desktop-only Java app. You need Java runtime installed to run this app. See its user guide for your OS specific setup.
Once it is setup, search your app, click on the app entry, and in the bottom left click on Permission to see Permissions (worked on v4.20.0).

Since July 21, 2022, Google has added back permission details on the Play Store.
In a tweet by the official Android Developers account (@AndroidDev),

Privacy and transparency are core values in the Android community. We heard your feedback that you find the app permissions section in Google Play useful, and we've decided to reinstate it. The app permissions section will be back shortly.

As of September 2022, this has been added back to both web and app versions on the original location:

Web: About this app - Permissions - View details
App: About this app - App permissions - See More


text:
Recovering photo/video files from an old Android with almost full memory
My grandma has an old LG (Android 6.0) for WhatsApp and a little more. She records some videos and pictures, and the "good ones", I copy to the SD and send by email (to have a backup)
Nevertheless, that week, she had two very important videos for her and a few other things, and as she deleted the unimportant things, seems she deleted all DCIM content. She already receives plenty of junk stuff on WhatsApp. I have found the thumbnails of the missing videos and images, but nothing about the original files.
I know about ADB, I have successfully installed the phone drivers in my Windows so I can access the telephone. I haven't rooted it yet as I am not sure if this would help. Not sure if I could do anything for my grandma's videos.
Shouldn't be a kind of bin in Android as you delete a photo/video?

recovering deleted files from almost full memory is not possible because old data is already overwritten


text:
unable to boot new kernel with kexec on android
As an alternative to pstore (pstore/ramoops won't work on Poco M3, rooted), I'm trying to boot another kernel into my already booted android kernel, to maybe see the kernel logs on boot, using kexec.
So, the host kernel, I compiled with
CONFIG_KEXEC=y
CONFIG_PROC_KCORE=y
CONFIG_KEXEC_CORE=y
CONFIG_KALLSYMS=y

and it boots.
Then I compiled kexec and strace to arch64-linux-android and uploaded to the phone together with the kernel Image, which is the new kernel, where I only altered the version.
I did
./kexec -l ./Image '--initrd=./boot.img-ramdisk' --reuse-cmdline

this returns without any errors, after 1 or 2 seconds, then
./kexec -e
which makes the phone screen go black and then the phone reboots after 5 seconds. Should I see a reboot of the phone entirely? What should I see actually?
Here's the output of ./strace ./kexec -e:
execve("./kexec", ["./kexec", "-e"], 0x7fd12b6e58 /* 24 vars */) = 0
getpid()                                = 12649
mmap(NULL, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7311ee6000
set_tid_address(0x2da560)               = 12649
faccessat(AT_FDCWD, "/dev/urandom", R_OK) = 0
getrandom("\x08\xf8\x28\x00\xe4\xf7\x0a\x36\x2f\xf1\xcf\xa0\x99\xe7\xc5\x47\x29\x46\x85\xcc\x07\xa4\x4b\x81\xe1\x0b\x6f\x9d\x9a\x5a\x0e\x13"..., 40, GRND_NONBLOCK) = 40
mmap(NULL, 1104, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7311ee5000
prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x7311ee5000, 1104, "arc4random data") = 0
sched_getscheduler(0)                   = 0 (SCHED_OTHER)
mmap(NULL, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7311edc000
mprotect(0x7311edc000, 4096, PROT_NONE) = 0
sigaltstack({ss_sp=0x7311edd000, ss_flags=0, ss_size=32768}, NULL) = 0
prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x7311edd000, 32768, "thread signal stack") = 0
mmap(NULL, 16777216, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7310edc000
mprotect(0x731113a000, 8192, PROT_READ|PROT_WRITE) = 0
mprotect(0x2d9000, 4096, PROT_READ)     = 0
mprotect(0x2d9000, 4096, PROT_READ|PROT_WRITE) = 0
mprotect(0x2d9000, 4096, PROT_READ)     = 0
openat(AT_FDCWD, "/dev/null", O_RDWR)   = 3
fcntl(0, F_GETFL)                       = 0x20002 (flags O_RDWR|O_LARGEFILE)
fcntl(1, F_GETFL)                       = 0x20002 (flags O_RDWR|O_LARGEFILE)
fcntl(2, F_GETFL)                       = 0x20002 (flags O_RDWR|O_LARGEFILE)
close(3)                                = 0
mmap(NULL, 24576, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0) = 0x7310ed6000
mprotect(0x7310ed7000, 16384, PROT_READ|PROT_WRITE) = 0
rt_sigprocmask(SIG_BLOCK, ~[], [RTMIN], 8) = 0
rt_sigprocmask(SIG_SETMASK, [RTMIN], NULL, 8) = 0
prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x7310ed7000, 16384, "stack_and_tls:main") = 0
munmap(0x7311ee6000, 12288)             = 0
newfstatat(AT_FDCWD, "/dev/__properties__", {st_mode=S_IFDIR|0711, st_size=5600, ...}, 0) = 0
faccessat(AT_FDCWD, "/dev/__properties__/property_info", R_OK) = 0
openat(AT_FDCWD, "/dev/__properties__/property_info", O_RDONLY|O_NOFOLLOW|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0444, st_size=66724, ...}) = 0
mmap(NULL, 66724, PROT_READ, MAP_SHARED, 3, 0) = 0x7310ec5000
close(3)                                = 0
mmap(NULL, 11040, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7311ee6000
prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x7311ee6000, 11040, "System property context nodes") = 0
openat(AT_FDCWD, "/dev/__properties__/properties_serial", O_RDONLY|O_NOFOLLOW|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0444, st_size=131072, ...}) = 0
mmap(NULL, 131072, PROT_READ, MAP_SHARED, 3, 0) = 0x7310ea5000
close(3)                                = 0
openat(AT_FDCWD, "/dev/__properties__/u:object_r:debug_prop:s0", O_RDONLY|O_NOFOLLOW|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0444, st_size=131072, ...}) = 0
mmap(NULL, 131072, PROT_READ, MAP_SHARED, 3, 0) = 0x7310e85000
close(3)                                = 0
rt_sigaction(SIGRT_7, {sa_handler=0x24e380, sa_mask=[], sa_flags=SA_RESTART}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
prctl(PR_SET_TAGGED_ADDR_CTRL, PR_TAGGED_ADDR_ENABLE|PR_MTE_TCF_NONE, 0, 0, 0) = 0
mprotect(0x2d9000, 4096, PROT_READ|PROT_WRITE) = 0
mprotect(0x2d9000, 4096, PROT_READ)     = 0
openat(AT_FDCWD, "/sys/kernel/mm/transparent_hugepage/enabled", O_RDONLY) = -1 ENOENT (No such file or directory)
mmap(NULL, 2097152, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7310c85000
prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x7310c85000, 2097152, "libc_malloc") = 0
munmap(0x7310c85000, 2097152)           = 0
mmap(NULL, 4190208, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7310a86000
prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x7310a86000, 4190208, "libc_malloc") = 0
munmap(0x7310a86000, 1548288)           = 0
munmap(0x7310e00000, 544768)            = 0
mmap(NULL, 2097152, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7310a00000
prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x7310a00000, 2097152, "libc_malloc") = 0
mmap(NULL, 4194304, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7310600000
prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x7310600000, 4194304, "libc_malloc") = 0
mprotect(0x2ca000, 20480, PROT_READ)    = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7310e84000
prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x7310e84000, 4096, "atexit handlers") = 0
mprotect(0x7310e84000, 4096, PROT_READ) = 0
mprotect(0x7310e84000, 4096, PROT_READ|PROT_WRITE) = 0
mprotect(0x7310e84000, 4096, PROT_READ) = 0
faccessat(AT_FDCWD, "/proc/xen", F_OK)  = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/sys/kernel/kexec_loaded", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0444, st_size=4096, ...}) = 0
read(3, "1\n", 4096)                    = 2
close(3)                                = 0
madvise(0x7310a0c000, 4096, MADV_DONTNEED) = 0
sync()                                  = 0
socket(AF_INET, SOCK_DGRAM, IPPROTO_IP) = 3
socket(AF_NETLINK, SOCK_RAW|SOCK_CLOEXEC, NETLINK_ROUTE) = 4
sendto(4, [{nlmsg_len=20, nlmsg_type=0x12 /* NLMSG_??? */, nlmsg_flags=NLM_F_REQUEST|0x300, nlmsg_seq=0, nlmsg_pid=0}, "\x00\x00\x00\x00"], 20, 0, NULL, 0) = 20
recvfrom(4, [[{nlmsg_len=1328, nlmsg_type=0x10 /* NLMSG_??? */, nlmsg_flags=NLM_F_MULTI, nlmsg_seq=0, nlmsg_pid=12649}, "\x00\x00\x04\x03\x01\x00\x00\x00\x49\x00\x01\x00\x00\x00\x00\x00\x07\x00\x03\x00\x6c\x6f\x00\x00\x08\x00\x0d\x00\xe8\x03\x00\x00"...], [{nlmsg_len=1512, nlmsg_type=0x10 /* NLMSG_??? */, nlmsg_flags=NLM_F_MULTI, nlmsg_seq=0, nlmsg_pid=12649}, "\x00\x00\x01\x00\x02\x00\x00\x00\x02\x14\x00\x00\x00\x00\x00\x00\x0a\x00\x03\x00\x62\x6f\x6e\x64\x30\x00\x00\x00\x08\x00\x0d\x00"...]], 8192, 0, NULL, NULL) = 2840
recvfrom(4, [[{nlmsg_len=1348, nlmsg_type=0x10 /* NLMSG_??? */, nlmsg_flags=NLM_F_MULTI, nlmsg_seq=0, nlmsg_pid=12649}, "\x00\x00\x01\x00\x03\x00\x00\x00\xc3\x00\x01\x00\x00\x00\x00\x00\x0b\x00\x03\x00\x64\x75\x6d\x6d\x79\x30\x00\x00\x08\x00\x0d\x00"...], [{nlmsg_len=1396, nlmsg_type=0x10 /* NLMSG_??? */, nlmsg_flags=NLM_F_MULTI, nlmsg_seq=0, nlmsg_pid=12649}, "\x00\x00\x00\x03\x04\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x0c\x00\x03\x00\x69\x70\x5f\x76\x74\x69\x30\x00\x08\x00\x0d\x00"...], [{nlmsg_len=1452, nlmsg_type=0x10 /* NLMSG_??? */, nlmsg_flags=NLM_F_MULTI, nlmsg_seq=0, nlmsg_pid=12649}, "\x00\x00\x01\x03\x05\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x0d\x00\x03\x00\x69\x70\x36\x5f\x76\x74\x69\x30\x00\x00\x00\x00"...], [{nlmsg_len=1452, nlmsg_type=0x10 /* NLMSG_??? */, nlmsg_flags=NLM_F_MULTI, nlmsg_seq=0, nlmsg_pid=12649}, "\x00\x00\x08\x03\x06\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x09\x00\x03\x00\x73\x69\x74\x30\x00\x00\x00\x00\x08\x00\x0d\x00"...], [{nlmsg_len=1504, nlmsg_type=0x10 /* NLMSG_??? */, nlmsg_flags=NLM_F_MULTI, nlmsg_seq=0, nlmsg_pid=12649}, "\x00\x00\x01\x03\x07\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x0c\x00\x03\x00\x69\x70\x36\x74\x6e\x6c\x30\x00\x08\x00\x0d\x00"...]], 8192, 0, NULL, NULL) = 7152
recvfrom(4, [[{nlmsg_len=1316, nlmsg_type=0x10 /* NLMSG_??? */, nlmsg_flags=NLM_F_MULTI, nlmsg_seq=0, nlmsg_pid=12649}, "\x00\x00\x07\x02\x09\x00\x00\x00\x41\x00\x01\x00\x00\x00\x00\x00\x0f\x00\x03\x00\x72\x6d\x6e\x65\x74\x5f\x69\x70\x61\x30\x00\x00"...], [{nlmsg_len=1368, nlmsg_type=0x10 /* NLMSG_??? */, nlmsg_flags=NLM_F_MULTI, nlmsg_seq=0, nlmsg_pid=12649}, "\x00\x00\x07\x02\x0a\x00\x00\x00\x41\x00\x01\x00\x00\x00\x00\x00\x10\x00\x03\x00\x72\x6d\x6e\x65\x74\x5f\x64\x61\x74\x61\x30\x00"...], [{nlmsg_len=1372, nlmsg_type=0x10 /* NLMSG_??? */, nlmsg_flags=NLM_F_MULTI, nlmsg_seq=0, nlmsg_pid=12649}, "\x00\x00\x07\x02\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x03\x00\x72\x6d\x6e\x65\x74\x5f\x64\x61\x74\x61\x31\x00"...], [{nlmsg_len=1372, nlmsg_type=0x10 /* NLMSG_??? */, nlmsg_flags=NLM_F_MULTI, nlmsg_seq=0, nlmsg_pid=12649}, "\x00\x00\x07\x02\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x03\x00\x72\x6d\x6e\x65\x74\x5f\x64\x61\x74\x61\x32\x00"...], [{nlmsg_len=1372, nlmsg_type=0x10 /* NLMSG_??? */, nlmsg_flags=NLM_F_MULTI, nlmsg_seq=0, nlmsg_pid=12649}, "\x00\x00\x07\x02\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x03\x00\x72\x6d\x6e\x65\x74\x5f\x64\x61\x74\x61\x33\x00"...], [{nlmsg_len=1372, nlmsg_type=0x10 /* NLMSG_??? */, nlmsg_flags=NLM_F_MULTI, nlmsg_seq=0, nlmsg_pid=12649}, "\x00\x00\x07\x02\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x03\x00\x72\x6d\x6e\x65\x74\x5f\x64\x61\x74\x61\x34\x00"...]], 8192, 0, NULL, NULL) = 8172
recvfrom(4, [[{nlmsg_len=1372, nlmsg_type=0x10 /* NLMSG_??? */, nlmsg_flags=NLM_F_MULTI, nlmsg_seq=0, nlmsg_pid=12649}, "\x00\x00\x07\x02\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x03\x00\x72\x6d\x6e\x65\x74\x5f\x64\x61\x74\x61\x35\x00"...], [{nlmsg_len=1372, nlmsg_type=0x10 /* NLMSG_??? */, nlmsg_flags=NLM_F_MULTI, nlmsg_seq=0, nlmsg_pid=12649}, "\x00\x00\x07\x02\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x03\x00\x72\x6d\x6e\x65\x74\x5f\x64\x61\x74\x61\x36\x00"...], [{nlmsg_len=1372, nlmsg_type=0x10 /* NLMSG_??? */, nlmsg_flags=NLM_F_MULTI, nlmsg_seq=0, nlmsg_pid=12649}, "\x00\x00\x07\x02\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x03\x00\x72\x6d\x6e\x65\x74\x5f\x64\x61\x74\x61\x37\x00"...], [{nlmsg_len=1372, nlmsg_type=0x10 /* NLMSG_??? */, nlmsg_flags=NLM_F_MULTI, nlmsg_seq=0, nlmsg_pid=12649}, "\x00\x00\x07\x02\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x03\x00\x72\x6d\x6e\x65\x74\x5f\x64\x61\x74\x61\x38\x00"...], [{nlmsg_len=1372, nlmsg_type=0x10 /* NLMSG_??? */, nlmsg_flags=NLM_F_MULTI, nlmsg_seq=0, nlmsg_pid=12649}, "\x00\x00\x07\x02\x13\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x03\x00\x72\x6d\x6e\x65\x74\x5f\x64\x61\x74\x61\x39\x00"...]], 8192, 0, NULL, NULL) = 6860
recvfrom(4, [[{nlmsg_len=1376, nlmsg_type=0x10 /* NLMSG_??? */, nlmsg_flags=NLM_F_MULTI, nlmsg_seq=0, nlmsg_pid=12649}, "\x00\x00\x07\x02\x14\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x11\x00\x03\x00\x72\x6d\x6e\x65\x74\x5f\x64\x61\x74\x61\x31\x30"...], [{nlmsg_len=1376, nlmsg_type=0x10 /* NLMSG_??? */, nlmsg_flags=NLM_F_MULTI, nlmsg_seq=0, nlmsg_pid=12649}, "\x00\x00\x07\x02\x15\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x12\x00\x03\x00\x72\x5f\x72\x6d\x6e\x65\x74\x5f\x64\x61\x74\x61"...], [{nlmsg_len=1376, nlmsg_type=0x10 /* NLMSG_??? */, nlmsg_flags=NLM_F_MULTI, nlmsg_seq=0, nlmsg_pid=12649}, "\x00\x00\x07\x02\x16\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x12\x00\x03\x00\x72\x5f\x72\x6d\x6e\x65\x74\x5f\x64\x61\x74\x61"...], [{nlmsg_len=1376, nlmsg_type=0x10 /* NLMSG_??? */, nlmsg_flags=NLM_F_MULTI, nlmsg_seq=0, nlmsg_pid=12649}, "\x00\x00\x07\x02\x17\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x12\x00\x03\x00\x72\x5f\x72\x6d\x6e\x65\x74\x5f\x64\x61\x74\x61"...], [{nlmsg_len=1376, nlmsg_type=0x10 /* NLMSG_??? */, nlmsg_flags=NLM_F_MULTI, nlmsg_seq=0, nlmsg_pid=12649}, "\x00\x00\x07\x02\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x12\x00\x03\x00\x72\x5f\x72\x6d\x6e\x65\x74\x5f\x64\x61\x74\x61"...]], 8192, 0, NULL, NULL) = 6880
recvfrom(4, [[{nlmsg_len=1376, nlmsg_type=0x10 /* NLMSG_??? */, nlmsg_flags=NLM_F_MULTI, nlmsg_seq=0, nlmsg_pid=12649}, "\x00\x00\x07\x02\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x12\x00\x03\x00\x72\x5f\x72\x6d\x6e\x65\x74\x5f\x64\x61\x74\x61"...], [{nlmsg_len=1376, nlmsg_type=0x10 /* NLMSG_??? */, nlmsg_flags=NLM_F_MULTI, nlmsg_seq=0, nlmsg_pid=12649}, "\x00\x00\x07\x02\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x12\x00\x03\x00\x72\x5f\x72\x6d\x6e\x65\x74\x5f\x64\x61\x74\x61"...], [{nlmsg_len=1376, nlmsg_type=0x10 /* NLMSG_??? */, nlmsg_flags=NLM_F_MULTI, nlmsg_seq=0, nlmsg_pid=12649}, "\x00\x00\x07\x02\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x12\x00\x03\x00\x72\x5f\x72\x6d\x6e\x65\x74\x5f\x64\x61\x74\x61"...], [{nlmsg_len=1376, nlmsg_type=0x10 /* NLMSG_??? */, nlmsg_flags=NLM_F_MULTI, nlmsg_seq=0, nlmsg_pid=12649}, "\x00\x00\x07\x02\x1c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x12\x00\x03\x00\x72\x5f\x72\x6d\x6e\x65\x74\x5f\x64\x61\x74\x61"...], [{nlmsg_len=1376, nlmsg_type=0x10 /* NLMSG_??? */, nlmsg_flags=NLM_F_MULTI, nlmsg_seq=0, nlmsg_pid=12649}, "\x00\x00\x07\x02\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x12\x00\x03\x00\x72\x5f\x72\x6d\x6e\x65\x74\x5f\x64\x61\x74\x61"...]], 8192, 0, NULL, NULL) = 6880
recvfrom(4, [{nlmsg_len=20, nlmsg_type=NLMSG_DONE, nlmsg_flags=NLM_F_MULTI, nlmsg_seq=0, nlmsg_pid=12649}, 0], 8192, 0, NULL, NULL) = 20
madvise(0x7310a0e000, 4096, MADV_DONTNEED) = 0
madvise(0x7310a0c000, 8192, MADV_DONTNEED) = 0
close(4)                                = 0
ioctl(3, SIOCGIFFLAGS, {ifr_name="r_rmnet_data8", ifr_flags=0}) = 0
ioctl(3, SIOCSIFFLAGS, {ifr_name="r_rmnet_data8", ifr_flags=0}) = 0
ioctl(3, SIOCGIFFLAGS, {ifr_name="r_rmnet_data7", ifr_flags=0}) = 0
ioctl(3, SIOCSIFFLAGS, {ifr_name="r_rmnet_data7", ifr_flags=0}) = 0
ioctl(3, SIOCGIFFLAGS, {ifr_name="r_rmnet_data6", ifr_flags=0}) = 0
ioctl(3, SIOCSIFFLAGS, {ifr_name="r_rmnet_data6", ifr_flags=0}) = 0
ioctl(3, SIOCGIFFLAGS, {ifr_name="r_rmnet_data5", ifr_flags=0}) = 0
ioctl(3, SIOCSIFFLAGS, {ifr_name="r_rmnet_data5", ifr_flags=0}) = 0
ioctl(3, SIOCGIFFLAGS, {ifr_name="r_rmnet_data4", ifr_flags=0}) = 0
ioctl(3, SIOCSIFFLAGS, {ifr_name="r_rmnet_data4", ifr_flags=0}) = 0
ioctl(3, SIOCGIFFLAGS, {ifr_name="r_rmnet_data3", ifr_flags=0}) = 0
ioctl(3, SIOCSIFFLAGS, {ifr_name="r_rmnet_data3", ifr_flags=0}) = 0
ioctl(3, SIOCGIFFLAGS, {ifr_name="r_rmnet_data2", ifr_flags=0}) = 0
ioctl(3, SIOCSIFFLAGS, {ifr_name="r_rmnet_data2", ifr_flags=0}) = 0
ioctl(3, SIOCGIFFLAGS, {ifr_name="r_rmnet_data1", ifr_flags=0}) = 0
ioctl(3, SIOCSIFFLAGS, {ifr_name="r_rmnet_data1", ifr_flags=0}) = 0
ioctl(3, SIOCGIFFLAGS, {ifr_name="r_rmnet_data0", ifr_flags=0}) = 0
ioctl(3, SIOCSIFFLAGS, {ifr_name="r_rmnet_data0", ifr_flags=0}) = 0
ioctl(3, SIOCGIFFLAGS, {ifr_name="rmnet_data10", ifr_flags=0}) = 0
ioctl(3, SIOCSIFFLAGS, {ifr_name="rmnet_data10", ifr_flags=0}) = 0
ioctl(3, SIOCGIFFLAGS, {ifr_name="rmnet_data9", ifr_flags=0}) = 0
ioctl(3, SIOCSIFFLAGS, {ifr_name="rmnet_data9", ifr_flags=0}) = 0
ioctl(3, SIOCGIFFLAGS, {ifr_name="rmnet_data8", ifr_flags=0}) = 0
ioctl(3, SIOCSIFFLAGS, {ifr_name="rmnet_data8", ifr_flags=0}) = 0
ioctl(3, SIOCGIFFLAGS, {ifr_name="rmnet_data7", ifr_flags=0}) = 0
ioctl(3, SIOCSIFFLAGS, {ifr_name="rmnet_data7", ifr_flags=0}) = 0
ioctl(3, SIOCGIFFLAGS, {ifr_name="rmnet_data6", ifr_flags=0}) = 0
ioctl(3, SIOCSIFFLAGS, {ifr_name="rmnet_data6", ifr_flags=0}) = 0
ioctl(3, SIOCGIFFLAGS, {ifr_name="rmnet_data5", ifr_flags=0}) = 0
ioctl(3, SIOCSIFFLAGS, {ifr_name="rmnet_data5", ifr_flags=0}) = 0
ioctl(3, SIOCGIFFLAGS, {ifr_name="rmnet_data4", ifr_flags=0}) = 0
ioctl(3, SIOCSIFFLAGS, {ifr_name="rmnet_data4", ifr_flags=0}) = 0
ioctl(3, SIOCGIFFLAGS, {ifr_name="rmnet_data3", ifr_flags=0}) = 0
ioctl(3, SIOCSIFFLAGS, {ifr_name="rmnet_data3", ifr_flags=0}) = 0
ioctl(3, SIOCGIFFLAGS, {ifr_name="rmnet_data2", ifr_flags=0}) = 0
ioctl(3, SIOCSIFFLAGS, {ifr_name="rmnet_data2", ifr_flags=0}) = 0
ioctl(3, SIOCGIFFLAGS, {ifr_name="rmnet_data1", ifr_flags=0}) = 0
ioctl(3, SIOCSIFFLAGS, {ifr_name="rmnet_data1", ifr_flags=0}) = 0
ioctl(3, SIOCGIFFLAGS, {ifr_name="rmnet_data0", ifr_flags=IFF_UP|IFF_RUNNING}) = 0
ioctl(3, SIOCSIFFLAGS, {ifr_name="rmnet_data0", ifr_flags=IFF_RUNNING}) = 0
ioctl(3, SIOCGIFFLAGS, {ifr_name="rmnet_ipa0", ifr_flags=IFF_UP|IFF_RUNNING}) = 0
ioctl(3, SIOCSIFFLAGS, {ifr_name="rmnet_ipa0", ifr_flags=IFF_RUNNING}) = 0
ioctl(3, SIOCGIFFLAGS, {ifr_name="ip6tnl0", ifr_flags=IFF_NOARP}) = 0
ioctl(3, SIOCSIFFLAGS, {ifr_name="ip6tnl0", ifr_flags=IFF_NOARP}) = 0
ioctl(3, SIOCGIFFLAGS, {ifr_name="sit0", ifr_flags=IFF_NOARP}) = 0
ioctl(3, SIOCSIFFLAGS, {ifr_name="sit0", ifr_flags=IFF_NOARP}) = 0
ioctl(3, SIOCGIFFLAGS, {ifr_name="ip6_vti0", ifr_flags=IFF_NOARP}) = 0
ioctl(3, SIOCSIFFLAGS, {ifr_name="ip6_vti0", ifr_flags=IFF_NOARP}) = 0
ioctl(3, SIOCGIFFLAGS, {ifr_name="ip_vti0", ifr_flags=IFF_NOARP}) = 0
ioctl(3, SIOCSIFFLAGS, {ifr_name="ip_vti0", ifr_flags=IFF_NOARP}) = 0
ioctl(3, SIOCGIFFLAGS, {ifr_name="dummy0", ifr_flags=IFF_UP|IFF_BROADCAST|IFF_RUNNING|IFF_NOARP}) = 0
ioctl(3, SIOCSIFFLAGS, {ifr_name="dummy0", ifr_flags=IFF_BROADCAST|IFF_RUNNING|IFF_NOARP}) = 0
ioctl(3, SIOCGIFFLAGS, {ifr_name="bond0", ifr_flags=IFF_BROADCAST|IFF_MASTER|IFF_MULTICAST}) = 0
ioctl(3, SIOCSIFFLAGS, {ifr_name="bond0", ifr_flags=IFF_BROADCAST|IFF_MASTER|IFF_MULTICAST}) = 0
close(3)                                = 0
reboot(LINUX_REBOOT_MAGIC1, LINUX_REBOOT_MAGIC2, LINUX_REBOOT_CMD_KEXEC

In the end it does a LINUX_REBOOT_CMD_KEXEC and nothing more, then the phone reboots entirely. On the new reboot, the version of the kernel is still the old one, not the new one, so probably it didn't work. Also I tried with a kernel that wasn't booting, and the phone reboots to the old kernel again, confirming the new kernel isn't being booted.
Anyone did this before or know what is happening?


text:
Can't relock bootloader
So i'm trying to relock my bootloader after unlocking it. I have a Realme 5 pro and i tried relocking it using adb and fastboot flashing lock but it gives me the following error:
FAILED (command write failed (No error)).
I've heard that amd cpus give some trouble regarding adb commands and rooting and stuff so also tried on an intel machine but the issue is still the same. Can anyone help me out. Also sorry to mix another question in but i also wanted to know if factory resetting the phone relocks the bootloader since i can't find a clear answer related to it.

you know in order to lock bootloader device must completely stock ROM/firmware don't you? furthermore you will lose ability for fastboot flash

@alecxs i didn't know that. i'm fairly new to the rooting scene. thanks for the info


text:
Samsung Galaxy AO1 (SM-S111DL) stuck in download mode, boot verify image load failed
How do I get past download mode (boot verify image load failed) on Samsung A01 (SM-S111D)?

Have you tried to root the phone or something like that? If boot image verification fails this means it had been modified. This can happen if the flash memory starts to fail or the system firmware has been altered.

https://www.xda-developers.com/samloader-download-updates-samsung-galaxy

Try flashing the boot.img along with the vbmeta.img`


text:
Android data recovery of lost photos
Last night, we were looking at photos I took and this morning, a large number of them disappeared. My phone is a Samsung Galaxy S20. All the photos from April to now are just gone; sadly there is no backup on any cloud.
I am comfortable enough to use adb, so if someone could talk me through the steps, it would be much appreciated. I don't know how or why they all got deleted. I don't want to use any of these applications like Dr. Fone Wondershare or Tenorshare because they seem kind of sketchy to me.

did you perform any software update or something? what pictures you're talking about? is their storage space freed or still occupied? if the files were deleted they are gone

Does this answer your question? Is it possible to recover deleted files without root on Android 12?

Are you using Google Photos or other cloud sync services?


text:
NexiPay app and Magisk
I'm trying to run a banking app called NexiPay (I guess it's available only in italy), but it doesn't start because it recognizes my system as rooted. I'm running LineageOS 15 (Android 8.1) and GApps.
So I've installed Magisk. Current version (24.3) seems to be different from what Magisk used to be some months ago. For example, there's no Magisk Hide and Magisk website has not been updated yet.
How can I hide the root to this app?
When I launch NexiPay, Magisk tells me that it's asking for root access.

After following the other solution, it still wouldn't work for me.
I managed to make it work by going into the Magisk settings and selecting the option to hide the Magisk app.

Magisk 24.3 uses a new feature called DenyList instead of Magisk Hide.
From one of John Wu's (the creator of magisk) tweets,

The new "DenyList" feature of upcoming Magisk versions is me preserving portions of the of hiding codebase and transform it into something I felt is valuable
DenyList, however, is only meant to "revert all Magisk changes". It will not attempt to manipulate any other signals on the device

Along with Denylist, in Magisk 24.3 there is also something called Zygisk. Basically, Zygisk will run parts of Magisk in the zygote process.
(Note: if you want to enable DenyList, you will need to enable Zygisk first.)
To hide root from Nexi pay, just enable DenyList to target NexiPay app. You can find it in the settings from Magisk Manager app.

Tap settings icon at top right corner of screen
Enable zygisk (this will require a reboot)
After the reboot, go back to the settings menu and check that "Enforce DenyList is selected"
Choose "Configure DenyList" and select NexiPay app

Actually I did already try this and it didn't work. I've just tried it again and it's not enough. I guess NexiPay is checking other stuff. I've read I should disable USB Debugging and remove the TWRP directory in the main root; I did both but didn't help. @Manchineel perhaps you can help? You're the only one who wrote about NexiPay in this forum.

@fedelibre was NexiPay already recognising your device as rooted before you installed magisk? If so DenyList probably won't help to hide, you might want to explore in this direction.

Yes, NexiPay recognized my device as rooted before I installed magisk. Then I uninstalled NexiPay, installed magisk, reinstalled NexiPay. But it doesn't help. So I should look for alternatives to Magisk... I will investigate and report here any success or failure with other modules.

I'm also interested in the solution to this problem. I have a suspicion that the app is somehow detecting that the bootloader has been unblocked, or that a custom ROM has been installed, independently from the actual rooted status. But I have no actual competence to try and solve this.


text:
How to know which device tree my phone uses?
The boot.img contains lots of device tree files. 15 for my Poco M3. They are all variations of the same name but with some different properties. Anyways, how do I know which one of them my phone picks?
I decompiled them but it's not obvious, they are different bya  little:
model = "Qualcomm Technologies, Inc. Bengal 1Gb DDR HD+ SoC";
model = "Qualcomm Technologies, Inc. Bengal 2Gb DDR HD+ SoC";

but my phone does not have 2gb of RAM, it has 4gb, and there's no 4gb file. So, how does the phone pick the right one?

is 'ls -ld /proc/device-tree' of any use?

@alecxs citrus:/ $ cat /sys/firmware/devicetree/base/model                          Qualcomm Technologies, Inc. BENGAL IDP this model isn't in any of the decompiled .dtb files of the boot.img


text:
XPrivacy showing Kiwi Browser calling `shell/start` and `shell/exec`, what is this?
According to the XPrivacy app, shortly after starting the Kiwi Browser app, the app executes the following:

It's a shell command with /system/bin/cmd package compile -r shared com.kiwibrowser.browser
It's very weird in my opinion because I have never seen something like this behavior in any app before. Executing a shell command is weird and unusual and this compiling command too.
My guess: It seems like it has an embedded app in itself that it tries to compile and run? Maybe even malware? I could be wrong. What is it doing? Does anybody know?
I'm not a programmer and don't know too much, that's why I need your thoughts.


text:
Photo transfer from Android device (no screen) to Android smartphone
I am working on an Android passtime project. I have a camera device that runs on Android 8.1. This camera device doesn't have a Screen. I am trying to identify the best way to transfer photos from the camera device to my smartphone. So, I see a few options.

Pair the camera device with my smartphone over Bluetooth. This way, I can transfer photos over Bluetooth. In this approach, I will be building a background Android service and pushing it to the camera which can take care of transferring the photos.
Have a hotspot turned on on my smartphone. Connect the camera device with the smartphone's hotspot. This way, I can upload the photos captured to Firebase or some other cloud platform and later pull the photos on the smartphone
Make the camera device utilize the data connection of my smartphone. I am not sure if this is feasible.

I am evaluating these options to identify which will be a better option. I am trying to understand what kind of Android services I would have to build and push to the camera device and my smartphone. Any thoughts/insights are welcome.
Details about the camera device:

The camera device (camera module) has both Bluetooth and wifi capabilities.
The camera device is not stationary. So it can't be connected with home wifi or specific wifi. But the camera will always remain closer to my smartphone.
As the camera runs on Android, I can build services/APKs and push them to the camera. The same applies to my smartphone.

I am trying to find more details on how the photo transfer works on devices like Google glass.

Regarding 1.: If the camera has no screen how would you start a transfer over Bluetooth? Bluetooth is AFAIR push only not pull, so you would have to start the copy operation on the camera. Usually cameras without screen provide an app that does the image transfer, what camera are you talking about?

@Robert I can build a background service and push it to my camera device. This is a custom camera I am building from a Camera module.

Just a note that while the overall question might be on-topic for this community, app development is off-topic since Android Enthusiasts focuses on end-users or power-users (but not necessarily developers) solving their issues.

does camera have storage? you could just adb pull over tcpip (wifi or bluetooth)

Does this answer your question? Make mounted cifs/smb share visible for normal user in Android-x86

Yes. the camera has storage.

Isn't adb over bluetooth a hacky approach? i.e. Would devices live Meta Smart Glasses and other devices used adb over bluetooth?

I don't think adb is used for anything other except debugging because it provides no security

@alecxs That's exactly my point. So I am trying to see what is the better option to transfer photos.

kindly self-answer your question with final solution, so we can use for further reference


text:
Assigning a static IP address to a phones hotspot
How can I assign a static IP address to my phone's hotspot?
I use the hotspot on my Samsung M31 to connect my laptop running Windows 10 to the internet.
I also have Oracle's Virtual Box VM running a few test websites on the laptop on Ubuntu Server 22.04, which need a static IP address to access.
A few days back when I ran ipconfig at the Windows command prompt, it showed my wireless IP address as 192.168.166.135. Today, it show as 192.168.35.125. Meaning, all my sites are now broken. Is there a way to stop the hotspot from changing IP addresses?
Can someone please help?

In my opinion this is simply a matter of configuration in VirtualBox. If you want to access the host from within a VM add a host-only network (the VM has then two network adapters). This network is then configured and maintained by VirtualBox on the host and will work even without any hotspot connected.

@Robert Thanks for pointing me to the host-only network. I checked a few articles online and have got things going, but now my VM cannot connect to the internet for updates etc. I've added NAT as a second adapter, but that too does not solve the problem.

What guest OS do you use? From my experience some Linux distribution s(e.g. Ubuntu 22.04) do not automatically configure the new interface so I had to manually configure the interface to make it work.

I'm using Ubuntu Server 22.04.

See https://android.stackexchange.com/a/213774/96277

You can run your webserver (that hosts websites) via docker images. Each container would be assigned a different IP (you can make it static to remember) within same or different subnets (configurable). This way, it won't really matter what public facing IP address you have. BTW, are you trying to access your websites from devices other than your laptop?

You could ask at [su] in the form of "IP address keep varying on each connection. How do I consistently access my websites in the VM without having to keep looking for new IP address assigned to my laptop?" or something like that.


text:
My android can send message but cannot receive message
I am using Vivo S1 and I have some issues recently.
My phone works perfectly when using WiFi or tethering from another phone. But when I use mobile data from my SIM card, I cannot load anything and cannot receive any messages from messaging apps.
It is more strange that I COULD NOT RECEIVE messages from message apps (Line, Discord, etc) except WhatsApp, BUT ACTUALLY CAN send messages through those apps. So, anyone I send a message to can read my message.
I am assuming I have my hardware broken, but still have a doubt. Any idea what exactly causes the problem?

Since this only happens on mobile data, I think a hardware problem is unlikely. On the other hand, your carrier probably has a special plan/quota related to messaging apps. You might need to confirm with them though.

Ah I see, I think I'm going to contact my carrier to confirm my plan and the issue. Thank you for your answer.

maybe the apps are not allowed to use background data


text:
Android auto randomly disconnecting and reconnecting, likely when phone is 100% charged
When I plug in my phone to the car in the morning (USB connection) it is likely to disconnect and reconnect 3-5 times before settling out.  It also does this in the summer when the phone and car are hot.  I came across this issue report about the USB being disabled when the phone is at 100% charge (and, my speculation, when charging is disabled due to temperature):
https://support.google.com/androidauto/thread/15209528
This thread is 2+ years old though. Is there a fix or workaround?  Admittedly, my phone is a few years old, but still.

Please provide some details of your phone, which may help the community to provide an answer?

It's a Pixel 3, not rooted or anything.


text:
Device cannot access Internal Storage without elevated rights
After my NANDroid restore didn't work as expected, flashed a clean ROM + Magisk.
When booted to system, internal storage is not accessible (regular File Manager, MTP, adb shell, MiXplorer's Internal Storage).
But it is accessible via elevated rights (TWRP File Manager, MTP when in recovery mode, su in adb shell, Root option in MiXplorer).
Permission while in recovery and booted to system are respectively:

drwxrwxrwx   2 system   system    4096 1970-01-01 18:21 sdcard
lrw-r--r--   1 root   root      21 2009-01-01 05:30 sdcard ->
/storage/self/primary

--> Tried chmod -R 777 sdcard with no luck. As it is a symlink, did chmod directly to /storage/self/primary and /storage/emulated/0 but it doesn't have an effect.
--> Tried from scratch, wiping and formatting every partition and entire Internal Storage, tried older known working ROMs. Still the same.
Surely, it's a permissions issue. What am I missing?

try maybe chmod 777 /data/media/0 or chmod -R /data/media/0

Nothing changes. However, chmod -R 777 sdcard when in recovery (root) now resulted in drwxrwx---   4 media_rw media_rw    4096 2022-06-06 14:44 sdcard

has it been solved now?

Sorry if I wasn't clear. It's the same as only with su access internal storage is accessible.

Oh sorry. I didnt get that part. Hope you will get a solution.

After being stumbled for days, found a very simple solution. This will need root privileges.
From an ADB shell or terminal emulator in phone:
su
restorecon -v -R /data/media

This will make Internal Storage mounted at /data/media readable again, without any data loss.
Source: XDA, as referred by this post:
Tip: Using different search engines with same keyword helps to find additional threads/ articles.


text:
Is there Live Listen for Android?
iOS has an option in their Settings --> Accessibility --> Hearing Aids settings called Live Listen that allows you to listen from the device's microphone in your hearing aids. Is there anything like this in Android?
What I'm trying to input, through the TRRS input, is audio from a communications 2-way radio to hear in my hearing aids' through the Bluetooth connection. I've tried Bluetooth adapters that claim to pair with hearing aids, but have not found any that do, in fact, pair with my hearing aids. My HA's pair easily with my Galaxy A51 phone.

Just confirming you've tried from Settings->Accessibility->Hearing enhancements->Amplify ambient sound (as seen on my Samsung S9 Android 10).

Thanks very much. I hadn't thought to look in Accessibility, since you don't go through that setting to connect to bluetooth like in iOS. Thanks for the direction.

As an update on this, the “Amplify Ambient Sound” setting only works with the use of headphones. Whenever I tried to start the function, it generated a message saying that hearing aids were connected and to connect headphones instead. I’m still looking for  a way to hear audio input to the TRRS connector and hear it through the Bluetooth hearing aids.


text:
How to force PD rather than proprietary USB-C charging?
My brand new S21 5G and my S10e don't work properly with Anker chargers.
This is partially Anker's fault and partially Samsung's.
Firstly Anker chargers such as the Nano II range use PowerIQ3 use banned proprietary charging modes that are unsupported by USB-C. This is instead of supporting USB-PD as they should be according to the spec. Their PowerIQ3 technology cycles between PD, QC 3.0/2.0, Samsung, and Apple modes in an attempt to fool older phones to work with it. This doesn't actually work.
Samsung also does something similar. My two phones negotiate PD first, but the phone decides to check the D+ and D- lines for a proprietary charging method, and that causes the Anker charger's cycling method to drop out of USB PD mode.
When the power brick and the phone implement multiple proprietary charging modes in addition to USB-PD everything goes wrong. Using a USB tester, you can see the charger negotiates USB-PD first and charges at full speed. However, after a few seconds, the phone decides to check the D+ and D- lines for a proprietary charging method, and that causes the Anker charger's cycling method to mess up.
Proprietary methods were disallowed in the USB-C spec for this very reason. If the Anker charger simply stuck with the spec and implement USB Type-C current, USB PD, and USB BC 1.2, you'd get consistent and correct behaviour all of the time and not have to wait hours for your phone to charge.
USB PD should always win but the way the complicated proprietary charging mode switching Anker have built into these chargers you end up losing out.
This combination stops USB-PD and drops down to a much slower mode which it can't get out of. The fast charging possible with Samsung's software changes is about 5x slower than it would be if USB-PD were implemented properly.
Is there any way to prevent Samsung phones from falling back to slower protocols?
Is there any way to force Samsung phones to stay in USB-PD mode with USB-PD capable chargers?


text:
Need later Samsung-specific posts to get a photo from dropbox to Gallery
Can't believe how hard this is and the lack of recent posts with current menu options.  I have a photo modified on the PC, saved in dropbox and cannot set it as my wallpaper on my Samsung S8.  Every help post found shows options not on current apps.  Dropbox has very limited options, hold and press doesn't help, and select and download icons produce blank screens.

The current Dropbox does not "have limited options". It just may not be able to place exactly where you want, because of privilege concerns. I'll demonstrate how to get a photo to the "Downloads" folder, for example, where it can probably be able to be incorporated from whatever your wallpaper app is.

Start Dropbox and find the file within its folder hierarchy.
From its upper "hamburger" menu, which is short to start, scroll to "Export".
Choose the first option "Save to device".
In the upper left menu, it will have probably given "Documents" as a target.
From its down arrow dropdown, select your device name.
Scroll the device folders available to find your "Download" folder, select it.
Drill further or more if you like, finally, hit the "Save" button.


text:
My motorola 5g stylus updated and the keyboard for logging in is gone
My information is as follows. My keyboard is the default keyboard. I disabled gboard. The update was last night. I was not logged in when I clicked update, (it was a security update, I turned it on from sleep mode.)
My phone can't open with fingerprint after a restart and the keyboard does not appear. I can receive calls and turn internet on and off.
I did a recovery boot but no luck.
I have been digging for answer and the majority of people say to just do a factory reset but I found 2 cases where the phone just started working again.
I want to know if there is a fix or should I just pray to the Omnissiah?

Connect an USB keyboard or mouse and reactivate a on-screen keyboard.


text:
Using Android phone as a WiFi repeater without using mobile data
There have been quite a few discussions related to this topic

Can I use my phone as a WiFi-WiFi hotspot? [duplicate]
Turn On Both Wifi and Wifi Hotspot [duplicate]
How to use Wi-Fi and hotspot at the same time on Android?
How to use Android in Wi-Fi repeater mode by bridging Wi-Fi with Access Point? [duplicate]

Most of the answers conclude that this is not possible without hacking the software by rooting or using additional hardware (e.g. Bluetooth tethering). However, I recently found that my Pixel 5 is able to achieve this.
I was in a hotel room that limits 2 devices per room so I had to turn on my phone's hotspot for my tablet. I found that the IP address that websites were seeing from my tablet was actually the IP address of the hotel WiFi, not my mobile carrier's IP address. This proves that my tablet was indeed using the hotel's WiFi through my phone. I further confirmed that after turning off mobile data on my phone, the WiFi tethering still works.
Meanwhile, my older Android phone from 2018 does not support this. I also verified that iPhones don't support this either. WiFi and mobile hotspot are mutually exclusive.
My questions are

Is this a feature specific to Pixel 5?
If not, how can I tell if a phone supports this feature? (I mean other than actually test it)

Certainly not specific to Pixel 5. My Pixel 3a on Android 12 mentions this on the Hotspot settings: "[...] to provide internet to other devices through your Wi-Fi or mobile data connection [...]". This question also mentioned that it's possible on Samsung Galaxy S7 and newer devices, and this comment mentioned Redmi Notes 6 Pro.

This comment mentioned Wi-Fi Direct to achieve the functionality, and according to this Q&A on SO, it's possible to use Wi-Fi Direct as a Wi-Fi extender/repeater. I suppose devices that support Wi-Fi Direct can do this, though whether it's possible to use this out-of-the-box without needing to hack is another question...


text:
Google services on Raspberry Pi 4 Model B saying it is offline while connected to WiFi
I have just been setting up Android 12L on my Raspberry Pi 4 Model B. After I installed Google Play onto the Raspberry Pi, no matter how hard I try fixing it, all Google services still say it is offline even when it is connected to ethernet and WiFi (separately).
Help?

Just to clarify: is the same Wi-Fi/ethernet connection using other devices possible to connect to Google services? (ping/telnet/etc.)

Have you checked adb logcat for errors? As there is no official Android for Raspberry what custom ROM have you used? Were the Google play services already integrated or have you installed them yourself (what what variant/package have you installed).

You can find a list of servers used by Android and Google Play Store/Services in this answer. Check them if you can resolve their DNS name and if you are able to connect to them via https.

The only other google device i had was the old rom that the same raspberry pi had 2. No. 3. I had to manually install NikGApps.

So i just tried reinstalling Android 12l with another gapps file and i still had the same problem

So... Turns out that I needed to enable WiFi access to google play and all other corresponding apps manually by going to Settings > Apps > [app name; particularly Google Play Store] > Mobile Data & WiFi and then turn on Allow Network Access. I didn't even know it was that simple.

Good to know that you found the solution. Interestingly, looks like there's no "Allow Network Access" on Pixel 3a Android 12, only "Background data" and "Unrestricted data usage". I'd assume this was added by the maker of the ROM for the Raspberry Pi...? Could you mention the name of the ROM?

I don’t know the exact name of the rom, all I know is that it is a LineageOS fork made specifically for all Raspberry Pi 4 models. That is interesting though that on other Android phones that they don’t have that option. Must be a Raspberry Pi exclusive.


text:
Extract some messages from WhatsApp in a "long screenshot"
I need to extract some messages from WhatsApp in a way of a long screenshot. A long screenshot means that amount of messages is bigger than the physical screenshot of the device. I often see such screenshots posted on Reddit.
Is there such an application that can do it for me or do I need to do it manually?

Possible dupe: How to take a screenshot of an entire scrolling activity?

You could try to use a web browser (on the phone or a PC) and then use WhatsApp Web to look at the conversation. A lot of web browsers contain the functionality to save the shown web page as xxl screenshot e.g. as image or pdf file.


text:
Android phone unresponsive touch
I have had my Vivo Y20i for 2 years now. But this past 6 months, I've been experiencing some touch issues where part of my screen doesn't respond to my touches, and to make it work again is to lock my phone and then unlock it and everything works as normal. Sometimes it takes 2 to 3 unlocks before it returns to normal. It's pretty irritating especially when I'm playing something or typing something, doesn't respond to my touches, and sometimes ghost touches. The time it occurs is random.
I do not have any applications that can alter any touches or systems whatsoever. I only have the default apps (YouTube, Google, Etc.) and Mobile Legends. And I haven't dropped my phone since then.

When you lock the phone, the screen goes off, correct? And when you unlock it the screen goes on again. I would assume that this is similar to a reboot of the screen and touch system. You can try to perform a factory reset to check if the software has an impact, but to me this sounds like a hardware problem which will stay and may be get worse over time until touch completely fails.

Yeah i have tried factory reset several times but it didn't solve the problem. As you've said maybe its on the hardware.


text:
Which phones today uses Android Common Kernel?
Android Common Kernel is an effor by google to unificate the kernels of the phones.
What are examples of phones today that uses Android Common Kernels, except Pixel?

What issue are you trying to solve? List questions are no good fit for Q&A sites, and hence are considered off-topic.

usually one care for own single device only - except for developers. list devices you're targeting, so we can answer Android Common Kernel for devices of interest only

@alecxs I live in a country where there's only Xiaomi, Motorola and Samsung, mainly. I wanted one of these, to play with.


text:
Android Chrome saving web page without MHTML extension
Just got a Pixel 6 Pro, Android 12. Whenever I save a web page using the 3-dot menu, download web page arrow, the file is being saved with no extension.
It has always been saved as .mhtml on previous phones. I have to rename them to add the .mhtml extension. I tried Chrome and Chrome Beta. I looked at the files with two different file managers.
Any ideas?

I just tried it, the file may have no file extension but the content is mhtml (RFC 2557 multipart file similar to an e-mail containing multiple files).

Hi Robert. Thanks for the reply. Yes - when the mhtml extension is added, the file opens correctly with File Manager. Otherwise it doesn't know what to do with it.

I just tried on both Nexus 5, Lineage OS 14.1 (Android 7.1) and Pixel 3a, Android 12 on both Chrome 102. Nexus 5 still saved with extension while Pixel 3a didn't. I'd guess there's a different behavior on Chrome itself, possibly depending on the Android version, for unclear reasons...

This problem has existed for some time. See Viewing using computer Chrome a HTML page downloaded on Arndroid Chrome

Hi All - Thanks for the responses. My previous phone (Pixel 3A XL, Android 9) appended the MHTML extension correctly. Any ideas on what changed (Chrome, phone, or OS)?


text:
In which markets does the Xiaomi Redmi 10C have NFC?
I just bought a Redmi 10C from an official Xiaomi Store in Malaysia, but I'm from Australia where we don't really have Xiaomi. There's also not really that much info about them in English.
I naïvely expected all new phones just came with NFC these days since all the kids use it to pay for everything at home. But this is a budget phone and the kids in Australia all probably have way more expensive phones.
While trying to figure out whether I had NFC or not I found some offical specs on Xiaomi's site including

NFC
Availability varies between markets
*Functions may vary in some markets

I'll survive without NFC but I'm still curious. I checked Xiaomi's site for several nearby countries and couldn't find any mentioning that NFC is present.
So does anyone know which countries / which markets do get a Redmi 10C with NFC support?

The main question is: are there two different hardware variants sold unter the same name or is this a software issue? I would assume it is the latter and that in some countries NFC can not be used because Xaomi didn't have the license to enable NFC for that model. To my knowledge every country or region has an institution like the FCC in the USA which tests and certifies wireless devices. May be Xiomi has skipped that test in some countries because they had no plans to sell the phone there?

@Robert I assume it's more than one hardware configuration, differing by which components they include. But I'm totally new to NFC so maybe you're right. Xiaomi definitely sells this model directly here in Malaysia because I bought it from one of their official shops. It is not sold in my home country. If there's a way to test the hardware or even a hardware teardown I'd be interested.

@Robert Apparently the previous Redmi series offered both a 9C and 9C NFC in some markets. https://www.youtube.com/watch?v=MJq0g4XRC5U&ab_channel=TechLegend Perhaps there will be a 10C NFC but it's not yet released in any markets? In any case that still doesn't answer the software v hardware question but it suggests differing hardware.


text:
Lithium Epub Reader app crashed and data seems to have deleted itself - any way to recover?
I've been using the Lithium Epub Reader app for about a year on my Android phone and had built up a lot of highlights, categories notes, etc. Today, the app crashed, restarted, and started re-syncing with the epub files on my phone as if it was installed for the first time. Highlights, notes, reading progress, etc., all seem lost.
Is there anything I can do to recover the data?


text:
Is it possible to set Android app permissions globally or in batches?
On android 10, is it possible to select multiple apps and to set their access or security permissions all in one go, rather than having to select each app individually?
For context, I have a device with many rarely used apps, and Google keeps removing their permissions automatically.
The setting for telling android not to do this seems to be per app, not per device. The device is old and slow so going to each app individually is a chore.

Related/possible duplicate, depending on the requirement: How can I disable the Android 11's auto-reset permissions globally?

That only applies to Android 11.

For each app, you have to change the permission in App settings, or you can change it overall based on the brands.
For that, follow https://support.google.com/android/answer/9431959?hl=en#zippy=%2Cautomatically-remove-permissions-for-unused-apps

I find it hard to believe that there is no central way to enable or disable this feature, having to do it for every app seems counter productive. Especially in corporate\managed environments where there might be thousands of apps on hundreds of devices. Surely a school IT tech wouldn't be expected to do this individually for every app on every tablet that the school owned?


text:
What to do when phone is super slow?
My Samsung Galaxy S7 with Android 8 is super sloooow... even happens now that it takes so much time to unlock the pattern screen that it will go black again because of the timeout... when I click into an input field, it can take 20-30 seconds before keyboard appears... it's just becoming unusable. Not always, sometimes in another part of day it happens that it's not so slow, but right now the problem persists.
How do I fix this? I tried different tools to see what's consuming the CPU but all those apps monitoring this are of no use since they are just showing themselves, probably because my device is not rooted. And I am not sure if I want to start rooting my device in this situation.
Also, my 256 GB micro SD card probably has some problems, because sometimes longer videos get corrupted. Not sure if it's related, but the situation becomes a bit complicated.

Have you adapted the SD-card as internal storage?

@Robert you mean, the external micro SD card? No, don't know about it... I just moved few apps to it. And default camera and voice rec directories.