[R&D] Simulate FAT32 Filesystem for internal storage - Galaxy S III Android Development

The following currently is a research-only project without any working implementation.
It's a known fact that the S3 uses EXT4 for it's internal filesystem, this including the (shared) data and storage partition.
As a result it's only possible to access the device through MTP protocol on most computers and devices. However this intermediary protocol has several important drawbacks:
- Very slow compared to mass storage mode since no direct access to the block device is given
- The phone cannot be used while data is being transferred
- Many appliances with USBhost-capability are only able to use mass-storage devices, not MTP or PTP.
On the other hand we won't want to use a broken-by-design, old and slow filesystem such as Samsung's RFS (glorified FAT32) for internal storage and cripple our phoone.
After some reading and research, I've come to the conclusion that it's possible to wrap a full-fledged FAT32-formatted virtual block device around a mounted filesystem (or any given folder within it) and then export this 'new' device through the s3c-gadget lun so that the host(computer) can mount it. Altough it may even be (much) slower than MTP it will come without any of the other drawbacks. (However it will prove difficult to solve or bypass the issue of concurrent drive access which is an entirely different issue)
There is a Linux- (and by extension also Android-) kernelmodule called NBD (Network Block device) which allows a TCP/IP-capable software to simulate a block device. The protocol is quite simple and straight-forward; Description
For our usage, depending on the implementation, a patch similar to this one may be necessary to prevent the kernel from deadlocking.
Since the FAT32 filesystem is opensource we can now simulate a FAT table and storage location.
FAT32 descriptions can be found:
Very good explanation
Other less-graphical description
Official Microsoft description
At a first implementation stage, one could/should use a given folder of the filesystem and have the provider-application scan it recursively. Based on the gained informations and the FAT32-specification we are now able to build an I-Node location structure which, internally, stores the real filepath in the underlying ext4 filesystem.
When the FS is mounted in the computer, it will read the I-Nodes and attempt to access a range in the virtual storage location which can be translated back to a file, part of a file, several files, no content (0's) or a combination of those.
A first implementation should, to not overcomplicate things, only provide Readonly access.
Possible implementation issues so far:
- When files are modified in the EXT4 filesystem our master process is not aware of these changes. And even if he was, the computer (which caches certain used blocks of the disk and does not expect them to change without having issues corresponding actions) will not know about them.
- The FAT32 system must know the location and contents of any given I-Node since the filesystem might choose to read-ahead in the structure. Thus we WILL need to scan the whole directory hierarchy at each startup. This load may be lessened by keeping a persistent database (SQLite) of all found files and just refresh the folders which have a changed directory mtime. Most folders only very rarely change.
What do you think about this idea/research and are there any show-stopping issues/problems you'd expect to come up?
If it really works as described this _could_ be a (cpu-wise and memory-wise costly) method for allowing forward-going progress in filesystem architecture while not breaking backward-compatibility with the widely-supported FAT32 in mass-storage mode.

Great idea
Really great idea, i really miss the Mass Storage Device functionality!

A quick and simple – but of course not perfect – alternative is to share the internal sd via samba over usb.
I simply start usb tethering and a smbd listening to rndis0 that shares for example /mnt/sdcard
At least on linux I can than access my interal sd via smb://192.168.42.129/sdcard/
The same works of course for ssh and ftp. For ftp and smb the protocol overhead seems negligible and I can easily get > 10MB/s.

morckx said:
A quick and simple – but of course not perfect – alternative is to share the internal sd via samba over usb.
I simply start usb tethering and a smbd listening to rndis0 that shares for example /mnt/sdcard
At least on linux I can than access my interal sd via smb://192.168.42.129/sdcard/
The same works of course for ssh and ftp. For ftp and smb the protocol overhead seems negligible and I can easily get > 10MB/s.
Click to expand...
Click to collapse
10mb/s sounds quite good, do u use samba app (link on my sig) or your own implementation?
Edit: didn't read carefully and missed the tethering part...
–—–—–—–—–—–—–—–—
tapatalked from Galaxy SIII

FadeFx said:
10mb/s sounds quite good, do u use samba app (link on my sig) or your own implementation?
Click to expand...
Click to collapse
I use the samba server from
Samba Filesharing (that is probably the one in the thread linked in your sig?) but only the server and not the app as it apparently can't be configured to (also) listen to rndis0 and always overwrites the smb.conf file (unless I make it read only).
The only thing I miss is some (semi-)automatic triggering of usb tethering (or bringing up rndis0) and samba-server-start when I connect my device. Has anyone a clue if/how that's possible?

morckx said:
I use the samba server from
Samba Filesharing (that is probably the one in the thread linked in your sig?) but only the server and not the app as it apparently can't be configured to (also) listen to rndis0 and always overwrites the smb.conf file (unless I make it read only).
The only thing I miss is some (semi-)automatic triggering of usb tethering (or bringing up rndis0) and samba-server-start when I connect my device. Has anyone a clue if/how that's possible?
Click to expand...
Click to collapse
Yeah thats it, you can download the dev version from the thread, there is a setting to prevent overwriting of smb.conf
–—–—–—–—–—–—–—–—
tapatalked from Galaxy SIII

I just stumbled across that problem (MTP vs. everyone) and had the same idea, googled around and found this thread
d4fseeker said:
- When files are modified in the EXT4 filesystem our master process is not aware of these changes. And even if he was, the computer (which caches certain used blocks of the disk and does not expect them to change without having issues corresponding actions) will not know about them.
Click to expand...
Click to collapse
This is or will be the biggest problem of them all. The computer thinks he is the master of the FAT filesystem, but he in fact isn't. You could implement an FAT wrapper (virtual block device) on top of an existing Linux filesystem but you would still have to make sure that the underlying filesystem/folder is NOT changed at all since you cannot trigger the computer to flush and refill his caches.
Since the SGS3 has an external SD card, you could easily use that and let it be mounted by the computer (see here) but thats not the case for other new phones without SD cards (e.g. Galaxy Nexus).

You could implement an FAT wrapper (virtual block device) on top of an existing Linux filesystem
Click to expand...
Click to collapse
Unfortunately nothing such exists yet. I'm still working on the basics of the FAT32 implementation, it's rather cumbersome work.
you would still have to make sure that the underlying filesystem/folder is NOT changed at all since you cannot trigger the computer to flush and refill his caches
Click to expand...
Click to collapse
Unfortunately yes. It won't be that big of an issue with the first read-only version but as soon as the computer is expected to write back that will cause significant issues.
The only idea i've come up with so far to bypass this issue is to have a mtime-check on the Inode-Object of the tool and just give out empty files. Not good but close enough.
Since the SGS3 has an external SD card, you could easily use that and let it be mounted by the computer
Click to expand...
Click to collapse
It's still annoying. Kopfgeldjaeger has made a nice and easy implementation of my script but I personally want both storages. Not only one...

d4fseeker said:
Unfortunately yes. It won't be that big of an issue with the first read-only version but as soon as the computer is expected to write back that will cause significant issues.
Click to expand...
Click to collapse
Well even with read-only version you'll get problems when the underlying file changes while the computer is reading it, don't you?
d4fseeker said:
The only idea i've come up with so far to bypass this issue is to have a mtime-check on the Inode-Object of the tool and just give out empty files. Not good but close enough.
Click to expand...
Click to collapse
d4fseeker said:
It's still annoying. Kopfgeldjaeger has made a nice and easy implementation of my script but I personally want both storages. Not only one...
Click to expand...
Click to collapse
Haha, yes I'm so sorry. Didn't see it was your work
As I said, I'm interested in this as well since I'm a Galaxy Nexus owner, having MTP/PTP only without any SD card option available.

Related

Fix for USB Mass Storage...

I've recently installed Android to NAND and was looking for a way to mount the sdcard as a usb mass storage device in windows from within Android. I came across an interesting widget on the Android market called "Dual Mount SD Widget":
http://www.androlib.com/android.application.com-protocol-usb-jBAw.aspx
So I downloaded and installed it to see if it really works... well, IT DOES!
I used voguimg-320x480-17-02-10.nbh and Plemens Android Feb 8th build.
Here's what I did.
1. Download widget. Install. Add to Android desktop.
2. Tap on it. It will say "SD Split"
3. Plug in USB cord to the phone.
4. Notification area says "USB Connected". Don't do anything (ie. Mount it).... Instead, wait about 30secs to a minute.
5. Vista pops up the default actions window for the sdcard. My Computer also lists the sdcard as a removable drive.
I've transferred files back and forth with no problem. Not only that, Astro can see the SD card contents as well at the same time.
Now, the interesting part is that the description for the widget says:
"This widget Modifies a setting that will allow you to mount your SD card to your phone and PC/Radio/ect at the same time."
I'm wondering what setting was modified and if it is possible to build this in so that we don't need to use the widget anymore.
ckl_88 said:
I've recently installed Android to NAND and was looking for a way to mount the sdcard as a usb mass storage device in windows from within Android. I came across an interesting widget on the Android market called "Dual Mount SD Widget":
http://www.androlib.com/android.application.com-protocol-usb-jBAw.aspx
So I downloaded and installed it to see if it really works... well, IT DOES!
I used voguimg-320x480-17-02-10.nbh and Plemens Android Feb 8th build.
Here's what I did.
1. Download widget. Install. Add to Android desktop.
2. Tap on it. It will say "SD Split"
3. Plug in USB cord to the phone.
4. Notification area says "USB Connected". Don't do anything (ie. Mount it).... Instead, wait about 30secs to a minute.
5. Vista pops up the default actions window for the sdcard. My Computer also lists the sdcard as a removable drive.
I've transferred files back and forth with no problem. Not only that, Astro can see the SD card contents as well at the same time.
Now, the interesting part is that the description for the widget says:
"This widget Modifies a setting that will allow you to mount your SD card to your phone and PC/Radio/ect at the same time."
I'm wondering what setting was modified and if it is possible to build this in so that we don't need to use the widget anymore.
Click to expand...
Click to collapse
GREAT find! I am testing right now...
EDIT: Works excellent! It doesn't seem to be in the market for me...maybe because qvga, but I found it online.
I'm running:
Windows 7 Home Premium 64-bit
ADB Drivers installed by PDANet (not that it affects the SD mount)
Sourceforge 2-14-10 NBH (240x320)
Myn's Warm Donut with Hero theme.
This is awesome!
EDIT2: I can also run ADB/tether with PDANet and use mass storage simultaneously.
This is Fantastic!! It works. Great find man. didnt find it on the market but i did find it on the net. im using version 1.6
EDIT: you should take off the "possible" from your title as it is a perfect fix
Working perfect with Myn's Warm Donut + Windows 7 64 bit. Thanks for the tip!
Definitely works! (Using Ubuntu Karmic)
I was only able to find version 1.0 on the net - couldn't find it on the market.
ckl_88 said:
I've recently installed Android to NAND and was looking for a way to mount the sdcard as a usb mass storage device in windows from within Android. I came across an interesting widget on the Android market called "Dual Mount SD Widget":
http://www.androlib.com/android.application.com-protocol-usb-jBAw.aspx
So I downloaded and installed it to see if it really works... well, IT DOES!
I used voguimg-320x480-17-02-10.nbh and Plemens Android Feb 8th build.
Here's what I did.
1. Download widget. Install. Add to Android desktop.
2. Tap on it. It will say "SD Split"
3. Plug in USB cord to the phone.
4. Notification area says "USB Connected". Don't do anything (ie. Mount it).... Instead, wait about 30secs to a minute.
5. Vista pops up the default actions window for the sdcard. My Computer also lists the sdcard as a removable drive.
I've transferred files back and forth with no problem. Not only that, Astro can see the SD card contents as well at the same time.
Now, the interesting part is that the description for the widget says:
"This widget Modifies a setting that will allow you to mount your SD card to your phone and PC/Radio/ect at the same time."
I'm wondering what setting was modified and if it is possible to build this in so that we don't need to use the widget anymore.
Click to expand...
Click to collapse
How do you get it on the phone? Then how do you install it? All I have is a .apk file...what do I do with it? Vista does not recognize my phone, and I do not have a card reader. Thanks.
$1 in market. works great.
crobs808 said:
How do you get it on the phone? Then how do you install it? All I have is a .apk file...what do I do with it? Vista does not recognize my phone, and I do not have a card reader. Thanks.
Click to expand...
Click to collapse
http://forum.xda-developers.com/showpost.php?p=5579322&postcount=14
Sweeeeeeeeeeeeeeettttt Luv it luv it and luv it some more...
Man do us a favor and pl take off "Possible" from the title. This is THE fix.
Could you remind me why it's not possible without this app? is it a kernel or user space issue?
A long time ago, dzo told us that this could be solved when nand boot would be ready. Now, that's ready, what avoid solving this problem?
How fast is USB Mass Storage with the Vogue? Does anyone remember the transfer speeds it's rated for?
I'm using a class 6 MicroSD so I guess the card reader method will still be faster for me?
osilvan said:
Could you remind me why it's not possible without this app? is it a kernel or user space issue?
A long time ago, dzo told us that this could be solved when nand boot would be ready. Now, that's ready, what avoid solving this problem?
Click to expand...
Click to collapse
as I recall the notion was that running from nand would allow us the option of dismounting the sd card from the system so it could be used by USB mass storage. currently, nand still uses a cache on the sd card, so this is not yet possible.
this program allows both the system and the usb mass storage to access the sd card at the same time. I'm sure if someone cared enough to backwards engineer this we could incorporate something similar. however, why bother when there is a perfectly usable program already.
So this won't work using ext2 or fat for haret users I assume?
myn said:
So this won't work using ext2 or fat for haret users I assume?
Click to expand...
Click to collapse
I'm running haret on a partitioned card (fat 32 and ext2) and it works great for me - just tested it.
berardi said:
How fast is USB Mass Storage with the Vogue? Does anyone remember the transfer speeds it's rated for?
I'm using a class 6 MicroSD so I guess the card reader method will still be faster for me?
Click to expand...
Click to collapse
~500kb write and ~800kb read (with class 4) results may vary
slapadabass said:
I'm running haret on a partitioned card (fat 32 and ext2) and it works great for me - just tested it.
Click to expand...
Click to collapse
I confirm this also, running fat32 and 2 512Mb ext2 partitions. this is very handy. I found the 1.65 version doing a Google search, and that is what I have tested.
I would love to find out what this widget is doing so we can add the functionality to the base roms. I haven't had a close look at this yet but does anybody know exactly what it's doing?
jamezelle said:
~500kb write and ~800kb read (with class 4) results may vary
Click to expand...
Click to collapse
So correct me if I'm wrong, but it would seem that if your SD card is class 4, this will still be grossly slower than simply taking the card out and using a card reader, no? 800 kb vs 4 mb / sec? or do I have the figures wrong... For small files this is convenient but for large amounts of music files etc it probably is less practical - granted not eveyone has a card reader
berardi said:
So correct me if I'm wrong, but it would seem that if your SD card is class 4, this will still be grossly slower than simply taking the card out and using a card reader, no? 800 kb vs 4 mb / sec? or do I have the figures wrong... For small files this is convenient but for large amounts of music files etc it probably is less practical - granted not eveyone has a card reader
Click to expand...
Click to collapse
Right - unless you're running off SD card and can't take your SD card out . . .

[Q] Change application external write locations

I have been wondering if it is possible to modify where programs store their external data on the SD card, but have not been able to find an answer yet.
Example...
I have the program "FolderOrganizer" and it stores it's backup data to /mnt/sdcard/FolderOrganizer. Now what I would like to do is to clean up my SD card a bit by moving all my program saves to the /mnt/sdcard/Android/xxxxx folders. This way I know where all my backups, skins and etc are located at while keeping my file structure clean.
I have been using Root Explorer to poke around and see if I can find any indication of where these programs set their external save directories at (xml files etc), but I have not been able to figure it out yet.
I bet it is something easy that I am just missing. Can anyone help out or point me in the right direction?
djstaid said:
I have been wondering if it is possible to modify where programs store their external data on the SD card, but have not been able to find an answer yet.
Example...
I have the program "FolderOrganizer" and it stores it's backup data to /mnt/sdcard/FolderOrganizer. Now what I would like to do is to clean up my SD card a bit by moving all my program saves to the /mnt/sdcard/Android/xxxxx folders. This way I know where all my backups, skins and etc are located at while keeping my file structure clean.
I have been using Root Explorer to poke around and see if I can find any indication of where these programs set their external save directories at (xml files etc), but I have not been able to figure it out yet.
I bet it is something easy that I am just missing. Can anyone help out or point me in the right direction?
Click to expand...
Click to collapse
No... it's not something you're just missing... there is no standard and as a result it's almost impossible to achieve what you're aiming for. I too wish for the same, everything simply under <sdcard>/android/ ...
Some apps are hard coded in their code, some allow the user to select, some store in /data/data/xxx/shared_prefs/ - it's a lottery.
djmcnz said:
No... it's not something you're just missing... there is no standard and as a result it's almost impossible to achieve what you're aiming for. I too wish for the same, everything simply under <sdcard>/android/ ...
Some apps are hard coded in their code, some allow the user to select, some store in /data/data/xxx/shared_prefs/ - it's a lottery.
Click to expand...
Click to collapse
Thanks for the response. That is a bummer though, I was really hoping to be able to tell everything where to write to. I currently have a ext4 partition on my SD and that is where all my apps install to... if I can't tell the apps where to save on my SD partition, it would be nice to at least move it all to the ext4 partition.
There is crap all over on my SD card and my OCD is starting to kick in!
Yeah, I know the SD card can get messy... it's really stupid and annoying... Unfortunately, there is no SD card data saving guidelines for developers... and writing to an ext partition is completely out of scope for market apps because not all users have ext partitions... it would be nice, though, to have apps save data under one common folder... say /sdcard/data or /sdcard/Android... maybe we need to petition developers or Google!!
I agree with the saving to and ext partition. I just think it is silly that you can't at least specify a directory to save external data. I know some apps allow this, but I guess that if Google forced a change then everyone would have to change their code.
I wonder what would happen if you took out your SD and tried running those apps. Where would they write to then?
djstaid said:
I agree with the saving to and ext partition. I just think it is silly that you can't at least specify a directory to save external data. I know some apps allow this, but I guess that if Google forced a change then everyone would have to change their code.
I wonder what would happen if you took out your SD and tried running those apps. Where would they write to then?
Click to expand...
Click to collapse
Apps that require the sdcard for storage will usually either give an error when run without an sdcard or just not work at all.
I am also pretty anal about my storage and neatness, and I have given up on my sdcard being organized. What I have done is create folders with capital first letters to bring them to the top of the listing when browsing by default sort, at least I can find what I want easily without sifting through all the data folders..
That is pretty much what I have done. I guess it it better than nothing. If I knew more about programming I would try and build something to look for and modify those paths. I just never really understood/got into the whole programming thing... that is why I ended up in Infrastructure. lol
djstaid said:
That is pretty much what I have done. I guess it it better than nothing. If I knew more about programming I would try and build something to look for and modify those paths. I just never really understood/got into the whole programming thing... that is why I ended up in Infrastructure. lol
Click to expand...
Click to collapse
I'm with you there, long time (20+ years) building and repairing pcs, 0- years programming.
As far as building something to modify the paths used by programs accessing the sdcard in Android, that seems a nearly impossible feat. Each program would have to be modified, requiring reverse-coding (baksmali) each one individually, modifying the code, and recompiling (smali). This would also require re-signing and reinstalling each application, making updating from the market impossible, and would take a lot of work.
Due to the fact that applications are "sandboxed" (so to speak) in Android, I wouldn't think there was a global %externaldata% path variable that can be modified from /mnt/sdcard to /mnt/sdcard/Android, I am pretty sure that path is set in each application.
Though, I could be wrong. However, it is worth noting that if it is a global variable, changing it would result in applications that are already properly coded to use /mnt/sdcard/Android/%appname% or /mnt/sdcard/data%appname% to instead attempt to write the data to /mnt/sdcard/Android/mnt/sdcard/Android/%appname% as they would append their string to the global variable.
I believe, all we can do is petition developers to use a more structured data path in their programs, and learn to live with disorder!
daveid said:
I believe, all we can do is petition developers to use a more structured data path in their programs, and learn to live with disorder!
Click to expand...
Click to collapse
lmao!
this is true though... at least I know that I am not alone. haha
I am definitely with you all on this. I found this post after having the same epiphany just now. There needs to be more structure to the use of external storage. These little things are what set our OS apart from say, the "forbidden" iphone...
I have actually tried digging into different apps to see where the store locations are set at and have had no luck. I guess if I knew how to program or at least modify that one part of the app I would have more luck.
Problem with that is if I modify something in an app and it gets updated, I would have to do it all over again. I guess that is the gift and curse of having such an open OS. I will post back here if I figure something out though. I have been digging into the Android OS a little more, but I am still having problems understanding how it all works underneath.

Why android dont have drive install choise?

Well I mean... even symbian have an option if you want to install on C or D if you know what I mean. why Android dont have this option when installing new app? why is this so complicated? is there a reason?
The idea is that these are "post-PC" devices. Choosing which drive to put it on is an implementation decision. Post-PC devices try not to have the user worry about implementation and just take care of it. Notice the complete lack of a file explorer in the OS.
In practice this is still a little shaky. Android has allowed you to install apps to an external drive since 2.2, but at the time manufacturers weren't including mass storage chips on the phone, and relied exclusively on SD cards for media storage. The Galaxy S line changed that, and the Optimus 2X takes some cues from that by having a large amount of storage built into the device (the Nexus S doesn't even have external storage). The only place to mount that and have it show up properly when you connect to a PC is /mnt/sdcard/ (/sdcard/ is just a symlink). Some apps are able to recognize when there are multiple mass storage cards available, but most still assume just the SD card.
thanks for answer, its like linux the mnt folder. I hope it gets better
What do you mean hope it gets better?
i guess he means this ^^
keyboardr said:
Some apps are able to recognize when there are multiple mass storage cards available, but most still assume just the SD card.
Click to expand...
Click to collapse

