# Question
Title: Why would the TRWP Nandroid backups of system and vendor partitions be different between backups?
For background info, I just picked up a Xiaomi Mi 9 Global version and am running the latest weekly Xiaomi.eu Pure MIUI ROM on it (if it matters, the latest Xiaomi.eu weeklies for the Mi 9 are Android 10 based).

I've started taking full backups using TWRP and I noticed something strange. For reference these backups have compression disabled and no encryption to try and rule out any variables.

When I check the sha2 hashes of the various partitions, I've noticed that all of the various partitions (boot, recovery, modem, efs, etc) have the same sha2 hash between backups (meaning the images are exactly the same). However even just from one night to the next morning, or even from one boot to the next as I tested today, the hashes of the vendor and system partition backups are different. I don't have any custom system modules or kernels installed that could be modifying those partitions, though I am rooted with Magisk.

I used adb shell to browse around the system and vendor partitions and all of the date stamps of the folders and files are either "1969-12-31" (basically meaning the date is 0 since that's the beginning of "unix time if you take into account my time zone) or "2019-09-06" which is the probably the date that the ROM or it's base ROM was created (the original Xiaomi ROM they made the Xiaomi.eu version from). I even used the find command from an adb shell to search both the system and vendor partitions for any updated files (any file with a date newer than "2019-09-06") and there are none.

**So my question is this: if I haven't flashed a new ROM or installed anything in the system partition, why would two backups be different?**

I would think that only the data partition would change as I use the phone. I thought that since the system and vendor images are the ROM itself, they should never change unless I change ROMs. I was under the impression that even system settings are stored on the data partition because performing a factory reset essentially just wipes that partition...so I don't see why the system and especially vendor partitions should ever change unless I specifically flash a different ROM or update the ROM which would obviously write to those partitions (or at minimum the system partition)

Are there some kind of auto-generated files or folders in the system and vendor partitions that change slightly on ever boot or something?

I would just like to understand this better so I know whether for example it's ok to just do regular backups of the data partition and only back up system and vendor when I do a new ROM update.

Hopefully someone with more Android ROM experience can shed some light on this.

# Answer
> 2 votes
Answer to your question is `dm-verity`:

> The dm-verity feature lets you look at a block device, the underlying storage layer of the file system, and determine if it matches its expected configuration. It does this using a cryptographic hash tree. For every block (typically 4k), there is a SHA256 hash.

So `/system` and `/vendor` partitions are always mounted read-only because mounting R/W causes changed hash values of the partition/filesystem (at least some `inodes` belonging to filesystem structure may change even if you don't touch a file), thus breaking the security feature. To make any changes to them, we need to disable `dm-verity` which must be your case.

TWRP creates backups in two ways. `boot`, `recovery` etc. are just dumped (`dd`) as a whole, so their hashes don't change because those aren't mountable filesystems. `/system` and `/vendor` are either dumped as images to retain `dm-verity` as discussed above. Or otherwise a `tar` archive is created to keep the backup size minimum. In second case even the filesystem is unchanged, a new archive file is created every time you do the backup. If the files aren't changed and are read/written by the archiving utility in the same order, using same options/parameters every time, then created archives should be identical. But even a minor factor e.g. compression may cause a different hash value every time.

So you must have `dm-verity` disabled, and therefore you will keep on getting changed hashes. But the contents don't change (if you don't change yourself or Magisk/GApps don't put some `addon.d` script), so a regular backup of both partitions isn't required. In fact only `/data` backup is enough, `boot`, `/system`, `/vendor` are already part of flashable zips.

---
Tags: backup, twrp, nandroid
---


title: Whatsapp limiting network usage?

text:
# Question
Title: Whatsapp limiting network usage?
Someone I know has recently registered with Whatsapp and has been a heavy user of Video chats and other bandwidth heavy features. Today they've had an issue with sending and receiving messages, and got some kind of warning about network usage (I've not actually seen the warning).

I checked in the Network usage settings / statistics and the user has managed to send and receive a whopping 1GB (respectively) within one week :P. Does Whatsapp impose some kind of restriction on the usage of its network with regard to data usage? I'd just like to be able to work out whats causing the error, and how the user can best handle it :).

Thanks for any clues and your time, regards!

P.S. I have sent an email to Whatsapp's support, but I reckoned I might get a quicker response here :P !

# Answer
There was and possibly still is a restriction on message forwarding but there is none on data usage.

> WhatsApp has announced it will restrict the number of times an individual message can be forwarded.

The only restriction on video is about the size. When it is larger than 16MB then you need to reduce it.

> If you choose to send an existing video, it is limited to 16 Megabytes. On most phones, this will equal about 90 seconds to three minutes of video. If you choose an existing video that is larger than 16 MB, then you will have the option to trim the length of the video before sending it.

You should check if data limit is set or not on the phone. Go to Settings -\> Data usage -\> Cellular data usage. Clicking the gear, should show you the data limit and if it was set or not.
> 1 votes

---
Tags: whatsapp-messenger, data-monitoring
---


# Question
Title: Are RAM and storage physically located on smartphone's SoC or not?
I started to learn about Android-based devices' hardware and already have learned about SoC, which includes CPU, GPU, connectivity modules, etc in one chip. I have found an example of SoC structure (Snapdragon 600):

Some sources say that SoC also includes RAM and storage, while others say that RAM and storage are placed on other chips which are separately soldered to the motherboard.

Which answer is correct? I'm sorry if this is a stupid question, I'm a newbie. Also, maybe you have some helpful articles to read. Thank you!

# Answer
Both answers are correct.

A SoC can contain RAM and flash but it does not have to. What variant is used is chosen by it's manufacturer and therefore every device type can have a different SoC and motherboard layout. And as there are dozens of manufacturers and hundred of different Android devices sold you will find any combination of on SoC with or without integrated RAM and flash.

If you are interested in a specific device check the device tear down section from iFixit for example. They usually mark the different chips on the motherboard so that you can identify which chips are separate chips (e.g. flash memory and/or RAM).

Some times even devices that share the same name like *Samsung Galaxy S10* contain different SoC and motherboards. In this case the devices for the markets USA, Canada, China and Japan have contain a Qualcomm Snapdragon instead of a Samsung Exynos SoC.
> 3 votes

---
Tags: hardware, ram
---


# Question
Title: Android Auto stopped working with Pixel 3 on Hyundai Elantra
I have a 2018 Hyundai Elantra with Android Auto and a Pixel 3, and I use Android Auto often. I recently upgraded my phone to Andriod 10 and after a few days Android Auto stopped working. I have rebooted my phone and tried a new cable to no avail. I had a friend connect an iPhone to my car and CarPlay worked normally, so I know it isn't a problem with the car's USB port.

Does anyone have another suggestion?

# Answer
I would recommend trying to "restart" Android Auto in your car by disabling Android Auto, waiting a minute or two, then enabling Android Auto. I believe you can turn off Android Auto from the touch screen under Setup, Phone Projection.

Give this a try and let me know if it works.
> 0 votes

---
Tags: android-auto
---


# Question
Title: How to create a backup image (*.ab) of Android Device that is not booting up?
I am just a usual android user, owning 9-10 android devices. My Mom's Android device automatically turned off yesterday and while booting up again, it was stuck in the company Logo

and was not turning on. The device is "10.or E" exactly this model. My Mom had some very important files in her phone storage that she cannot compromise with. So, she came to me and asked me if I could turn it on without losing her files. I tried turning the phone on using the combination of the three buttons together (Power Button + Volume Up + Volume Down Buttons). This didn't do any good but yeah, it was able to turn off the mobile. Then I tried to go to Recovery Mode (in this device it is done by the combination of Power Button and Volume Up button) and check if there is an option available for making full device backup like my another device. Unfortunately, there was no option to create a "Full system backup" on SD-Card. It had some other options. See these images:

.

Now, as there was no option to create a full backup using only the concerned device, I opted for my PC to do the same. I have SDK(s) installed  of all the Android Versions form Lollipop to Android 10 (don't know it's name). I switched off the phone and connected it with my PC using USB-Cable (not sure if USB-Debugging was on or not). After connecting I tried to give the adb command for backup  but it could not establish the connection with the device. Whereas, in the list of my devices I see a device named as ***Qualcomm HS-USB QDLoader 9008 (COM5)***

which means that the device is detected by the computer. Although the device is detected by the computer, I am not able to create a backup using adb commands. I don't know any PC Backup method other than the sdk-cmd-adb method.

So, as this is a very big problem because my Mom's Data is extremely important to her and she cannot afford to lose that data, I really need a working method to get her Android Device's Backup before flashing new firmware or Factory/Hard/Soft Reseting it. There are so many Android Enthusiasts over here that may also have faced this problem before or may face this problem in future so, if any of us could help me in this issue will not only be helpful to me but to all of the faithful Android Stack Exchange Members. Please help me, I am left with no other option.

Thank You So Much in Advance ❤❤❤

# Answer
The approach you are taking is not worth it for you simply because:

* USB debugging needs to be enabled beforehand for using any adb command on a device. Since your mother probably would have never felt (and why would she anyway?) the need to enable it, assume it to be disabled.
* Since debugging can only be enabled either manually by the user under Settings app, or by using a custom kernel, or by using a custom recovery to make changes in data partition, your chances of enabling it are zero.
* Even if debugging is enabled the two most important processes are either not started or not fully functioning for enabling and approving backup via adb. One is the activity manager which is required to seek approval for backup via UI, and the other is the backend backup service which nobody can tell (without logs) whether it is started or not because of the boot issue.

In short, dump this approach because it is futile and a waste of time in your case. All I can suggest is to find out a way to either load a custom recovery somehow without deleting userdata. I've never tried that, so that's all I can offer.

You can try looking for Qualcomm chipset flashing type tools. They may be able to help you load a custom recovery/kernel so that userdata partition can be accessed. **Beware** with such tools though. They sometimes don't list partitions for selective partition flashing and flash every partition in wholesale, including data partition which is of prime importance here. Good luck!
> 3 votes

---
Tags: backup, recovery-mode, factory-reset, restore, hard-reset
---


# Question
Title: Do fast charge technologies wear down the batteries quicker?
There are plenty of fast charge technologies out there, now seemingly going up to 120W, which can supposedly:

> ... capable of fully charging a 4,000mAh phone battery in just 13 minutes ...

Now I am no expert in physics or material technologies, but intuitively thinking increasing the effect (without changing the input current) could result in wearing down the batteries on the long run, assuming that the batteries burst into flames first.

I was wondering if there is any information out there available, with respect to how well the batteries hold in the long run, with these newer, high powered charging solutions.

# Answer
In theory, yes. Charging quickly means there will be more heat produced which is bad for the battery cells.

However, most batteries are equiped with controllers that make sure that the charging process runs smoothly to avoid reaching temperatures that would be detrimental to batteries.
> 2 votes

# Answer
Battery University is a very good site for explaining battery technologies and how batteries behave. Fast Charging does damage the battery life, but this can be mitigated somewhat - generally by not allowing deep discharge or fast charging above 80% and efficiently discipating heat.

IMHO you are absolutely right that manufacturers of cellphones design systems so batteries wear out faster. (In fact, by never charging my battery above 75% my battery is wearing at about 1/3rd the expected rate ). Of-course I needed to root my phone and find software tools to limit (and monitor) charging - The point is if manufacturers cared this could be done by a profile setting - and removable batteries - rather then require almost unknown and hacks and expensive replacements -- but I think people would keep there phones longer so they would not upgrade as frequently.
> 2 votes

---
Tags: battery
---


# Question
Title: Multiple consecutive individual ADB backup/restore without prompt
I was looking into how to do batch backups through individual adb backup/restore commands (to have separate .ab files per package/application/data/etc.) (I'm aware of the Helium (Carbon) desktop app as an option for this - would be interested in writing my own script for fun anyway).

The reason for wanting to create individual .ab files vs a large one is I want to be able to have partial backup/restore functionality for just individual packages, and not have to do, for example, 50 apps all at once.

The main obstacle at the moment is that every time a backup/restore occurs, user input has to be given when the prompt comes up - is there a way around this to be able to use adb backup/restore for multiple individual packages through something like a shell script?

Thanks!

# Answer
You can try using `adb shell input tap <x> <y>` where x and y are the coordinates of where you would like to tap on the screen (can show coords in Developer Options). I was able to use this code to restore an individual backup:

```
#$1 is backup file

adb restore ${1} &
sleep 2
adb shell input touchscreen tap <x> <y>
wait

```

I found it useful to sleep for a couple seconds after the restore command, but it may not be necessary.
> 2 votes

# Answer
So, it would appear that there's no built in and (at least seemingly) intended way for us to do this.

Instead, this is possible through the `adb shell sendevent` command - this can emulate touch input from a computer with the adb tools (and any relevant drivers) installed, provided the phone has provided adb access to that specific machine.

Events can be recorded using `adb shell getevent` and replayed with `adb shell sendevent`. A user could then record the accepting button presses, and save a script that replays them. Of course, this introduces issues such as when there's a screen overlay (e.g. from red shift lighting apps) preventing pressing of the button, if something else appears (maybe a chat bubble, etc.), and any other number of obstructions, so it's a workaround at best.
> 1 votes

# Answer
this seems particularly odd, but in that expected google evil way. From my own incomplete but growing understanding of things- you can convert the restore file to a tar file by changing the first 24 bytes. So then the question is, would a simple tar extraction in a particular way (remounting something or other rw temporarily?) accomplish the same thing the adb restore is doing? Of course the source is theoretically all there. I was planning on trying things out eventually and seeing if they seem to work good enough to justify not caring enough to dig through that source. Yes, this is a pretty crappy answer, but it seems worthwhile as a placeholder until a little adb shell script with tar invokage or the like takes its place, which is what I presume the original questioner and I would like to see.
> 0 votes

---
Tags: adb, backup
---


# Question
Title: Is it possible to use a GIF as my wallpaper?
So it has come to my attention that Live Wallpapers are not actually images but more of like, applications that are active in the background. This causes it to be a bit of a battery hog. So I was thinking, if I can just use a GIF instead (like how I did on older Nokia dumbphones), then that would at least decrease the battery usage while still having my wallpaper do some activity.

When trying to set a sample GIF as wallpaper, it is asking me to crop it which I guess, in turn, removes its animation. How do I make it so that a GIF of my choice is used as the wallpaper on my phone while still retaining its animation?

# Answer
> 11 votes
There is no native way to do this, as Android simply does not support it. Any wallpaper which is not a live wallpaper will be displayed as a static image. Specifically, Romain Guy notes in a comment on the Android issue tracker that all regular wallpapers are saved as PNG images after cropping. There is no way to change this behaviour aside from modifying the Android source code.

There are some third-party apps that will allow you to use an animated GIF as a wallpaper, such as AnimGIF Live Wallpaper. The downside, though, is that I believe all of these will be live wallpaper applications, which sort of defeats the purpose.

# Answer
> 0 votes
If your still wondering I figured out a way. Download the app live wallpaper maker free, and it allows you to select gifs saved in your gallery and add them as your wallpaper.

# Answer
> 0 votes
Strangly enough I was able to use a live wallpaper on my old phone, the Alcatel One Touch Fierce, but not on my newer Moto X pure edition. Maybe it was because I had a third party program downloaded on the side but I never used it. On the Alcatel I was able to set full mp4 files as my wallpaper. Probably something in the phone's unique GUI allowed this idk, wish I knew

---
Tags: live-wallpaper
---


# Question
Title: Is there a way to move apps to sd card if your phone doesnt support it?
In Huawei Phones moving apps to sd card isn't supported,there isn't an option to use sd card as internal storage too,is there anyway to bypass that and move apps to sd card without rooting android phone?

# Answer
> 0 votes
The simple answer on non-rooted devices is no. If the OS doesn't allow it, you will not be able to. If the device is rooted, then there are many (apps, scripts, etc) ways that will help you achieve it.

---
Tags: sd-card, huawei, emui
---


title: Android 10 Swipe Forward

text:
# Question
Title: Android 10 Swipe Forward
I am using the new gesture navigation with Android 10 and was wondering if there is a way to have the swipe from the right side to the left trigger a "go forward" action. When I swipe from either the right to left or left to right, it always does a "go back" action. Is this a bug or does Android only support going back with these swipe gestures?

# Answer
It is not a bug. Swiping to move forward as not yet been implemented natively only swiping to move back

> with the new system navigation mode - users can navigate back (left/right edge swipe), to the home screen (swipe up from the bottom), and trigger the device assistant (swipe in from the bottom corners) with gestures rather than buttons.

To use the swipe forward gesture, the app should implement it (ie Chrome).

Gesture Navigation: A Backstory
> 3 votes

---
Tags: navigation, android-10
---


# Question
Title: Decrypting microSD card on another Android device or desktop computer
I'm looking for a solution that would allow to encrypt external microSD card with the following conditions:

* external microSD card is *not* merged with the internal storage;
* encrypted external microSD is mounted upon booting automatically;
* content of an encrypted microSD card can be viewed in *another* Android device and Windows/Linux PC if the smartphone where this card has been used was physically destroyed beyond repair.

The motivation behind these criteria stems from my workflow on a desktop computers. All of them have both system and storage drives fully encrypted with VeraCrypt. I set them up in a way that I enter a password upon booting once, and all the favorite volumes are automatically mounted and I boot into fully functioning system. On the other hand, if for some reason I cannot boot anymore (e.g. missing or corrupted system drive), I can take off the encrypted data drive, plug it into any other machine running Windows/Linux/MacOS with installed VeraCrypt and decrypt my files in no time.

However, I cannot achieve the same with the default encryption offered by Android. To encrypt the SD card, one must merge it with the internal memory, and if the device fails to start, there is no easy way to recover/decrypt my data from the external card.

I searched Google Play and couldn't find any third-party app similar to VeraCrypt.

There are related topics, but I couldn't find an answer in any of these either:

I'm using a rooted Moto G5s running Android 8.1, but a vendor-independent answer would be more preferable.

# Answer
I don't know of any GUI solutions that fit your needs but can share something about working CLI solutions.

**DISK ENCRYPTION:**

> external microSD card is not merged with the internal storage

You are talking about Android's Adoptable Storage. Actually it's not merged (like in case of LVM), it's just decrypted and mounted as a separate filesystem. Android starts emulating `/sdcard` from `/mnt/expand/[UUID]` which otherwise is from `/data/media/`. Additionally some apps are also movable to this newly *adopted* storage. In case of FDE (based on `dm-crypt`), key is stored at `/data/misc/vold/expand_*.key`, which can be used to mount the SD card on any OS running Linux kernel (including Android). All that you need is `dmsetup`. See this answer for details.

> content of an encrypted microSD card can be viewed in another Android device and Windows/Linux PC

In case of Adaptable Storage you can backup the master key to some safe location so that it could possibly be used in case device is wiped or no more bootable. Or if you don't want to go with Android's native encryption, you can manually setup `dm-crypt` FDE (plain / LUKS) on SD card using `cryptsetup`.

**FILESYSTEM ENCRYPTION:**

Recent versions of Android mostly use FBE which is based on Linux filesystem-level encryption (for `ext4` and `f2fs`). It doesn't use a single key, instead the master key generates per file keys on the go. On Android encrypted master keys are saved to `/data/misc/vold/user_keys/`. Device Encrypted (DE) and Credential Encrypted (CE) storages make it further complicated. Also FBE with Adoptable Storage doesn't work on Nougat and Oreo, and doesn't look very stable on Pie. So it's not a very reliable option at the moment.

It's also possible to manually setup FBE using `fscrypt` (or `e4crypt`/`f2fscrypt`) tool provided that your kernel supports it. But again there are multiple issues with the implementation in userspace as well as in kernel space particularly related to key management. So it's again not a very feasible option.

`fscrypt` is most probably going to replace `ecryptfs`; another Linux kernel's native feature. It's a stacked filesystem which can encrypt any other filesystem. But `fscrypt` (per-file encryption) *“is more memory efficient since it avoids caching the encrypted and decrypted pages in the page cache”*. You can use `ecryptfs` too on Android if kernel is built with `CONFIG_ECRYPT_FS`.

**FUSE-BASED ENCRYPTION:**

All of the options discussed above are native to Linux kernel, so won't (or at least very badly) work on Windows (sorry I have no experience with Mac). However you can go for FUSE-based solutions which have more or less support on Windows as well. E.g. `encfs` and `gocryptfs` are stackable cryptographic filesystems; more useful in situations like incremental backups.

If you want to stick with `veracrypt`, that also works perfect, performs even better than on Windows if combined with `dmsetup` to make use of Linux kernel's native cryptographic services.

Another FUSE-based solution `dislocker` can decrypt Bitlocker. But FUSE over FUSE may exert performance penalty, so should be avoided with right choice of filesystem drivers.

---

> encrypted external microSD is mounted upon booting automatically

You won't find an option with graceful GUI interactions to *enter a password upon booting* because unlike Linux there is no terminal `login` or `crypttab` or `PAM`. User interaction is only possible by developing an auto-starting app, which won't be up before `zygote`/`system_server` and all (native / Java) services are fully running. Or you may try to hack Android framework's SystemUI package to get the same credentials asked through UI (in case of FDE/FBE).

A simple approach would be to put an `init.d` script or create an `init` service. This should work with any of the methods described above. This answer can be helpful. I have been using `EncFS` to extend my external storage on K and L devices (details here). SD card was mounted by an `init` service, password was saved to `/data` partition which was in turn FDE encrypted.

---

**NOTES:**

* Encryption methods described above cover all commonly used filesystems including `FAT`, `exFAT`, `NTFS`, `ext4`, `f2fs` etc.
* If not using Adoptable Storage, better create two partitions on SD card to let `vold` service mount first partition on boot. First partition can be of a few hundreds of MBs. Use second partition for encryption.
* Command line applications used for encryption are available here for Android.

**RELATED:**
> 6 votes

---
Tags: security, external-sd, encryption
---


# Question
Title: LAVA OTG adapter keeps android tablet from sleeping
I am using an EasyCAP Adapter via a LAVA SimulCharge adapter on a Samsung Galaxy Tab S2 to capture video from a car reverse camera.

This is working fine except, when the LAVA adapter loses the power from the car (when the car is turned off). the EasyCAP adapter's green light keeps blinking, (usually it's solid green when connected) and the 'USB adapter connected' notification appears and disappears continuously in notification bar, and the tablet refuses to go into sleep mode for about 4 minutes. (Pressing the power button makes the screen turn off and back on again immediately)

After 4 minutes, the EasyCAP light stops flashing and turns off, which lets the device go to sleep. The notification keeps firing, until the device is rebooted.

I think this is due to EasyCAP adapter trying to connect again which wakes up the device?

Is there a way to force the device to go to sleep?

Connecting the EasyCAP over a standard OTG cable works fine, but I need the tablet to charge simultaneously as well.

(switching the 'stay awake' option on and off in Developer Mode didn't help)

**UPDATE**

I noticed that if I set the lock-screen type to anything other than none (eg: swipe) and press the power button after power is disconnected, the adapter stops blinking and the device goes to sleep after screen timeout.

**UPDATE 2**

I have isolated the issue to the LAVA SimulCharge adapter. It seems like losing power at the other end causes this.. although disconnecting the wire for power at the adapter's end works fine. Would there be a physical sensor to detect if there's power?

# Answer
The LAVA SimulCharge has a chip in it that detects if charge power is being supplied. If no charge power is being supplied it turns into a regular OTG connection. When it does this, it draws power from the tablet to power your accessories.

From what I've looked at so far, I haven't found a way to make the OTG 5V power from the tablet turn off when the tablet goes into sleep mode. When the tablet goes to sleep, it seems to still be providing the OTG power.

My tablet will go to sleep, but drains the battery from the OTG connection.
> 0 votes

---
Tags: usb, usb-on-the-go, standby, sleep
---


# Question
Title: ZTE Blade can't maintain a wifi connection
I have a ZTE Blade with Android 2.3.7 (CyanogenMod 7.1). Recently, when I try to connect to a wifi network (even one that worked before this problem started) it starts to connect, tries to autenticate, and then disconnects.

Here a part of the logcat

```
12-03 00:18:23.370: DEBUG/WifiStateTracker(191): Reset connections and stopping DHCP
12-03 00:18:23.530: INFO/wpa_supplicant(15251): CTRL-EVENT-SCAN-RESULTS  Ready
12-03 00:18:23.530: INFO/wpa_supplicant(914): CTRL-EVENT-SCAN-RESULTS  Ready
12-03 00:18:23.530: INFO/wpa_supplicant(914): Trying to associate with 94:44:52:ef:dd:7c (SSID='Lambratone' freq=2412 MHz)
12-03 00:18:23.530: INFO/wpa_supplicant(914): CTRL-EVENT-STATE-CHANGE id=0 state=3
12-03 00:18:23.540: INFO/wpa_supplicant(268): CTRL-EVENT-SCAN-RESULTS  Ready
12-03 00:18:23.540: INFO/wpa_supplicant(268): Trying to associate with 38:22:9d:fc:6d:20 (SSID='FASTWEB-1-38229DFC6D20' freq=2412 MHz)
12-03 00:18:23.540: INFO/wpa_supplicant(268): CTRL-EVENT-STATE-CHANGE id=0 state=3
12-03 00:18:23.550: INFO/wpa_supplicant(15251): CTRL-EVENT-DISCONNECTED - Disconnect event - remove keys
12-03 00:18:23.550: INFO/wpa_supplicant(15251): CTRL-EVENT-STATE-CHANGE id=-1 state=0
12-03 00:18:23.560: INFO/wpa_supplicant(914): CTRL-EVENT-DISCONNECTED - Disconnect event - remove keys
12-03 00:18:23.560: INFO/wpa_supplicant(914): CTRL-EVENT-STATE-CHANGE id=0 state=0
12-03 00:18:23.560: INFO/wpa_supplicant(268): CTRL-EVENT-DISCONNECTED - Disconnect event - remove keys
12-03 00:18:23.560: INFO/wpa_supplicant(268): CTRL-EVENT-STATE-CHANGE id=1 state=0
12-03 00:18:23.560: VERBOSE/WifiMonitor(191): Event [CTRL-EVENT-DISCONNECTED - Disconnect event - remove keys]
12-03 00:18:23.560: VERBOSE/WifiMonitor(191): Event [CTRL-EVENT-STATE-CHANGE id=-1 state=0]
12-03 00:18:23.700: INFO/wpa_supplicant(914): CTRL-EVENT-STATE-CHANGE id=0 state=4
12-03 00:18:23.700: INFO/wpa_supplicant(914): Associated with 94:44:52:ef:dd:7c
12-03 00:18:23.710: INFO/wpa_supplicant(15251): CTRL-EVENT-STATE-CHANGE id=-1 state=4
12-03 00:18:23.710: INFO/wpa_supplicant(15251): No network configuration found for the current AP
12-03 00:18:23.710: INFO/wpa_supplicant(15251): CTRL-EVENT-STATE-CHANGE id=-1 state=0
12-03 00:18:23.710: VERBOSE/WifiMonitor(191): Event [CTRL-EVENT-STATE-CHANGE id=-1 state=4]
12-03 00:18:23.710: VERBOSE/WifiMonitor(191): Event [CTRL-EVENT-STATE-CHANGE id=-1 state=0]
12-03 00:18:23.710: INFO/wpa_supplicant(268): CTRL-EVENT-STATE-CHANGE id=1 state=4
12-03 00:18:23.710: INFO/wpa_supplicant(268): Associated with 00:00:00:00:00:00
12-03 00:18:23.720: INFO/wpa_supplicant(15251): CTRL-EVENT-DISCONNECTED - Disconnect event - remove keys
12-03 00:18:23.720: INFO/wpa_supplicant(15251): CTRL-EVENT-STATE-CHANGE id=-1 state=0
12-03 00:18:23.720: INFO/wpa_supplicant(914): CTRL-EVENT-DISCONNECTED - Disconnect event - remove keys
12-03 00:18:23.720: INFO/wpa_supplicant(914): CTRL-EVENT-STATE-CHANGE id=0 state=0
12-03 00:18:23.720: INFO/wpa_supplicant(268): CTRL-EVENT-DISCONNECTED - Disconnect event - remove keys
12-03 00:18:23.720: INFO/wpa_supplicant(268): CTRL-EVENT-STATE-CHANGE id=1 state=0
12-03 00:18:23.720: VERBOSE/WifiMonitor(191): Event [CTRL-EVENT-DISCONNECTED - Disconnect event - remove keys]
12-03 00:18:23.720: VERBOSE/WifiMonitor(191): Event [CTRL-EVENT-STATE-CHANGE id=-1 state=0]
12-03 00:18:23.820: INFO/wpa_supplicant(914): CTRL-EVENT-STATE-CHANGE id=0 state=2
12-03 00:18:23.820: INFO/wpa_supplicant(268): CTRL-EVENT-STATE-CHANGE id=1 state=2
12-03 00:18:24.380: DEBUG/WifiStateTracker(191): Disabling interface
12-03 00:18:24.400: VERBOSE/WifiStateTracker(191): New network state is DISCONNECTED
12-03 00:18:24.400: VERBOSE/WifiStateTracker(191): Changing supplicant state: DISCONNECTED ==> DISCONNECTED
12-03 00:18:24.400: VERBOSE/WifiStateTracker(191): Changing supplicant state: DISCONNECTED ==> ASSOCIATED
12-03 00:18:24.400: VERBOSE/WifiStateTracker(191): Changing supplicant state: ASSOCIATED ==> DISCONNECTED
12-03 00:18:24.400: VERBOSE/WifiStateTracker(191): New network state is DISCONNECTED
12-03 00:18:24.400: VERBOSE/WifiStateTracker(191): Changing supplicant state: DISCONNECTED ==> DISCONNECTED
12-03 00:18:24.500: INFO/wpa_supplicant(15251): CTRL-EVENT-STATE-CHANGE id=-1 state=2
12-03 00:18:24.500: VERBOSE/WifiMonitor(191): Event [CTRL-EVENT-STATE-CHANGE id=-1 state=2]
12-03 00:18:24.520: VERBOSE/WifiStateTracker(191): Changing supplicant state: DISCONNECTED ==> SCANNING
12-03 00:18:26.000: INFO/wpa_supplicant(268): CTRL-EVENT-SCAN-RESULTS  Ready
12-03 00:18:26.000: INFO/wpa_supplicant(268): Trying to associate with 38:22:9d:fc:6d:20 (SSID='FASTWEB-1-38229DFC6D20' freq=2412 MHz)
12-03 00:18:26.000: INFO/wpa_supplicant(268): CTRL-EVENT-STATE-CHANGE id=1 state=3
12-03 00:18:26.010: INFO/wpa_supplicant(914): CTRL-EVENT-SCAN-RESULTS  Ready
12-03 00:18:26.010: INFO/wpa_supplicant(914): Trying to associate with 38:22:9d:fc:6d:20 (SSID='FASTWEB-1-38229DFC6D20' freq=2412 MHz)
12-03 00:18:26.010: INFO/wpa_supplicant(914): CTRL-EVENT-STATE-CHANGE id=0 state=3
12-03 00:18:26.020: INFO/wpa_supplicant(15251): CTRL-EVENT-SCAN-RESULTS  Ready
12-03 00:18:26.030: INFO/wpa_supplicant(268): CTRL-EVENT-DISCONNECTED - Disconnect event - remove keys
12-03 00:18:26.030: INFO/wpa_supplicant(268): CTRL-EVENT-STATE-CHANGE id=1 state=0
12-03 00:18:26.030: INFO/wpa_supplicant(914): CTRL-EVENT-DISCONNECTED - Disconnect event - remove keys
12-03 00:18:26.030: INFO/wpa_supplicant(914): CTRL-EVENT-STATE-CHANGE id=1 state=0
12-03 00:18:26.039: INFO/wpa_supplicant(15251): CTRL-EVENT-DISCONNECTED - Disconnect event - remove keys
12-03 00:18:26.039: VERBOSE/WifiMonitor(191): Event [CTRL-EVENT-DISCONNECTED - Disconnect event - remove keys]
12-03 00:18:26.039: VERBOSE/WifiStateTracker(191): New network state is DISCONNECTED
12-03 00:18:26.049: INFO/wpa_supplicant(15251): CTRL-EVENT-STATE-CHANGE id=-1 state=0
12-03 00:18:26.049: VERBOSE/WifiMonitor(191): Event [CTRL-EVENT-STATE-CHANGE id=-1 state=0]
12-03 00:18:26.049: VERBOSE/WifiStateTracker(191): Changing supplicant state: SCANNING ==> DISCONNECTED
12-03 00:18:26.130: DEBUG/KeyguardViewMediator(191): wakeWhenReadyLocked(26)
12-03 00:18:26.130: INFO/power(191): *** set_screen_state 1
12-03 00:18:26.130: ERROR/Sensors(191): mSensors[1]->enable(4, 1)
12-03 00:18:26.160: INFO/wpa_supplicant(15251): CTRL-EVENT-STATE-CHANGE id=-1 state=4
12-03 00:18:26.160: INFO/wpa_supplicant(15251): No network configuration found for the current AP
12-03 00:18:26.160: INFO/wpa_supplicant(15251): CTRL-EVENT-STATE-CHANGE id=-1 state=0
12-03 00:18:26.160: INFO/wpa_supplicant(914): CTRL-EVENT-STATE-CHANGE id=1 state=4
12-03 00:18:26.160: INFO/wpa_supplicant(914): Associated with 00:00:00:00:00:00
12-03 00:18:26.160: INFO/wpa_supplicant(268): CTRL-EVENT-STATE-CHANGE id=1 state=4
12-03 00:18:26.160: INFO/wpa_supplicant(268): Associated with 00:00:00:00:00:00
12-03 00:18:26.170: VERBOSE/WifiMonitor(191): Event [CTRL-EVENT-STATE-CHANGE id=-1 state=4]
12-03 00:18:26.170: VERBOSE/WifiMonitor(191): Event [CTRL-EVENT-STATE-CHANGE id=-1 state=0]
12-03 00:18:26.170: VERBOSE/WifiStateTracker(191): Changing supplicant state: DISCONNECTED ==> ASSOCIATED
12-03 00:18:26.170: VERBOSE/WifiStateTracker(191): Changing supplicant state: ASSOCIATED ==> DISCONNECTED
12-03 00:18:26.180: INFO/wpa_supplicant(15251): CTRL-EVENT-DISCONNECTED - Disconnect event - remove keys
12-03 00:18:26.180: INFO/wpa_supplicant(15251): CTRL-EVENT-STATE-CHANGE id=-1 state=0
12-03 00:18:26.180: INFO/wpa_supplicant(914): CTRL-EVENT-DISCONNECTED - Disconnect event - remove keys
12-03 00:18:26.180: INFO/wpa_supplicant(914): CTRL-EVENT-STATE-CHANGE id=1 state=0
12-03 00:18:26.180: INFO/wpa_supplicant(268): CTRL-EVENT-DISCONNECTED - Disconnect event - remove keys
12-03 00:18:26.180: INFO/wpa_supplicant(268): CTRL-EVENT-STATE-CHANGE id=1 state=0
12-03 00:18:26.180: VERBOSE/WifiMonitor(191): Event [CTRL-EVENT-DISCONNECTED - Disconnect event - remove keys]
12-03 00:18:26.180: VERBOSE/WifiMonitor(191): Event [CTRL-EVENT-STATE-CHANGE id=-1 state=0]
12-03 00:18:26.180: VERBOSE/WifiStateTracker(191): New network state is DISCONNECTED
12-03 00:18:26.180: VERBOSE/WifiStateTracker(191): Changing supplicant state: DISCONNECTED ==> DISCONNECTED
12-03 00:18:26.180: ERROR/Sensors(191): mSensors[2]->enable(0, 1)
12-03 00:18:26.180: INFO/AKMD2(142): akmd2 : Compass Opened.
12-03 00:18:26.280: INFO/wpa_supplicant(914): CTRL-EVENT-STATE-CHANGE id=1 state=2
12-03 00:18:26.280: INFO/wpa_supplicant(268): CTRL-EVENT-STATE-CHANGE id=1 state=2
12-03 00:18:26.340: DEBUG/WifiService(191): ACTION_SCREEN_ON
12-03 00:18:26.480: INFO/wpa_supplicant(15251): CTRL-EVENT-STATE-CHANGE id=-1 state=2
12-03 00:18:26.480: VERBOSE/WifiMonitor(191): Event [CTRL-EVENT-STATE-CHANGE id=-1 state=2]
12-03 00:18:26.480: VERBOSE/WifiStateTracker(191): Changing supplicant state: DISCONNECTED ==> SCANNING
12-03 00:18:26.570: DEBUG/SurfaceFlinger(191): Screen about to return, flinger = 0x95878
12-03 00:18:27.850: DEBUG/SettingsAppWidgetProvider(939): Widget is from a previous version... Let's update
12-03 00:18:27.850: DEBUG/SettingsAppWidgetProvider(939): No instances yet... Wait for at least one instance to exist before adding global settings
12-03 00:18:27.980: INFO/wpa_supplicant(15251): CTRL-EVENT-SCAN-RESULTS  Ready
12-03 00:18:27.980: INFO/wpa_supplicant(15251): Trying to associate with 94:44:52:ef:dd:7c (SSID='Lambratone' freq=2412 MHz)
12-03 00:18:27.980: INFO/wpa_supplicant(15251): CTRL-EVENT-STATE-CHANGE id=-1 state=3
12-03 00:18:27.980: INFO/wpa_supplicant(914): CTRL-EVENT-SCAN-RESULTS  Ready
12-03 00:18:27.980: INFO/wpa_supplicant(914): Trying to associate with 38:22:9d:fc:6d:20 (SSID='FASTWEB-1-38229DFC6D20' freq=2412 MHz)
12-03 00:18:27.980: INFO/wpa_supplicant(914): CTRL-EVENT-STATE-CHANGE id=1 state=3
12-03 00:18:27.980: VERBOSE/WifiMonitor(191): Event [Trying to associate with 94:44:52:ef:dd:7c (SSID='Lambratone' freq=2412 MHz)]
12-03 00:18:27.980: VERBOSE/WifiMonitor(191): Event [CTRL-EVENT-STATE-CHANGE id=-1 state=3]
12-03 00:18:27.990: VERBOSE/WifiStateTracker(191): Changing supplicant state: SCANNING ==> ASSOCIATING
12-03 00:18:27.990: INFO/wpa_supplicant(268): CTRL-EVENT-SCAN-RESULTS  Ready
12-03 00:18:27.990: INFO/wpa_supplicant(268): Trying to associate with 94:44:52:ef:dd:7c (SSID='Lambratone' freq=2412 MHz)
12-03 00:18:27.990: INFO/wpa_supplicant(268): CTRL-EVENT-STATE-CHANGE id=1 state=3
12-03 00:18:28.020: INFO/wpa_supplicant(268): CTRL-EVENT-DISCONNECTED - Disconnect event - remove keys
12-03 00:18:28.020: INFO/wpa_supplicant(268): CTRL-EVENT-STATE-CHANGE id=0 state=0
12-03 00:18:28.020: INFO/wpa_supplicant(914): CTRL-EVENT-DISCONNECTED - Disconnect event - remove keys
12-03 00:18:28.020: INFO/wpa_supplicant(914): CTRL-EVENT-STATE-CHANGE id=1 state=0
12-03 00:18:28.020: INFO/wpa_supplicant(15251): CTRL-EVENT-DISCONNECTED - Disconnect event - remove keys
12-03 00:18:28.020: VERBOSE/WifiMonitor(191): Event [CTRL-EVENT-DISCONNECTED - Disconnect event - remove keys]
12-03 00:18:28.020: VERBOSE/WifiStateTracker(191): New network state is DISCONNECTED
12-03 00:18:28.020: INFO/wpa_supplicant(15251): CTRL-EVENT-STATE-CHANGE id=3 state=0
12-03 00:18:28.020: VERBOSE/WifiMonitor(191): Event [CTRL-EVENT-STATE-CHANGE id=3 state=0]
12-03 00:18:28.030: INFO/wpa_supplicant(914): CTRL-EVENT-DISCONNECTED - Disconnect event - remove keys
12-03 00:18:28.030: INFO/wpa_supplicant(914): CTRL-EVENT-STATE-CHANGE id=1 state=0
12-03 00:18:28.030: INFO/wpa_supplicant(268): CTRL-EVENT-DISCONNECTED - Disconnect event - remove keys
12-03 00:18:28.030: INFO/wpa_supplicant(268): CTRL-EVENT-STATE-CHANGE id=0 state=0
12-03 00:18:28.030: VERBOSE/WifiStateTracker(191): Changing supplicant state: ASSOCIATING ==> DISCONNECTED
12-03 00:18:28.030: INFO/wpa_supplicant(15251): CTRL-EVENT-DISCONNECTED - Disconnect event - remove keys
12-03 00:18:28.030: VERBOSE/WifiMonitor(191): Event [CTRL-EVENT-DISCONNECTED - Disconnect event - remove keys]
12-03 00:18:28.040: INFO/wpa_supplicant(15251): CTRL-EVENT-STATE-CHANGE id=3 state=0
12-03 00:18:28.040: VERBOSE/WifiMonitor(191): Event [CTRL-EVENT-STATE-CHANGE id=3 state=0]
12-03 00:18:28.050: VERBOSE/WifiStateTracker(191): New network state is DISCONNECTED
12-03 00:18:28.050: VERBOSE/WifiStateTracker(191): Changing supplicant state: DISCONNECTED ==> DISCONNECTED
12-03 00:18:28.060: WARN/InputManagerService(191): Window already focused, ignoring focus gain of: com.android.internal.view.IInputMethodClient$Stub$Proxy@407ae948
12-03 00:18:28.170: INFO/wpa_supplicant(268): CTRL-EVENT-STATE-CHANGE id=0 state=4
12-03 00:18:28.170: INFO/wpa_supplicant(268): Associated with 94:44:52:ef:dd:7c
12-03 00:18:28.170: INFO/wpa_supplicant(914): CTRL-EVENT-STATE-CHANGE id=1 state=4
12-03 00:18:28.170: INFO/wpa_supplicant(914): Associated with 94:44:52:ef:dd:7c
12-03 00:18:28.170: INFO/wpa_supplicant(15251): CTRL-EVENT-STATE-CHANGE id=3 state=4
12-03 00:18:28.170: VERBOSE/WifiMonitor(191): Event [CTRL-EVENT-STATE-CHANGE id=3 state=4]
12-03 00:18:28.170: VERBOSE/WifiStateTracker(191): Changing supplicant state: DISCONNECTED ==> ASSOCIATED
12-03 00:18:28.180: INFO/wpa_supplicant(15251): Associated with 94:44:52:ef:dd:7c
12-03 00:18:28.180: VERBOSE/WifiMonitor(191): Event [Associated with 94:44:52:ef:dd:7c]
12-03 00:18:28.200: INFO/wpa_supplicant(268): CTRL-EVENT-STATE-CHANGE id=0 state=5
12-03 00:18:28.200: INFO/wpa_supplicant(914): CTRL-EVENT-STATE-CHANGE id=1 state=5
12-03 00:18:28.210: INFO/wpa_supplicant(15251): CTRL-EVENT-STATE-CHANGE id=3 state=5
12-03 00:18:28.210: VERBOSE/WifiMonitor(191): Event [CTRL-EVENT-STATE-CHANGE id=3 state=5]
12-03 00:18:28.210: VERBOSE/WifiStateTracker(191): Changing supplicant state: ASSOCIATED ==> FOUR_WAY_HANDSHAKE
12-03 00:18:28.230: INFO/wpa_supplicant(268): CTRL-EVENT-STATE-CHANGE id=0 state=5
12-03 00:18:28.240: WARN/wpa_supplicant(914): WPA: Invalid EAPOL-Key MIC when using TPTK - ignoring TPTK
12-03 00:18:28.240: WARN/wpa_supplicant(914): WPA: Invalid EAPOL-Key MIC - dropping packet
12-03 00:18:28.240: INFO/wpa_supplicant(268): CTRL-EVENT-STATE-CHANGE id=0 state=6
12-03 00:18:28.240: INFO/wpa_supplicant(268): WPA: Key negotiation completed with 94:44:52:ef:dd:7c [PTK=CCMP GTK=CCMP]
12-03 00:18:28.250: INFO/wpa_supplicant(268): CTRL-EVENT-STATE-CHANGE id=0 state=7
12-03 00:18:28.250: INFO/wpa_supplicant(268): CTRL-EVENT-CONNECTED - Connection to 94:44:52:ef:dd:7c completed (reauth) [id=0 id_str=]
12-03 00:18:28.250: WARN/wpa_supplicant(15251): WPA: Invalid EAPOL-Key MIC when using TPTK - ignoring TPTK
12-03 00:18:28.250: WARN/wpa_supplicant(15251): WPA: Invalid EAPOL-Key MIC - dropping packet
12-03 00:18:29.400: DEBUG/WifiStateTracker(191): Reset connections and stopping DHCP
12-03 00:18:30.410: DEBUG/WifiStateTracker(191): Disabling interface
12-03 00:18:30.630: DEBUG/dalvikvm(939): GC_CONCURRENT freed 611K, 50% free 3450K/6855K, external 1307K/1504K, paused 4ms+9ms
12-03 00:18:35.520: DEBUG/dalvikvm(1172): GC_EXPLICIT freed 9K, 49% free 2772K/5379K, external 477K/989K, paused 59ms
12-03 00:18:38.210: INFO/wpa_supplicant(914): Authentication with 94:44:52:ef:dd:7c timed out.
12-03 00:18:38.210: INFO/wpa_supplicant(914): CTRL-EVENT-STATE-CHANGE id=1 state=0
12-03 00:18:38.210: INFO/wpa_supplicant(914): CTRL-EVENT-STATE-CHANGE id=-1 state=2
12-03 00:18:38.210: INFO/wpa_supplicant(15251): Authentication with 94:44:52:ef:dd:7c timed out.
12-03 00:18:38.210: INFO/wpa_supplicant(15251): CTRL-EVENT-STATE-CHANGE id=3 state=0
12-03 00:18:38.210: INFO/wpa_supplicant(15251): CTRL-EVENT-STATE-CHANGE id=-1 state=2
12-03 00:18:38.210: VERBOSE/WifiMonitor(191): Event [Authentication with 94:44:52:ef:dd:7c timed out.]
12-03 00:18:38.210: VERBOSE/WifiMonitor(191): Event [CTRL-EVENT-STATE-CHANGE id=3 state=0]
12-03 00:18:38.210: VERBOSE/WifiStateTracker(191): Changing supplicant state: FOUR_WAY_HANDSHAKE ==> DISCONNECTED
12-03 00:18:38.220: VERBOSE/WifiMonitor(191): Event [CTRL-EVENT-STATE-CHANGE id=-1 state=2]
12-03 00:18:38.220: VERBOSE/WifiStateTracker(191): Changing supplicant state: DISCONNECTED ==> SCANNING
12-03 00:18:38.280: INFO/wpa_supplicant(914): CTRL-EVENT-DISCONNECTED - Disconnect event - remove keys
12-03 00:18:38.280: INFO/wpa_supplicant(914): CTRL-EVENT-STATE-CHANGE id=-1 state=0
12-03 00:18:38.280: INFO/wpa_supplicant(268): CTRL-EVENT-DISCONNECTED - Disconnect event - remove keys
12-03 00:18:38.280: INFO/wpa_supplicant(268): CTRL-EVENT-STATE-CHANGE id=0 state=0
12-03 00:18:38.280: INFO/wpa_supplicant(15251): CTRL-EVENT-DISCONNECTED - Disconnect event - remove keys
12-03 00:18:38.280: INFO/wpa_supplicant(15251): CTRL-EVENT-STATE-CHANGE id=-1 state=0
12-03 00:18:38.280: VERBOSE/WifiMonitor(191): Event [CTRL-EVENT-DISCONNECTED - Disconnect event - remove keys]
12-03 00:18:38.280: VERBOSE/WifiMonitor(191): Event [CTRL-EVENT-STATE-CHANGE id=-1 state=0]
12-03 00:18:38.290: VERBOSE/WifiStateTracker(191): New network state is DISCONNECTED
12-03 00:18:38.300: VERBOSE/WifiStateTracker(191): Changing supplicant state: SCANNING ==> DISCONNECTED
12-03 00:18:38.380: INFO/wpa_supplicant(268): CTRL-EVENT-STATE-CHANGE id=0 state=2
12-03 00:18:39.870: INFO/wpa_supplicant(15251): CTRL-EVENT-SCAN-RESULTS  Ready
12-03 00:18:39.870: INFO/wpa_supplicant(914): CTRL-EVENT-SCAN-RESULTS  Ready
12-03 00:18:39.870: INFO/wpa_supplicant(914): Trying to associate with 94:44:52:ef:dd:7c (SSID='Lambratone' freq=2412 MHz)
12-03 00:18:39.870: INFO/wpa_supplicant(914): CTRL-EVENT-STATE-CHANGE id=-1 state=3
12-03 00:18:39.880: INFO/wpa_supplicant(268): CTRL-EVENT-SCAN-RESULTS  Ready
12-03 00:18:39.880: INFO/wpa_supplicant(268): Trying to associate with 94:44:52:ef:dd:7c (SSID='Lambratone' freq=2412 MHz)
12-03 00:18:39.880: INFO/wpa_supplicant(268): CTRL-EVENT-STATE-CHANGE id=0 state=3
12-03 00:18:39.880: INFO/wpa_supplicant(15251): Trying to associate with 94:44:52:ef:dd:7c (SSID='Lambratone' freq=2412 MHz)
12-03 00:18:39.890: INFO/wpa_supplicant(15251): CTRL-EVENT-STATE-CHANGE id=-1 state=3
12-03 00:18:39.910: INFO/wpa_supplicant(914): CTRL-EVENT-DISCONNECTED - Disconnect event - remove keys
12-03 00:18:39.910: INFO/wpa_supplicant(914): CTRL-EVENT-STATE-CHANGE id=0 state=0
12-03 00:18:39.910: INFO/wpa_supplicant(268): CTRL-EVENT-DISCONNECTED - Disconnect event - remove keys
12-03 00:18:39.910: INFO/wpa_supplicant(268): CTRL-EVENT-STATE-CHANGE id=0 state=0
12-03 00:18:39.920: VERBOSE/WifiMonitor(191): Event [Trying to associate with 94:44:52:ef:dd:7c (SSID='Lambratone' freq=2412 MHz)]
12-03 00:18:39.920: VERBOSE/WifiMonitor(191): Event [CTRL-EVENT-STATE-CHANGE id=-1 state=3]
12-03 00:18:39.920: VERBOSE/WifiStateTracker(191): Changing supplicant state: DISCONNECTED ==> ASSOCIATING
12-03 00:18:39.930: INFO/wpa_supplicant(15251): CTRL-EVENT-DISCONNECTED - Disconnect event - remove keys
12-03 00:18:39.930: INFO/wpa_supplicant(15251): CTRL-EVENT-STATE-CHANGE id=3 state=0
12-03 00:18:39.930: VERBOSE/WifiMonitor(191): Event [CTRL-EVENT-DISCONNECTED - Disconnect event - remove keys]
12-03 00:18:39.930: VERBOSE/WifiMonitor(191): Event [CTRL-EVENT-STATE-CHANGE id=3 state=0]
12-03 00:18:39.940: INFO/wpa_supplicant(268): CTRL-EVENT-DISCONNECTED - Disconnect event - remove keys
12-03 00:18:39.940: INFO/wpa_supplicant(268): CTRL-EVENT-STATE-CHANGE id=0 state=0
12-03 00:18:39.940: INFO/wpa_supplicant(914): CTRL-EVENT-DISCONNECTED - Disconnect event - remove keys
12-03 00:18:39.940: INFO/wpa_supplicant(914): CTRL-EVENT-STATE-CHANGE id=0 state=0
12-03 00:18:39.940: INFO/wpa_supplicant(15251): CTRL-EVENT-DISCONNECTED - Disconnect event - remove keys
12-03 00:18:39.940: INFO/wpa_supplicant(15251): CTRL-EVENT-STATE-CHANGE id=3 state=0
12-03 00:18:39.940: VERBOSE/WifiMonitor(191): Event [CTRL-EVENT-DISCONNECTED - Disconnect event - remove keys]
12-03 00:18:39.940: VERBOSE/WifiMonitor(191): Event [CTRL-EVENT-STATE-CHANGE id=3 state=0]
12-03 00:18:39.950: VERBOSE/WifiStateTracker(191): New network state is DISCONNECTED
12-03 00:18:39.950: VERBOSE/WifiStateTracker(191): Changing supplicant state: ASSOCIATING ==> DISCONNECTED
12-03 00:18:39.960: VERBOSE/WifiStateTracker(191): New network state is DISCONNECTED
12-03 00:18:39.960: VERBOSE/WifiStateTracker(191): Changing supplicant state: DISCONNECTED ==> DISCONNECTED
12-03 00:18:40.070: INFO/wpa_supplicant(15251): CTRL-EVENT-STATE-CHANGE id=3 state=4
12-03 00:18:40.070: INFO/wpa_supplicant(15251): Associated with 94:44:52:ef:dd:7c
12-03 00:18:40.070: INFO/wpa_supplicant(914): CTRL-EVENT-STATE-CHANGE id=0 state=4
12-03 00:18:40.070: INFO/wpa_supplicant(914): Associated with 94:44:52:ef:dd:7c
12-03 00:18:40.070: INFO/wpa_supplicant(268): CTRL-EVENT-STATE-CHANGE id=0 state=4
12-03 00:18:40.070: INFO/wpa_supplicant(268): Associated with 94:44:52:ef:dd:7c
12-03 00:18:40.070: VERBOSE/WifiMonitor(191): Event [CTRL-EVENT-STATE-CHANGE id=3 state=4]
12-03 00:18:40.070: VERBOSE/WifiMonitor(191): Event [Associated with 94:44:52:ef:dd:7c]
12-03 00:18:40.070: VERBOSE/WifiStateTracker(191): Changing supplicant state: DISCONNECTED ==> ASSOCIATED
12-03 00:18:40.090: INFO/wpa_supplicant(914): CTRL-EVENT-STATE-CHANGE id=0 state=5
12-03 00:18:40.100: INFO/wpa_supplicant(268): CTRL-EVENT-STATE-CHANGE id=0 state=5
12-03 00:18:40.100: INFO/wpa_supplicant(15251): CTRL-EVENT-STATE-CHANGE id=3 state=5
12-03 00:18:40.100: VERBOSE/WifiMonitor(191): Event [CTRL-EVENT-STATE-CHANGE id=3 state=5]
12-03 00:18:40.100: VERBOSE/WifiStateTracker(191): Changing supplicant state: ASSOCIATED ==> FOUR_WAY_HANDSHAKE
12-03 00:18:40.120: INFO/wpa_supplicant(268): CTRL-EVENT-STATE-CHANGE id=0 state=5
12-03 00:18:40.120: WARN/wpa_supplicant(914): WPA: Invalid EAPOL-Key MIC when using TPTK - ignoring TPTK
12-03 00:18:40.120: WARN/wpa_supplicant(914): WPA: Invalid EAPOL-Key MIC - dropping packet
12-03 00:18:40.120: INFO/wpa_supplicant(268): CTRL-EVENT-STATE-CHANGE id=0 state=6
12-03 00:18:40.120: INFO/wpa_supplicant(268): WPA: Key negotiation completed with 94:44:52:ef:dd:7c [PTK=CCMP GTK=CCMP]
12-03 00:18:40.120: WARN/wpa_supplicant(15251): WPA: Invalid EAPOL-Key MIC when using TPTK - ignoring TPTK
12-03 00:18:40.120: WARN/wpa_supplicant(15251): WPA: Invalid EAPOL-Key MIC - dropping packet
12-03 00:18:40.120: INFO/wpa_supplicant(268): CTRL-EVENT-STATE-CHANGE id=0 state=7
12-03 00:18:40.120: INFO/wpa_supplicant(268): CTRL-EVENT-CONNECTED - Connection to 94:44:52:ef:dd:7c completed (reauth) [id=0 id_str=]

```

How can I fix this? I can't refalsh the ROM since wifi doesn't work and my contacts aren't syncronized, and I don't want to lose the new contacts I added.

# Answer
> 2 votes
I would recommend installing installing "MyBackup Pro" from android market and backup everything to the SD card or internet, via 3g(or similar).

Then i would do a hard reset of the phone. I guess it would be something like: settings -\> privacy -\> factory data reset.

If this doesnt work, i would reinstall to a standard rom with the usb cable connected to a computer.

If it still doesnt work with a standard rom, there might be a hardware problem. If the standard rom works, you can try to install the newest version of CyanogenMod.

# Answer
> 1 votes
I know this is an old topic, but the solution is to set a static ip in advanced wifi settings. My blade did the same connect/obtaining ip address/disconnect thing and after some research i found that it depended on the rom/router combination. For instance with cm7 and the bt homehub 2 router a static ip was needed, but with the blademix365 rom it was not. Cm7 was fine with netgear routers. I think its to do with the network stack baked into the roms, some routers have very flaky dhcp software and just dont work with dynamic ips from some roms. hope this helps...

# Answer
> 0 votes
I was this sissue, my ZTE Blade A6 connects 5 min and disconnect other 3, and so on, and I found other solution.

Try this:

The ADSL modems has two or more WLAN radios, mine one have four, and I did activate the second oner, put a name, password, and other parameters, and save it.

After that you can see the another WiFi signal in your smartphone, tablet or Smart TV, and if you select it you will see that the power and the stability are diferent.

For my the second WLAN did solve my inestability problem wifi signal, now I have a good and very stable WiFi signal, my problem are solved. Try it.

Grettings.

---
Tags: wi-fi, cyanogenmod
---


# Question
Title: "Clear data" does not clear login details
I was under the impression that "clear data" clears everything, but apparently it does not. Tested with a few apps, including Facebook.

I stopped the app, cleared cache, cleared data, opened it - and by some miracle it still remembers my login details! How does it do it? How can I disable this?

# Answer
> 2 votes
You probably also need to remove the program account details from `Settings` -\> `Accounts and Backup` -\> `Accounts`

It is probably there that the account details are being saved. Mainly to allow you to safely clear data (to reset the program) without the hassle of having to log back in.

---
Tags: accounts, delete
---


# Question
Title: How do I make my phone stop starting in charge only mode when I plug it in?
I did something with developer mode and now whenever I plug my phone in it wont let me access the files until I pull down the task bar and tap on "Charging via USB" which brings up a window where i can change it to "Transfer files". But I have to do this every time and it's so annoying that I basically don't transfer files to/from my phone any more.

In settings \> system \> developer options I disabled USB debugging, but it didn't seem to change anything.

# Answer
> 1 votes
At least on my device, it is a default behavior and cannot be altered. It was brought in with Android 8 and is same on 9 and 10. The default USB connection mode is always charging. You need to manually enable the file transfer mode when needed.

---
Tags: settings, usb, usb-debugging, usb-connection-mode
---


# Question
Title: Call history not showing when expanding the contact details
I am using Nexus 6P with Android 8.1 Oreo. I am not able to see the call history under the contact details. It used to display the most recent call history when opening the individual contacts. Below is the screenshot that I used to see the contact's recent call history (highlighted with a green rectangle).

Assuming that I am not having a few permissions on the Contacts app but not sure what kind of permissions I should be granting.

So far, I have tried clearing the cache of the Phone app & Contacts app. Also ensuring that the Contact App & Phone App has storage access.

# Answer
I have a similar stock Android device with the Google Phone and Contacts app. And the call history under the contact has been missing since a long time now. The only way to access the call history (for me) is to single tap on the contact name from the dialer/phone app and choosing *history*.

I know that's not your answer, but it is obvious that Google Contacts app does not have that implemented. You can probably choose a different Contacts app which has call log implemented under the contact details.

If it was working for you until recently, then uninstalling the updates for the app can help. You can do it in Settings \> Apps. Probably an old version supported it and then Google decided to kill the nice functionality (as it always does).
> 0 votes

---
Tags: contacts, stock-android, 8.1-oreo, nexus-6p, call-history
---


# Question
Title: "maps is offline check your network connection" on Mobile Data
Google maps is not able to connect when not on wifi, how to fix the problem?

# Answer
> 1 votes
I found out the problem. It happened after I put a secondary SIM card for a while and used it. Then when I switched back to the original Sim card while keeping the second one in, I didn't have a connection anymore. Seems it gets stuck trying to use the secondary sim card even if it's off. Solution: Remove the secondary card.

---
Tags: google-maps
---


# Question
Title: Disable "Close all incognito tabs" notification on Chrome for Android
Recently, Chrome for Android changed a feature to add a notification on the lock screen and on the notification bar any time there are incognito tabs open.

I don't want a large notification on my lock screen telling everyone I have them open.

Is there a way to disable this?

# Answer
If you go to the Application Manager in Settings and find Chrome, there should be an option to disable notifications. Doing so will block all notifications, even the important ones. You may even forget to close your pages.
> 3 votes

# Answer
I have a Google Pixel 3 XL.

> You can do it this way:
>
> 1. go to *Settings*
> 2. click *Apps & Notifications*
> 3. find and click on *Chrome*
> 4. click on *Notifications*
> 5. and uncheck *Incognito*
>
> This will have the effect of deactivating any *Incognito* notifications that may occur until you check *Incognito* back.
>
> Alternatively:
>
> 1. do steps 1 to 4
> 2. Click on *Incognito*
> 3. Click on *Behaviour*
> 4. And choose *Show silently and minimise*
>
> This will have the effect of displaying the notification when your phone is unlock, but you won't see the text only the little man with a hat icon thingy. On the other hand, on the lock screen you will see nothing at ALL, not even the icon thingy.

In conclusion, I thought bringing this answer up was necessary because previously given options may deactivate important notifications you may not want to miss. My solution brings an alternative, though it only works on devices that support Android 8.0 and above. (Kudos to @Firelord for pointing that out)
> 5 votes

# Answer
You can install the Xposed module XNotifications (you will need to be rooted and have Xposed framework installed) and set a rule to not display notifications from Chrome with the content filter for incognito. This will only block this particular notification from showing. All other Chrome notifications will show.

This is important because downloads being done through Chrome will set a persistent notification so that Android does not kill Chrome, and subsequently, your download, when in want of resources. Disabling notifications will disable the persistent notification too.
> 2 votes

---
Tags: chrome-for-android
---


title: Huawei Y9 Pro camera issues

text:
# Question
Title: Huawei Y9 Pro camera issues
I've recently got a Huawei Y9 prime and I hope it will have good quality in videos. But unexpectedly there are not very clear as I expected. I mean all of the videos have a wave-like effect on it. Is it a problem with the camera? Any idea how to fix it?

# Answer
> 0 votes
Dude, it's because of more added grain and smoothing the grain making it look like low textured pic, but if you want to know a temporary fix then download Adobe light room to take pics and edit them just by pressing auto(in the edit menu) and then going to effects or details to increase the texture as per your liking. I also have a huawei y9 prime 2019 and wasn't expecting that, but by some research (a lot) I was able to get a news that it will be with the help of some upcoming updates... So we gotta wait until then.

Hope the temporary solution helps

---
Tags: huawei
---


# Question
Title: Why are some contacts shown several times?
Some of my contacts are on SIM card and some are on phone. I want to keep all at one place. If I transfer them from SIM card to phone, am I going to have duplicate contacts or it is smart enough to figure out?

If I select the option "all contacts" then one contact is shown several time in the list, like one for wiber, waze, whatapps etc. Please help me to manage my contacts.

# Answer
> 1 votes
1. if your contacts are shown from different accounts (google & non-google accounts), just disable one of the accounts to hide multiple contacts.
2. If you have duplicate contacts on your Google account, simply go to Google Contacts website via desktop, and choose option "merge (or delete, I can't remember) multiple contacts". Sync your phone contacts and you're done.

# Answer
> 0 votes
This happens to my android too.

Whenever you restore your contacts over GOOGLE, it gives you a copy of the last contacts you uploaded to GOOGLE, And when you use your SD CARD to have your contacts by default, it will duplicate said contacts whenever you restore, and then when you restore over GOOGLE again, it will copy it again, and again, and again...

Just delete the contacts that are duplicated, and disable google from restoring you contacts in the settings. It should stop.

# Answer
> 0 votes
Please open Contacts application. In menu option select "contacts to display". Option list will open . Select customise . List of accounts will open . Pick which accounts you want . Problem solved. Hole you find this useful

# Answer
> 0 votes
You have to select which contacts you want to display at the given options, since you are displaying all of them and their associated accounts, for example WhatsApp/Viber etc.

# Answer
> 0 votes
The app Simpler Caller ID can merge duplicate contacts. To do that, open the app → go to Tools → Duplicates, and then press Merge.

---
Tags: contacts
---


# Question
Title: This item is not available in your country
I am trying to install an app available freely in switzerland (postcard creator).

Use a VPN that connects to switzerland (I actually am in colombia).

I used google wallet with a swiss visa card to buy an item in the play store.

i deleted app data in app settings. I cleared cache.

Still the same problem.

I am running android lollipop

# Answer
Google Play support says:

> * You can only change your Play country once per year.
> * When you change your country, you won’t be able to use your Google Play balance that you have in your old country in your new country.

So, avoid Google Play and use another market app. I suggest either:

Both allow auto-updating apps.
> 2 votes

---
Tags: google-play-store
---


# Question
Title: How to change my device location on the Play Store
I'm trying to download an App on the Play Store, specifically the Vue Cinema app, but this app is only (presumably) available in the UK.

I have just relocated to the UK, so how do I set my location to be the UK?

I have updated my google+ settings to say that I am currently in the UK.

Also, my google account is a Google Apps account but I don't there is any location associated with Google Apps.

# Answer
(May 2013) **I've contacted Google and this is their response:**

> Thanks for contacting us about country support for Google Play.
>
> We use the billing address of your default payment instrument in Google Wallet to help determine your home country for accessing the Play Store. Our collection of content can vary by country, so your view of the Play Store may differ from what others are seeing when you travel outside of the country listed on your default payment method's billing address.
>
> Please note that you must have a valid payment method with a billing address located inside a country in order to access that country's Play Store.
>
> If you're having issues viewing your intended country's Play Store and would like to change your default payment method or update an existing billing address in Google Wallet, please use the following steps:
>
> 1) Sign into your Google Wallet account to manage your payment methods https://wallet.google.com/manage/paymentMethods
>
> 2) Add a new card or change your default payment instrument to one with a billing address located inside your desired country
>
> 3) Open the Play Store and navigate to any item available for download
>
> 4) Click to begin a download until you reach the "Accept and buy" screen (no need to complete the purchase)
>
> 5) Close the Play Store and clear data for the Google Play Store application (Settings \> Apps \> Google Play Store \> Clear Data) or clear your browser cache
>
> 6) Re-open the Play Store. You should now see the Play Store that matches your default payment instrument's billing country.
>
> If you haven't yet added a payment method to your account for the first time, please add a card directly from the Play Store with a billing address that matches your intended country location. Then, follow steps 3 through 6 to show your intended country's Play Store.
>
> If you believe that you're experiencing a different location-related issue, please first verify if the country of your primary payment method matches your intended country. If the countries match, please provide any screenshots and additional details that might help me resolve your issue.
>
> We appreciate your feedback as we continue bringing more content to Google Play. Thank you for reaching out!

