Ubuntu won't write to SD cards

Q My Evesham Voyager (running XP Pro and Ubuntu 64) will read but not write SD cards whether the slider is locked or unlocked. The card works fine in my brother's Toshiba. I have contacted Evesham and reloaded USB drivers but to no avail. I thought it might be helpful if I told them I'm dual boot and that the same happens in Linux. They now refuse to help, saying they can't support a dual-boot PC, and that I must reformat the hard drive! I only recently reinstalled everything so don't want to do that, and I want to continue with Ubuntu. XP lists generic USB drives CFC, MMC, MSC, but there's no SDC even though the slot is supposed to be 4-in-1.

In Ubuntu the Read, Write and Execute permission buttons are all ticked. I thought I'd try HardInfo, but loading fails because glibc is too old. I'm told 'you need at least the following symbols in glibc:GLIBC_2.0' yet I've installed all auto updates. It tells me that upgrading glibc is highly dangerous, that whoever built the package did not build correctly, and that I should report this to the provider and ask them to rebuild using apbuild. Can you help?

A Right. If this happens in both Windows and Linux, your card reader is almost certainly at fault and you will need to get Evesham to fix it, something that the company should do whichever operating system is installed because this is a hardware fault. If Evesham insists on your removing Linux, you could use Partition Image (www.partimage.org) to back up your Linux partition(s). But if this error only happens in Linux, it is most likely a permissions problem. Even though the directory at which the device is mounted is writable by you, the underlying device may not be. Can you write to the card as root? You don't need to log into the desktop as root to do this; assuming the card is mounted at /media/sd, open a terminal and type

sudo touch /media/sd/tmp

If you can write as root, it would appear that the device node for the card is not writable by your normal user. Run mount to see the device name - you'll see something like

/dev/sda1 on /media/sd type vfat (rw,noexec,nosuid,nodev,noatime,uid=1000,utf8,shortname=lower)

at the end of mount's output, showing that the device, in this example, is /dev/sda1. Inspect the permissions on the device node with

ls -l /dev/sda1

You will see something like

brw-rw---- 1 root plugdev 8, 1 Oct 23 17:29 /dev/sda1

This shows that the device is owned by the root user and the plugdev group. The rw-rw---- shows that the user and group can read and write and that others cannot, so you need to ensure that you are a member of the plugdev group. Run id from the terminal to see which groups you belong to and use the following commands to add yourself to plugdev:

sudo gpasswd -a $USER plugdev
newgrp plugdev

The first command adds you to the plugdev group; the second makes that your current group, otherwise you would have to log out and back in again for the change to take effect. The HardInfo error is odd, because Ubuntu Dapper comes with version 2.3.6 of glibc. This could be an error in the Autopackage build. An older version of HardInfo is in the Ubuntu Universe repository - the latest version, 0.4.1, is in the Ubuntu Edgy repository. Add

deb http://archive.ubuntu.com edgy main universe

to /etc/apt/sources.lst and you will be able to install it from Synaptic. We have also included a Deb package of HardInfo on the DVD.

Back to the list