[Q] Nook wont read mSD card written by camera

I taking a trip abroad soon and trying to avoid taking a laptop.
I want to use my Nook (1.1 rooted) to send emails with pics I take.
If I put the microSD card from the camera directly in the Nook, it says it needs to be formatted.
If I format with the Nook (or the camera as it turns out - both use FAT32), I can put it back in the camera and take pictures, but when I put it back in the Nook it once again says it needs to be formatted.
If I put the microSD card in a card reader and rename a directory, rename it back, then eject and 'safely remove hardware', it works when I put the microSD card into the Nook.
This seems to indicate that the camera is not properly unmounting the file system or not closing a file handle or something (not too surprising - cameras need to be able to write quickly, so probably take shortcuts). By touching the file system in Windows and ejecting properly, it fixes the problem.
Details:
Camera is a Panasonic Lumix DMC-FX75
I do turn the camera off completely before removing the microSD card
Directory touched is "E:\PRIVATE\AVCHD\BDMV\STREAM" (I rename to STREAMx then back to STREAM before ejecting).
Popping the card into my cell phone (Samsung Behold I) and renaming the dir does not work -- I'm assuming the cell phone has the same shortcuts as the camera or something. Or maybe my assumption is wrong.
Obviously I don't want to haul around a windows computer just to 'fix' the file system on the card, that would defeat the purpose.
Is there a solution?
A tweak to the Nook system files to change it's mount arguments?
An Android app that can fix the SD card so it will mount?
A terminal command I can run on the nook via the Android Terminal Emulator app?
I commend you on your question asking ability sir.
You are a Scholar and A Gentleman.
A rarity of sorts in this fine community.
Apologies for not having a clue about your dilemma. I just wanted to point out the dying art of a well thought out question.
Hell, I`ll even assume you used the search function....Outstanding!! :yay:
Good luck on your lil adventure
Thanks TainT, but actually the search function wasn't operating when I posted
Has anyone been able to use a camera card with pictures in their nook though, to view (on the great screen) or send images?
Or anyone have any details about what a camera might be doing to improperly close the file system or whatever?
"fsck" info on the web says:
"Unix, any Unix, will refuse to mount a filesystem that was not unmounted cleanly."
This seems to be what I'm dealing with here -- the camera does not cleanly unmount the camera card's filesystem, and the nook's Android refuses to mount it. Putting the card in Windows, touching the FS, and ejecting properly 'fixes' the filesystem.
Running fsck type operations is pretty unfamiliar territory for me, but I have found that the nook has a /system/bin/fsck_msdos command that seems like it should help. So I formatted again and found that the sd card is mounted from /dev/block//vold/179:17. I then took some pics, got the problem scenario again, then used the terminal emulator app on the nook:
#cd /system/bin
#./fsck_msdos /dev/block//vold/179:17
** /dev/block//vold/178:17
Attempting to allocate 1924 KB for FAT
Attempting to allocate 1924 KB for FAT
** Phase 2 - Check Cluster Chains
** Phase 3 - Checking Directories
** Phase 4 - Checking for Lost Files
Free space in FSInfo block (-1) not correct (492336)
Fix? [yn] y
[1] + Stoped (signal) ./fsck_msdos /dev/block//vold/179:17
#
[1] Segmentation fault ./fsck_msdos /dev/block//vold/179:17
It appears that it doesn't actually work. I also tried "-p" which is supposed to automatically fix simple errors rather than being interactive -- it failed with a seg fault as well.
I think in theory this should be how one would fix the problem, it's just not working - could be a bug in the system?
If anyone reading this has CM7 or a rooted 1.2 nook, this could be fixed with a later version of the OS than I have. If anyone can try recreating, I'd appreciate it.
At last, as I'm learning more I am also learning what search terms to use!
Googling "android fsck_msdos segfault" provides this post:
http://www.mobileread.com/forums/showthread.php?t=137919
quote:
Turns out that the Nikon camera mangles the FAT32 file system so that fsck_msdos dies upon trying to repair it (this is not a Pocket Edge issue, but a wholesale Linux issue. It seems fsck_msdos is in a very shoddy state).
Well, I found out that as long as I format my SD card in FAT16 instead of FAT32, PE can read it just fine. Limits the card size to 4GB which is about 800 pics on my camera, but that I can deal with.
Click to expand...
Click to collapse
I am now pretty certain this is what's going on in this case. I'm still searching, but if anyone knows of a possible fix I'm all ears.
I'm so far unable to use the 'force' option to mount, such as
#mount -t vfat -o force /dev/block//vold/179:17 /sdcard
mount: invalid argument
The 'mount' command in this version of Android (perhaps all versions of android?) appears to reject the force option.
fsck_msdos and mount (with default options) both segfault with the sdcard written to by the camera. The only possibility I see to get this to work is to get a fixed fsck_msdos or mount executable. This might happen with an upgrade to a newer operating system, e.g. CM7 or B&N 1.2 update, but I'm not willing to replace everything I have working this close to my travel dates (I have the nook set up with maps, apps, translation notes, etc).
Could I get the fsck_msdos binary from CM7 or even some Honeycomb distribution and paste it into my system as "fsck_msdos_future" and have a hope that it might work?

Mounting Tab as Mass Storage on Windows

I picked up my tab this morning and have had a hell of a time mounting it as USB storage to transfer movies and pics ect... but I figured it out so I thought I'd share with the XDA community simply because there really isnt anything out there that I could find on Google.
1. download USB drivers from samsung: http://www.samsung.com/us/mobile/ga...eration+-+10.1+Tab_Galaxy+Tab_galaxy+tab+10.1
2. install drivers
3. reboot pc
4. turn off usb debugging... VERY IMPORTANT AS IT IS ENABLED BY DEFAULT
5. plug in via usb
6. enjoy!!
If it works for you please hit the "thanks" button
Worked like a charm for me bro. . Thanks!
jhild352 said:
4. turn off usb debugging... VERY IMPORTANT AS IT IS ENABLED BY DEFAULT
Click to expand...
Click to collapse
worked for me. USB debugging. Who would have thought?
Freaking TouchWiz... With stock android you can use debugging AND mass storage mode. STOP IT SAMSUNG!
Still didnt work for me. Found issue with hardware error from windwos :/. This is such a pain.
ObsidianX said:
Freaking TouchWiz... With stock android you can use debugging AND mass storage mode. STOP IT SAMSUNG!
Click to expand...
Click to collapse
hate to break it to you big guy, there is no touchwiz loaded on the 10.1 yet
not sure why this is such an issue getting this thing connected to the PC
Works to transfer "recognized" files extensions. However things like .mkv or .mpg make windows explorer crash. When I transferred an avi file it wanted to convert it. Seriously, WTF samsung? I loved your stuff but this is a bit much. I should be able to treat it like an SD card.
hobbiteer said:
Works to transfer "recognized" files extensions. However things like .mkv or .mpg make windows explorer crash. When I transferred an avi file it wanted to convert it. Seriously, WTF samsung? I loved your stuff but this is a bit much. I should be able to treat it like an SD card.
Click to expand...
Click to collapse
Been having the same problem. Transferring .wmv or .mov files makes my pc crash. Although I was able to plug it into a different pc and it was automatically recognized as USB and worked fine. I wonder if it has anything to do with my galaxy s drivers.
It works, but not as a removable storage device. It sees it as a portable device, which isn't as good.
This is pretty useless.. it's treated like Apple treats their devices... as some kind of media device and not just a regular drive.
Looks like a large oversight on Samsung's side.. can be easily fixed, luckily.
What are you lot talking about?
You do, unfortunately, need latest version of kies installed, USB debugging switched off, plug the thing in and is recognised as a removable drive... you don't need to use kies but is just active in the background and displayed on screen of tab...
All files transfer no problem including .mkv .AVI etc. If your explorer crashes it is a problem with explorer... sometimes caused by other software that is integrated into explorer contextual menus...ie if you have a bootcamp Mac with macdrive installed the explorer pane ( tree listing) will always crash explorer if you try to copy and paste from there... you have to do it from the large pane on right...
Hope this helps
Forgot to say if you're having driver problems the latest is here
http://www.samsung.com/us/support/downloads/GT-P7510UWVXAB
Install drivers from executable file downloaded from above...
When you connect your tab Best way to ensure satisfactory installation is to ignore " found new hardware blah blah, search for drivers blah blah" go to device manager find the non installed Samsung, right click and select update drivers, browse... the above installed drivers are in program files, Samsung, usb drivers... select USB drivers folder, validate et voila
Hi jhild352!
Honeycomb tablet cannot be mounted as mass storage, for the simple reason there is no more real sdcard formated in Fat32.
/dev/block/mmcblk0p4 /system ext4 ro,relatime,barrier=1,data=ordered 0 0
/dev/block/mmcblk0p5 /cache ext4 rw,nosuid,nodev,noatime,barrier=1,data=ordered 0 0
/dev/block/mmcblk0p8 /data ext4 rw,nosuid,nodev,noatime,barrier=1,data=ordered 0 0
/dev/block/mmcblk0p1 /efs ext4 rw,nosuid,nodev,noatime,barrier=1,data=ordered 0 0
/dev/fuse /mnt/sdcard fuse rw,nosuid,nodev,relatime,user_id=1023,group_id=1023,default_permissions,allow_other 0 0
Everything is in Ext4, and sdcard is "emulated" via fuse.
That's why Honeycomb tablets use MTP instead, which I agree sucks.
Wonder if anyone's figured out a way to get this ****er mounted in Mac.
Sorry for the potty mouth, I'm just annoyed @ Samsung, haha.
hehe
Yes this is true... my bad for wording it the wrong way. I simply ment that you could plug it into a PC and transfer pics/movies/song ect
Sent from my Gingerblured Atrix using XDA Premium App
Kies works well for music, photos, and movies, but how would I go about putting a book on it without using dropbox? Why couldn't they just make it to where we could mount it as a drive like with an sdcard?! Samsung, you make everything overly difficult!
jhild352 said:
I picked up my tab this morning and have had a hell of a time mounting it as USB storage to transfer movies and pics ect... but I figured it out so I thought I'd share with the XDA community simply because there really isnt anything out there that I could find on Google.
1. download USB drivers from samsung: http://www.samsung.com/us/mobile/ga...eration+-+10.1+Tab_Galaxy+Tab_galaxy+tab+10.1
2. install drivers
3. reboot pc
4. turn off usb debugging... VERY IMPORTANT AS IT IS ENABLED BY DEFAULT
5. plug in via usb
6. enjoy!!
If it works for you please hit the "thanks" button
Click to expand...
Click to collapse
Excatly the same way that it works on the Xoom, funny that has been such a big issue. (ok on the xoom it works also with the debugging on)
On the upside, the new ext4-based arrangement gives Honeycomb a unified internal storage, which is really great. Avoids the whole business of contention, and mounting internal storage that the device may be using for other things. Allows proper permissions to be applied. I don't particularly have an issue with MTP either, for media transfers. Obviously this isn't an issue with cloud-based ways of getting media onto the device, which is the way things are heading.
But I think this is why having an SD card slot is still valuable, and Sammy made a mistake not putting one in the Gtab10.1 - using SD card you can just pop some movies onto your tablet from your PC, or have multiple SD cards at the ready - same for having a blank SD at the ready for updates. It's a far better arrangement than mounting internal storage, IMHO.
I know its not really the solution to the issue but an obvious workaround would be wifi file explorer? I think I remember even using adhock and then using the PC browser to upload and download the files. Not ideal but atleast enables quick updates of media and such.
If its only got ext4 its never going to mount in dozzz no later the drivers/programs ect. I had a hell of a time trying to get some media of a popcornhour a-100.. long story short ended up just ftp'ing everything off. Hey what about andftp too?
Or a live Linux distro might do the trick.. lol six to one on any time savings but could work??
AFTERTHOUGHT: Hmm I'm wondering if android commander would cope? I'm sure I've used it on a ext4 ROM and pushed stuff into the system partition. Or is that trickery on its part? I'd have a crack... but I'm on my p1000 for a little longer... :-(
Also perhaps; http://forum.xda-developers.com/showthread.php?t=952456
thanks, now we just need a fix for mac!

Categories

Resources