(July 2015) **Update**

Due to the popularity of this answer, I've decided to add bits to this answer which others have pointed out to improve and update this answer.

* The Accept and buy screen is only available on desktop (not mobile) - thanks @fwuensche
* Google Wallet has changed since the original answer was posted, also try to change your address on these links - thanks @corbacho
* Settings
* Address Book
* Clear all cache and data from the Play Store app
* If you're in a "family account", leave it
* Try these steps of removing and adding back your account - thanks @Dushy
* Google customer support suggests it may take between 30 minutes to 24 hours for the address on the account to refresh.
> 43 votes

# Answer
Tried this answer, but it didn't solve the problem. So I called Google Play support - they did have me clear data from the Play Store app, but also told me to remove my Google account from the Accounts section in settings and add it back. Then they got me to clear the data again from 'Download Manager' and 'Google Play Store' in the apps section and everything worked perfectly after that.
> 5 votes

# Answer
Moved from the UK to Australia and required the banking apps. I had the same problem and tried various things.

What worked for me on a Samsung Galaxy S3:

* Log into Gmail on your PC and change the billing address to the new address (in my case Australian address).
* On the phone, go to *Settings*, scroll down to *Accounts* and select *Google*. Select the account which the phone has been synced with and select *Remove account* at the bottom.
* Once account has been removed go back to *Settings* main screen, select *Apps*, select *Google Play Store*, tap *Force stop*, confirm, then tap *Clear data* and tap *Clear Cache*.
* Go back to *Settings* and select *Accounts*. Add account by selecting *Google*.
* Once Google account has been added and setup on the phone go back to the main screen and open up playstore.
* Play Store is now displaying all paid apps in $$$ NOT in £££ and I am able to download the app successfully.
> 5 votes

