ydal

Nokia N810: The ‘partition bug’

Are you a new user of Nokia’s N810 and have you ever won­de­red why after a bit of use, your inter­nal memory card seems to behave a bit oddly, like not allo­wing some things, e.g.:

mimir:/media/mmc2$ ls
ls: Cannot stat 'My downloads': Input/output error

If you have, you should check the disk par­ti­tio­ning on your device:

mimir:/media/mmc2$ sudo sfdisk -l
Disk /dev/mmcblk0: 61440 cylinders, 4 heads, 16 sectors/track
Units = cylinders of 32768 bytes, blocks of 1024 bytes, counting from 9

Device           Boot   Start    End     #cyls      #blocks      Id     System
/dev/mmcblk0p1          0+       62719   62720-     200732       b      W95 FAT32
[...]

As you (might) see: the par­ti­tion is actually lar­ger than the drive pro­per. So, to fix this:

  1. Back up your data. Just mount the device and copy ever­y­thing off it. Some files might give pro­blems because they’re alre­ady in the wrong part of the drive. Tough luck.
  2. Assu­ming you haven’t alre­ady con­nec­ted in via USB to do the backup, con­nect it.
  3. Throw a par­ti­tio­ning tool of your choice at the USB Mass Sto­rage device that rep­res­ents your N810’s memory card.
  4. Delete the old par­ti­tion, and create a new one in the free space.
  5. If your par­ti­tio­ner barks around say­ing some­thing about the bad par­ti­tion, go ahead and zero the first 512 of the device:
    sudo dd if=/dev/zero of=/dev/sdX bs=512 count=1
    (X being the appro­priate cha­rac­ter for your drive — check dmesg if unsure)
  6. Create a new file sys­tem on the par­ti­tion:
    mkfs -f vfat /dev/sdX1
    (Take not of the “1” (num­ber one) after sdX — you need to spe­cify it.)
  7. Copy back your backup.
  8. Power cycle the N810.

Should help.

Kudos to KotCzarny of #maemo fame.

Leave a Reply