can't get 8-1 card reader to work {ID 058f:9360 Alcor Micro Corp. 8-in-1 Media Card }
Hello,
i have Acer AST160 with the 2.6.18-164.el5 #1 SMP stock kernel, running CentOs 5.2. Acer comes with FC51GM motherboard and 5-1 ( or 7-1?) card reader. I never tried to get it to work under linux, but i do recall that it worked under windows back 3 years ago. For the purpose of this execrsise i'm trying to access the Cannon SD Memory Card SDC-16M. This is what i see in the messages: Code:
Sep 19 19:07:45 server kernel: Initializing USB Mass Storage driver... cat /proc/scsi/usb-storage/4 Code:
cat /proc/scsi/usb-storage/4 Code:
ATA ST3160812AS 3.AA if i plug any ( and i have a few ) of cards - no messages are generated in the /var/log and i can't mount any of the sd* devices. I do have one HD that is mapped to sda and it works just fine. I also have the USB KVM that gets recognized and also works fine. Please advise. Thank you |
What happens if you unplug the card reader, insert a card then plug it back in?
|
Quote:
|
Depending on how old your system is try running:
Code:
/sbin/rescan-scsi-bus -l |
Quote:
|
Quote:
here is the output of the execution of the script as root: Code:
./rescan-scsi-bus.sh-1.29 -l |
So then it still doesn't work after running it ?
|
Quote:
|
Looks like a standard issue USB card reader, connected to a USB pin-header on the motherboard. Actually looks almost identical to my own card-reader, which I pilfered out of an HP Pavilion box.
This can be verified by typing: shell# lsusb # Please show us this output, if it is indeed shown there. and assuming it shows up in the list generated by the above command, please repeat the command, like so: shell# lsusb -v # Please post this output too. The kernel already sees the device as the usual SCSI disks, just like mine does, so before further experimentation (which we'll get to) does your card reader have a little green light on it (or whatever color) which lights up when you insert a card? If it DOES have a light, and the light DOES light up with a card inserted, then put a card in it, and try ALL the following commands (make sure the folder "/mount/point" exists and is empty, before proceeding): Commands: shell# mount /dev/sdb1 -t vfat /mount/point -o ro shell# mount /dev/sdc1 -t vfat /mount/point -o ro shell# mount /dev/sdd1 -t vfat /mount/point -o ro shell# mount /dev/sde1 -t vfat /mount/point -o ro If mount does not return a single word, after doing one of the above commands, then try just a plain "mount" command, with no arguments, and examine the output. Is your device mounted? If on the other hand, the mount attempts above DO PRODUCE output, like errors of some sort, please post for us the errors. Meanwhile, I believe I posted a thread around here somewhere, about my own card reader, and I will go and try to locate that thread for you; I think I showed some UDEV rules I had made so that my card-reader clots would always appear in teh same place every time, so I didn't need to frig around like this :) I'll find it and post a link for you -- cross your fingers ;) EDIT: in a console, as root, while you are plugging in and removing the card(s), please have the following command running (you should have one of these commands on your system): shell# udevadm monitor --kernel # for new udev versions shell# /sbin/udevmonitor # for older udev's If you see console output when inserting/removing devices, please show us the output. Sasha |
Update:
Here's the contents of my udev rules file for the USB card reader: shell# cat 11-usb-storage.rules Code:
# the HP 4-slot 15-in-1 card reader I have now installed in my machine. # commands for identifying the attribs/strings of devices, use the following procedure: # (from http://shallowsky.com/blog/tags/udev/) # 1) Find out the corresponding /block device name for it, like this: # sh# udevinfo -q path -n /dev/sdd # In my case, the SD reader was /block/sdd. Now pass that into udevinfo -a, like so: # sh# udevinfo -a -p /block/sdd # and look for a few items that you can use to identify that slot uniquely. # for me, I used the MODEL attribute, and the REV attribute, to identify the gadgets. NOTE: the above instructions are for an older udev, and there MIGHT be newer commands in place of the ones mentioned here. if that's the case, I'll work on it with you afterwards and try to update the commands.. Sasha |
that's a great resource!
Thank you for taking your time and providing all this information. Let me answer your questions as they arrived: Code:
lsusb Code:
lsusb -v Quote:
Quote:
Code:
mount -v /dev/sdb1 -t vfat /media/ssmd/ Code:
mount -v /dev/sdb /media/ssmd/ udevmonitor doesn't produce any output upon insertion or removal of the card. it seems that udevd is up: Code:
root 519 1 0 Sep20 ? 00:00:00 /sbin/udevd -d Andrew |
You'll be happy to know, your card reader has the same manufacturer as mine -- Alcor Micro Corp. Mine works great, so there's a good chance yours will too, eventually.
Looks like the slot you're using is /dev/sdb. Now, you can't mount "sdb" -- it has to be sdb1 or sdb2 or whatever; probably, if there's only one partition on the card, it will be /dev/sdb1. What you see here: Quote:
Now, the file-system type: If you don't have an fstab entry for the card slot, you need to specify a file system type on the command line. Here's my fstab file for my card reader; note that I use "auto" for the filesystem type, which you CANNOT do on command line): Code:
/dev/card-reader-SD1 /media/CardReader/SD auto defaults,users,noauto,ro 0 0 Now, depending on how shiny-new your distro is, HAL might be playing a role in this entire situation. I'm not sure, and my HAL skills are pretty much non-existent at this time, so if HAL is involved, I won't be able to help there. Let's hope for now there's no HAL stuff going on.. If you have "/sbin/udevmonitor", then you will also have the other udev* commands. It appears, now that I have checked the man page for that version of udev, that "udevmonitor" is not exactly the right command I should have told you to use. It IS the right command to watch your udev RULES in action, to make sure your rules are being used at the right time, and that they are doing what you expect; but there's another udev* command which watches for the kernel events, and I can't recall what it was :scratch: To locate all the udev files and binaries you have, type this, from a console: sh-4.0# find / -name udev* -type f If you don't see any udev commands that look useful, or if you want to try something else that might work just great, try this: Verify the name of your kernel.log file in /var/log and type the following into a console, as root, and THEN plug the card in and out: shell# tail -f /var/log/kernel.log And you should now see stuff on the screen :) At this point, especially if you see stuff on kernel.log when you put the card in/out, I recomend you make some udev rules as I did. If someone else has better advice, or feels that udev rules will not help on that distro for whatever reason, I'm open to suggestions; however I believe pretty certainly that if you make the right rules, to name your devices as I did, and have udev create all the special devices sda1, sda2, sda3, etc., that your card reader will work. I'll check in later on to see what's up :) EDIT: you might also try "msdos" as a file-system type, if you're using command line, but IIRC, I used "vfat". Best of success, Sasha |
Quote:
Quote:
Quote:
I followed H_TeXMeX_H suggestion and reooted the system with card inserted. system found the card and i was able to mount it: Code:
fdisk -l: Sum up: 1. the good - card reader is working and card is working as well. 2. card can't be recognized on hotplug. let me read on udev and i'll update the thread. Thank you Sasha. |
:cool: Cool! Nice going;
Memories are coming back to me........ Slowly.. I'm not 100% sure, but I suspect you can make it auto-mount, if that's what you'd like. I prefer not auto-mounting much of anything, myself, so I stick my card(s) in and then run a mount command or use my file browser (except if I boot up with a card in, it will automount because of my fstab file) but you can put auto-mounting stuff into the udev rules too, assuming that udev is indeed playing a role here, which almost certainly it is. After supper, I'll try to help a bit more with the udev stuff, after seeing where you're at by that time. Good stuff :) PS - you may have already fixed it, but you had a messed up [quote] tag in your last post (Fixed) Sasha |
It indeed sounds like a udev rules issue ... except I'm not good at writing those properly, maybe GrapefruiTgirl can help you.
|
All times are GMT -5. The time now is 08:37 AM. |