# Answer
In my case, what turned out to work in the end was to make an actual purchase.

In google wallet, I had updated all my information, as well as added a new card with my new address attached to it and set it as default. This in itself however didn't seem to be enough.

Later though, I read an article recommending us to actually purchase an app through Google Play using the new card - you'll need to wait for 15 minutes to complete the payment since that's the time you're allowed to require a complete refund.

Finally, I closed the Play Store and completely reset the Google Play Store application (i.e. go to Settings \> Apps \> Google Play Store, and click on Force Close, then Clear Data, and Clear Cache).

After that I could access things in Play that were only available to my new credit card's country, which previously I could not see due to regional restrictions.

Hope it helps you guys!
> 1 votes

# Answer
I was having problems switching to the US store from outside the US, even clearing caches etc. I downloaded Hotspot Shield and enabled it, removed the SIM card from the phone, removed the app data for the Play Store and Download Manager and it worked!
> 0 votes

# Answer
Google Play support says:

> * You can only change your Play country once per year.
> * When you change your country, you won’t be able to use your Google Play balance that you have in your old country in your new country.

Once per year!!?! I'm a digital nomad. I move countries frequently.

All the above solutions working with Google Play are too cumbersome.

So, avoid Google Play and use another market app. I suggest either:

Both allow auto-updating apps.
> 0 votes

