пишите нам 
Ладошки: КПК, Коммуникаторы, Смартфоны, Windows Mobile, Symbian, Palm OS PDA и гаджеты
Ладошки: КПК, Коммуникаторы, Смартфоны, Windows Mobile, Symbian, Palm OS PDA и гаджеты
Ладошки: КПК, Коммуникаторы, Смартфоны, Windows Mobile, Symbian, Palm OS PDA и гаджеты
Ладошки к Солнцу! Ладошки: КПК, Коммуникаторы, Смартфоны, Windows Mobile, Symbian, Palm OS PDA и гаджеты
 

Приветствуем на Ладошках!

Ладошки, у меня РАНЧИК РОДИЛСЯ! :-) ... Уважаемые давние поклонники и посетители Ладошек! Я запускаю коммьюнити-сайт, новый проект, а вы все, будучи https://www.facebook.com/run4iq Бег для интеллектуалов. Бег для интеллекта. Бег "за" интеллектом. Он сам не придёт ;-) Ранчик родился! Андрей AKA Andrew Nugged Ладошки служат как архив программ для Palm OS и Poclet PC / Windows Mobile и разрешённых книг с 15 окрября 2000 года.
 
Статьи на Ладошках: о КПК и гаджетах
список групп статейВы пишете статьи? Контактируйте с нами!

 
Подключение USB CardReader в Linux


Автор/Источник: Andrew Kosovich
» 01.04.2005 01:22,
просмотров сегодня: 1, всего: 9918
статья размещена в группе: КПК в работе (для профессионалов)
оценка: 2.889, 18 голосов


Для владельца карманного компьютера карта памяти давно перестала быть чем-то диковинным. С ростом производительности КПК росли и объемы памяти самих карт, что повлекло за собой повышение требований: теперь пользователю некогда ждать, пока файлы будут медленно заливаться на карточку через КПК: Решением вопроса скорости и удобства, естественно, является покупка CardReader-а. Как правило, они рассчитаны на подключение посредством порта USB. Также часто в одном устройстве предусмотрено несколько слотов для разных типов карт памяти. Именно такой тип CardReader-а мы рассмотрим.

Статья написана с расчетом на то, что у пользователя уже включена поддержка портов USB и устройств SCSI. (вкомпилирована в ядро или посредством модулей). Практически все CardReader-ы работают как устройства USB Mass Storage. Причем, для каждого слота определено отдельное устройство. Такие устройства в Linux рассматриваются как устройства SCSI. Но так как физически они работают через один порт USB, то эти устройства разделены логически (Logical Unit). Поскольку в реальности аппаратные устройства SCSI с логическими устройствами внутри встречаются довольно редко, то в Linux по умолчанию отключена проверка на их наличие. Таким образом, система определит лишь одно логическое устройство, то есть у нас будет доступ лишь к одному слоту: тому, у которого логический порядковый номер (Logical Unit Number — LUN) равен 0. Самым простым методом включения поддержки нескольких логических устройств на SCSI устройстве есть добавление строчки в файл настройки загрузчика Linux, где и будет указываться их максимальное число.

Открываем /etc/lilo.conf и добавляем в секцию загрузки Linux такую строчку:

append="max_scsi_luns=8"

(число 8 выбрано с запасом. т.е. будет включена поддержка вплоть до 8 логических устройств на одном физическом SCSI)

У меня это выглядит так:

Листинг 1
# Linux bootable partition config begins
image = /boot/vmlinuz
root = /dev/hda4
label = Linux
append="max_scsi_luns=8"
read-only # Non-UMSDOS filesystems should be mounted read-only for checking
# Linux bootable partition config ends

Сохраняем файл и даем команду lilo для того, чтоб сохранить только что измененные настройки в сам загрузчик (если вы грузитесь дискеты, то не забудьте вставить ее перед запуском команды lilo). После этого следует перезагрузить компьютер. Если CardReader еще не подключен, то, как раз самое время это сделать. После того, как система загрузилась, удобнее всего посмотреть сообщения ядра, чтоб узнать, какой слот соответствует какому устройству в операционной системе. Для этого вводим команду dmesg.

Вот пример того, как CardReader был определен у меня:

Листинг 2
usb.c: registered new driver usb-storage
scsi1 : SCSI emulation for USB Mass Storage devices
Vendor: OTi Model: CF CARD Reader Rev: 2.00
Type: Direct-Access ANSI SCSI revision: 02
Vendor: OTi Model: SM CARD Reader Rev: 2.00
Type: Direct-Access ANSI SCSI revision: 02
Vendor: OTi Model: SD CARD Reader Rev: 2.00
Type: Direct-Access ANSI SCSI revision: 02
Vendor: OTi Model: MS CARD Reader Rev: 2.00
Type: Direct-Access ANSI SCSI revision: 02
Attached scsi removable disk sda at scsi1, channel 0, id 0, lun 0
Attached scsi removable disk sdb at scsi1, channel 0, id 0, lun 1
Attached scsi removable disk sdc at scsi1, channel 0, id 0, lun 2
Attached scsi removable disk sdd at scsi1, channel 0, id 0, lun 3

