Has anyone else run into a situation where your tablet has received a low space warning on your Transformer but you haven't installed/used a lot of space?
When I look at my storage break down I use about 400mb of media and 12GB+ of application. When I view by application there is no way that it's 12GB. So I installed DiskUsage and the "system data" is using 11GB on it's own. I am suspecting it some how related to system crashes but have not confirmed this. Anyone else?
I am having the same problem just different amount of space shown
I've been digging around in adb tonight trying to get to the bottom of this:
Code:
C:\Program Files (x86)\Android\android-sdk\platform-tools>adb shell df
Filesystem Size Used Free Blksize
/dev 364M 32K 364M 4096
/mnt/asec 364M 0K 364M 4096
/mnt/obb 364M 0K 364M 4096
/system 503M 340M 163M 4096
/data 13G 11G 1G 4096
/cache 521M 8M 512M 4096
/mnt/sdcard 13G 11G 1G 4096
I've been trying to get a good look into /data, but it's a system owned directory and you need root access to view some of the contents.
When I try to run:
adb shell ls /data
It responds:
opendir failed, Permission denied
Looks like I will have to root to continue the hunt, because I want to find the cause. The unfortunate thing is I need to revert my version back to 8.3.2.9 to be able to perform the root successfully. About to begin work on that now.
Is it when you are updating apps in the market and the app installation fails with a low space warning?
My Nexus S does that (with over 6gb available), then re-try the install and it works. Not sure where the issue is.
@tekkitan my big concern is:
Code:
/data 13G 11G 1G 4096
/mnt/sdcard 13G 11G 1G 4096
Because I've only used about 500MB's of space.
But you are correct I get the error trying to install from the market, and sometime if I delete some apps I can make enough room to install a new one.
There is a difference between 2.x and 3.x of android and how it allot's space for apps. In 2.x there is a partition that is limited size where you can install apps no matter the size of the onboard memory, unless you root and work around it. In 3.x they changed that and all free space can be used for apps.
So I can't perform the root tonight, I don't have a microSD card I can use to downgrade to 8.2.3.9. Will have to wait until tomorrow now.
wildbohr said:
@tekkitan my big concern is:
Code:
/data 13G 11G 1G 4096
/mnt/sdcard 13G 11G 1G 4096
Because I've only used about 500MB's of space.
But you are correct I get the error trying to install from the market, and sometime if I delete some apps I can make enough room to install a new one.
There is a difference between 2.x and 3.x of android and how it allot's space for apps. In 2.x there is a partition that is limited size where you can install apps no matter the size of the onboard memory, unless you root and work around it. In 3.x they changed that and all free space can be used for apps.
Click to expand...
Click to collapse
The Nexus S only has internal storage so it is similar.
Did you try just re-trying the download instead of removing apps? Like I said, if I just simply retry the isntallation/update, it works just fine.
I can't get imagine how apps could significantly impact the internal memory on a 16 or 32gb TF.
I've been loading apps on my Droid X internal 8gb memory with wild abandon for almost a year, and have only used up about 3gb. Tablet scaled apps might be somwhat larger, of course, but not that big.
Sent from my DROIDX using Tapatalk
Again I don't think it is a space issue. Just a bug with the Android Market.
ASUS Transformer -- Latest version of Revolver, using v22a of supercurios kernal, and the ice cream sandwich theme, v2.
I've searched and searched, bu haven't found a case similar to mine.
When trying to download and install or update apps, I always get a notification saying that there was "insufficient storage available".
I have over 3 gigs free on the Internal memory, and nearly 6 on my microsd card.
I've read about people wiping or deleting items in the dalvik cache, and I've read about clearing market data.
My problem is, some say that wiping the dalvik cache on custom roms can break them, requiring a new flash.
I also have another problem. Nearly 100% of the time, downloads fail in the stock browser. I'm not sure if they fail in other browsers, but frankly I don't care-- I haven't come across a single browser in the market that I actually like. Most aren't even worth the megabytes they eat up.
And I also can't get over the fact that one of androids nucest features of all times, the move apps to SD card function, is unavailable to me. This makes my 80 dollar high-speed microsd card that I bought specifically for fast application use useless.
What can I do about either issue? The app update and install and the storage issue is a priority for me.
I would be interested in what the output of 'df -hPa' is on your system (in the terminal).
Sent from my Transformer TF101 using Tapatalk
yup, i get that as well at times, it really is annoying however, a reboot normally always fixes it and a wiping of any and all caches (from recovery) will keep that problem from coming back for a long time. I always make backups (once a week) so that if I wipe the cache wrong or something, I can restore from the recovery backup I made. I havent had to reflash a rom yet (crosses fingers)
Spidey01 said:
I would be interested in what the output of 'df -hPa' is on your system (in the terminal).
Sent from my Transformer TF101 using Tapatalk
Click to expand...
Click to collapse
Spidey.. got this today driving me mad..
here is my output in terminal..
'df -hPa' = Filesystem 1k-blocks Used Available Use% Mounted on df: hPa: can't find mount point.
ok.. whats this telling me?
I have wiped cache's
un-installed a couple of big programs/games..
TB is reporting that I have the following..
System rom: 528MB(127MB Free)
Internal 13.3GB(8.51GB Free)
SD card 13.3GB(8.51GB Free)
settings/storage is showing..
12.43GB with 7.93GB free..
I undocked it, rebooted it..
pulled out the SDcard and tried to install..
but no joy..
looks like maybe a reinstall of the Rom, then slowly load things back in..
edits: looks like a mounting problem.. as the dock is not mounting usb1 for the external now..
will flash Blades kernel and see if it sets things right..
as the only difference in my set-up has been to flash Roachs kernel during the week..
a Kernel flash didn't fix it so am doing a full reset...
K..after a full Factory/data reset..
TB give me this now.. (Market loaded a few in.. but I stopped it.. )
System rom: 528MB(108MB Free)
Internal 13.3GB(9.08GB Free)
SD card 13.3GB(9.08GB Free)
settings/storage is showing..
12.43GB with 8.46GB free..
Will load TB backup back in and see if the problem starts again..
But If I have had this problem.. I am sure others will come across it..
as it seems I got a corrupted file somewhere in there,
will keep an eye on it and see if it happens again..
but for sure, there was a corrupt system file..
Anyone know which are the actual system files are called for the mounting operation?
**** happened again today..
after a clean install.. ran well yesterday..
this morning plugged in the USB Drive into the right USB and had a USB mouse in the left USB..
wonder if this is doing something to mount files?
Anyone know which are the actual system files are called for the mounting operation?
I might run with just the sdcard for the rest of the week shifting things on to it..
and see if I am getting a spike, hooking up with the usbdrive that is corrupting mounting files..
as this would seem like the problem.. its a western digital 500g portable that I am plugin and unpluggin
I modded the flash.cfg file in nvflash and increased my system partition from 512mb to 768mb. It works great. If anyone is interested in increasing their system partition size, I can post what I did to do it. You would need to backup your stuff as it wipes everything when you flash the new partitions.
romified said:
I modded the flash.cfg file in nvflash and increased my system partition from 512mb to 768mb. It works great. If anyone is interested in increasing their system partition size, I can post what I did to do it. You would need to backup your stuff as it wipes everything when you flash the new partitions.
Click to expand...
Click to collapse
I wouldn't mind knowing how.. incase I need to do it..
mine has settled this week as not been plugging/unplugging in the USB hard-drive..
so I have narrowed it down to this spike corrupting some files..
I have backed up the system/lib files incase I have to dump them back over top of corrupted ones.. as it will save a new Rom Flash..
as still not had time to narrow down the actual file or files needed for Mounting USB's in the Rom
If you could post here or PM.. would be grateful..
Basically you just use nvflash to flash a ROM, I flashed Prime since there was a nvflash version available.
All you have to do is edit the flash.cfg file in nvflash, and make the following change, and your system partition will go from 512mb to 768mb. I was trying to port a large ROM and kept running out of space, I made this change and never had a space issue since.
REMEMBER: nvflash will wipe all of your files and data, recovery and kernel as well. So make sure whatever you flash with nvflash is what you want in place. You can of course always reflash through regular CWM to any rom as well after using nvflash. You just need to flash something with nvflash to make the partition changes. And remember if you use nvflash in the future, if you do not edit the flash.cfg file per below, nvflash will partiton system back to 512mb when you use it.
It is only one line, so this is VERY easy. I have only tested this on a TF101-A1. I am not sure what the 32 GB (B1) models partition layout is like.
Open the flash.cfg file, and look for this (it started on line 93 of the flash.cfg I have):
Code:
[partition]
name=APP
id=9
type=data
allocation_policy=sequential
filesystem_type=basic
size=536870912
file_system_attribute=0
partition_attribute=0
allocation_attribute=8
percent_reserved=0
filename=system.img
Change the "size=536870912" to "size=805306368" and save the file. The above section should now look like this :
Code:
[partition]
name=APP
id=9
type=data
allocation_policy=sequential
filesystem_type=basic
size=805306368
file_system_attribute=0
partition_attribute=0
allocation_attribute=8
percent_reserved=0
filename=system.img
Now use nvflash as normal and your system partition will be 768mb.
I am not sure what the limit is on size or what else can be changed, so if you test, do so at your own risk, I have only changed system to 768mb. I think partition 16 is elastic and sizes based on space left over from other partitions (so this is where the extra space for system comes from), but I am not 100% sure on this yet. But do let us know if you do experiment as to what you learn
By the way, the "805306368" number is a number calculated based on bytes & cylinders (or something along those lines) :
1024 x 1024 (1048576) x size in mb = size used in above example
ie: 1048576 x 768 = 805306368
dgcruzing said:
'df -hPa' = Filesystem 1k-blocks Used Available Use% Mounted on df: hPa: can't find mount point.
Click to expand...
Click to collapse
Maybe a typo or damaged mount point? /system, /data, and /cache are what matters.
Code:
Thank you for using Better Terminal Emulator Pro
/ $ df --help
BusyBox v1.16.2androidbtep (2011-08-11 14:16:08 PDT) multi-call binary.
Usage: df [-Pkmhai] [-B SIZE] [FILESYSTEM]...
Print filesystem usage statistics
Options:
-P POSIX output format
-k 1024-byte blocks (default)
-m 1M-byte blocks
-h Human readable (e.g. 1K 243M 2G)
-a Show all filesystems
-i Inodes
-B SIZE Blocksize
/ $ df -Pha
Filesystem Size Used Available Capacity Mounted on
tmpfs 364.2M 32.0K 364.2M 0% /dev
devpts 0 0 0 0% /dev/pts
proc 0 0 0 0% /proc
sysfs 0 0 0 0% /sys
debugfs 0 0 0 0% /sys/kernel/debug
none 0 0 0 0% /acct
tmpfs 364.2M 0 364.2M 0% /mnt/asec
tmpfs 364.2M 0 364.2M 0% /mnt/obb
none 0 0 0 0% /dev/cpuctl
/dev/block/mmcblk0p1 503.9M 403.5M 100.5M 80% /system
/dev/block/mmcblk0p7 27.3G 4.1G 23.3G 15% /data
/dev/block/mmcblk0p2 512.8M 16.0M 496.8M 3% /cache
tmpfs 364.2M 0 364.2M 0% /Removable
/dev/fuse 27.3G 4.1G 23.3G 15% /mnt/sdcard
tmpfs 364.2M 32.0K 364.2M 0% /data/local/mnt/Linux/dev
devpts 0 0 0 0% /data/local/mnt/Linux/dev/pts
proc 0 0 0 0% /data/local/mnt/Linux/proc
sysfs 0 0 0 0% /data/local/mnt/Linux/sys
debugfs 0 0 0 0% /data/local/mnt/Linux/sys/kernel/debug
none 0 0 0 0% /data/local/mnt/Linux/acct
tmpfs 364.2M 0 364.2M 0% /data/local/mnt/Linux/mnt/asec
tmpfs 364.2M 0 364.2M 0% /data/local/mnt/Linux/mnt/obb
none 0 0 0 0% /data/local/mnt/Linux/dev/cpuctl
/dev/block/mmcblk0p1 503.9M 403.5M 100.5M 80% /data/local/mnt/Linux/system
/dev/block/mmcblk0p7 27.3G 4.1G 23.3G 15% /data/local/mnt/Linux/data
/dev/block/mmcblk0p2 512.8M 16.0M 496.8M 3% /data/local/mnt/Linux/cache
tmpfs 364.2M 0 364.2M 0% /data/local/mnt/Linux/Removable
/dev/fuse 27.3G 4.1G 23.3G 15% /data/local/mnt/Linux/mnt/sdcard
/ $
The other stuff you posted makes sense to me, as long as you have a 16GB TF and not a 32GB like mine.
The /data/local/mnt/Linux stuff is because of my Debian chroot, and the sdcard is really a cool hack they do for mounting /data/media correctly for Android. The mmcblk devices are the partitions on the internal memory, as far as I know at least.
Applications go in /data. Your /system partition can be touched by some things but you are not generally going to be stuffing apps in there when you go to the market. You can make an app a system app with some program I think but I wouldn't reccomend it for most apps without good reason.
As root, you can see for yourself with ls what is in the file system and see how Android does stuff, it's mostly self explanitory with some poking but not as obvious as people like me (or smarter people on the subject) might think.
Idk how the file system performance would be impacted here with regards to free space, I know FreeBSD with classic UFS2 / UFS2+SU on PCs will suffer heavy performance issues if the file system is tooooo full but now I'm talking Apples and Oranges. But I would be curious how increasing the /system partition would work for performance with the TF's specifics.
Sent from my Transformer TF101 using Tapatalk
Re: Transformer 16g system partition hack
Well after having it happen again to me today, I decided to bite the bullet and spend the night doing Romified's hack..(Thanks)
I nvflashed Prime 1.7 with the adjusted flash.cfg
As a note: using Notepad++ mine was on line 99
Will load it backup and see how we go..
Fingers crossed this will settle it down..
As said before.. once the problem starts.. even wiping programs off doesn't seem to store updates or allow installs of new programs, so it seems that only a good nflash is the way to go..
Will update as the week goes on..
Getting back to the hack..
it is interesting to get in to the Linux partition reading..
As the layout here seems to give us a bit of scope to play with..
I played safe and didn't push it this time..
but.. that's not to say that there couldn't be some decent discussion on
the actual need for so many partitions and their sizes..
This was the Terminal dump before the hack and with a flash of Prime 2.1/Blades latest Kernel.(As tried everything else before going ahead with the Nvflash hack)
Code:
/ # df -Pha
df -Pha
Filesystem Size Used Available Capacity Mounted on
tmpfs 364.2M 32.0K 364.2M 0% /dev
devpts 0 0 0 0% /dev/pts
proc 0 0 0 0% /proc
sysfs 0 0 0 0% /sys
debugfs 0 0 0 0% /sys/kernel/debug
none 0 0 0 0% /acct
tmpfs 364.2M 0 364.2M 0% /mnt/asec
tmpfs 364.2M 0 364.2M 0% /mnt/obb
none 0 0 0 0% /dev/cpuctl
/dev/block/mmcblk0p1 503.9M 403.5M 100.5M 80% /system
/dev/block/mmcblk0p7 12.4G 3.2G 9.2G 26% /data
/dev/block/mmcblk0p2 521.2M 9.1M 512.1M 2% /cache
tmpfs 364.2M 0 364.2M 0% /Removable
/dev/fuse 12.4G 3.2G 9.2G 26% /mnt/sdcard
/dev/block/vold/179:9
14.7G 3.9G 10.8G 27% /Removable/MicroSD
Will post back the new dump once got things loaded and settled..
romified said:
I modded the flash.cfg file in nvflash and increased my system partition from 512mb to 768mb. It works great. If anyone is interested in increasing their system partition size, I can post what I did to do it. You would need to backup your stuff as it wipes everything when you flash the new partitions.
Click to expand...
Click to collapse
This is pointless, /System is a ReadOnly filesystem.
well its back to the drawing board for me as it came back tonight..
after loading a small-iss program of 2meg from the market..
honest this is giving me the ****s..
as internal is showing 2.2g
system is 408mb of 504mb
this is the output on terminal with "df"
Code:
/ $ export PATH=/data/local/bin:$PATH
/ $ df -Pha
Filesystem Size Used Free Blksize
-Pha: No such file or directory
/ $ df
Filesystem Size Used Free Blksize
/dev 364M 32K 364M 4096
/mnt/asec 364M 0K 364M 4096
/mnt/obb 364M 0K 364M 4096
[COLOR="Red"]/system 503M 407M 96M 4096[/COLOR]
/data 12G 2G 9G 2048
/cache 521M 8M 512M 4096
/Removable 364M 0K 364M 4096
/mnt/sdcard 12G 2G 9G 2048
/R......./MicroSD 14G 4G 10G 8192
/ $
What is painful is I am clearing cache, going in and wiping programs
not only from market and also internally.. like in private data.. also apps out of system/apps
also wiped Market cache & Data..
but it doesnt seem to free up enough memory to allow even a 160k widget to download then download
an install from market..
Edit: Just did a test.. maybe its nothing to do with the actual Rom build..or Partitions but Market itself..
as I uninstalled a program downloaded from Market using another apps manager..
had a backup of it..
then re: installed it..via Root explorer.. installed no problems.. and is a 12meg program..
K.. will do a few more tests.. maybe its an unstall of market.. or a roll back..
dgcruzing said:
well its back to the drawing board for me as it came back tonight..
after loading a small-iss program of 2meg from the market..
honest this is giving me the ****s..
as internal is showing 2.2g
system is 408mb of 504mb
this is the output on terminal with "df"
/ $ export PATH=/data/local/bin:$PATH
/ $ df -Pha
Filesystem Size Used Free Blksize
-Pha: No such file or directory
/ $ df
Filesystem Size Used Free Blksize
/dev 364M 32K 364M 4096
/mnt/asec 364M 0K 364M 4096
/mnt/obb 364M 0K 364M 4096
/system 503M 407M 96M 4096
/data 12G 2G 9G 2048
/cache 521M 8M 512M 4096
/Removable 364M 0K 364M 4096
/mnt/sdcard 12G 2G 9G 2048
/R......./MicroSD 14G 4G 10G 8192
/ $
What is painful is I am clearing cache, going in and wiping programs
not only from market and also internally.. like in private data.. also apps out of system/apps
also wiped Market cache & Data..
but it doesnt seem to free up enough memory to allow even a 160k widget to download then download
an install from market..
Edit: Just did a test.. maybe its nothing to do with the actual Rom build..or Partitions but Market itself..
as I uninstalled a program downloaded from Market using another apps manager..
had a backup of it..
then re: installed it..via Root explorer.. installed no problems.. and is a 12meg program..
K.. will do a few more tests.. maybe its an unstall of market.. or a roll back..
Click to expand...
Click to collapse
try clearing the dalvik cache that may help you
Hi Stevie,
Yes..one of the first things I did..
But to no avail..
I see by your threads that you have a fair knowledge of how the partitions work and file structures work..
Would you know what are all the files associated with market and where all the directries are associated with it..?
I have found market.apk
Market update.apk
But where is market dropping the files you buy?
And market database filed?
At the moment, I am still leaning towards market doing something screwy to me..
As the test with
1:uninstall with root explorer
2:then a reinstall with TB
Proves that I can write to the partition.
But a..
1: uninstall 2 programs- with market
(Which in theory should free space)
2: reinstall 1 program- with market
Gives me the error again..
sent from yet another MikG HTC Evo
Just wondering how much room there is on the TF for apps? Just got one over the weekend...plus I use an N1 that has >200 MB...so from what I've read in this thread so far...seems that you can load up a butt load of apps on this tablet.
dgcruzing said:
Hi Stevie,
Yes..one of the first things I did..
But to no avail..
I see by your threads that you have a fair knowledge of how the partitions work and file structures work..
Would you know what are all the files associated with market and where all the directries are associated with it..?
I have got found market.apk
Market update.apk
But where is market dropping the files you buy?
And market database filed?
At the moment, I am still leaning towards market doing something screwy to me..
As the test with
1:uninstall with root explorer
2:then a reinstall with TB
Proves that I can write to the partition.
But a..
1: uninstall 2 programs- with market
(Which in theory should free space)
2: reinstall 1 program- with market
Gives me the error again..
sent from yet another MikG HTC Evo
Click to expand...
Click to collapse
It should download it to /cache then install it to /data nothing else
---------- Post added at 12:59 PM ---------- Previous post was at 12:58 PM ----------
SiNJiN76 said:
Just wondering how much room there is on the TF for apps? Just got one over the weekend...plus I use an N1 that has >200 MB...so from what I've read in this thread so far...seems that you can load up a butt load of apps on this tablet.
Click to expand...
Click to collapse
because /data and the emmc share the same partition, it is as much as you can store on your tablet, so 14ish GB on a 16GB device and 28ish GB on a 32GB device, unless of course you are running ubuntu in dual boot which shrinks the size of /data
lilstevie said:
It should download it to /cache then install it to /data nothing else
---------- Post added at 12:59 PM ---------- Previous post was at 12:58 PM ----------
because /data and the emmc share the same partition, it is as much as you can store on your tablet, so 14ish GB on a 16GB device and 28ish GB on a 32GB device, unless of course you are running ubuntu in dual boot which shrinks the size of /data
Click to expand...
Click to collapse
Yes, this is what I was figuring too.. that's why its frustrating me to be getting this error and leading me to believe that its a market problem..
I have already ruled out a space problem..
as time permits, I am going to wipe market off and try to install another version and see what happens..
This is why I am in the need of ALL files that point to and are called by market to wipe off it.. so that there are no rouge orphan files around..
Then of course going to have to hunt down a another copy to load in..
which I should be able to pull from one of the Roms..
as I dont want to use the one in Roach's Rom.. as this is the one that is maybe causing problems..(Via some unexplained help from Market update)
Note of course.. that I am not saying that it is anything to do with Roach's Rom and or files in it.. as I am still in the investigation stage of why I am getting the error..
dgcruzing said:
Yes, this is what I was figuring too.. that's why its frustrating me to be getting this error and leading me to believe that its a market problem..
I have already ruled out a space problem..
as time permits, I am going to wipe market off and try to install another version and see what happens..
This is why I am in the need of ALL files that point to and are called by market to wipe off it.. so that there are no rouge orphan files around..
Then of course going to have to hunt down a another copy to load in..
which I should be able to pull from one of the Roms..
as I dont want to use the one in Roach's Rom.. as this is the one that is maybe causing problems..(Via some unexplained help from Market update)
Note of course.. that I am not saying that it is anything to do with Roach's Rom and or files in it.. as I am still in the investigation stage of why I am getting the error..
Click to expand...
Click to collapse
is this on one rom? or has it happened to you on a few, and what rom are you running
lilstevie said:
is this on one rom? or has it happened to you on a few, and what rom are you running
Click to expand...
Click to collapse
Been on Roach's with C& B Kernel.. first time it happened swopped out to Blades Kernel..
Maybe its a Rom swop for a while to see if it settles..
might save the time spent on hunting down the problem..
Got a trip for a few weeks so don't want to be stressed with this on the road..
so got to get it settled in the next few days..
edit: going to run out of time.. as said on the road from Sunday..so decided to go a new Rom flash..
This is how it is looking like at the moment..
Code:
export PATH=/data/local/bin:$PATH:.
/ # export PATH=/data/local/bin:$PATH:.
/ # df
Filesystem Size Used Free Blksize
/dev 364M 32K 364M 4096
/mnt/asec 364M 0K 364M 4096
/mnt/obb 364M 0K 364M 4096
[COLOR="Red"]/system 755M 296M 459M 4096[/COLOR]
/data 12G 1G 10G 4096
/cache 521M 8M 512M 4096
/Removable 364M 0K 364M 4096
/mnt/sdcard 12G 1G 10G 4096
/Removable/MicroSD 14G 4G 9G 8192
/ #
interesting comparing it to the last one posted last night..
I have now got the full 755m in system as per nvflash..
as last one is only showing 503m with most of the same apps loaded back in..
I have done :
Mike1986 super wipe..
Then loaded in KRAKD rom..
Blue theme
Blades CptAwesome 12-07
let see how it goes..
Important:
Now since Official Oreo is out, you can simply update to Official Oreo via fastboot and your IMEI will be restored.
This method will not work if you have restored other device's persist from some Youtube video or some Internet guide.
Read post #3 if you have restored some other persist and do not have a backup of your original persist.
For those who can't read this much, here is a better guide for you:
Hello everyone, this is a guide for solving the problem for IMEI = 0 on Moto G4/Plus which is caused after flashing stock ROM.
I got this problem last week and was constantly researching for the solution to this problem for the past 5 days and finally, I was able to get my IMEI back on my Moto G4 Plus (XT1643).
Note: I will be using stock firmware and stock ROM interchangeably in this thread as a lot of people consider it the same so don't get confused since I am by no means referring to the /firmware partition.
There are two common and major problems which occur while flashing custom/stock ROMs:
1. IMEI = Unknown and Baseband = Unknown
2. IMEI = 0
1st Problem:
Reason: You flashed the firmware/stock ROM which wasn't meant for your device.
Solution: Flash the firmware which is made for your device like XT1621 or XT1643, etc.
2nd Problem:
This is a major problem and there are two reasons for this:
1. Mess up your persist partition.
2. fastboot erase all command.
If your problem is caused by the first reason, it might be possible to fix it.
However, if the problem is caused by the second reason, I'm sorry I don't know if a solution to this problem exists.
Firstly you need to check if your device still has IMEI intact or not. For that use the following command through fastboot in the bootloader mode:
Code:
fastboot getvar imei
If the command returns an IMEI, it means that the IMEI is not completely lost and it can be recovered.
However, if the command returns IMEI as 0, then there are two reasons:
1. Either you flashed the bootloader that wasn't meant for your device. This can be solved by flashing the correct bootloader which is made for your device again by the command:
Code:
fastboot flash bootloader bootloader.img
2. If you have flashed the correct bootloader that is meant for your device and facing this issue, I'm sorry I don't think there is a solution to this problem. This problem is either caused by fastboot erase all command (which erases everything like IMEI from the device's motherboard or the place where IMEI is permanently stored) or some hardware issue.
Here is a little explanation:
Device specific or device unique IDs are stored in a separate place in the device like the motherboard or some other place which I am unaware of.
When EFS partition is created, it picks up the IMEI from that unique place in the device like the motherboard (or some other place which I am unaware of) where the IMEI is stored.
On every reboot, EFS partition is checked and if it does not exists, the Android system by default creates it.
When we flash stock ROM, we use the following commands:
Code:
fastboot erase modemst1
fastboot erase modemst2
These commands wipe the EFS partition and on rebooting, EFS partition is recreated.
But, in some cases, the EFS partition is not able to regenerate IMEI or the Android system is unable to recreate it and so we are left with IMEI = 0.
Here is a detailed explanation regarding this issue:
NZedPred said:
4) Explanation
4a) What happened to persist.
To understand what happened, you need to know a few things about filesystem permissions in Linux. Files and folders have user and group ownership, and permissions. Examples of owners are the system, root, user, etc. Examples of permissions are read access, write access, execute access. The permissions are applied at three levels 1) the user, 2) the group, 3) everyone else.
@rachitrawat's investigation into the failures showed that the issue was relating to the persist partition, specifically some files dhob.bin etc that are under the rfs sub folder in this partition. Under stock, these files/folders are owned by a user called rfs, and have group ownership under a group also called rfs. Additionally, the permissions on these files/folders are limited - only the rfs user can read/write/execute these files. Other users, groups, or everyone else, cannot access the files.
There was a change in the Oreo roms. If you flash and boot into an Oreo rom, and you look at the permissions/ownership, you will see that a user and group oem_2951 owns the rfs folder, and a group oem_2952 owns the hlos_rfs folder. Now this is a different name, but on its own, a different name does not mean different ownership.
In Linux, all users and groups are assigned an ID, i.e. a number. So something happened in lineage that changed the user IDs that are applied to the rfs folder.
If you look at the ownership of persist files/folders within TWRP, you will see that a STOCK PERSIST has the owner of the rfs folder as rfs_old. Similarly in TWRP, a LINEAGE PERSIST has the owner of the rfs folder as rfs. So TWRP is seeing owners differently again to stock and Lineage. Trying to run the above commands in TWRP will not fix the issue, as it will use ID 2951 for the user rfs, but we need it to be 3012 in stock (which TWRP sees as rfs_old).
In addition to the rfs folder, there is also another folder that is impacted - hlos_rfs. Its user owner is rfs, but its group owner if rfs_shared. A stock rfs_shared is shown as rfs_shared_o in TWRP. It appears that this folder is not as important in getting the IMEI back, but I have included the commands to restore ownership, to ensure there are no future errors.
4b) What happened to IMEI.
Despite the issue above, many people who flashed Oreo roms would have had no problems (other than I guess, bugs in the roms themselves). The change of ownership of the rfs folder didn't change the actual file content, so essentially all is intact. In fact, I verified that my dhob.bin and other files had the same md5sum in stock and lineage persist.
The issue of the IMEI changing to zero has only happened when people have flashed Stock roms. All of the guides that I have seen, have included the following commands (and equivalent commands have been included in the TWRP flashable stock builds as well):
Code:
fastboot erase modemst1
fastboot erase modemst2
The partitions modemst1 and modemst2 are your EFS. Normally, if your persist is pure stock, if either is erased, the modem re-creates them. But, referring to the above about permissions, if the rfs user (which is presumably used by the modem) cannot access the files (because the owner of the files is someone else, and the permissions on the files mean that only the owner can access them), then the modem cannot recreate the EFS, and the IMEI is left as zero.
Click to expand...
Click to collapse
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Solution:
I have made a youtube video for this which just shows how to fix the issue and does not goes into explanation of the problem as well as the solution. Here is the link: Moto G4/G4 Plus IMEI=0 fix
Pre-requisites:
You must be on Stock Nougat 7.0
You must be rooted (install Elemental-X kernel first and then flash Magisk otherwise you will have boot issues)
You must be on your own persist
Terminal app or adb drivers in PC/Laptop
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Step 1: Check if there is a problem with persist
Note: The below commands are to be typed in a terminal app or adb shell.
Q) How to type in adb shell?
A) Open command prompt in the folder where you have adb and fastboot installed and type:
Code:
adb shell
So lets start now!
Code:
su
This command it to get root access for the terminal/shell. Grant the root access and you will see that the $ symbol is replaced with # symbol which means that root access has been granted.
Code:
ls -l /persist
If your presist has some problem, then you can see the following as the output.
Code:
athene_f:/ # ls -l /persist
total 176
drwxrwx--- 2 system system 4096 2018-10-21 07:40 alarm
drwxr-xr-x 2 mot_pwric mot_pwric 4096 1969-12-31 19:02 batt_health
drwxrwx--- 2 bluetooth bluetooth 4096 2017-01-12 03:35 bluetooth
drwxr-xr-x 2 mot_tcmd bluetooth 4096 1969-12-31 19:02 bt
drwxr-xr-x 4 mot_tcmd mot_tcmd 4096 1969-12-31 19:02 camera
drwxr-xr-x 2 root root 4096 2016-07-31 00:43 coresight
drwx------ 5 system system 4096 2017-01-12 05:21 data
drwxrwx--- 2 system graphics 4096 1969-12-31 19:02 display
drwxrwx--- 2 system system 4096 1969-12-31 19:02 drm
drwxr-xr-x 4 mot_tcmd mot_tcmd 4096 1970-01-01 06:48 factory
[COLOR="red"]drwxrwx--- 3 2951 2952 4096 1969-12-31 19:02 hlos_rfs[/COLOR]
drwx------ 2 root root 4096 1969-12-31 19:00 lost+found
drwxrwx--- 2 radio radio 4096 2016-08-04 20:26 mdm
drwxrwx--- 3 system system 4096 2017-11-09 16:30 misc
drwxrwx--- 2 system system 4096 1970-02-11 17:39 properties
drwxr-xr-x 8 mot_tcmd mot_tcmd 4096 1969-12-31 19:02 public
[COLOR="red"]drwx------ 6 2951 2951 4096 1969-12-31 19:02 rfs[/COLOR]
drwxrws--- 2 mot_tpapi mot_tpapi 4096 2016-11-17 16:38 security
drwxrwxr-x 2 system system 4096 2016-07-31 00:43 sensors
drwxrwx--- 2 system system 4096 2018-09-10 18:13 time
drwxr-xr-x 2 mot_tcmd mot_tcmd 4096 1969-12-31 19:02 wifi
drwxrwxr-x 2 mot_drm mot_drm 4096 1969-12-31 19:02 wmdrm
athene_f:/ #
You can see system instead of these red number if you flash Soak Test before flashing Stock ROM, so no worries, as the process will remain the same.
As it can be seen in the red part, the owner of rfs folder is a number (2951) which means that the system is unable to identify its real owner.
Also the owner of hlos_rfs folder is a number too (2952) which also means that the system is unable to identity its real owner.
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Step 2: Check for the key persist files
Code:
find /persist -type f
If you run the above command, you will see something similar to this:
Code:
athene_f:/ # find /persist -type f
/persist/coresight/qdss.agent.sh
/persist/coresight/qdss.config.sh
/persist/coresight/qdss.functions.sh
/persist/sensors/sensors_settings
/persist/data/sfs/6lgxCka66cxdsueYeHhCqx+j1DI_
/persist/data/sfs/VsxbuQew8Rbt0TRZjDAX8S9tV+M_
/persist/data/sfs/KfLHQpS5zKuygZcMelQOTtWzBvw_
/persist/data/sfs/R9+zCYj56-AHybZuQCWLm2H46E4_
/persist/data/sfs/NjJIuGH0j7kE08PFwp1yw+BminY_
/persist/data/sfs/7pU6SoXdsBUbDsxRiZOHNIjPVtw_
/persist/data/sfs/yLawqeQeY8AQGJmo46PVJbfYVxY_
/persist/data/tz/tz_counter
/persist/data/tz/tz_counter.bak
/persist/data/app_g/wv_usage
/persist/camera/focus/offset_cal
/persist/camera/ledcal/rear
/persist/factory/audio/temp
/persist/factory/audio/cnt
/persist/factory/audio/acc
/persist/factory/audio/f0
/persist/factory/audio/ref_diff
/persist/factory/fti
/persist/public/hiddenmenu/data/mobile_data_rx
/persist/public/hiddenmenu/data/mobile_data_tx
/persist/public/hiddenmenu/data/wifi_data_rx
/persist/public/hiddenmenu/data/wifi_data_tx
/persist/public/hiddenmenu/data/factoryreset_time
/persist/public/hiddenmenu/data/activation_date
/persist/public/hiddenmenu/life_calls
/persist/public/hiddenmenu/life_timer
/persist/security/18.bin
/persist/mdm/oma_dm_update
/persist/.bt_nv.bin
/persist/rfs/shared/server_info.txt
/persist/rfs/msm/mpss/datablock/id_00
/persist/rfs/msm/mpss/datablock/id_01
/persist/rfs/msm/mpss/server_check.txt
[COLOR="Red"]/persist/rfs/msm/mpss/dhob.bin
/persist/rfs/msm/mpss/shob.bin[/COLOR]
[COLOR="Green"]/persist/rfs/msm/mpss/dhob.bin.bak[/COLOR]
/persist/rfs/msm/adsp/server_check.txt
/persist/bluetooth/.bt_nv.bin
/persist/time/ats_1
/persist/time/ats_2
/persist/time/ats_12
/persist/time/ats_13
/persist/time/ats_15
/persist/time/ats_16
/persist/.twrps
athene_f:/ #
Note: The key files here are dhob.bin, shob.bin, id_00 and id_01.
Your IMEI is stored in id_00 (first IMEI) and id_01 (second IMEI)
dhob.bin and shob.bin are responsible to create the EFS partition.
Note: If you do not have dhob.bin.bak, you will still be able to get your IMEI back (tested and confirmed working on Moto G4 Plus(athene)), however if you have some other device like Moto G5 Plus(potter) or Moto G5s Plus(sanders), you cannot get your IMEI back with this method however trying won't hurt.
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Step 3: Fix the your persist
For this step, there is also a TWRP flashable zip file which will fix the persist. So for those who do not want to type the commands manually, you can simply flash the zip file (Tested and working).
Downloads:
Link: https://www.androidfilehost.com/?fid=11410963190603873125
md5: 5aac75092fc84f46dd5c6bd443df0748
These commands will restore the owners of rfs and hlos_rfs folder back to their respective original owners (rfs and rfs_shared):
Code:
chown -R rfs:rfs /persist/rfs
chown -R rfs:rfs_shared /persist/hlos_rfs
Alternatively, you can also type:
Code:
chown -R 3012:3012 /persist/rfs
chown -R 3012:3013 /persist/hlos_rfs
You will see no output on typing the first command, however, you may or may not see any output after typing the second command (there was an output shown on my device but not on the other tested devices). I'm sorry I don't have that output stored, if someone who can see it, please repond so the thread can be updated.
3012 is infact the id for rfs folder and 3013 is the id for hlos_rfs folder so instead of typing their names, you can also type their ids.
Now, to check if the owners of rfs and hlos_rfs have been set back to their original ones, type this command:
Code:
ls -l /persist
If everything went fine, you should be able to see the following output:
The below output will be seen on a perfectly fine persist as well
Code:
athene_f:/ # ls -l /persist
total 176
drwxrwx--- 2 system system 4096 2018-10-21 07:40 alarm
drwxr-xr-x 2 mot_pwric mot_pwric 4096 1969-12-31 19:02 batt_health
drwxrwx--- 2 bluetooth bluetooth 4096 2017-01-12 03:35 bluetooth
drwxr-xr-x 2 mot_tcmd bluetooth 4096 1969-12-31 19:02 bt
drwxr-xr-x 4 mot_tcmd mot_tcmd 4096 1969-12-31 19:02 camera
drwxr-xr-x 2 root root 4096 2016-07-31 00:43 coresight
drwx------ 5 system system 4096 2017-01-12 05:21 data
drwxrwx--- 2 system graphics 4096 1969-12-31 19:02 display
drwxrwx--- 2 system system 4096 1969-12-31 19:02 drm
drwxr-xr-x 4 mot_tcmd mot_tcmd 4096 1970-01-01 06:48 factory
[COLOR="red"]drwxrwx--- 3 rfs rfs_shared 4096 1969-12-31 19:02 hlos_rfs[/COLOR]
drwx------ 2 root root 4096 1969-12-31 19:00 lost+found
drwxrwx--- 2 radio radio 4096 2016-08-04 20:26 mdm
drwxrwx--- 3 system system 4096 2017-11-09 16:30 misc
drwxrwx--- 2 system system 4096 1970-02-11 17:39 properties
drwxr-xr-x 8 mot_tcmd mot_tcmd 4096 1969-12-31 19:02 public
[COLOR="red"]drwx------ 6 rfs rfs 4096 1969-12-31 19:02 rfs[/COLOR]
drwxrws--- 2 mot_tpapi mot_tpapi 4096 2016-11-17 16:38 security
drwxrwxr-x 2 system system 4096 2016-07-31 00:43 sensors
drwxrwx--- 2 system system 4096 2018-09-10 18:13 time
drwxr-xr-x 2 mot_tcmd mot_tcmd 4096 1969-12-31 19:02 wifi
drwxrwxr-x 2 mot_drm mot_drm 4096 1969-12-31 19:02 wmdrm
athene_f:/ #
As you can see here that the owner of rfs folder is rfs folder and the owner of hlos_rfs folder is rfs_shared folder, the problem has been resovled.
Reboot your device and the problem should be fixed and you will be able (hopefully) to get your IMEI back by either typing *#06# in phone dialer or in Settings>About Phone>Status>IMEI Information.
On rebooting, the system will check for the EFS folder and since it didn't exist earlier, it will be recreated by the system and therefore you will get your IMEI back.
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
A huge thanx to NZedPred, rachitrawat, for doing in depth research in this problem and coming up with a solultion.
Also, I would like to thank Tyrantre who did a lot of research for this problem and has posted the workaround which was tried here in this thread here: Diag Mode with G4 for QPSD? which finally lead me to NZedPred's below thread as I could understand what was the problem due to which IMEI was set to 0 and why Diag mode wouldn't work.
Note: This thread was made with the help of the following guide which is confirmed to be working on Moto G5 Plus (potter) Fix Persist, resolve IMEI=0, Volte, 4G, Explanation, Requirements.
Note: This guide is made for G4/Plus and I have hardly done anything to fix this problem apart from making this thread, so all credits go to the respective owners who did research in this problem. This guide should work on other Motorola devices too as we aren't focusing on device-specific fixes that will only work on Moto G4 Plus.
Refer post #2 for fixing other issues faced after recovering IMEI.
Some Common Issues:
Here are the issues observed after recovering IMEI:
Sim card detected but no network
Baseband version changed
Volte not working
If you have any one of the above-mentioned problems, there is a specific thread made for those problems. Refer to this thread: [Guide] [XT16XX] [Solve] G4+ Baseband/Network/Volte issue, Lost 1 IMEI & fingerprint
Please discuss any issues related to the above-mentioned problems in the above-provided thread (link).
If you have any other issues apart from the issues mentioned above, discuss them here.
--------------------------------------------------------------------------
Complete Backup Zip/Script (All partitions):
Now since you have faced this issue, make sure to take a complete backup of all the partitions so that if you ever face an issue like this in future, you will always have your partitions with you to restore your device.
Here is the link to the thread to take complete backup of all partitions: [Guide] [XT16XX] Moto G4/Plus Complete Partition Backup/Restore Zip/Script
The above thread can backup/restore using TWRP flashable zip files for convenience.
There are a few youtube videos and internet guides which tells you to restore somebody else's persist file. That persist file is same in the Youtube video as well as those Internet guide (I have checked them).
Persist is unique to each and every device and using somebody else's persist on your device will never work.
IMEI is stored in /persist/rfs/msm/mpss/datablock directory where there are two files named as id_00 and id_01.
id_00 contains your 1st IMEI and id_01 contains your second IMEI.
The persist (from those guide and youtube videos) lacks id_00 and id_01 and since you restored that persist, you have those files missing as well. Those files are unique to every device anyways so if you try to restore a persist which has those files, it won't work too as your device's IMEI is different altogether.
The only possible fix that comes to my mind is by manually editing the persist file.
On comparing both the files in a hex editor, it is found that both of them are completely same except from memory address/location 00000028 to 000000C7.
This makes me think that IMEI is stored between those memory locations.
Furthermore, the first 14 digits of IMEI are stored from 00000028 to 0000002F in a different manner.
This is how it is stored,
Lets take a sample random IMEI: 3 12 34 56 78 90 12 34
This will be stored as following: 3A 21 43 65 87 09 21 03
Code:
3A [COLOR="Black"]21[/COLOR] [COLOR="DarkRed"]43[/COLOR] [COLOR="Red"]65[/COLOR] [COLOR="Magenta"]87[/COLOR] [COLOR="Sienna"]09[/COLOR] [COLOR="DarkOrange"]21[/COLOR] [COLOR="DarkOliveGreen"]03[/COLOR]
3 [COLOR="black"]12[/COLOR] [COLOR="darkred"]34[/COLOR] [COLOR="red"]56[/COLOR] [COLOR="magenta"]78[/COLOR] [COLOR="sienna"]90[/COLOR] [COLOR="darkorange"]12[/COLOR] [COLOR="darkolivegreen"]34[/COLOR]
The first set of hex numbers is what is stored in id_00 and id_01
The second set of hex numbers is what the actual IMEI is.
As you can clearly notice the difference via colors that the digits are getting flipped. The persist is storing the last digit 4 in some different way.
Why is there a letter A in the start just after 3, I found that it means that the last digit of IMEI stored in persist is 0. And that makes sense to as when you flip the last two digits i.e 03, you indeed get 30 which indicates the last digit is 0.
I don't think I need to mention this, but if you have a dual sim device, the first thirteen digits of IMEI are same and only the last two digits are different.
Now, this makes me conclude that the last digit of actual IMEI is stored in some way in the rest of the id_00 and id_01. And since most of the content in both the files are same, we just have to compare the part which is different as that part has that last digit of the two IMEIs stored.
I can't upload the contents of my IMEI for obvious reasons. If we are able to find the pattern in which the last digit is stored inside those files, then I think we can edit them and it should solve the problem for those people. Of course, editing and putting on somebody else's IMEI in those files wouldn't work either as we have already tried replacing the entire id_00 and id_01 (infact entire working persist) but the IMEI still remains 0.
Perhaps there is someplace (not talking about fastboot imei) where IMEI is stored as well, and while generation of EFS, that place and the persist are checked together and if the IMEIs in both the places match, you get your IMEI and if not, then it knows that IMEI has tampered and hence it doesn't work.
This might be too dangerous as people could edit their IMEI and put on somebody else's IMEI and can create problems, but as I mentioned above, it doesn't work as you will need to have your own IMEI in persist.
Update: Thanx to @NZedPred for correcting me. Even on deleting id_00 and id_01, and then eraseing EFS, we still get our IMEI.
I also tried changing the first digit of dhob.bin file while keeping id_00 and if_01 intact and then erased EFS, but didn't get my IMEI.
So, dhob.bin is the one which is responsible for IMEI creation and I am not able to understand anything inside dhob.bin.
I am sorry, but I was already trying beyond my capabilities earlier by using many internet sources as reference and it was just by chance that I stumbled upon id_00 and id_01. I am going to stop here for now, as this stuff goes beyond my current capabilities. If I ever get to know anything, I will update it here so that if anybody else would like to continue, they could do it.
I am sorry I tag you here, @echo92, @strongst, @NZedPred, @rachitrawat. This is what I was able to find out. I request you to read this post, and please help if you can. Thank You.
If you run the ls -l /persist command on android P ROM (which is causing this IMEI issue), this is the output you get:
Code:
athene:/ # ls -l /persist
total 88
drwxrwx--- 2 system system 4096 1970-01-10 08:37 alarm
drwxr-xr-x 2 vendor_mot_pwric vendor_mot_pwric 4096 1970-01-01 01:01 batt_health
drwxrwx--- 2 bluetooth bluetooth 4096 2018-03-29 00:04 bluetooth
drwxr-xr-x 2 vendor_mot_tcmd bluetooth 4096 1970-01-01 01:01 bt
drwxr-xr-x 4 vendor_mot_tcmd vendor_mot_tcmd 4096 2018-03-29 00:04 camera
drwxr-xr-x 2 root root 4096 2018-03-29 00:04 coresight
drwx------ 5 system system 4096 2018-03-29 00:04 data
drwxrwx--- 2 system graphics 4096 1970-01-01 01:01 display
drwxrwx--- 2 system system 4096 1970-01-01 01:01 drm
drwxr-xr-x 4 vendor_mot_tcmd vendor_mot_tcmd 4096 2018-03-29 00:04 factory
[COLOR="red"]drwxrwx--- 3 vendor_rfs vendor_rfs_shared 4096 2018-03-29 00:04 hlos_rfs[/COLOR]
drwxrwx--- 2 root root 4096 2018-03-29 00:04 lost+found
drwxrwx--- 2 radio radio 4096 2018-03-29 00:04 mdm
drwxrwx--- 3 system system 4096 2018-03-29 00:04 misc
drwxrwx--- 2 system system 4096 1970-05-31 18:25 properties
drwxr-xr-x 8 vendor_mot_tcmd vendor_mot_tcmd 4096 2018-03-29 00:04 public
[COLOR="Red"]drwx------ 6 vendor_rfs vendor_rfs 4096 2018-03-29 00:04 rfs[/COLOR]
drwxrws--- 2 vendor_mot_tpapi vendor_mot_tpapi 4096 2018-03-29 00:04 security
drwxrwxr-x 2 system system 4096 2018-03-29 00:04 sensors
drwxrwx--- 2 system system 4096 2018-03-29 00:04 time
drwxr-xr-x 2 vendor_mot_tcmd vendor_mot_tcmd 4096 1970-01-01 01:01 wifi
drwxrwxr-x 2 vendor_mot_drm vendor_mot_drm 4096 1970-01-01 01:01 wmdrm
Notice how, android Pie is using vendor suffix prefix.
One fix that was thought was to fix the owners in android Pie ROM itself before flashing Stock ROM, but on rebooting, the owners were changed back to vendor_rfs and vendor_rfs_shared.
Also, if you flash an Oreo ROM after flashing Pie ROM (which broke IMEI), this is the output you get:
Code:
athene_f:/ # ls -l /persist
total 176
drwxrwx--- 2 system system 4096 2018-10-21 07:40 alarm
drwxr-xr-x 2 mot_pwric mot_pwric 4096 1969-12-31 19:02 batt_health
drwxrwx--- 2 bluetooth bluetooth 4096 2017-01-12 03:35 bluetooth
drwxr-xr-x 2 mot_tcmd bluetooth 4096 1969-12-31 19:02 bt
drwxr-xr-x 4 mot_tcmd mot_tcmd 4096 1969-12-31 19:02 camera
drwxr-xr-x 2 root root 4096 2016-07-31 00:43 coresight
drwx------ 5 system system 4096 2017-01-12 05:21 data
drwxrwx--- 2 system graphics 4096 1969-12-31 19:02 display
drwxrwx--- 2 system system 4096 1969-12-31 19:02 drm
drwxr-xr-x 4 mot_tcmd mot_tcmd 4096 1970-01-01 06:48 factory
[COLOR="red"]drwxrwx--- 3 root root 4096 2018-03-29 00:04 hlos_rfs[/COLOR]
drwx------ 2 root root 4096 1969-12-31 19:00 lost+found
drwxrwx--- 2 radio radio 4096 2016-08-04 20:26 mdm
drwxrwx--- 3 system system 4096 2017-11-09 16:30 misc
drwxrwx--- 2 system system 4096 1970-02-11 17:39 properties
drwxr-xr-x 8 mot_tcmd mot_tcmd 4096 1969-12-31 19:02 public
[COLOR="red"]drwx------ 6 root root 4096 2018-03-29 00:04 rfs[/COLOR]
drwxrws--- 2 mot_tpapi mot_tpapi 4096 2016-11-17 16:38 security
drwxrwxr-x 2 system system 4096 2016-07-31 00:43 sensors
drwxrwx--- 2 system system 4096 2018-09-10 18:13 time
drwxr-xr-x 2 mot_tcmd mot_tcmd 4096 1969-12-31 19:02 wifi
drwxrwxr-x 2 mot_drm mot_drm 4096 1969-12-31 19:02 wmdrm
athene_f:/ #
Here are some of the points that can throw some light on the topic:
rachitrawat said:
Hey all,
After spending hours on the IMEI 0 problem, here are my findings:
1. IMEI is stored in nv 550 variable in QCN. However, this variable is write protected. This means all IMEI write programs such as QCOM Write IMEI tool will fail.
2. Interestingly, only IMEI 1 is stored in the nv. IMEI 2 is derived by performing some fixed hex arithmetic on IMEI 1.
3. IMEI also seems encrypted since the nv 550 in QCN never has a correct hex notation of IMEI. For example, Only half of the IMEI is correct.
4. Any attempt to restore the QCN backup of someone else will successfully write all nv variables except nv 550. Means you cannot rewrite your factory IMEI.
5. The above is true even if you hexedit the QCN with your own IMEI. NV 550 is write protected.
6. modemst1 and modemst2 are sort of some baseband cache which are created by radio/bootloader using fsg. fsg seems to be some sort of backup partition for modemst.
7. After downgrading and erasing modemst1-2, these modemst are not recreated successfully by the modem. The nv 550 variable goes missing.
8. My guess is that modem has some checksum mechanism wherein if any discrepancy is found, the modemst cache recreation fails. Not sure.
9. Our IMEI is most likely intact somewhere (not talking about fastboot IMEI). Just not interpreted properly.
10. People who restored their efs after IMEI 0 are essentially restoring working cached modemst1-2. However, if fastboot erase modemst is done, it'll likely result in IMEI 0 again because modem cannot recreate modemst correctly.
Click to expand...
Click to collapse
Thanks alot!!!
My friend was having the same problem, it worked for him??
Edit: Volte is still not working in the device...
@Heeth21,
I am facing this issue after moving to stock. Getting IMEI on "fastboot getvar imei", however unable to restore it. I followed all the instructions you had shared. Any help or further instruction in this regard would be helpful.
Thanks in advance.
checksamir said:
@Heeth21,
I am facing this issue after moving to stock. Getting IMEI on "fastboot getvar imei", however unable to restore it. I followed all the instructions you had shared. Any help or further instruction in this regard would be helpful.
Thanks in advance.
Click to expand...
Click to collapse
Can you post the output of this command in terminal?
Code:
su
ls -l /persist
Also of this command too:
Code:
su
find /persist -type f
If would be beneficial if you format it in code or you might just attach the output in a txt file.
Also can you tell me your baseband version. I think as far as I have observed, those who are getting this IMEI=0 issue, their basebands are ending with "u"
Heeth21 said:
Can you post the output of this command in terminal?
Code:
su
ls -l /persist
Also of this command too:
Code:
su
find /persist -type f
If would be beneficial if you format it in code or you might just attach the output in a txt file.
Also can you tell me your baseband version. I think as far as I have observed, those who are getting this IMEI=0 issue, their basebands are ending with "u"
Click to expand...
Click to collapse
@Heeth21,
THanks for the quick response. Please find the attached output files in text and screenshot for baseband..
checksamir said:
@Heeth21,
THanks for the quick response. Please find the attached output files in text and screenshot for baseband..
Click to expand...
Click to collapse
The files seems proper.
Type these commands again and attach the output. A screenshot would help a lot.
Code:
su
chown -R rfs:rfs /persist/rfs
chown -R rfs:rfs_shared /persist/hlos_rfs
ls -l /persist
Heeth21 said:
The files seems proper.
Type these commands again and attach the output. A screenshot would help a lot.
Code:
su
chown -R rfs:rfs /persist/rfs
chown -R rfs:rfs_shared /persist/hlos_rfs
ls -l /persist
Click to expand...
Click to collapse
I had to try it twice: after executing code /persists/rfs, some file or path or folder was missing and it started something which eventually closed before I could take a screenshot. Next time I tried, there was nothing as such. Second screenshot attached for reference.
Really appreciated your quick responses..
Heeth21 said:
The files seems proper.
Type these commands again and attach the output. A screenshot would help a lot.
Click to expand...
Click to collapse
Man! Thanks a ton! It worked like a charm... I'm back to stock with full functional VoLTE.. you're a genius.. I owe you a beer..!:good:
Nao deu certo comigo, me ajuda por favor.
Hello, I'm sorry for bad English, I'm Brazilian. I'm translating through google translator.
I am with the same problem of this post, after flashing the stock rom the imei got 0, I did the procedures of this post but it did not work with me, my imei appears correctly with the command (fastboot gevtar imei)
but in command: (ls -l / persist) does not appear the number 2951 or 2952, but the name rfs, as if everything was okay (but the imei continues 0)
and in the command: (find / persist -type f) the line does not appear (/persist/rfs/msm/mpss/dhob.bin.bak)
I finally executed the commands (chown -R rfs: rfs / persist / rfs and
chown -R rfs: rfs_shared / persist / hlos_rfs) and restarted the cell phone but the imei continued 0
the version of the base band is m8952_70030.25.03.62.02a
Is there any procedure I can try? I'll be very grateful.
---------- Post added at 01:53 AM ---------- Previous post was at 01:47 AM ----------
Hello, I'm sorry for bad English, I'm Brazilian. I'm translating through google translator.
I am with the same problem of this post, after flashing the stock rom the imei got 0, I did the procedures of this post but it did not work with me, my imei appears correctly with the command (fastboot gevtar imei)
but in command: (ls -l / persist) does not appear the number 2951 or 2952, but the name rfs, as if everything was okay (but the imei continues 0)
and in the command: (find / persist -type f) the line does not appear (/persist/rfs/msm/mpss/dhob.bin.bak)
I finally executed the commands (chown -R rfs: rfs / persist / rfs and
chown -R rfs: rfs_shared / persist / hlos_rfs) and restarted the cell phone but the imei continued 0
the version of the base band is m8952_70030.25.03.62.02a
I'll try to send prints.
Is there any procedure I can try? I'll be very grateful.
Oliver1995 said:
but in command: (ls -l / persist) does not appear the number 2951 or 2952, but the name rfs, as if everything was okay (but the imei continues 0)
and in the command: (find / persist -type f) the line does not appear (/persist/rfs/msm/mpss/dhob.bin.bak)
I finally executed the commands (chown -R rfs: rfs / persist / rfs and
chown -R rfs: rfs_shared / persist / hlos_rfs) and restarted the cell phone but the imei continued 0
Click to expand...
Click to collapse
The chown command won't do anything as the owners of the partitions are already rfs and rfs_shared.
Reflash stock rom again, and check if you get to see 2951 or 2952 on executing the command "ls -l /persist", and respond.
If you still don't get to see 2951 and 2952, then it seems you have tried doing some changes to your efs/persist partition by either restoring someone else's efs/persist or tried to edit yours.
what should I understand:It means that some custom roms erase imei while going back to stock,it can be recovered but volte cant
Is it right?
BogartX said:
what should I understand:It means that some custom roms erase imei while going back to stock,it can be recovered but volte cant
Is it right?
Click to expand...
Click to collapse
Partially right. Some custom ROMs do some changes with the EFS folder which is responsible for the recreation of IMEI. However, while flashing the Stock ROM, if you do not erase EFS partition, then you will retain your IMEI.
The commands which erase EFS partitions are:
Code:
fastboot erase modemst1
fastboot erase modemst2
The modemst1 and modemst2 are indeed the EFS partition itself. So just skip the above lines while flashing Stock ROM if the custom ROM is doing some changes with the EFS partition, and you will not lose your IMEI.
Volte can be recovered but there is a condition which should be satisfied. The baseband should remain as Indian. If it does, then you will be having Volte working and if it doesn't, you won't be having Volte running.
The only ROMs which are causing this issue on our device currently are Android Pie ROMs. I hope when Official Oreo is released for our device, the new blobs and modem will solve this issue. The developers have already checked if there is something in the ROMs which is causing this issue, and they found no problems at all. Same was the case with Oreo ROMs on Moto G5/Plus and Moto G5s/Plus
Heeth21 said:
The chown command won't do anything as the owners of the partitions are already rfs and rfs_shared.
Reflash stock rom again, and check if you get to see 2951 or 2952 on executing the command "ls -l /persist", and respond.
If you still don't get to see 2951 and 2952, then it seems you have tried doing some changes to your efs/persist partition by either restoring someone else's efs/persist or tried to edit yours.
Click to expand...
Click to collapse
yes actually I tried to restore the persistence of another person by a tutorial on youtube (I do not know if I can post the link here) and also did this tutorial to restore these files modem.img, fsg.img, hw.img: https://forum.xda-developers.com/moto-g4-plus/how-to/solve-moto-g4-plus-one-imei-fp-sensor-t3800410
already tried to reinstall the stock rom but does not appear the numbers 2951 or 2952
Do not have any solution for this?
This helped me alot,Thanks?
In my case both sim are working,with no volte
But jio 4g voice or dialer app with data on is not working
Yes I tried to restore the persist
the problem occurred after installing this rom 9.0 when I came back to the stock the imei was 0: https://forum.xda-developers.com/moto-g4-plus/development/rom-arrowos-9-x-t3859849
Oliver1995 said:
yes actually I tried to restore the persistence of another person by a tutorial on youtube (I do not know if I can post the link here) and also did this tutorial to restore these files modem.img, fsg.img, hw.img: https://forum.xda-developers.com/moto-g4-plus/how-to/solve-moto-g4-plus-one-imei-fp-sensor-t3800410
already tried to reinstall the stock rom but does not appear the numbers 2951 or 2952
Do not have any solution for this?
Click to expand...
Click to collapse
Restore your original persist back. I have seen that tutorial. This issue can only be solved if you are on your own persist as every device has its unique persist.
It doesn't matter if you tried restoring modem, hw, fsg files. Just make sure you are on your own persist.
If you haven't taken a backup of your original unmodified persist, then I'm sorry that is a completely different issue which I don't think there is a soluton to.
Pranavchorge said:
This helped me alot,Thanks
In my case both sim are working,with no volte
But jio 4g voice or dialer app with data on is not working
Click to expand...
Click to collapse
I was hoping if you could atatch your build.prop so that we can compare and check for Volte solution.
You need to grant permissions to Jio4GVoice, enable mobile data (wifi should be off), and dial via Jio4GVoice. Check if this works (it should), and then you will have an ongoing activity notification for Jio4GVoice app