# Answer
It should work if you change it from your Google account, which for whatever reason is not the same as a G+ account.

If you have gmail, I found the setting under **settings \> Accounts and Import \> Other Google Account settings**

right now the page looks a little small but hopefully that's just my browser playing tricks on me again
> -1 votes

---
Tags: google-play-store, google-account
---


# Question
Title: Is there way to track the location only during a small predefined time window?
I'm looking for an way for an Android phone to record (preferably locally on the device) its GPS position (10-20m accuracy) with a pretty high frequency (e.g. every minute or every 30secs) but ONLY during pre-set time windows, e.g. weekdays between 7:30-8:00 and 13:15-13:45. The rest of the time I want it to do nothing and use no resources.

# Answer
You can use a combination of Macrodroid and GPS logger for Android to automate the logging process.

### Step 1: install apps and configure GPS logger

1. Install GPS logger for Android and Macrodroid.
2. Open GPS logger. Give the necessary permissions. Tap the menu, then General options. Select Start app on launch.

### Step 2: macro to launch the app

1. Start Macrodroid, click on Add macro.
2. In the Triggers tab, select Date/time trigger. Set the day(s) and time when it should run. Click ok.
3. In the Actions tab, in the Applications section, select Launch application, select GPS logger. Select Exclude from recent apps.
4. In the Actions tab, in the Device actions section, select Press back, give the appropriate permission, go back select Press back.
5. Save the macro and give it a name. It will look like the image below.

