Для работы с многокарточными кардридерами необходимо чтобы ядро было
собрано с опцией CONFIG_SCSI_MULTI_LUN=y или подгрузить модуль mod_scsi
с параметром max_scsi_luns=N, иначе Linux будет воспринимать только
первый слот кардридера.
Проверить можно, например, так:
zcat /proc/config.gz | grep CONFIG_SCSI_MULTI_LUN
Решение 1.
При использовании mod_scsi добавить в /etc/modules.conf:
options scsi_mod max_scsi_luns=4294967295
Решение 2.
Заставить ядро опрашивать больше одного LUN у одного устройства.
cat /proc/scsi/scsi и находим первый LUN нашего кардридера.
Host: scsi1 Channel: 00 Id: 00 Lun: 00
выбор цифр ^ ^ ^
Далее:
echo "scsi add-single-device 1 0 0 1" > /proc/scsi/scsi
echo "scsi add-single-device 1 0 0 2" > /proc/scsi/scsi
echo "scsi add-single-device 1 0 0 3" > /proc/scsi/scsi
...
Для удобства монтирования можно прописать в /etc/fstab:
/dev/sda1 /mnt/smcard auto
user,noauto,noexec,mode=0444,rw,sync,codepage=866,iocharset=koi8-r 0 0
/dev/sdb1 /mnt/cfcard auto
user,noauto,noexec,mode=0444,rw,sync,codepage=866,iocharset=koi8-r 0 0
/dev/sdc1 /mnt/sdcard auto
user,noauto,noexec,mode=0444,rw,sync,codepage=866,iocharset=koi8-r 0 0
/dev/sdd1 /mnt/mscard auto
user,noauto,noexec,mode=0444,rw,sync,codepage=866,iocharset=koi8-r 0 0
PS. Для 2.6.x ядра:
echo 8 > /sys/module/scsi_mod/parameters/max_luns
|