Как видим, в первой части листинга 2 написаны названия определившихся устройств в порядке определенных у них LUN (номеров логических устройств). Ниже (начиная со слова Attached) в том же порядке написано, с какими устройствами (/dev) они связаны. К примеру, нам необходим доступ к слоту SD. В первой части, как видно, он третий по порядку. Во второй части видим, что третий съемный диск (removable disk) сопоставлен sdc. (для удобства нужные строки листинга я выделил жирным шрифтом)

Итак, слот SD у нас представлен как /dev/sdc. Но так как нам нужен доступ не к слоту, а к карточке туда вставленной, а точнее к ее первому (и, скорее всего, единственному) разделу, то будем непосредственно обращаться к нему: /dev/sdc1. Собственно монтирование карточки стандартно, но чтоб поддерживались длинные имена на FAT16 (именно такая файловая на картах памяти, отформатированных на Palm) надо монтировать с дополнительными опциями:

mount -t vfat -o check=s /dev/sdc1 /mnt/sd

Также, будет полезным добавить в файл /etc/fstab такую строчку:

/dev/sdc1 /mnt/sd vfat user,noauto,sync,noexec,nosuid,nodev,iocharset=koi8-r,codepage=866 0 0

Такие строчки необходимо добавить для всех логических устройств CardReader-а.

Краткое описание опций по порядку:

user - разрешает пользователям монтировать карточку
noauto - не пытаться монтировать карточку при загрузке
sync - не кешировать запись, т.е. сразу записывать на карточку
noexec, nosuid, nodev - вряд ли нам понадобится запускать программы или монтировать на карточку устройства
iocharset=koi8-r — кодировка для работы с файлами (использовать, если настроена локаль)
codepage=866 - кодировка файловой системы (стандартно для FAT)

Если мы задали такие настройки в файле /etc/fstab, то процедура монтирования немного упрощается:

mount /mnt/sd

Все настройки (что, откуда и как монтировать) будут браться из того самого файла. Собственно на этом и заканчивается настройка CardReader-а в Linux.

Отдельное спасибо 2 Kors, 2 Daryna за советы и поддержку.

 

1   2   3   4   5
«хуже     ваша оценка     лучше»


Обсуждение
Вам показаны только последние 7 сообщений из 9.
Важная информация может быть скрыта! Просмотреть все?


18.08.2005 14:08 - aamonster

Отлично — впервые вижу объяснение, как подобные кардридеры подключать (c ними по жизни проблема — в отличие от однослотовых). Главное — понять, как сделать то же самое без LILO


25.08.2005 21:10 - Andrew Kosovich

Можно перекомпилировать ядро с опцией проверки всех LUN в разделе настроек устройств SCSI (если настраивать через menuconfig)
В любом случае, использование append в lilo это не такой уж метод «через з...». Например, поддержка IDE CD-R(W) без перекомпиляции включается строчкой в lilo.conf:
append=«hdc=ide-scsi»
Т.е. что тебе мешает использовать таки в lilo?


27.11.2005 14:54 - grub

ух как сложно! У меня стоит RH7 с ядром 2.4.26, кард ридер монтирую как и флэшки /dev/sda1,2,3,4,5...


27.11.2005 14:55 - grub

...да и словтов у моего кард ридера 4. Тут главное циферку угадать после sda


02.12.2005 08:33 - Andrew Kosovich

Mozhno ne ugadivat, a posmotret, shto govorit dmesg. Hotya, yesli nravitsya — ugadivay (:


19.02.2007 23:56 - morfey

блин.. все сделал. и все равно пишет что девайс занят


21.01.2008 14:20 - Alex Kato

Вопрос: а на MANDRIVA-2008PWP ета тема прокатит?



Чтобы писать комментарии вам нужно
авторизоваться (войти) или зарегистрироваться


 
Регистрация товарного знака в Украине patent.km.ua.
Telephones, address and opening times for shops, post and banks in the UK
 
 

 

статьи
по этой теме
 
Palm под FreeBSD — драйверы и TCP/IP
14-04-2005, рейтинг(общ.): 3.15, просм.: 0/8331

Настройка сетевого доступа для PalmOS эмулятора на операционной системе Linux
03-04-2005, рейтинг(общ.): 2.177, просм.: 0/5609

а вы знаете, что есть:
- рейтинг-каталог сайтов Ладошек?

поддержите
Ладошки
 
Рейтинг Ладошек: КПК, мобильность, коммуникаторы, смартфоны, гаджеты, высокие технологии Рейтинг каталога сайтов Хмельницкого региона Поддержите Ладошки: Как поддержать сайт?
Использование материалов сайта разрешено только при наличии
гиперссылки на страницу Ладошек без блокировки индексации
реклама на сайте    Andrew Nugged © 2000-2015