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?
Related
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 . . .
Is there a way to switch the sdcard / sdcard-ext folder names to make the external sdcard the primary one? Or is there any other way to set the primary sdcard?
Thanks!
I was disappointed to see the phone force you to use sdcard and then renamed my microsd card to sdcard-ext. It made it quite a bit of a hassle to restore programs or use the backup features of other apps.
I know its been done on some tablets running 2.3 (My old Viewsonic G Tab). On those you had to edit the vold.fstab to mount them the way you want.
I'd love to do this too. I made a lot of songs available offline in Spotify, synced some mp3s etc and it all ended up on the internal "sdcard", not my 32gb class 10 Patriot MicroSDHC (which works perfect with the D3).
The same goes for most apps.
If someone has experience doing that please tell us how to do, I'm not too experienced in such Linux filesystem things. THANKS!
+1 this is very annoying.
Sent from my DROID3 using xda premium
/etc/vold.fstab seems to be the right place to change it, like mentioned above. However I think the risks are little, I wouldn't be the first who tries out ... at least not before an SBF is available.
And I cannot fully assess what it means for future updates, if and how it has to be undone then. I'd rather recommend to live with this naming.
Thanks for explaining that und danke.
I'm more curious to see if we can remove the space allocated to "sdcard" and merge it back with the internal program storage, then when I drop my actual sd-card in, it mounts as "sdcard".
Possible? Or is that a rom only thing.
Does this link help?
Partitions for the x2
I'm afraid I'm not experienced enough to dare to try it ^^
My file system is totally confused. When I browse to EMMC from a file manager it goes to my SD Card. If I browse to SD Card it actually goes to the internal drive.
I've had my rooted Nook Color for about 5 weeks now (CM7 booted from a SD card). Everything was working great until I tried installing some different launchers. I tried GoLauncher, Zeam, ICS, Honeycomb and maybe one more. The default was ADW. Maybe I confused the system by constantly switching from one to the next but at some point the system crashed and I rebooted.
Once rebooted I noticed that many of the games I installed told me I needed to redownload their data files. I looked on my card, through my Mac, but the original files were still there. Turns out the Nook now installs apps on the internal drive rather than the card as it had been before.
Wouldn't be so bad but, as mentioned earlier, the file system is confused. When i need to manage files I've loaded on my SD card I have to browse to EMMC and vice versa. Makes my head spin.
Is there a way to fix it without starting from scratch? I'm using CM7.2.0.
Thanks for your help
That's not a bug, it's a feature. Anyway, what you likely did is Settings -> Cyanogenmod Settings -> Application Settings -> Use internal storage (checked). If you do this, then it swaps the mount points for the SD and the internal memory, so the SD card is mounted at "/emmc" and the internal memory is mounted at "/sdcard". See the first post in the thread in my sig for more information about this.
If you really want to return it to the original way, wasting 5G of internal storage space, then you can uncheck that box in the settings and it'll go back to normal.
Thanks for pointing that out and glad to see there's an easy fix. Seems a bit confusing though, like it's renaming your hard drives or something. I had been using the internal drive for storing media files, video, music, comics. Does it matter where apps or files are stored?
false1 said:
Thanks for pointing that out and glad to see there's an easy fix. Seems a bit confusing though, like it's renaming your hard drives or something. I had been using the internal drive for storing media files, video, music, comics. Does it matter where apps or files are stored?
Click to expand...
Click to collapse
Well, the "fix", IMHO, is to leave it with them swapped.
Yes, it matters where apps are stored and it matters what is mounted at /sdcard. Apps use space on the /sdcard partition for settings, temp storage, downloads, etc. Mounting that 5G partition at /sdcard instead of /emmc allows these apps to use that space rather than cluttering your actual SD card. And apps are going to wind up on your 1G partition, not on either the /sdcard or /emmc mountpoint.
You can go read up in my guide on my recommendation on how to best use this space. The normal way is inefficient and wasteful of internal memory, IMHO. But you know, maybe you like it that way
mr72 said:
You can go read up in my guide on my recommendation on how to best use this space. The normal way is inefficient and wasteful of internal memory, IMHO. But you know, maybe you like it that way
Click to expand...
Click to collapse
I think efficiency is more in how you choose to utilise the spaces rather than fundamentally in which switch option you use. For example, I choose to completely fill the 5GB of internal with sound and picture media as they get included in the normal app scanning process. Leaving the SD card to hold yet more media, app data and back ups.
It's still good to have the choice offered by the switch.
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.
Hi!
I just got my USB OTG cable and it works great. Is there an easier way to unmount the USB storage? Do I have to go into settings>storage every time to unmount the USB device safely?
Thanks!
You can install stickmount free app or donate version. Will put a mount/unmount in the notification bar.
gunnyman said:
You can install stickmount free app or donate version. Will put a mount/unmount in the notification bar.
Click to expand...
Click to collapse
Thanks!
I installed stickmount but it doesn't seem to work. After I unmount the USB drive from StickMount, it's still visible in "settings>storage" and I have to unmount from there again. Am I missing some thing here?
I am rooted on ElementalX kernel.
I'm sorry. I thought it would work.
Try otg helper https://play.google.com/store/apps/details?id=net.shajul.usbotg
I'm using Paragon NTFS but it also doesn't seem to be working as You would like. It kind of unmounts but after connecting some other device, Settings>Storage shows stats of previous one. So I need to unmount and mount again. But it's still a low price for possibility of connecting NTFS devices.
I may be wrong, but I'm of the opinion that the HTC One actually mounts the USB/OTG itself and the other programs attempt to re-mount it to another location (which thy know about) hence, when you unmount it, you only unmount 'their mount' .. the 'HTC mount' is still in place ... hehce the One still thinks that it's mounted ... which it is.
It shouldn't be beyond the kind of devs we have on here to produce a notification for a USB/OTC (click to unmount/mount) once it's detected ad present.
Bump
I would very much like this as well and after a couple of weeks of searching, with detours, side tracks, and no solutions I've finally decided to post about it. The best solution would have been if hTC or Google (?) had included a shortcut to unmount from the settings, so that the user could create a shortcut on the home screen or in their favourite widget (I'm quite liking multicon and widgetsoid, between the two I can open or toggle almost anything from the home screen); as it is it's not even possible to shortcut to the storage page.
The hunt for a solution took me first to the apps store, to find a bunch of root only apps; so naive me (this is my first android phone, indeed my first smart phone) I googled and followed the root instructions from cnet. And it seems I've probably lost all hope of ever returning to stock, PLUS the htcdev bootloader unlocking process actually deleted the stock calculator and flashlight. Silly me, I thought "factory reset" meant what it sounds like, e.g. a factory reset; oh well, I prefer to cross my fingers and ignore warranties anyway :silly:. Then I found out that those apps weren't useful anyway because the stock automount still happens and you actually have to unmount the stock mount point in order to mount with any of them (e.g. stickmount). Stickmount was the closest I got, if I recall correctly nothing else I tried would even mount - I probably didn't try that many, I cottoned on pretty quick that the automount wasn't going to let me go this route anyway. At this point I got side tracked and started playing with other root required apps, but my ham fisted stock + root thing acted funny, with many random root apps I installed to play with unexpectedly restarting the phone. Then I found XDA and I've been lurking, though probably not doing as much reading as I should: thousands upon thousands of pages are a tad intimidating. Now I've got ARHD 71.1, with the toolbox & exposed & XSBM more or less tweaked to my liking and everything running smooth. Stickmount gets closer now: it can mount as well as the system. I started thinking about custom kernels, ntfs support, etc; but with no clear info searching whether kernel ntfs support would even automount, and it still doesn't get me what I want so I think I've had enough poking the system files for now. I just tried 'su' then 'umount /storage/usb/', it appears to unmount but I still get 'USB storage unexpectedly removed' when I unplug, and I can't find a way to create a shortcut without the window persisting (android terminal emulator). Also tried scripter, no idea if it can create shortcuts and it couldn't even run the scripts it created so I uninstalled it pretty quickly.
It comes down to: can I get a shortcut to dismount the stock OTG or can I disable the stock mount to properly use an alternative instead of doubling up? And (looking at you hTC and Google, NOT the XDA community which I greatly appreciate), if not why not? This thing is basically a computer so why is android so limited out of the box?
(Sorry for the long noobish ramble, hopefully I got across what I've tried and why it doesn't work. I'm too tired to reread it again. Perhaps at least this has cautionary tale value?)
Found the widgetsoids command option which works silently, unfortuneately it also fails silently too leaving usb mounted if there's any file operations. Maybe there's a more complicated command I could use then 'umount /mnt/usb/'? I have zero idea where to start, but at this point I want to make an app that can hook into the native process and either send it commands or disable it. I don't suppose there's a newbie guide to figuring out what service is responsible for something and then hacking it?
i tried stickmount on a rooted huawei GR5
it works perfect thank you