My computer has an SD card slot. When I put a working SD card into the slot, nothing happens. When I put a CD or DVD in, or plug in a USB drive, the medium is mounted and available. Is there something special I need to do for SD cards?
Hardware specifics
I am running 11.10 on a Dell XPS L502X. The card slot is marked "SDXC/MMC - MS/Pro" (which Wikipedia tells me are various SD card types).
I have the same laptop, the slot does work on Ubuntu 12.04, but the OS doesn't seem to find the card when it is inserted. It appears you have 2 options in the short term:
Reboot with the SDcard in the slot.
Do a PCI re-scan
The bug with the workaround is listed here.
There are a few things you can do to make sure everything is working as expected.
1) Verify that Ubuntu knows about your SD card slot and what to do with it
2) Verify that Ubuntu knows you inserted something
3) Verify that Ubuntu understands the filesystem on the thing you inserted.
1) Check the outputs of the commands
sudo lspci -v -nn
,sudo lsusb
, andsudo lshw
on the command line. Here is a good guide for understandinglshw
which lists an example SD Card reader.2) Then run the following command before inserting the SD card and a few seconds after inserting it:
ls -la /dev/sd*
. This command lists all of the hard drives, CDs, DVDs, floppies, SD cards, etc that Ubuntu knows about. (These are called Block Devices).Ideally you will see a few entries on the second run that you don't see on the first. For example:
See that extra one at the end
/dev/sdd
that is the SD card.3) Check that Ubuntu understands the filesystem on the drive. I would bet it is either Fat32 or NTFS. You can check if your copy of Ubuntu understands those filesystems (it should) by running this command:
cat /proc/filesystems
. In this list vfat is Fat32 and (for all intents and purposes) fuse is NTFS. **Note: this list is not extensive.A better way is to simply try to mount the SD card manually. Run the following commands in order until one works (replace the X in
/dev/sdX1
with the letter from step 2):No output means it worked, and you should be able to navigate to your SD card with nautilus at
/mnt
. If none of them worked, try plugging your SD card into a windows machine and running chkdsk on it, or verify the filesystem type.This seems to work better for me:
sudo fdisk -l
(it's a lower case L)This shows all the
/dev/sdX
names and blocks and more information about the capacity/space of the "disks".Then, I just use the command:
sudo mkdir /media/sdcard/
(create a directory for the SD card to be mounted to)(command mount) (location name
/dev/sdd1/
) (mounted to created folder)sudo mount /dev/sdd1/ /media/sdcard/
You can mount it to just
media
if you want, and then here is the umount command for unmounting:sudo umount /dev/sdd1/
Then, you can remove the directory with
sudo rmdir /sdcard
.After more than a year, I found a permanent solution described in Read Your SD card with your Ubuntu laptop.
Quoting from the cited page:
«Do the following things.
Backup the file /etc/modules
sudo cp /etc/modules /etc/modules.bak
Add one line to /etc/modules
gksu gedit /etc/modules or sudo vi /etc/modules
3.Tag this on to the end of the file in a new line:
When you restart, you’re card reader will be functional. You’ll see that when you slap an SD card into the reader, it will automount.
But wait, don’t want to have to restart your machine? Go back to the terminal you impatient person and type:
That's all. After a restart, my laptop recognized the inserted SD card and opened the SD card in Nautilus.»
OK, based on your very detailed hardware information (thanks!), it doesn't look like the system is seeing the card reader; as in, it's not attached to either the PCI or the USB buses. It's as if it doesn't exist.
Do you know for certain that the card reader works? it might have a loose connection (check the cables from the reader to the motherboard). Also, check that it's not disabled in the BIOS/Setup.
OK, I tried all these things on a homebuilt computer dual boot with Windows XP SP3 and Ubuntu 10.04 (Lucid). Here's the results:
Automount does not recognize the card in Ubuntu, but if I put the card in my multifunction card reader at bootup, then it's recognized at boot and I can "Safely remove drive), but if I reinsert it, the system does not recognize it again, but see the last two paragraphs.
Booting the same machine into Windows XP SP3 (dual boot), and inserting the card after bootup, it's recognized just fine and can be taken out and reinserted.
Running Windows XP in VirtualBox 4.1.18 hosted by Ubuntu, kernel 4.6.32.41, and trying to read the card, it only works if it's in the slot and I turn on that particular (multifunction card reader) USB device. I can take the card in and out, but I have to keep checking and unchecking the multicard device with each insertion.
Now, here's the weird part. If I open VirtualBox into Windows XP getting the card to come up in the Windows XP session, then shut down the virtual session leaving the card in the multifunction card reader, the card then shows up on my Ubuntu Desktop.
Thus the workaround if I want to access the card in Ubuntu after bootup is to fire up VirtualBox, start Windows XP, insert the card, verify I see it im "My computer," then shutdown the VirtualBox session. Oh, yes (comment added later after further experimentation). If I "unmount" the card - through Nautilus, and remove it, as opposed to "Safely Remove Drive," then I can reinsert it and it is recognized immediately.
Sure wish Ubuntu just recognized it directly!!
If the SD card has no volume label, try adding one using a Windows or Mac machine. For example (using Windows) where H: is the SD card.