I would like to connect my iRiver Story HD to my ubuntu 12.04 machine but as I connect it I get this error:

Unable to mount Story HD

Error mounting: mount: wrong fs type, bad option, bad superblock on /dev/sdb, missing codepage or helper program, or other error In some cases useful info is found in syslog - try dmesg | tail or so

This is what I get with dmesg

[58332.932515] usb 2-1.3: USB disconnect, device number 9
[58332.933056] sd 6:0:0:0: [sdb] Synchronizing SCSI cache
[58332.933132] sd 6:0:0:0: [sdb]  Result: hostbyte=DID_NO_CONNECT driverbyte=DRIVER_OK
[58349.254839] usb 2-1.3: new high-speed USB device number 10 using ehci_hcd
[58349.535804] scsi7 : usb-storage 2-1.3:1.0
[58350.535209] scsi 7:0:0:0: Direct-Access     iriver   Story EB07       0326 PQ: 0 ANSI: 2
[58350.537099] scsi 7:0:0:1: Direct-Access     iriver   Story SD         0326 PQ: 0 ANSI: 2
[58350.538773] sd 7:0:0:0: Attached scsi generic sg2 type 0
[58350.539178] sd 7:0:0:1: Attached scsi generic sg3 type 0
[58350.548997] sd 7:0:0:0: [sdb] 3243041 512-byte logical blocks: (1.66 GB/1.54 GiB)
[58350.657284] sd 7:0:0:0: [sdb] Write Protect is off
[58350.657291] sd 7:0:0:0: [sdb] Mode Sense: 0f 00 00 00
[58350.767369] sd 7:0:0:0: [sdb] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[58350.777168] sd 7:0:0:1: [sdc] Attached SCSI removable disk
[58351.004612]  sdb:
[58351.237097] sd 7:0:0:0: [sdb] Attached SCSI removable disk
[58351.503837] FAT-fs (sdb): codepage cp437 not found
[58362.792082] FAT-fs (sdb): codepage cp437 not found
[58388.066212] FAT-fs (sdb): codepage cp437 not found

and fdisk -l

Disk /dev/sdb: 1660 MB, 1660436992 bytes
52 heads, 61 sectors/track, 1022 cylinders, total 3243041 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

   Device Boot      Start         End      Blocks   Id  System


I have already connected it in Windows and it works (just in case somebody assumes it's broken :) )


$ sudo file -s /dev/sdb

    /dev/sdb: x86 boot sector, mkdosfs boot message display, code offset 0x58,
 OEM-ID " mkdosfs", sectors/cluster 8, Media descriptor 0xf8, heads 4, sectors 
3243040 (volumes > 32 MB) , FAT (32 bit), sectors/FAT 3161, serial number 0x20, 
label: "Story HD   "
  • What does sudo file -s /dev/sdb show (with the device connected)? Jan 22, 2013 at 0:04
  • @Gilles Please check my edit.
    – Patryk
    Jan 22, 2013 at 0:12
  • Come to think of it, “codepage cp437 not found” shouldn't be there. What kernel are you running (output of uname -rv)? What does sudo modprobe nls_cp437 show? Jan 22, 2013 at 0:23
  • @Gilles The problem was that I was running, kernel 3.2.0-35 BUT i did an upgrade to 3.2.0-36 AND removed 35without restart. Therefore it didn't see the appropriate modules.
    – Patryk
    Jan 22, 2013 at 17:07

2 Answers 2


I wonder why it's trying to use 437 at all.

The iriver Story HD itself mounts with these options (both internal FAT as well as SD card FAT):


Be a bit careful with what you put on the internal memory. Too long filenames (including directory path) are known to cause the device to brick. It's safer to just put everything on SD card.

  • I wanted to put everything on SD card but somehow Ubuntu didn't want to mount it either :/
    – Patryk
    Jan 22, 2013 at 8:20

Ok, the problem was that I was running kernel 3.2.0-35 and I did an upgrade to 3.2.0-36 without a the restart, therefore my kernel was not able to load appropriate modules.

Now after restarting it all works fine :)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.