"FAT-fs: IO charset iso8859-1 not found" error while mounting FAT Drives

I am unable to mount any fat32 or fat16 formatted usb disks under Ubuntu 13.10. The thing here to note is that it is happening only with fat formatted Disks. ntfs, ext formatted external usb disks work well (I tried formatting the same with ext4 and it worked)

While mounting via nautilus:

Error while mounting via File Manager

Error while mounting from terminal:

root@shubham-pc:~# mount -t vfat /dev/sdc1 /media/shubham/n
mount: wrong fs type, bad option, bad superblock on /dev/sdc1,
       missing codepage or helper program, or other error
       In some cases useful info is found in syslog - try
       dmesg | tail  or so

As suggested by the error: Output from dmesg | tail

root@shubham-pc:~# dmesg | tail
[ 3545.482598] scsi8 : usb-storage 1-1:1.0
[ 3546.481530] scsi 8:0:0:0: Direct-Access     SanDisk  Cruzer           1.26 PQ: 0 ANSI: 5
[ 3546.482373] sd 8:0:0:0: Attached scsi generic sg3 type 0
[ 3546.483758] sd 8:0:0:0: [sdc] 15633408 512-byte logical blocks: (8.00 GB/7.45 GiB)
[ 3546.485254] sd 8:0:0:0: [sdc] Write Protect is off
[ 3546.485262] sd 8:0:0:0: [sdc] Mode Sense: 43 00 00 00
[ 3546.488314] sd 8:0:0:0: [sdc] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
[ 3546.499820]  sdc: sdc1
[ 3546.503388] sd 8:0:0:0: [sdc] Attached SCSI removable disk
[ 3547.273396] FAT-fs (sdc1): IO charset iso8859-1 not found

Output from fsck.vfat:

root@shubham-pc:~# fsck.vfat /dev/sdc1
dosfsck 3.0.16, 01 Mar 2013, FAT32, LFN
/dev/sdc1: 1 files, 1/1949978 clusters

All normal

Tried re-creating the whole partition table and then formatting as fat32 but to no avail so the possibility of corrupted drive is ruled out. Tried the same with around 4 Disks or so and all have the same things


Apparently, your kernel somehow has problems (maybe a bug). Since there is an updated version available, install it (version 3.11.0-13-generic)

sudo apt-get install linux-generic

now reboot in your new kernel.


I had the same problem a few days ago with 4.4.0-57. modprobe nls_iso8859-1 threw an error, and without that module, that "IO charset not found" message appears.

Turns out the root filesystem was damaged. After a thorough fsck and reinstalling of the kernel (forced with apt-get install --reinstall), that module loads again, and I can mount my USB sticks.

@larskholte Even if the update to 4.4.0-57 fixed your problem by replacing the bad module, be sure to fsck your filesystems! That module not loading is only a symptom of a much bigger problem.