Getting your card reader(with multiple slots) to work in Slackware(10.1 in my case)
Enable SCSI Lun's in your kernel
Become root using su:
Type in your root password to become root.
Now, lets move to the directory where we have our kernel source:
There are now three posibilities to enable SCSI LUN, the first is to manually edit .config (myeditor .config
), the second is to edit using the command line menu (make menuconfig
) and the third using the X version of the menu (make xconfig
I choose for the second option and did:
If you're using an editor makesure you have this line in your .config:
This will make SCSI LUN built in your kernel.
If you're using a menu(possibility 2 and 3) then:
Scroll down with the arrow key to SCSI Support---->
and press Enter
On the next page, check that "Probe all LUNs on each SCSI device
" is marked as either a module (in which case you'll have to make sure it is loaded) or built-in.
Now exit and save the changes.
It's now time to compile your kernel(this assumes you're using the 2.4 kernel, for the 2.6 kernel it's a bit different):
# make dep && make bzImage modules modules_install
This can take some time(like an hour or so), so you can easily do something else.
After that is done you will need to copy the kernel image to your /boot directory:
# cp arch/i386/boot/bzImage /boot
: You might wanna give it an other name so that you can choose between 2 kernel to boot from, just in case the newly kernel you've created isn't working.
Setting a maximum
For some strange reason we need to set a maximum of LUN's to use.
We need to pass such parameters to the kernel on booting time, so choose your favourite editor and open up /etc/lilo.conf.In example:
No scroll down to your linux part:
image = /boot/vmlinuz
root = /dev/hda1
label = Desktop
This is how it might look like.Now, just add the following line to it:
append = "max_scsi_luns=7"
Now, to apply your changes, you still need to run lilo:
You're not yet ready, you still need to add a line to modules.conf, so start up you're favorite editor again and edit /etc/modules.conf.In example with vi:
Add the following line:
options scsi_mod max_scsi_luns=7
It's now time to reboot your pc.
Mounting your card reader
Plug in your card in your card reader first, and then plug your card reader in your usb port.
Now let's check out /var/log/messages(you will need to be root for all these commands again):
# cat /var/log/messages | tail
This is how my output looked like:
Jul 23 14:52:22 Hylke kernel: usb.c: registered new driver usb-storage
Jul 23 14:52:22 Hylke kernel: scsi1 : SCSI emulation for USB Mass Storage devices
Jul 23 14:52:22 Hylke kernel: sda: Unit Not Ready, sense:
Jul 23 14:52:22 Hylke kernel: sda: I/O error: dev 08:00, sector 0
Jul 23 14:52:22 Hylke kernel: sdb: Unit Not Ready, sense:
Jul 23 14:52:22 Hylke kernel: sdb: I/O error: dev 08:10, sector 0
Jul 23 14:52:22 Hylke kernel: sdc: sdc1
Jul 23 14:52:22 Hylke kernel: sdd: Unit Not Ready, sense:
Jul 23 14:52:22 Hylke kernel: sdd: I/O error: dev 08:30, sector 0
Jul 23 14:52:22 Hylke kernel: USB Mass Storage support registered.
As you can see, sdc is the only one that's not complaining, and has a partition sdc1.
That's the one we need.
Again, launch your favourite editor and open /etc/fstab:
Add the following line to /etc/fstab:
/dev/sdc1 /mnt/cardreader auto user,noauto,owner,rw 0 0
You might wanna change sdc1 into some other number depending on your /var/log/messages output.
Now, log out from root and execute the following command as a normal user:
This will mount your card through your card reader in /mnt/cardreader
I would like to thank all the guys/girls from this thread who helped me, I couldn't ever do it without there help.