Related
Okay guys, so here's a weird one.
My g-tablet was working great. Was running VEGAn-Tab Build, BETA 5.1.1, no reason to update it, because it did everything I needed. I finally had it to where I wanted it, then it all kind of started falling apart. Here's how.
I power it on and notice my home screen got all messed up for some reason (using launcher pro). All of the settings defaulted to the original. I tweaked it back to more or less how I wanted it, and when I had it back to normal, thought nothing better of it. Must have glitched out some how.
Then I notice a bunch of things starting to force close, specfically android market, amazon market, titanium backup, google services framework, launcher pro, etc. Odd thing is it would do it one at a time, but otherwise my tablet would carry on as normal.
I go ahead and restart the tablet, to see if that helps at all, and what do you know, the homescreen is messed up again! I thought launcher pro might have been the culprit, so I un-installed the app and rebooted... And launcher pro is still there.
I go ahead and delete it again and start deleting other apps, restarting the tablet, and no matter what I do, everything stays the same. time for some clockwork mod action. I go into clockwork mod, and try to do the factory reset option, thinking what the hey, I'll try anything right now. Hit it, mourn the loss of my user data, and reboot the system... and again, everything is still the same.
I hook up my tablet to the computer via usb, and it looks like I'm able to at least delete misc. files that way. But when I return to good old Tabatha (my nickname for Gtab) everything is stuck just the way it is.
Needless to say, it feels like I'm stuck in the twilight zone.
I know I should have researched it by now, but I'm going to finally look it up to see if I can recover with NVFlash (I know I know, very noobish of me, using strange roms and not knowing any of the basics).... but I'm increasingly worried I've got some kind of a hardware malfunction on my hands. Could it be the memory? The internal SD card?
Oddly enough, my tablet still functions... I can browse the web, hook it up to my computer, etc etc, but no matter what I do I can't alter the data I already have on my tablet. Can't delete things, can't change settings, update apps, etc. etc. Which makes it pretty much useless for what I wanted to use it for.
I finally realized what this is like. The movie groundhog day, and I'm stuck in the same day, over and over again.
Any help or input that might get me out of this mess would be greatly appreciated.
Phil: "I was in the Virgin Islands once. I met a girl. We ate lobster, drank piña coladas. At sunset, we made love like sea otters. *That* was a pretty good day. Why couldn't I get *that* day over, and over, and over..."
This is now the second time that I've seen this exact same problem. I was in the process of troubleshooting the original one when the user returned his gTablet for replacement. If you can stand the deja vu, read this thread.
Do not nvflash your tablet--nvflash cannot fix SD-card related problems. Read this post for why not.
Instead, do this for me: Reboot the gTablet, then open a Terminal, or, use adb and run this command:
Code:
$ dmesg > /mnt/sdcard/dmesg.txt
Attach that dmesg.txt which will contain messages from the kernel to your next post.
I'll check this thread in the evening.
rajeevvp said:
This is now the second time that I've seen this exact same problem. I was in the process of troubleshooting the original one when the user returned his gTablet for replacement. If you can stand the deja vu, read this thread.
Do not nvflash your tablet--nvflash cannot fix SD-card related problems. Read this post for why not.
Instead, do this for me: Reboot the gTablet, then open a Terminal, or, use adb and run this command:
Code:
$ dmesg > /mnt/sdcard/dmesg.txt
Attach that dmesg.txt which will contain messages from the kernel to your next post.
I'll check this thread in the evening.
Click to expand...
Click to collapse
Thanks for the direction, at least I know it isn't an isolated incident. It's 1:45 AM where I am right now, and I have to wake up for work in about 5 hours... So I probably won't be able to get in depth with the follow up on this stuff untill after work tomorrow night (so long as the wife doesn't hog the computer )
Again thanks for the quick response, I appreciate you pointing me into some sort of direction. Can't wait to try to get this sorted out!
Currently trying to figure out how to get ADB going.... pretty intimidating, but I'm trying. I got the Java JDK installed, installing the SDK, but can't find the "SDK Setup.exe" file or even a USB driver folder in the SDK directory. Got a good resource for getting ADB set up?
Save yourself some trouble. Got to http://www.knoppix.org/ and download the latest Knoppix live CD image.
Burn it, boot it, then use the adb executable from this post. For simple things like just running adb, you don't need the entire Android SDK.
Get me a dmesg while inside ClockworkMod:
Code:
$ [B]sudo ./adb shell dmesg > dmesg.txt[/B]
ADB commands documentation
Thanks, I'll try it out sometime this weekend!
Well, I really screwed myself now. I got the Linux distro loaded but still couldn't figure out how to get ADB to work. For whatever reason, When I boot from the DVD, I can't download the zip from within linux (get errors) and I could not open the ADB command by navigating to where I have it extracted in my hard drive. [Do I need to load the OS onto a flash drive instead?]
So I started messing with some stuff in clockwork mod. I apparently really goofed it, and I got a "Magic Value Mismatch" error everytime I tried to boot it up.
I looked up Magic Value Mismatch, and from there it pointed to using NVFlash to try to fix that problem. So tried that. After I flashed it, I thought for sure I finally had it back to stock, as the intro screen started to show the tap n tap logo... but i basically got stuck in a boot loop, tap n tap, then "n", then tap n tap, then "n", etc, until it dies.
I looked up this issue and apparently the key is to get into clockwork mod and do factory reset, reset cache, and partition the SD card to 2048 and 0, which I did... (per post #4 on this thread: http://www.slatedroid.com/topic/17501-helpstuck-in-bootloop/ ) but still no dice.
Not sure where to go from here, or if I can even get it to interface with ADB in its current state. Looks like I'm done for
Thanks for trying though
On second thought, I may have had a breakthrough, at least in getting ADB to see my tablet!!! Woohoo! It finally sees the device and has a serial number. Was following the device on this thread:
http://www.androidtablets.net/forum/viewsonic-gtablet-technical/5377-adb-g-tab-step-step.html
7. under the "[Google.NTx86]" section, paste the following:
Code:
;NVIDIA Tegra
%SingleAdbInterface% = USB_Install, USB\VID_0955&PID_7000
%CompositeAdbInterface% = USB_Install, USB\VID_0955&PID_7100&MI_01
save the file and exit.
But I have a 64 bit machine, so I finally figured it out and plopped that into the 64 bit portion of the .inf file. DOH!
So now let me see what I can drum up through the previous commands above.... though the parameters have changed now to be sure... Due to my haste things may have taken a turn for the worse.
To recap, now my tablet is stuck in a boot loop after having done NV Flash, after having screwed up some settings in clockwork mod trying to fix a "Magic Value Mismatch" error.
Tried:
$ dmesg > /mnt/sdcard/dmesg.txt
I just run this in the cmd prompt at my platform-tools directory where the adb is correct?
All it says is, "The system cannot find the path specified."
Am I doing something wrong, or is my tablet that messed up?
Okay, this is slightly weird. So I was browsing around in clockwork mod, and lo and behold, the original zip flies for vegan tab are all STILL THERE. So I reloaded them... And My tablet zips back to exactly the way I had it before!
Only this time, so far no force closes. This looks way too good to be true after what I've been through. I'm going to try modifying some files and settings and restart my tablet to see what it does. I'm pretty sure I can't be out of the woods yet. Allthough it is 3:33 AM as this is happening... magic hour. I may be going insane.
EDIT: Nope, was definitely way too good to be true. All my data is as stuck as it was ever was. But at least now I can get into it again. But now we're back to square one. Lemme figure out this dmesg business and get back to you. X(
So I would try issuing the following exactly in the command line at the adb platform tools folder:
$ dmesg > /mnt/sdcard/dmesg.txt
Is that code supposed to be copy and paste in? I don't seem to be getting anything. I can do the following command and get the info to pop into the command interface:
adb shell dmesg
But I can't figure out how to save that to a text file. And you want me to do that while the g tablet is in recovery, correct?
FYI, trying to do it through Windows 7. Would that command only operate in the linux environment via knoppix?
Thanks
titobetlogs said:
I can do the following command and get the info to pop into the command interface:
adb shell dmesg
But I can't figure out how to save that to a text file.
Click to expand...
Click to collapse
Redirect the output to a file:
Code:
C:\SOME\PATH> [B]adb shell dmesg > dmesg.txt[/B]
titobetlogs said:
I got the Linux distro loaded but still couldn't figure out how to get ADB to work. For whatever reason, When I boot from the DVD, I can't download the zip from within linux (get errors) and I could not open the ADB command by navigating to where I have it extracted in my hard drive.
Click to expand...
Click to collapse
I suggested using Knoppix just because it is so easy to use adb in Linux. Broken-down steps for future reference:
1. Download and burn the latest Knoppix Live CD iso image. Check the downloaded file size. The .iso file should be ~700MB in size. Also, test the CD by booting it and then typing at the boot prompt: knoppix testcd
2. Boot Live CD and skip the creation of any partition or file to store user data. After all, we just want to run adb.
3. After Knoppix has booted into the desktop, run a browser, right click on the adb.zip attachment in this post, then select "Save Link As..." and save the zip file into /tmp.
4. Connect the gTablet to the PC via the USB cable.
5. Open a terminal window, then type in it:
Code:
hostpc$ [B]cd /tmp[/B] [I]Change to the dir. where adb.zip was saved[/I]
hostpc$ [B]unzip adb.zip[/B] [I]Unzip zip file[/I]
hostpc$ [B]ls -l adb[/B] [I]Check if the adb program was extracted OK[/I]
-rwx------ 1 rvp rvp 159620 Dec 1 22:23 adb
hostpc$ [B]chmod 555 adb[/B] [I]Make adb executable.[/I]
hostpc$ [B]sudo ./adb shell dmesg > dmesg.txt[/B]
Note 1: do not type in the shell prompt, 'hostpc$'. It is only there to show you what the screen should (roughly) look like.
Note 2: If adb says something like "device not found", just unplug the USB cable from the PC, wait a few moments, then re-plug the cable and re-run the adb command again.
6. Go back into the browser and attach the dmesg.txt file that is there in /tmp. You will have to tell the Noscript plugin to allow scripts from xda-developers to enable attachments. Right click on the page, then select the Noscript menu item, then choose "Temporarily allow xda-developers.com".
I thought for sure I finally had it back to stock, as the intro screen started to show the tap n tap logo... but i basically got stuck in a boot loop, tap n tap, then "n", then tap n tap, then "n", etc, until it dies.
Click to expand...
Click to collapse
I'm not surprised. If the files on the internal SD card cannot be modified then that boot loop behaviour is to be expected. Here's why:
Android requires certain partitions to exist on the system. These partitions can be either on the flash or on SD cards. The partitions are:
/system: This is where the binaries and system apps that come with the firmware are stored. This partition is usually mounted read-only to protect it. On the gTablet, this partition is on the 512MB built-in NAND flash chip.
/cache: As the name indicates, this is the partition used to speed up the execution of the Java apps. Temporary files are also created here. This partition too is on the built-in NAND flash chip.
/data: This is where user-downloaded apps are stored by default, and also where Android stores its system configuration data. This partition, on the gTablet, is on the internal SD card.
/sdcard: This is where user content like media files, books, and the apps moved to SD card are stored. This partition too is on the internal SD card.
The first 3 partitions are critical and Android won't come up without them being present (or, if there are any errors on them). Among these 3, only /system needs to be correctly populated (When you install a ROM, new stuff is copied here). The other 2 partitions, /data and /cache can be empty and the system will boot up fine--with defaults. In fact, when you select "wipe data/factory reset" in CWM, /cache and /data are re-formatted--effectively, wiped clean.
(There are 2 other important partitions on the NAND flash chip, but, these are not mounted because they don't contain a proper filesystem. You have to use special tools to create the contents of these 2 partitions.
The first of these is the "boot" partition. This one and "system" are re-written when you install a new ROM. The "boot" partition holds the Android Linux kernel. If you install a new kernel, only the "boot" partition is rewritten.
The second is the "recovery" partition. This contains a separate, and usually different (and safe), Linux kernel and a mini filesystem image. This is a fail-safe partition. Stock recovery and ClockworkMod sit here.)
In your case, nothing on the internal SD card can be modified, so the stuff in /data will still be from your old ROM. (nvflash also cannot modify SD card contents, as I mentioned before.) When the stock firmware boots up, it will find incompatible stuff in /data. Critical apps will then die. Android will restart them, they will die again. This is your boot loop.
Get me the dmesg output and then we'll run a few tests using CWM, but, judging from your previous posts, I don't think your internal SD card can be fixed. You have 2 options:
1. Return the tablet for a replacement.
2. If you can't return it, I can switch the internal and external SD cards on your ROM so that you can boot and use the system (almost) normally. But, this is a custom solution and you will need to have an external SD card in its slot always. Read through this thread.
Wow, you really know you're stuff! I'll see what I can get you later on in the day with regard to the dmesg, I'm currently still at work.
I had suspected a hardware error... bummer. I'll definitely be interested in seeing if I can just use the external micro sd slot to sub out for the internal sd card. I would at least like this thing to be functional again, though I suppose I'll never be able to try any of the honeycomb roms when those get past alpha. Oh well.
Do you know if this thing takes 32 gb micro sd cards? That would be pretty awesome, I at least wouldn't feel too limited on space.
By the way, thanks for all your help on this, I know I'm a huge noob. I greatly appreciate your patience and taking the time to break everything down for me. I have absolutely zero background in programming or anything computer related, though I do find this stuff extremely fascinating! If I could rewind the clock and study this stuff in school, I would do it in a heartbeat.
Again, thanks so much, can't thank you enough.
titobetlogs said:
I would at least like this thing to be functional again, though I suppose I'll never be able to try any of the honeycomb roms when those get past alpha. Oh well.
Click to expand...
Click to collapse
No, you should be able to run whatever ROM you want. I'll send you an installable zip file, in a few days, which should get you going again on Vegan-Tab, at least. You'll just need to remember to flash this zip file right after you've flashed the ROM (of your choice).
Right now, I don't know if I need one zip file for each kind of ROM in existence for the gTablet, or, if I can use some scripting and do the internal/external SD card switch using just a single installable zip file. I'll look into this on the weekend.
Do you know if this thing takes 32 gb micro sd cards?
Click to expand...
Click to collapse
Yes, it does.
By the way, thanks for all your help on this, I know I'm a huge noob...
Click to expand...
Click to collapse
I was a complete noob to Android myself back in April of this year. I've picked all of this up in just a few months. I'm pretty sure you can do it too, with a bit of poking around in the system. Of course, having a background in Unix/Linux helps a lot.
In your honor, below are some inspiring lyrics from the Karate Kid soundtrack:
You’re the best!
Around!
Nothing’s gonna ever keep you down
You’re the Best!
Around!
Nothing’s gonna ever keep you down
You’re the Best!
Around!
Nothing’s gonna ever keep you dow-ow-ow-ho-how-ho-own
INSPIRING GUITAR SOLO
Dude! you're embarrassing me -- I haven't send you the zip file yet... and, you haven't sent that dmesg output I wanted.
I know I've been stuck at work and family functions every day this week so far. Hopefully I'll get to it soon
Finally got to this! Here you go! Thanks again!
titobetlogs said:
Finally got to this! Here you go!
Click to expand...
Click to collapse
Can't see any problems in that dmesg output. Time for some tests on the internal SD card.
Boot into CWM, then run on PC (on Linux run: sudo ./adb shell):
Code:
C:\SOME\PATH> [B]adb shell[/B]
~ # [B]mount /dev/block/mmcblk3p1 /sdcard[/B] [I] Mount internal SD card partition[/I]
~ # [B]mkdir -p /sdcard/a/b/c[/B] [I]Make a directory tree[/I]
~ # [B]echo test > /sdcard/a/b/c/test.txt[/B] [I]Create a file[/I]
~ # [B]cat /sdcard/a/b/c/test.txt[/B] [I]Read it back again[/I]
test [I]Correct[/I]
~ # [B]echo 3 > /proc/sys/vm/drop_caches[/B] Flush kernel caches
~ # [B]cat /sdcard/a/b/c/test.txt[/B] Read it back again
test Correct
~ # [B]umount /sdcard[/B] [I]Unmount[/I]
~ # [B]mount /dev/block/mmcblk3p1 /sdcard[/B] [I]Remount /sdcard[/I]
~ # [B]cat /sdcard/a/b/c/test.txt[/B] [I]Reread file[/I]
test [I]You should see "test" here[/I]
~ # [B]umount /sdcard[/B]
You should see "test" after the kernel flush and the remount.
Next, reboot the tablet--back into CWM, then run the cat command again. `cat' should output "test", again, if the SD card is OK.
Here's a screen of the commands I entered and what I got back. Did I do anything wrong? Looks like something's a bit off.
I have a GTab that was running Calkulin + Clemsyn Combo Overclock at 1.5 ghz V8 on the 1.2 branch fine for a couple months now, then something happened today. Woke up to find there was no sound coming from it (I'd left an Anti-mosquito app running all night), so I tried to play a couple music files. Seemed to get frozen instead of playing, so I restarted. That's when it went into a boot loop from 3 birds to the first splash screen of the loaded ROM.
Attempted to do a backup via CWM, and it failed on /data. Tried a data wipe/reset, then reflashing the ROM and finally NVFlash. Still goes into a bootloop. Repartitioning and mounting doesn't do anything; ADB doesn't see the device at all in CWM or APX; /data cannot be mounted and /sdcard mounts only when a card is inserted (doesn't see the internal space) but still doesn't mount USB storage and says: "E:Unable to write to ums lunfile (No such file or directory)"; drive shows in Win7, but is inaccessible;
As mentioned, APX mode and NVFlash along with CWM works fine. And I can mount /cache and /system fine. I've gotten to Code Double Red here and now I'm draining the battery for the next step (really don't want to pull any screws). Also tried the fix here, but it seems that's just for CM7, which I'll probably try flashing some time.
I'm going to return to the 1.1 branch and try a couple ROMs there, but I have a really slow connection and it's taking a while to get nvflash 1.1.
Did a quick search of the forum and didn't find anything quite similar. Obvious question is, has anyone ever experienced this before? What are some other steps I can take to fix this? Is there a way to backup the internal SD before I probably have to wipe it?
Connect the USB cable to the tablet, then boot it into CWM, and run this command on your PC:
Code:
C:\SOME\PATH> [B]adb shell dmesg > dmesg.txt[/B]
Post that dmesg.txt file here. We'll see what's wrong.
Connected the charger long enough to run the command, but all I get is "error: device not found". As I'd said, ADB doesn't detect the tablet, even though Windows knows when it's connected and disconnected. Is there anything that I can flash to get me a terminal? That's the only way I can think of to get that command run and hopefully direct the output to my SD. Thanks.
I now have a completely dead battery. Wondering what to do next since it's supposed to have been hard reset now. Not seeing anything different after booting; same boot loop even though I just flashed a ROM again.
rajeevvp said:
Connect the USB cable to the tablet, then boot it into CWM, and run this command on your PC:
Code:
C:\SOME\PATH> [B]adb shell dmesg > dmesg.txt[/B]
Post that dmesg.txt file here. We'll see what's wrong.
Click to expand...
Click to collapse
I had seen this thread before where you were helping someone last year. Wish I'd read further to see that he eventually got the same problem I now have. I'm currently working my way through everything. First I need to get ADB running though, so I'm working on that now. Think I may be needing that partition swap trick, but we'll see...
Having issues getting the right USB drivers installed for ADB on Windows 7 64 bit. Using instructions here. But each time I uninstall the device, as soon as I plug in the tablet, it installs the default drivers. Using both Device manager and USBDeview. Updating and other options are also disabled when there is nothing installed. Considering to do a direct registry hack of the device info if I can, and hopefully not break anything important.
Try using Linux.
I finally got ADB working on my system and did some experimenting. Seems there's definitely something wrong with my internal SD according to the dmesg output. Luckily I have a SD which I used in my SG3, and it is already properly partitioned, so I'll try using that. Tried making a fstab file in /etc (mtdblock3) but I got "Magic Value Mismatch" error, so I NVFlashed to return it to how it was. I'm currently researching how to create update files, because it seems that's the only way I can get the SDs swapped. Any guidance is still welcomed. Thanks alot.
Skele Drew said:
Seems there's definitely something wrong with my internal SD according to the dmesg output.
Click to expand...
Click to collapse
Yeah. There are clear error messages relating to the internal SD card. You can either return the tablet and get a replacement, or, use my SD card device swapping technique to use the external SD in place of the non-working internal one.
Tried making a fstab file in /etc (mtdblock3) but I got "Magic Value Mismatch" error, so I NVFlashed to return it to how it was. I'm currently researching how to create update files, because it seems that's the only way I can get the SDs swapped.
Click to expand...
Click to collapse
If you use my files, you don't need to modify anything manually. What're you trying to change, BTW?
I can definitely use some help there. Where are the files? I tried modifying the custom ROM I use by adding a custom fstab and vold.fstab to /etc, an init script to init.d and replacing the /data mounting command with:
Code:
ui_print("Copying Data Files");
run_program("/sbin/mount", "-t", "ext3", "/dev/block/mmcblk2p2", "/data");
ui_print("Mount information:");
ui_print(run_program("/sbin/mount"));
Not sure what you're attempting to do here...
If you just want to use an external SD card in place of your non-working internal one, then all you have to do is a) flash either one of the CWM zip files and then b) flash the SD card swapping zip file right after you install the ROM of your choice. And, if you tell me which ROM you plan to install, I can look inside it and tell you if my scripts will work with that ROM.
If you can read shell/awk scripts, you can look inside the zip files to see what they do and how they do it.
rajeevvp said:
Not sure what you're attempting to do here...
If you just want to use an external SD card in place of your non-working internal one, then all you have to do is a) flash either one of the CWM zip files and then b) flash the SD card swapping zip file right after you install the ROM of your choice. And, if you tell me which ROM you plan to install, I can look inside it and tell you if my scripts will work with that ROM.
If you can read shell/awk scripts, you can look inside the zip files to see what they do and how they do it.
Click to expand...
Click to collapse
I was trying to make a swap script myself, but it's not working. /system dir gets corrupted. I'm using Clemsyn_Caulkinver8final2, a Froyo ROM.
Look at my scripts. If you have any questions, just ask.
Where are the scripts? That's what I've been asking...
EDIT: If this is what you use, then all should be ok. Let you know the result when I'm again online. Thanks alot for your help!
That's what I was talking about. I modified the device-swapping script today to fix-up an additional shell script, /system/etc/inandop.sh, on the various Clemsyn/Beasty ROMs (incl. yours), so use the newer zip file.
rajeevvp said:
That's what I was talking about. I modified the device-swapping script today to fix-up an additional shell script, /system/etc/inandop.sh, on the various Clemsyn/Beasty ROMs (incl. yours), so use the newer zip file.
Click to expand...
Click to collapse
Appears it still doesn't work. However, now instead of having a boot loop, it's just stuck at the splash screen after the 3 birds. I'm going to try combining your script and the ROM to see if I can get better results. I'm also going to try inserting some log/debug messages where I can.
Skele Drew said:
Appears it still doesn't work. However, now instead of having a boot loop, it's just stuck at the splash screen after the 3 birds. I'm going to try combining your script and the ROM to see if I can get better results. I'm also going to try inserting some log/debug messages where I can.
Click to expand...
Click to collapse
THANK YOU RAJEEV!!!!!!!
Today I got the time to work on my tablet again, since I just restarted college and it's been a bit hectic. Decided to try CM7 since when I looked into your script I saw direct management for it, so I NV'd back to 1.1 (I didn't know what branch CM7 was on, but flashing CM7 on 1.2 gave an error and aborted). The first time I tried the CM7, it got to the CM7 logo, then was there for a while until I only had a black screen. The only way I knew the tablet was still on was because ADB was still connected. Then I flashed your script and VOILA! everything started great. So now I have my tablet again for my classes .
I am planning to still run a few tests to see if I can somehow recover/fix the internal SD, so I downloaded your set of e2fsprogs. Think I'll make a flashable file for the entire package.
Again, thanks for all your assistance. It's much appreciated. I really didn't have that much time anymore to work on it myself too. I will continue to learn more as time goes on though, and I hope one day I'll become a guru like you .
Skele Drew said:
Decided to try CM7 since when I looked into your script I saw direct management for it, so I NV'd back to 1.1 (I didn't know what branch CM7 was on, but flashing CM7 on 1.2 gave an error and aborted).
Click to expand...
Click to collapse
The official CM7 is, right now, only for 1.1. However, since you can replace just the kernel and instantly make a 1.2 ROM, you'll have to look at the kernel messages to tell which bootloader version you have (Note: this is only for pershoot kernels).
The first time I tried the CM7, it got to the CM7 logo, then was there for a while until I only had a black screen. The only way I knew the tablet was still on was because ADB was still connected.
Click to expand...
Click to collapse
This is to be expected. When a ROM first runs, it writes a whole bunch of stuff into /data; but, your internal SD card is messed up, so every write would've ended up with the kernel retrying for quite a bit and then failing.
You should've flashed the ROM and immediately afterwards my script to fix-up the mount points on the ROM--ie. before the first boot.
I am planning to still run a few tests to see if I can somehow recover/fix the internal SD, so I downloaded your set of e2fsprogs. Think I'll make a flashable file for the entire package.
Click to expand...
Click to collapse
I doubt if you can "fix" your internal SD card error using any of the e2fsprogs--it looks like a card-controller error rather than a media error. You have one of the non-standard internal SD cards which has caused problems for some other users as well.
Ok. I do have a few issues I hope I can get some help on. For one, flash player doesn't work, and that's something very important. All my browsers direct me to get flashplayer. It worked pretty well in my previous ROM, so it may be an issue with CM7, but I haven't seen any similar issues on their site.
Also, the tablet is less responsive now, though I think this has to do with the /data partition being on external SD, though it's a class 6 card.
Sent from my GTablet using Tapatalk
Did you partition the external SD card correctly into 2 partitions (the first as VFAT and the second as ext3) before you installed CM7? I'm not sure what steps from my post you followed and what steps you skipped: you mentioned you were planning to modify the scripts/ROM, right?
It is also possible that my script is not doing the right thing on CM7 since it doesn't touch the vold.fstab on it. Get me the output of a mount command in CM7, and these files:
Code:
/system/etc/vold.fstab
/system/build.prop
Also make sure that you, or the ROM provider, haven't enabled the SD card switching in Settings > Cyanogenmod settings.
The SD I'm using was in a SG3 using this ROM, so I think it's correctly partitioned. I've accessed the partitions before and the correct names are associated with the contents. I only followed steps 1 & 4. The option to use removable for apps and media is disabled.
build.prop
mount.txt
vold.fstab
Hi,
This is one of those crazy days in which questions keeps popping up, and so I create my second thread. :/ Anyways ...
For starters I have a Samsung Galaxy Nexus with ICS 4.0.4, and my computer is an Apple MacBook with Mac OS X Snow Leopard. I was about to go to bed, and wanted to transfer some new wallpapers to my phone via the USB cable. I got error messages when I tried to transfer the files, and noticed that an unrecognized corrupt file appeared when I replugged my phone (several times). After a few retries I decided to restart my Nexus and try again. However, after I had restarted, I observed that my Wallpaper folder (with all my wallpapers) was gone.
It's not a big issue, as they're only wallpapers. However, it might happen again with something more critical, and I'd like to figure this out. I'm an avid Linux user for years, using Gentoo Linux as my main operating system. So I don't mind getting down and dirty, if that's necessary.
My first thought is that it still might be on the partition / SD card / whatever the Nexus has, and I might retrieve it by going down on the file system via adb and fs-tools; if that's even possible.
Any input on how I'm to solve this is greatly appreciated.
Here's a follow up:
Doing anything with ADB was of course limited by the tools I had installed on the device, which gave me almost nothing. Except I could confirm that the folder was definitely not visible (or hidden). Additionally I checked the summed size of /sdcard up against what the system is reporting, and there's about 375 MB which is accounted for but invisible. :'(
Alright, so this is going to take a bit of explaining, please bear with me.
I got this phone a couple of weeks ago, subsequently rooted it, and shortly thereafter decided upon Viper for my ROM. After playing around for a bit, I took a look at Beastmode kernel yesterday. I backed up my phone, installed the new kernel, and everything went to hell shortly thereafter. Upon rebooting, my phone no longer detected a mounted SD card. Along with this, it also doesn't have working audio. I tried rolling back to my restoration point, but I cannot find it now. While digging through directories in recovery, I've found two things out.
1: There is now a storage/emulation/legacy folder with (almost) every folder that was in mnt/sdcard.
2: My restore point is gone, and I don't have the original kernel on my phone
I figured this wouldn't be THAT big of a problem, connect my phone to my PC, go into ADB and try to push the stock s-off kernel. Next set of problems.
1: /mnt/sdcard is showing as a non-directory, insists it doesn't exist.
2: storage/emulation/ shows as read only, and all lower subdirectories are coming up as not existing (I believe it to be an issue with folder naming, legacy is actually 0 on my file explorer on the phone, I think?).
Where I stand now::
At this moment, I have the HTC Droid DNA Toolkit running, the stock s-off Kernel, and a phone that doesn't cooperate with anything.
Also; I tried downloading the .zip directly on my phone, but because it doesn't think there's an SD card, it's refusing to let me download it. It lets me download apps from the market, though.
Any ideas?
PS! Forgot the biggest SNAFU in all of this. On my phone are about 200 pictures from my vacation which I hadn't put onto my computer yet because I am an imbecile. This is keeping me from wiping the phone down to brass tacks and starting all over. If someone can find a way for me to pull said pictures from my device, I can wipe it and see if that helps.
Killerkendolls said:
Alright, so this is going to take a bit of explaining, please bear with me.
I got this phone a couple of weeks ago, subsequently rooted it, and shortly thereafter decided upon Viper for my ROM. After playing around for a bit, I took a look at Beastmode kernel yesterday. I backed up my phone, installed the new kernel, and everything went to hell shortly thereafter. Upon rebooting, my phone no longer detected a mounted SD card. Along with this, it also doesn't have working audio. I tried rolling back to my restoration point, but I cannot find it now. While digging through directories in recovery, I've found two things out.
1: There is now a storage/emulation/legacy folder with (almost) every folder that was in mnt/sdcard.
2: My restore point is gone, and I don't have the original kernel on my phone
I figured this wouldn't be THAT big of a problem, connect my phone to my PC, go into ADB and try to push the stock s-off kernel. Next set of problems.
1: /mnt/sdcard is showing as a non-directory, insists it doesn't exist.
2: storage/emulation/ shows as read only, and all lower subdirectories are coming up as not existing (I believe it to be an issue with folder naming, legacy is actually 0 on my file explorer on the phone, I think?).
Where I stand now::
At this moment, I have the HTC Droid DNA Toolkit running, the stock s-off Kernel, and a phone that doesn't cooperate with anything.
Also; I tried downloading the .zip directly on my phone, but because it doesn't think there's an SD card, it's refusing to let me download it. It lets me download apps from the market, though.
Any ideas?
PS! Forgot the biggest SNAFU in all of this. On my phone are about 200 pictures from my vacation which I hadn't put onto my computer yet because I am an imbecile. This is keeping me from wiping the phone down to brass tacks and starting all over. If someone can find a way for me to pull said pictures from my device, I can wipe it and see if that helps.
Click to expand...
Click to collapse
Have you tried using an OTG cable to mount a flash drive? That's what I do when I backup/flash anything, I keep all my roms, kernels, backups, basically anything flashable on a flash drive, and use an OTG cable in CWM.
For the pictures:
Step 1; adb reboot recovery
Step 2; adb devices (to make sure it's detected)
Step 2.1: If your phone isn't detected, open sideload in recovery, adb devices again, then close sideload
Step 3: adb pull /sdcard/ C:\<username>\Desktop\sdcardbackup\
To fix everything else you'll probably need to wipe everything and flash a new rom.
EDIT: For future "snafus" the sdcard is on /sdcard/ not /mnt/sdcard/ because it's on internal memory, not mounted memory.
walther1337 said:
For the pictures:
Step 1; adb reboot recovery
Step 2; adb devices (to make sure it's detected)
Step 2.1: If your phone isn't detected, open sideload in recovery, adb devices again, then close sideload
Step 3: adb pull /sdcard/ C:\<username>\Desktop\sdcardbackup\
To fix everything else you'll probably need to wipe everything and flash a new rom.
EDIT: For future "snafus" the sdcard is on /sdcard/ not /mnt/sdcard/ because it's on internal memory, not mounted memory.
Click to expand...
Click to collapse
Well, I feel silly for that confusion. I've pulled everything from the sdcard, which honestly mattered more to me than fixing the phone. I'll putter around with getting the ROM and kernel operating correctly in the next couple of hours.
UPDATE!
Once I had the adb pull command corrected for me, pushing the new ZIP on there was an instant success in recovery. SD card exists correctly once again, installed Viper ROM over, full functionality once more.
Killerkendolls said:
Well, I feel silly for that confusion. I've pulled everything from the sdcard, which honestly mattered more to me than fixing the phone. I'll putter around with getting the ROM and kernel operating correctly in the next couple of hours.
UPDATE!
Once I had the adb pull command corrected for me, pushing the new ZIP on there was an instant success in recovery. SD card exists correctly once again, installed Viper ROM over, full functionality once more.
Click to expand...
Click to collapse
you can always do this too as long as the device is recognized by adb
Code:
adb shell
this will get you into the actual device where you can navigate around by using the " cd /dir_name " command and to go back up a dir use " cd .. " (a space and 2 "."s are needed) or just " cd " to get back to the starting point... if you know how to navigate through a unix terminal then you will know what to do here...
some other useful commands
Code:
ls, ls -a, ls -l, cd, cp, mv
ls = list (lists files/folders) "-a" means all, "-l" just makes it look neat and laid out better.
cd = change directory aka "dir"
cp = copy /path/to/file.ext /path/to/where/you/want/to/save/it/file.ext
mv = move (same as ^ ) except it just moves it and doesn't copy
oh and to exit adb shell just type "exit"
Honestly, just grab a working kernel. And use fastboot. Especially since you're s-off
fastboot flash boot boot.img should get you back in working order.
Sent from my HTC6435LVW using XDA Premium 4 mobile app
First time posting and I wanted to say thank you to all the excellent talent here on XDA! None of this would have been done without the work of so many people.
I have a Moto G Play (2021) (XT2093-4) that I recently purchased (Best Buy - $159 US/Carrier Unlocked) and I wanted to document my adventure in to rooting, making '/system' RW, and fixing the missing LED notification light (hint: I used the charging light) (hint^2: It's not required to make '/system' RW in order to fix the LED notification light - I just wanted more control over my phone).
First, "OEM unlocking" was greyed out for me, but became available after several days of having the phone online with a SIM card.
I followed the instructions here to unlock the bootloader and root with Magisk (Non-TWRP). Along with these instructions.
Once bootloader is unlocked, you will need the 'boot.img' file from your stock firmware. I used the "Rescue and Smart Assistant" utility to grab a copy of the stock firmware (GUAMNA_RETAIL_QZAS30.Q4_39_35_9_subsidy_DEFAULT_regulatory_DEFAULT_CFC.xml) and extracted the "boot.img" file for the next steps.
Continue installing Magisk (Filenames may be different! Don't just copy and paste.):
Code:
adb install Magisk-v23.0.apk
adb push boot.img /sdcard/Download
(Follow the instruction on your phone to patch 'boot.img' in Magisk)
adb pull /sdcard/Download/magisk_patched-23000_aKKMt.img
adb reboot bootloader
fastboot flash boot_a magisk_patched-23000_aKKMt.img
fastboot flash boot_b magisk_patched-23000_aKKMt.img
You should now have a working, rooted Moto G Play. You can just stop here and have fun with your phone, but I noticed that even with root, the system partition was not RW.
I followed these instructions to make '/system' writable (Note: you will need the 'sysrw_repair.zip' that's included in the bundle and a Linux system):
Code:
adb push systemrw_1.32_flashable.zip /data/local/tmp/
adb shell
su
cd /data/local/tmp/
unzip systemrw_1.32_flashable.zip
cd systemrw_1.32/
chmod +x systemrw.sh
./systemrw.sh in=`ls -l /dev/block/by-name/super | awk '{print $NF}'` out=/data/local/tmp/systemrw_1.32/img/super_original.bin size=50
The phone doesn't have enough space to complete 'lpmake' on the device and will end with an "Error 73" code. Running the "sysrw_repair_v1.32" tool on a Linux machine was a workaround because it pulls the '*.img" files to your local machine then combines them in to a single '.bin' file. But, before I did that, and because it's really annoying, I made some room to stop the phone from complaining about a lack of space:
(Still on the phone's adb)
Code:
rm ./img/super_original.bin
Now, on the Linux machine, I unzipped 'sysrw_repair_v1.32_proper.zip' then commented out line 39 (where it calls the "flash()" function) of the script (sysrw_repair.sh) because I wanted to flash the "super" partition myself.
(On another Linux terminal)
Code:
cd /path/to/unzipped/sysrw_repair/dir/
chmod +x sysrw_repair.sh
./sysrw_repair.sh
This results in a new folder (img) with a rather large bin file (super_original.bin).
(Back on the phone adb)
Code:
exit # Exit root
exit # Exit adb
adb reboot bootloader
Now it's time to flash the fixed bin file to the "super" partition:
Code:
cd /path/to/unzipped/sysrw_repair/dir/
fastboot flash super ./img/super_original.bin
fastboot reboot
You should be able to login and have a writable '/system':
Code:
adb shell
su
mount -o rw,remount /
No errors should appear.
Last, I like having an LED indicator that tells me that I have an SMS/MMS notification waiting. Motorola thought it would be wise to eliminate that feature altogether instead of having the option to enable it. So, I forced it back on using a startup script that dumps the notifications and greps for some key words. And, if it finds something, it "breaths" the charging LED. The script loops until the notification is gone, then keeps checking for new notifications every 30 seconds. (Note: the "/data/adb/service.d/" directory is used by Magisk like an INIT service):
(Still root on the phones adb)
Code:
cd /data/adb/service.d/
cat <<EOF > ledfix.sh
#!/bin/sh
while true; do
if dumpsys notification | egrep NotificationRecord | egrep sms > /dev/null
then
if [[ $(cat /sys/class/leds/charging/breath) == 0 ]]
then
echo 1 > /sys/class/leds/charging/breath
sleep 2
continue
else
sleep 2
continue
fi
elif egrep 'Charging' /sys/class/power_supply/battery/status > /dev/null
then
if [[ $(cat /sys/class/leds/charging/breath) -ne 0 && $(cat /sys/class/leds/charging/brightness) -ne 0 ]]
then
echo 0 > /sys/class/leds/charging/breath
echo 255 > /sys/class/leds/charging/brightness
elif [[ $(cat /sys/class/leds/charging/breath) == 0 && $(cat /sys/class/leds/charging/brightness) == 0 ]]
then
echo 255 > /sys/class/leds/charging/brightness
else
continue
fi
else
echo 0 > /sys/class/leds/charging/breath
echo 0 > /sys/class/leds/charging/brightness
fi
sleep 30
done
EOF
chown 0.0 ledfix.sh
chmod 0755 ledfix.sh
reboot
Now, the charging light will fade off and on about every 2 seconds if there's an SMS/MMS notification waiting. And will check for notifications every 30 seconds. I'm sure someone can come up with a better way of doing this, but this was a nice quick-and-dirty way to get what I wanted.
Hope this helps!
I created an account to say thank you for this, I have already done a good portion, having unlocked the bootloader, the problem is the Rescue Smart Assistant, it won't let me log in, it keeps telling me it can't connect, and the GUI is different because of an update, there is no download button inside the program, only a greyed out rescue button. How did you manage to make the backup Boot.img? Maybe you are using a different OS, and/or version of the program (Not the app, that is already auto-installed), I'm using Windows 10, are you on Linux? I might just need to try from Linux, maybe in a VM.
I was trying to do this before I found this post, and have already installed ADB, the SDK, fastboot, and Motorola Drivers, I just need a way to get the Boot.img, and to patch it, also figure out how to flash it. The last android I rooted with a custom rom was the HTC EVO 4G with Oreo/Jellybean, so I'm a little rusty, but am able to understand technical jargon.
If anyone could help, that would be awesome. I've reinstalled different versions of Rescue Smart Assistant as well, they always upgrade on boot, same problem. I've added exceptions to my firewall and everything.
UPDATE: Was about to post this when I had updated from android 10 to 11 and decided to try logging in again a little closer to my router, to see if the connection was timing out, I think that was the cause, as I can now sign in, and the GUI seems correct from the first appearance. I don't see why I should have any trouble following the rest of the guide, but feel I should share my trials and frustrations anyways, for anyone else experiencing the same,
Thanks again.
PROFSLM said:
I created an account to say thank you for this, I have already done a good portion, having unlocked the bootloader, the problem is the Rescue Smart Assistant, it won't let me log in, it keeps telling me it can't connect, and the GUI is different because of an update, there is no download button inside the program, only a greyed out rescue button. How did you manage to make the backup Boot.img? Maybe you are using a different OS, and/or version of the program (Not the app, that is already auto-installed), I'm using Windows 10, are you on Linux? I might just need to try from Linux, maybe in a VM.
I was trying to do this before I found this post, and have already installed ADB, the SDK, fastboot, and Motorola Drivers, I just need a way to get the Boot.img, and to patch it, also figure out how to flash it. The last android I rooted with a custom rom was the HTC EVO 4G with Oreo/Jellybean, so I'm a little rusty, but am able to understand technical jargon.
If anyone could help, that would be awesome. I've reinstalled different versions of Rescue Smart Assistant as well, they always upgrade on boot, same problem. I've added exceptions to my firewall and everything.
UPDATE: Was about to post this when I had updated from android 10 to 11 and decided to try logging in again a little closer to my router, to see if the connection was timing out, I think that was the cause, as I can now sign in, and the GUI seems correct from the first appearance. I don't see why I should have any trouble following the rest of the guide, but feel I should share my trials and frustrations anyways, for anyone else experiencing the same,
Thanks again.
Click to expand...
Click to collapse
You can also get the firmware from
Lolinet Mirrors
https://t.me/MotoUpdatesTracker
Search for Firmware by codename, software channel, Software Version, and build #
So I wasn't going crazy when I could swear a LED notification light in the upper right side above the screen blinked once whenever I rebooted the phone?
Why would Motorola include such a thing and not utilize it for more than merely a boot up indicator? Like I dont even get to see it come on while charging, it literally only blinks once during boot and that's it.
mario0318 said:
So I wasn't going crazy when I could swear a LED notification light in the upper right side above the screen blinked once whenever I rebooted the phone?
Why would Motorola include such a thing and not utilize it for more than merely a boot up indicator? Like I dont even get to see it come on while charging, it literally only blinks once during boot and that's it.
Click to expand...
Click to collapse
I know!
I don't know what triggers that light to come on. I even waited until the battery was at 6% and the light still never came on.
So, I updated the script above to make the light go full brightness if the battery is charging. The order matters, so if a notification comes in while charging, it'll "breath" the LED. Also, if the battery is full, then the light will turn off. Kind of telling you that it's time to unplug.
I followed these steps and my touch screen stopped working. I had previously installed twrp already on it while trying to learn how to root it, and when i boot into fastboot it goed through twrp, i also used the boot.img file from lolinet, not sure which of these caused the issue. Interestingly though, the touch screen does work whilst in twrp. any suggestions on how to fix or what would be causing it? Phone does work with usb mouse over OTG
jorduino said:
I followed these steps and my touch screen stopped working. I had previously installed twrp already on it while trying to learn how to root it, and when i boot into fastboot it goed through twrp, i also used the boot.img file from lolinet, not sure which of these caused the issue. Interestingly though, the touch screen does work whilst in twrp. any suggestions on how to fix or what would be causing it? Phone does work with usb mouse over OTG
Click to expand...
Click to collapse
Are you absolutely sure you used the correct boot.img from an image version exactly matching your phone variant version?
mario0318 said:
Are you absolutely sure you used the correct boot.img from an image version exactly matching your phone variant version?
Click to expand...
Click to collapse
Im not completely sure how to get the right file, but I think the first time it was the wrong one, but then when i got what i thought was the right one, it just didn't work at all and I had to recovery flash it. I had just updated so maybe the correct image wasn't available yet. Im going to try again though
Oh! Hello @latentspork. Thanks for your interest in my SystemRW project. I just came across this thread randomly...
I'm happy you got my script to work on your Motorola device by using the included sysrw_repair script
Please feel free to send me your log files from script folder. Thanks. It's useful for further development of the script
latentspork said:
The phone doesn't have enough space to complete 'lpmake' on the device and will end with an "Error 73" code. Running the "sysrw_repair_v1.32" tool on a Linux machine was a workaround because it pulls the '*.img" files to your local machine then combines them in to a single '.bin' file. But, before I did that, and because it's really annoying, I made some room to stop the phone from complaining about a lack of space:
Click to expand...
Click to collapse
That's not 100% accurate. Lpmake error 73 means CAN'T_CREATE and has nothing to do with error 70 (insufficient space).
To this day I still don't know exactly what causes error 73 on some devices (mostly Motorola and others) but it looks like some kind of kernel panic. If anyone knows how to avoid this error 73 in Android please let me know! Thanks!
Yes that's true the included sysrw_repair script (Linux only) pulls the image files from the phone to your computer and attempts to run the same lpmake command with the same arguments that just failed with error 73 on the phone itself and now all of a sudden it just works in Linux. Go figure.
latentspork said:
(Still on the phone's adb)
Code:
rm ./img/super_original.bin
Click to expand...
Click to collapse
Why would you delete the super_original.bin ? That's your stock read-only super image which by default is automatically dumped by script for backup purposes in case you ever get a bootloop.
And if you launch the script by specifying a custom input value (in=x) like in your example above then you won't even have a super_original.bin file to begin with because script will skip the whole dumping of original super image process.
latentspork said:
This results in a new folder (img) with a rather large bin file (super_original.bin).
Click to expand...
Click to collapse
I think you mean super_fixed.bin
latentspork said:
Now it's time to flash the fixed bin file to the "super" partition:
Code:
cd /path/to/unzipped/sysrw_repair/dir/
fastboot flash super ./img/super_original.bin
fastboot reboot
Click to expand...
Click to collapse
Here in your instructions you are manually flashing the wrong file. Shouldn't you be flashing super_fixed.bin to your super partition?
Usually I only flash the super_original.bin to get back out of a bootloop...
latentspork said:
Now, on the Linux machine, I unzipped 'sysrw_repair_v1.32_proper.zip' then commented out line 39 (where it calls the "flash()" function) of the script (sysrw_repair.sh) because I wanted to flash the "super" partition myself.
Click to expand...
Click to collapse
See that's why I included that automatic flash() function in the repair script. Then you don't have to worry about manually flashing the wrong file to your super partition
Enjoy a fully read/write-able device!
Great news! New SystemRW version coming soon!
@lebigmac
I really appreciate the reply and the tool! It did work really well on my model (XT2093-4).
That's not 100% accurate. Lpmake error 73 means CAN'T_CREATE and has nothing to do with error 70 (insufficient space).
To this day I still don't know exactly what causes error 73 on some devices (mostly Motorola and others) but it looks like some kind of kernel panic. If anyone knows how to avoid this error 73 in Android please let me know! Thanks!
Click to expand...
Click to collapse
I only assumed that "Error 73" was caused by insufficient space, because the phone really did run out of space. I noticed that the phone was out of space because I got a home screen notification warning, asking me to free up space. I confirmed it with a "df -h" at the shell. Apparently, the OS takes up almost 15GB. When you add the ".img" files, there's only about 5GB left. There wasn't enough room to complete the ".bin" file. Maybe I could have used an SD card or something.
You're probably correct in that "Error 70" is the correct error for that, but on my phone, I never saw that error. I did notice that the tool was still trying to write data as the phone ran out of space, then it would throw the "Error 73". Maybe it didn't register the lack of space, or just an oddity with my model? No idea.
Why would you delete the super_original.bin ?
Click to expand...
Click to collapse
This is the file that was created when I initially ran the "./systemrw.sh" command on the phone. The result of running the command on the phone were several ".img" files and a very large "super_original.bin", but it was incomplete because the command threw an "Error 73". I was following your instructions, and I noticed that the output name of the file was "original" instead of "fixed". I probably could of outputted it to a new name to reduce confusion, but I didn't really care too much about the name as long as I had a working file.
I think you mean super_fixed.bin
...
Shouldn't you be flashing super_fixed.bin...
Click to expand...
Click to collapse
Normally, yes. But the Linux script also outputted the filename "super_original.bin". Again, as long as it worked, I was okay with it. The commands I used above were the exact commands that I ran at the time. I copied them from the terminal consoles I was using. So I don't know why it wasn't outputting the correct filename (again, I was following your instructions and was a little confused that the names came out differently - I just figured I was doing something wrong like not use the proper output command or something).
Then you don't have to worry about manually flashing the wrong file to your super partition...
Click to expand...
Click to collapse
I was really just being cautious because my previous phone broke and I didn't have a fallback.
But, at no point were there two bin files (original and fixed), so there wasn't much confusion. Where I originally had just ".img" files before running the script, I now had a single ".bin" file. I knew that was the file I needed.
But again, thank you for all the hard work on this tool! I was reading that it's worked on lots of different model phones, and it's always good to see the open source community doing things that help all kinds of people.
For moto notification for this phone at least use https://play.google.com/store/apps/details?id=br.com.itsmeton.motoledreborn or moto led reborn from the play store it just works
Hi, sorry. This can be removed. I put it in place because I was having issues with the xda app. For whatever reason, every time I tried to share this particular post, it would share a link for the post which I used originally, rather than the current post. I knew that if I commented I could get back here easily on my PC.
So what is the place holder for