[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: sd card not detected



On Saturday, November 02, 2013 06:55:39 AM Alex Mestiashvili wrote:
> I use xfce4 4.10, but in this case I think it has nothing to do with the
> problem.
> The problem is that the device is not detected by the kernel .
> 
> it is not visible in the dmesg output and not visible in the output of
> fdisk -l.
> But other usb devices work fine - a usb stick is detected and mounted
> automatically.
> 
> ls -l /dev/sd*
> <skip>
> brw-rw---- 1 root floppy 8, 112 Nov  2 11:32 /dev/sdh
> 
> /dev/sdh -is the cardreader device.
> 
> after inserting a sd card nothing happens - /dev/sdh1 doesn't appear,
> but it appears if I run fdisk -l /dev/sdh for example.

It appears as though udev is working correctly. If sdh1 appears when you plug 
in the reader with the card already inesrted, udev is definitely working.

What appears not to be working is the daemon that periodically opens and 
closes USB devices in the event that a medium was plugged in (used to be hald, 
I think). Remember that USB1 and USB2 are master/slave; the host end must 
initiate and perform all communication. If the daemon is malfunctioning, the 
system will not detect cards inserted into readers: the USB device cannot 
autonomously notify the host of the change in status.

The daemon works for me (64-bit Wheezy). (Verifying ... yes, it does work.)

You could probably simulate the daemon by running:
----
while true; do
  # Read a block; ignore failures
  dd if=/dev/sdh of=/dev/null bs=512 count=1
  sleep 3
done >/dev/null 2>&1
----

or even:
----
while true; do
  # Open the device; close it on success
  exec 3</dev/sdh && exec 3<&-
  sleep 3
done >/dev/null 2>&1
----

Neither is optimal. Such a script should really look for non-partition USB 
additions to /dev/disk/by-id. When found, it should periodically open/close 
the device until success or until the device is deleted. Then start over.


Reply to: