SD card reader on Dell laptop

I have a Dell laptop with an SD card reader that will work fine if I boot the computer with a card in the slot. I can eject the card and re-insert it and it will be recognized by the device notifier. If, however, I boot the computer without a card in the slot, then when I insert a card, nothing happens. Is there a setting somewhere I can change so it will work without having to boot the machine with a card in? Thanks.

Please, in all help requests, include your openSUSE version and desktop being used is required.

It would be nice to include your Dell laptop model as well. I have a Dell Laptop also, but it does not include a SD reader. If I attach an external SD reader, all works normally for me under openSUSE 13.1. That makes me think its a hardware issue. In such a case, a BIOS update might be i order, if a newer one exists.

Thank You,

Right, sorry. I have a Dell XPS L502X, I’m running openSUSE 12.3 with KDE 4.10.5. I won’t be updating the bios on this laptop. I made the mistake of updating the bios on an older dell desktop once and it stopped functioning.

I have found the exact problem reported on the same Laptop in 2012 and the solution was to run these terminal commands:

sudo su -l
echo 1 > /sys/bus/pci/rescan

Boot Laptop with no SD. Insert a SD disk. Run the above terminal command and see if the SD disk is found. Give this a try and report back.

Thank You,

Yes, that works. However, is there a system setting somewhere that I can modify so I do not have to run that terminal command every time?

It may also be useful to examine

sudo tail -f /var/log/messages

after you insert the SD card. That might help with determining the issue.

Since this function works normally on most systems and more that a few people have found the same problem with this specific laptop, it represent some sort of hardware or BIOS firmware bug. I would check to see if a newer BIOS exists and what it was supposed to fix. I have updated the BIOS’ on many systems and only had one failure myself. Doing a BIOS update has some risk as you have found out, but most updates work out just fine. Deciding to not update says you are willing to live with the problem though the update, should it exist, may not help at all.

I see that deano_ferrari is asking for more info to determine what might be wrong. In the end though, being happy there is a solution of any kind, may be the best you can do.

Thank You,

Based on the following Gentoo thread I’ve been reading

Gentoo Forums :: View topic - Dell laptop integrated card reader won’t work after booting

one possible workaround is to force that PCI rescan command once during an open desktop session, (and some reported that this could be done with or without the SD media present), so it may be that an autostart script will be sufficient to do the job. Refer to the post by user candamil, close to end of thread

I have been trying with scripts, automatic stuff and ****, and nothing works, only the command executed from an opened session, so the easiest way I found was to add the command to a script and add that script to the sudoers file so it doesn’t ask for a superuser password, but anyway, you need to execute that command manually. Other way would be to add it to the crontab, but as I already said, I don’t want to have that command executing itself each 5 minutes, it’s a waste of resources.

If you want, you can create a bash script to request a rescan be performed. Here is the bash script:

#!/bin/bash

#: Title       : rs - ReScan
#: Date Created: Sun Nov 17 18:52:53 CST 2013
#: Last Edit   : Sun Nov 17 18:52:53 CST 2013
#: Author      : James McDaniel
#: Version     : 1.00
#: Description : Rescal SD Card Reader Disk
#: Options     : None

#
# This is the standard GPL Statement, leave at the top of the script.
# Just use the command show_gpl after this function for it to be shown.
#

function show_gpl {
echo ""
echo "rs is a bash script file written to be used with openSUSE."
echo "Copyright (C) 2013 by James McDaniel, jmcdaniel3@austin.rr.com"
echo ""
echo "This program is free software; you can redistribute it and/or modify"
echo "it under the terms of the GNU General Public License as published by"
echo "the Free Software Foundation; either version 2 of the License, or"
echo "(at your option) any later version."
echo ""
echo "This program is distributed in the hope that it will be useful,"
echo "but WITHOUT ANY WARRANTY; without even the implied warranty of"
echo "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the"
echo "GNU General Public License for more details."
echo ""
echo "You should have received a copy of the GNU General Public License"
echo "along with this program; if not, write to the Free Software"
echo "Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA"
echo ""
}

sudo sh -c "echo 1 > /sys/bus/pci/rescan"

show_gpl

exit 0

# End Of Script

Copy the code into a text editor like kwrite and save it in your bin folder as $HOME/bin/rs. To use, the file must be marked executable. In terminal run the command:

chmod +x $HOME/bin/rs

Then in terminal again, use this command to run:

rs

To be usable by more than one user you can move the file rs to the folder /usr/local/bin as root (Use Super User File Manager).

Thank You,

Well, it looks like the rescan command still results in the reader not being recognized if I run it without the card in the slot, so I guess there’s no point in making a script. I’ll just run the command manually when necessary. Thanks for all your help!

Thanks for the update. So, I also assume (as the Gentoo thread hints at) that no device-related kernel messaging occurs when you insert the media?

You might still create the bash script. You only need to enter “rs” instead of the entire command.

Thank You,

So, I also assume (as the Gentoo thread hints at) that no device-related kernel messaging occurs when you insert the media?

That is correct.

You might still create the bash script. You only need to enter “rs” instead of the entire command.

Yes, that’s true, I’ll go ahead and use it, thank you.

I have another naive question. If the problem with the card reader is due to an issue in the BIOS, then wouldn’t it affect windows also? The card reader works just fine in windows.

Manufactures test their products with Windows and seldom claims Linux support. It hard for me to know what is wrong but working in Windows and not Linux is not a big surprise to me.

Thank You,

In general (and not specific to this card reader problem) it is not uncommon for manufacturers to build a device to be compliant with a specification, but not succeed 100%. Since they provide the MS-Windows driver for their device, its not an issue for MS-Windows users that the device is not 100% compliant with the specification. But for GNU/Linux users, where the software is 100% spec compliant and it requires the hardware to be compliant, it is an issue.

That specification philosophy can also apply to firmware.

Without manufacturer support, especially in cases where the manufacturer deviates from nominal practice or deviates from a specification, it can be very difficult for GNU/Linux developers, packagers and users, but not difficult for MS-Windows.