### Step 3: macro to stop the app

1. Still using Macrodroid, click on Add macro.
2. In the Triggers tab, select Date/time trigger. Set the day(s) and time when the macro should run and stop the app. Click ok.
3. In the Actions tab, in the Applications section, select Launch application, select GPS logger. Select Exclude from recent apps.
4. In the Actions tab, in the Macrodroid specific section, select Wait before next action, set it to 2-3 seconds.
5. In the Actions tab, in the Applications section, select UI interaction. Give the appropriate permission Go back select UI interaction, select Identify in app. Open GPS logger, click the Macrodroid UI notifications on the status bar, then click the Stop logging button of GPS logger.
6. In the Actions tab, in the Device actions section, select Press back.
7. In the Actions tab, Applications section, select Kill background process, select GPS logger.
8. In the Constraints tab, in Device state section, select Application running, give the appropriate permission. Go back to the macro, select Application running, select Alive in background
9. Save the macro and give it a name. It will look like the image below.

The first macro starts the app at the selected days and time while the second stops it by pressing the Stop logging button, then kill it from running in the background at the selected days and time. Make sure that in step 5 of the second macro, Stop logging is selected and not Start logging. If when selecting Stop logging, Start logging is instead selected, then select Start logging instead of Start logging.
> 0 votes

