Мой статус
Hot Orange
Главное Фотки Чтиво Ассорти Книга жалоб PRO поСсылки Старьё
Кард-ридер в линуксе. Mini-howto.

Вернулся я как-то с работы с Olympus E-10, камера есть такая. И возникло у меня непреодолимое желание завести эту штуку под Линуксом. В Win2000 даже драйвера не нужны, определяется сразу, как съёмный диск, т.е. является кард-ридером. По идее там лежат графические файлы, но можно и музыку таскать, и программы, и вообще-любые файлы. Под линуксом сразу не заработало, пришлось напрячь мозг...

Поехали!

  • Я работал над этим документом в ASPLinux 7.2
  • Надеюсь, что ваше ядро версии 2.4 или старше, собрано с включённой поддержкой SCSI и USB. Если с этим всё в порядке, подключаем устройство к порту USB и даём очень простою команду:
 # modprobe usb-storage
Если модуль загрузился, значит всё в порядке. Теперь надо посмотреть появилось ли у нас новое устройство SCSI, узнать это можно с помощью небольшой утилиты sg3-utils, а можно поступить проще, я использовал такую команду:
 # cdrecord -scanbus
:-) надеюсь вы увидили, что-нибудь типа этого:
Cdrecord 1.10 (i686-pc-linux-gnu) Copyright (C) 1995-2001 Jцrg Schilling
Linux sg driver version: 3.1.20
Using libscg version 'schily-0.5'
scsibus0:
0,0,0 0) 'TEAC ' 'CD-W58E ' '1.0A' Removable CD-ROM
0,1,0 1) *
0,2,0 2) *
0,3,0 3) *
0,4,0 4) *
0,5,0 5) *
0,6,0 6) *
0,7,0 7) *
scsibus1:
1,0,0 100) 'OLYMPUS ' 'E-10 ' '1.00' Removable Disk 1,1,0 101)
1,2,0 102) *
1,3,0 103) *
1,4,0 104) *
1,5,0 105) *
1,6,0 106) *
1,7,0 107) *
Также можно использвать команду:
 # cat /proc/scsi/scsi
увидеть вы должны что-то такое:
Attached devices:
Host: scsi0 Channel: 00 Id: 00 Lun: 00
Vendor: TEAC Model: CD-W58E Rev: 1.0A
Type: CD-ROM ANSI SCSI revision: 02
Host: scsi1 Channel: 00 Id: 00 Lun: 00
Vendor: OLYMPUS Model: E-10 Rev: 1.00
Type: Direct-Access ANSI SCSI revision: 02
теперь надо смонтировать новое устройство, но сначала узнаем, где оно находится дав команду:
 # sg_map
Увидеть мы должны что-то такое:
/dev/sg0 /dev/scd0
/dev/sg1 /dev/sda	
/dev/sda и есть наш флеш-диск. Стало быть первый раздел на нём будет /dev/sda1, монтируем его:
 # mount -t vfat /dev/sda1 /mnt/flash
Вот и всё! Ваш кард-ридер прикручен к системе. Что бы каждый раз не загружать модуль usb-storage вручную, советую прописать его в hotplug (конечно, если ваш hotplug ничего не знает об этом устройстве, о моём не знал :-)) Берём подходящую строку из /etc/hotplug/usb.distmap от другого устройства usb-storage, заменяем в ней Product ID и Vendor ID на соответствующие значения нашего устройства. Узнать Vendor ID и Product ID можно c помощью утилиты USBView или команды:
# cat /proc/bus/usb/devices
 
T: Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 16 Spd=12 MxCh= 0
D: Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1
P: Vendor=07b4 ProdID=0102 Rev= 1.20
S: Manufacturer=OLYMPUS
S: Product=E-10
S: SerialNumber=1083046
C:* #Ifs= 1 Cfg#= 1 Atr=c0 MxPwr=100mA
I: If#= 0 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage
E: Ad=01(O) Atr=02(Bulk) MxPS= 64 Ivl= 0ms
E: Ad=82(I) Atr=02(Bulk) MxPS= 64 Ivl= 0ms
Копируем модифицированную строку
usb-storage 0x0380 0x07b4 0x0102 0x0000 0x0000 0x00 0x00 0x00 0x08 0x03 0x0 0x00000000
в /etc/hotplug/usb.handmap. Теперь модуль usb-storage будет загружаться автоматически при подключении устройства к шине usb.
Чтобы облегчить жизнь можно добавить в /etc/fstab следующую строку:
/dev/sda1	/mnt/flash	vfat	noauto,user 0 0
Для того, что бы примонтировать устройство необходимо дать команду:
 # mount /mnt/flash
что бы размонтировать:
 # umount /mnt/flash

Благодарность.

Выражаю благодарность Грегу Бэйкеру (Greg Baker) за его работу над документом Using a USB Compact Flash Reader in Linux. Именно этот документ лежал в основе этого мини-howto. Спасибо!

Ответственность?

А что это такое? :-)
Мнение автора по изложенному выше вопросу не является «истиной последней инстанции». Я лишь излагаю то, что проверил, попробовал, «пощупал»… Мнения, выводы, результаты и утверждения автора могут не совпадать с вашими, или кого-либо ещё. Данные в статье рекомендации не следует воспринимать как руководство к действию. Все предложения, которые вы, возможно, реализуете после прочтения этой статьи, вы совершаете на свой страх и риск. Автор не берёт на себя ответственности за любой ущерб, который может быть прямо или косвенно причинен использованием рекомендаций, изложенных в данной статье.

Авторские права

Эта статья, а также её переводы, могут быть воспроизведены и распространены полностью или частично на любом носителе физическом или электронном, при условии сохранения этой заметки об авторских правах на всех копиях. Коммерческое распространение разрешается и поощряется; но автор статьи желал бы знать о таком использовании.

Все переводы и производные работы, выполненные на основании этой статьи должны сопровождаться этой заметкой об авторских правах. Это делается для предотвращения ограничения свободного распространения этой статьи. Исключения могут составить случаи получения особого разрешения у автора, с которым можно связаться по адресу приведенному ниже.

Автор хотел бы распространить эту информацию по разным каналам, но при этом сохранить авторские права и быть уведомленным о всех планах распространения статьи. Если у вас возникли вопросы, обратитесь к автору этой статьи по электронной почте: <hot-orange@narod.ru>

© Василий Гладкий, 2003

Hosted by uCoz