I know this seems like a pretty common problem. Unfortunately, I did a search for the potential solutions and none of them works so far.
This is the console error message:
mount: unknown filesystem type 'vfat'
And this is the error message I got from Thunar (I'm on XFCE):
Error mounting /dev/sdb1 at /run/media/bow/myusb: Command-line `mount -t "vfat" -o "uhelper=udisks2,nodev,nosuid,uid=1000,gid=100,shortname=mixed,dmask=0077,utf8=1,showexec" "/dev/sdb1" "/run/media/bow/myusb"' exited with non-zero exit status 32: mount: unknown filesystem type 'vfat'
sudo modprobe vfat
sudo mount -t vfat /dev/sdb1 /media/us
Without any success. Any pointers on how to fix this?
Last edited by splatterdash (2012-05-09 09:10:14)
Reboot and try mounting with just
sudo mount /dev/sdb1 /media/us
sudo mount /dev/sdb /media/us
I normally have install ntfs-3g and ntfsprogs.
When the kernel gets upgrade (I use the pae kernel) I sometimes have to reinstall and reboot.
Just another idea for you...
Do a modinfo vfat, it should tell you specifics about that module. Does not involve ntfs, if in fact it is vfat. Just for grins do a fdisk -l. vfat support should just be in the kernel itself, and should know how to mount it. I doubt your partition is /dev/sdb alone, it should be /dev/sdb1 (usually only one for thumb drives). If you want user mode mount access you could try pmount, but it also requires the ability to mount vfat. When any kernel under arch gets updated with the one that is currently being used, the modules are no longer available if they aren't already in memory. You should just be able to mount /dev/sdb1 /media/us.
I may have to CONSOLE you about your usage of ridiculously easy graphical interfaces...
Look ma, no mouse.
Problem solved! I couldn't manage it to work until a few days ago, but it seems like some of the latest update solved this issue. It can be mounted fine now.
This happens because of the way Pacman upgrades the kernel. The current kernel (and modules) are removed and replaced with the new ones. It's like yanking a carpet from beneath someone's feet. Therefore, if you have not previously loaded the proper modules for an action (mounting a FAT32 USB, connecting to a SAMBA share, using autofs, encrypting a file, et al), upon trying the action, it will spit out errors because the modules for the current kernel were removed during the upgrade. This is a very poor upgrade procedure that has plagued Arch Linux for a long time now. Distros like Ubuntu and Fedora do not remove the current kernel and its modules upon upgrading the system. Sadly, even openSUSE suffers this same problem. (It has a workaround, but it requires editing zypp.conf.)
Here is an example:
Let's say you are currently running kernel 3.3.4, but you have not plugged in a FAT32 USB stick yet. The vfat module is likely not loaded. Then you run a pacman update, and it upgrades the kernel to 3.3.5. Now upon inserting a FAT32 USB stick, it tries to load the vfat module for the current 3.3.4 kernel, but it is nowhere to be found since pacman has deleted everything related to kernel 3.3.4! This is why you need to reboot your system into the new (3.3.5) kernel in order to mount your USB stick.
With Ubuntu, for example, it keeps the current kernel untouched when you update the system, so that all your modules for the current kernel remain, and thus you do not bump into this problem. Not only are kernel updates less frequent in a distro like Ubuntu, but they do not create this problem anyways.
"Report a bug!" you might say. Well, a bug has been reported almost 3 years ago: https://bugs.archlinux.org/task/16702
This isn't really about kernel stability. It's more about the fact that if I upgrade my kernel, I can no longer plug in usb devices until I reboot, which is a tad goofy.
Last edited by flan_suse (2012-05-09 15:17:47)