---
Tags: gps, geolocation
---


# Question
Title: Samsung Galaxy S7 stuck at boot - power button not working in recovery mode
my Samsung Galaxy S7 is stuck in boot with the "no command" error screen. I found out I can possibly fix the problem by wiping the cache partition, and have found the recovery menu to do this.

However, my power button does not seem to work in the recovery menu (it does work for powering the S7 on, however. Thus, I can not select the menu item to wipe the cache partition.

How can I get rid of the no command error? If wiping the cache partition is the right way, what am I doing wrong? I don't want to factory reset my device.

I am not usnig a modified version - I use the android version shipped by Samsung

# Answer
> 0 votes
My power button will work after scrolling to the option using the volume keys but I've always wondered about what it says below the options for the hashtree lineup..

---
Tags: samsung, recovery-mode, samsung-galaxy-s7
---


# Question
Title: How do I increase the size of logcat buffers?
How do I increase the size of `/dev/log/main` by a factor of 10? My understanding is the log has a fixed size (16K?) and rolls over when that limit is reached. I'd like to find out what the log size is currently set at and increase it by a lot.

I'm debugging an issue that occurs infrequently when the device hasn't been used for a long period of time (maybe an hour?). I've instrumented the code with log messages so I can understand what is happening when the bug occurs.

My problem is my instrumentation causes the log to roll over in about 2 minutes. I would like to increase the size of `dev/log/main` by a factor of 10 if possible.

# Answer
To find out the actual size of the ring buffer, you can use

```
$ adb logcat -g

```

To adjust the size of the ring buffer, you might try

```
$ adb logcat -r <kbytes>

```

At least that's what some tutorials say. For more details, you might want to read "adb logcat" Command Options and Log Buffers.

P.S.: I guess those settings (manual adjusted ring buffer size) will not survive a reboot -- just to consider.
> 3 votes

# Answer
Starting with Android 5, the in-kernel *logger* driver is deprecated which exposed the ring buffers through `/dev/log/*` character devices. Instead a userspace logging daemon named **logd** manages buffers “main”, “system”, “radio”, “events”, and “crash”. Optional buffers “security” (e.g. for `adb shell`/`push`/`pull` logging) and on `userdebug` builds “kernel” (for `klogd`) and “stats” (for logs statistics) were added later. `logd` mainly covers the functionality of its desktop counterpart syslogd, but also includes klogd and partially auditd to get logs from SELinux subsystem of kernel. Behavior of logging daemon is controlled through different properties.

Apps and native processes write their logs to relevant buffers through socket `/dev/socket/logdw` (by making use of liblog functions). `logcat` command reads the buffers from `/dev/socket/logdr` while controls the daemon and buffers through `/dev/socket/logd` socket. Use `-g`/`-G` options to get and set size of individual buffers:

```
  -g, --buffer-size
                  Get the size of the ring buffer.
  -G <size>, --buffer-size=<size>
                  Set size of log ring buffer, may suffix with K or M.

```

There's also an option in Developer Options: ***Logger buffer sizes*** (which also sets property `persist.logd.size`) to set same size for all buffers.

`persist.logd.size` is read from `/data/property/` which isn't available unless `/data` is mounted and decrypted (in case of FDE). But sometimes buffers may overflow even before that, so the solution is to set `ro.logd.size` (through `default.prop`/`build.prop` or directly in some `*.rc` file) before the `logd` service is started.
> 5 votes

# Answer
If you're looking to change the default size for a log buffer, to persist between reboots, you can recompile the kernel with updated buffer sizes.

The file containing log buffer definitions is:

```
<kernel>/drivers/staging/android/logger.c

```

The versions I'm looking at use a macro to define log buffers in that file:

```
DEFINE_LOGGER_DEVICE(variable, name, size)

```

There will likely be a number of loggers; "main" is usually the one you're looking for.
> 3 votes

---
Tags: usb-debugging, logging, developer-options
---


# Question
Title: S3 mini won't boot up after flashing twrp custom recovery with Odin
After a successful root, I tried to install twrp custom recovery, so I downloaded the appropriate tar file and flashed it using Odin, but the device never entered recovery mode when I attempted to, it only showed the Samsung logo and freezed there, but it could boot up normally to the system, so I tried the adb command "reboot recovery", it rebooted and freezed at the Samsung logo again but this time it also did the same whenever I tried to boot up the system, I am sure this can be fixed but I don't know how, Please help.

# Answer
I have solved my own problem, I downloaded the s3 mini stock rom from sammobile.com and extracted recovey.img from it and tried to convert it to .tar format using some batch that I found on the internet then flashed it using Odin, but the problem persisted, so i decided to flash the whole rom accepting the fact that I will be losing all of my data and messages, for my surprise, the device booted and nothing were lost but the root, everything was intact, sms, contacts. apps and everything!
> 0 votes

# Answer
I think your issue is trying to flash `.tar` instead of `.img`. TAR is just archive format, that actually contains the image you need to flash.
> 0 votes

---
Tags: boot, odin
---


# Question
Title: Is it possible to adb connect android via wifi without configuring port on android?
I can connect via wifi by typing these codes in android terminal -

```
setprop service.adb.tcp.port 5555
stop adbd
start adbd

```

and connect ip:port on PC adb .. it is connected .. Is there any possibility to access without configuring on android !I mean looping port no:. Can it be possible ? kindly suggest me please !

# Answer
If you have a later version of android (it works on 4.4 for sure), there is a wireless debugging option in developer tools. You can activate that and type this in terminal,

`adb connect <ip address of phone>`

It will default to using port 5555 if you don't give it a port. I think that's what you're after.
> 1 votes

# Answer
No. What you're doing there is not just setting a port number away from the default: setting the number at all is what causes the device to start listening. Before you run the steps in the question, the device isn't listening for adb connections on any port at all.

For this reason, there's no "default port" to connect to without setting anything up on the device.
> 0 votes

# Answer
If you can build the AOSP by yourself. You can add the property to the build.prop:

`service.adb.tcp.port=5555`
> 0 votes

# Answer
There are Apps on Google Play which make it possible to enable ADB Wifi with a button click. If you have root (as I can see), you won't need a PC and it does the switch in a second. An example App: ADB Wireless (root) - Google Play I think that's what you asked for. If you dig deeper you can find apps with the option to set a custom Port. Good luck.
> 0 votes

---
Tags: adb
---


title: How to get rid of ads?

text:
# Question
Title: How to get rid of ads?
I have a brand new LG G5 phone and randomly ads will pop up. The ads started appearing before I installed any app. How do I get rid of them?

# Answer
> 0 votes
You could try sideloading the Adblock Plus (ABP) app. You need to enable unknown sources and download it from their website as it is not on the google play store. Go to this link: https://adblockplus.org/android-install to download it, and click on "Download Adblock Plus for Android" at the end of the text, or resetting your phone.

# Answer
> 0 votes
You can install DNS66 which uses DNS-blocking methods. It creates a VPN tunnel on your device and has to work in the background though. According to user reviews it won't drain your battery that much. Free and Open Source: DNS66 - F-Droid. The process is simple. Enable 'Unknown Sources' under Security settings, download the app from the link I gave, and install it by clicking on it on your file browser. After entering the app you can see that you can set it up so it launches at your device startup. You can disable IPv6 support if it's not supported in your area. And you should enable Watch connection. At the hosts tab you can add different hosts files. Adaway has a good hosts file, and you can enable Malware hosts too for increased security. **There are very good paid alternatives too, like AdGuard for Android or Blokada.** Those should work.

---
Tags: ads
---


# Question
Title: I just want to call numbers I find on the internet!
When I click on a phone number in Chrome on the internet it prompts me to download Hangouts. I just want to call it with the default Samsung dialer not Hangouts! How do I do this?

# Answer
> 0 votes
Sounds like the default application has been changed from "dialer" to "hangouts" - so when you press a phone number, it's calling to the default handler for that thing... which is the phone number.

So, look in your phone's settings for default apps and see what's selected for the dialer call as it should now be hangouts (so just look for hangouts in there and if you find it, click on it to change it - maybe, depends on your phone).

Good luck!

---
Tags: chrome-for-android, google-hangouts, phone-app
---


# Question
Title: Rocket.Chat GCM notifications not showing in LineageOS 16
I am running a **Rocket.Chat** server of my own and everything works fine with almost all mobile device clients (official 3.5.0) using it. So **GCM** and gateway (*gateway.rocket.chat*) work as should and notifications are showing correctly.

Except one phone that has **LineageOS 16** flashed is not showing **Rocket.Chat** notifications although every other aspect do work with the app.

is this a known issue with **LineageOS 16**? If not how could I find out what is going wrong? So howto fix it or is it even possible?

*I did try to search but did not find any relevant information about this issue yet.*

# Answer
Typical messaging apps like Rocket.Chat use Firebase Cloud Messaging (FCM formerly known as GCM) for retrieving notifications of new messages from the server. An Android side FCM required the Google Play Services app.

However LineageOS does not include any Google apps by default. Therefore all apps that use push notifications via Google/FCM will not work correctly.

If you want to use an app that uses push notification via Google you have to install the Google apps, for example by flashing one of the Open GApps packages \- at least the "pico package".

Afterwards you will be able to retrieve push notifications.
> 1 votes

---
Tags: notifications, lineageos, chat
---


# Question
Title: Is it possible to write to a device's clipboard using ADB?
I am interested in learning how to write to (and if possible, read from) a rooted Android device's clipboard.

I hope to do so using ADB over USB and I am not interested in installing any apps to help me do this, as this is something I plan on rarely doing.

Any suggestions or help guiding me in the right direction would be greatly appreciated.

# Answer
> 23 votes
Yes, you actually can do this. It's kind of kludgy looking when you inspect the clipboard, but it works just fine.

First off, you can inspect the current clipboard contents with `service call clipboard 1` from an adb shell (or, without shelling in first, `adb shell service call clipboard 1`). It may start out initially blank after a reboot, for example:

```
# service call clipboard 1
Result: Parcel(
  0x00000000: 00000000 00000001 00000000 00000000 '................'
  0x00000010: 00000000 00000000                   '........        ')
#

```

You can put text into the clipboard using `service call clipboard 2`, which basically takes 3 parameters - two ints and the string you want to put on the clipboard:

```
# service call clipboard 2 i32 1 i32 0 s16 "Hi there"
Result: Parcel(00000000    '....')

```

To be honest, I'm not sure what the first two parameters are. One answer on Stack Overflow has suggested the first int is "number of items in the parcel" (one in this case) and that the second is the length of the string. However, I've used 0 for the second parameter and it works fine, and I can't find any documentation that matches up with this particular function...so take that for what it's worth.

In any case, it's basically creating a Parcel object with 3 fields, then passing it into the clipboard. The clipboard then unpacks the Parcel and sets the string value passed in as the clipboard's contents. You can see this when you go to retrieve the value afterwards:

```
# service call clipboard 1
Result: Parcel(
  0x00000000: 00000000 00000001 00000000 00000008 '................'
  0x00000010: 00690048 00740020 00650068 00650072 'H.i. .t.h.e.r.e.'
  0x00000020: 00000000 00000000                   '........        ')
#

```

Similarly, if you long-press on a text entry field and hit "Paste" after doing this, you will get the text that was set via the `call service clipboard 2` line above (and it will look completely normal).

(The above examples come from my HTC EVO, running CyanogenMod 7)

# Answer
> 20 votes
I used this methodology, and it worked fine in 4.x, but failed for me in lollipop. While looking for alternative solution, I found this: https://stackoverflow.com/questions/3391160/paste-text-on-android-emulator

it is not exactly as you wanted it, but for myself, most time I want to copy text to clipboard is because I want to paste it into password field.

as an additional bonus, here's my script (**edited 2015-04-24 to allow spaces in text**):

```
#!/bin/bash

if [[ "$1" != "" ]]
then
    TEXT=$1
else
    read -s -p "Enter text you want to insert: " TEXT
fi

ESCAPED_TEXT=`echo $TEXT | sed "s/\s/\%s/g"`
adb shell input text "$ESCAPED_TEXT"

```

# Answer
> 4 votes
Here's an improved version of the script by galets above. As with that script, it does not write to the clipboard, but sends input to the currently focused input field, which is often what you want anyway.

This script is improved to escape special characters to prevent confusing the Android shell with them. This should allow any string to be sent unchanged. To prevent the `read` command from interpreting a (trailing) backslash, I added -r there.

This was tested using the following list of special characters:

```
./adb-send-string ' \`~!@#$%^&*()-_=+[{]}|;:",<.>/?'\'

```

Here's the script:

```
#!/bin/bash
# Send text to android device using adb, emulating keyboard input.
# Based on a script from https://android.stackexchange.com/a/105881/223695
# extended to support special characters

if [[ "$1" != "" ]]
then
    TEXT="$1"
else
    read -s -r -p "Enter text you want to insert: " TEXT
fi

escape() {
    # Encapsulate the string in $'', which enables interpretation of
    # \xnn escapes in the string. This is not POSIX-sh, but an extension
    # documented by bash and also supported by the Android sh.
    echo -n "$'"

    # Process each character in $1 one by one
    for (( i=0 ; i<${#1}; i++ )); do
        # Extract the i'th character
        C="${1:$i:1}"
        if [ "$C" = ' ' ]; then
            # Encode spaces as %s, which is needed for Android's
            # "input text" command below 6.0 Marshmellow
            # See https://stackoverflow.com/documentation/android/9408/adb-shell/3958/send-text-key-pressed-and-touch-events-to-android-device-via-adb
            echo -n '%s'
        else
            # Encode everything else as \xnn, to prevent them from being
            # interpreted by the Android shell
            printf '\\x%02x' "'$C"
        fi
    done
    # Terminate the $''
    echo -n "'"
}

ESCAPED_TEXT=`escape "$TEXT"`
adb shell input text "$ESCAPED_TEXT"

```

# Answer
> 3 votes
I have tried and googled a bit and it seems the call-service-clipboard-approach stopped working in newer androids, it failed for me on a 4.4.4 version Android. I.e. you will need an app to get clipboard access (read and write) from adb-shell. I use clipper from majido on github. The apk is hosted as well, so no need to compile it yourself. When installed you can can comunicate to it using broadcast commands (the app will tell you the exact commands). App does not require root.

# Answer
> 2 votes
Another script that uses `adb shell input` to send characters can be found here: https://github.com/gcb/AdbPaste

This is a Python script that can be cloned from github, or also directly downloaded and run:

```
$ wget https://github.com/gcb/AdbPaste/raw/master/AdbPaste.py
$ chmod a+x AdbPaste.py
$ ./AdbPaste.py "some text to paste"

```

---
Tags: adb, system, copy-paste
---


title: Access Apps without unlocking

text:
# Question
Title: Access Apps without unlocking
I have many different apps that require security, so I obviously do not want to leave my phone unlocked. However, when using Map My Run or other apps, it is incredibly difficult to unlock the phone when I have to access the app (especially after running 5 miles and winded). Is there a way to make some apps accessible without having to unlock the phone?

# Answer
> 2 votes
An app only can mark itself to be shown on top of the lock screen. In detail there is the flag `FLAG_SHOW_WHEN_LOCKED` respectively the method `setShowWhenLocked` that allows to mark a certain activity/screen to be shown on top of the lock screen.

This allows to use the screen without having to unlock the device. However this has to be done by the app itself. External apps can't enable this. If your favorite apps does not support this feature you can ans the app developers if they add this feature.

And also the Android system does not allow to mark apps to shown above the lock screen. May be because this would cause a serious problem: With the app shown on top you can't unlock the device and therefore can't change back the "app on top" setting so that your device reverts to the regular state.

Alternatively there are ways to temporarily disable the automatic device lock (Google calls it "automatic unlock"). This can be achieved e.g by defining a trusted Bluetooth device that acts as a "key". If the key is next to the phone it does not lock.

See more details here: https://support.google.com/android/answer/9075927?hl=en

---
Tags: lock-screens
---


# Question
Title: My whatsapp says im offline, and will not let me access it
I have gone on to my Whatsapp but all of a sudden my chats and messages are not showing up. I looked in settings and tapped on all the options, i went on privacy settings and it says 'you can not change privacy settings when you are offline' how do i get back online? Thank you in advanced :) (I've rebooted my phone multiple times)

# Answer
> 1 votes
Check whether your internet connection is working. If it's okay then try to **Reset** the Whatsapp app like this -

> Menu\>Application Manager\>Downloaded apps\>Whatsapp\>Clear data (Clear cache)

.
Now you've to reactivate your Whatsapp account which takes not more than a minute. This should work for sure. Comment if problem persists.

# Answer
> 1 votes
Consider reinstalling it. I do had this issue once, and after reinstalling it just worked.

---
Tags: offline
---


# Question
Title: How to check if custom ROM supports encryption?
First solution which is coming to my mind is install custom ROM and encrypt `/data` partition. But it always take time. I'm wondering if there's quicker method like download custom ROM, extract system image, then extract files from system image file and looking for encryption support in system files like `*.rc` which are in root file system. Is there any other way to checking?

# Answer
I you would install a custom rom you can ask the maintainer of your rom, usually all custom roms from Android 5 and above Support it, nur maybe your device doesnt Support it in a custom rom. Normally the maintainer of your rom wrote a bug list in the XDA Thread, if that's too uncertain ask the maintainer.
> 0 votes

---
Tags: custom-roms, encryption
---


# Question
Title: Sync both ways "camera picture folder" for android and pc
I am helping an older person who is not tech savvy enough to play with Android and USB cables and I'm tired of doing it for them.

They need open pictures taken with android smartphone (built in camera, saved to its local DCIM folder) onto their computer, edit them (Windows) rotate, crop and so on, then transfer back to smartphone and then send via MMS. (yes, it's odd to use MMS i know, but as i said -we are talking about non tech savvy persons and they know how to operate mms so there is not possibility to switch them to using email).

Right now, i have use send anywhere to transfer picture to computer, wait for them to edit, and transfer back via send anywhere... or use usb cable.

I got idea to use dropbox, and dropbox let me send saved pictures directly to pc (via dropbox camera photo upload) so this part is done, but it won't work other way (after editing file on dropbox photo folder - it's not syncing back to phone) It's synced on dropbox folder via browser, but android app won't sync it back - i haven't seen that function \< so it's useless.

Do You have any other idea of how can i sync pictures both way and make them after edit appear on built in android gallery so they just can select edited picture and send via mms?

# Answer
You could use SyncMe Wireless application.

With SyncMe,you can copy, move, **sync** and backup your mp3, pictures and documents over WiFi (including Portable WiFi hotspot), (or cellular VPN) to your computer. Nothing to be installed on your computer.

The application itself provides a step by step guide in setting up the folder to be synced (note: sharing must be enabled on your computer).

* Setup device folder to DCIM folder
* Setup computer folder to be the "shared folder" where photos are copied on the computer.
* Configure sync options and filters (and schedule-if needed.
* Tap the job to sync.

Basically the setup could be anything like this:

*NB: No affiliation with the appplication but just use it as my daily driver for similar needs*

*Note: You may need to enable SMB1 on Windows*
> 1 votes

---
Tags: sync, gallery, dropbox
---


# Question
Title: Run an android Virtual Machine on an android phone
I haven't been able to find an answer for this so I figured I would ask here.

Is there an app or method I can use to create and run an Android Virtual Machine on my Android Phone?

I have a personal phone I want to put my work email on; however, my work email requires Microsoft Intune which requires that I give permission for my company to clear my phone at any time without warning. The reason they do this is in case I have company secrets on my phone and I if I become a risk they want to wipe my phone. I wanted to work around this by putting an android virtual machine on my phone. This way the company can clear my phone if they please but they will just wipe my VM not me actual personal phone.

I saw an article that VMWare was doing something like this but I couldn't find any documentation on it.

Does anyone know of a way to put a Android VM on an Android phone?

# Answer
This does not seem to possible, I have looked for it for years and found nothing. This is probably because these points:

1. Android devices have a tiny amount of ram, which cannot be extended. With just 3 GB of RAM, you can forget to run pretty much any VM, as any normal OS needs at least 4 GB by now. A typical PC has 8 GB by now, or even 16. Virtualization is a field where extra ram is especially useful.
2. Pretty all Android devices are based on the ARM CPU architecture. ARM CPUs are very energy efficient, but at the same time pretty weak and feeble compared to full Desktop Grade CPUs from AMD and Intel (which burn a lot more electricity). They don't perform as well doing multitasking, which makes sense: You don't use multitasking much on mobile devices.
3. Virtual Machines are often not full emulation of another CPU, this means that you actually cannot run intel / AMD i386 code on an ARM CPU, so you would need a OS that is especially made for this, i.e. has been compiled for the ARM architecture, that cuts down the selection big time. Debian Linux prides itself on offering the distribution on many CPU architectures, but other manufacturers don't offer that. There is for example no standard full version of Windows 7 or 10 that supports ARM, and neither does Mac OS X.
4. VMs are more of a professional area, while mobile devices are oriented towards non-professional consumers.
5. Disk Storage is another problem: Most mobile devices have very little. A slim Linux can get by with just 4 GB, but a full fledge Linux needs around 10 GB, but a Windows needs around 20 GB just to get going. This is no issue on a laptop or desktop, where you will have 1 terabyte available (1000 GB), but an impossibility if you just have 32 GB.

All these things conspire together to make VMs on Android an impossibility
> 7 votes

# Answer
You can run Android emulator on an Android phone using VMOS, exactly what you want.
> 10 votes

# Answer
There's a company called Hypori that already has a virtual android available for both Android and iOS. The only issue is that they only have this available for companies and not for consumer.
> 3 votes

# Answer
Yes. Samsung phones have inbuilt shared folder called knox which is a secure android VM onside an android os.
> 1 votes

---
Tags: vmware, vm
---


# Question
Title: Hiding WhatsApp display picture of a certain user
I have Android 9 in my phone and have WhatsApp version 2.19.258 installed on it. Now, I wish to hide/change the display picture of a certain contact, say Mr. Alex on my phone. How do I go about doing it?

Thanks!

# Answer
> 0 votes
You can't change someone else's profile picture on WhatsApp. You can only change your own. There was a bug in WhatsApp that used to show whatever photo you add to the contact in your phone's contacts app instead of their actual profile picture on WhatsApp but now it's fixed I guess.

---
Tags: whatsapp-messenger, 9.0-pie
---