Skip to content

Scientific Linux

Sections
Personal tools
You are here: Home » Документация » How To » Использование в S.L. 4.x Flash Multi-Card Reader

Использование в S.L. 4.x Flash Multi-Card Reader

Document Actions
Несмотря на то, что Scientific Linux 4.x достиг больших успехов в использовании устройств USB, по-прежнему возникают проблемы с USB Flash Multi-Card Reader (устройствами для чтения/записи карт памяти 6-в-1, 14-в-1, 22-в-1). Здесь даются советы по решению таких проблем.

Поскольку карты памяти  различных типов становятся все более популярны,  выпускаются устройства, способные  читать не один тип таких карт. Эти устройства обычно имеют только 2 или 4 слота для установки флеш-накопителя, в то время как они могут поддерживать до 52 различных типов карт (на момент написания этого текста). По правде говоря, они действительно поддерживают такое большое количество типов карт, но ведут себя как 8 различных типов CompactFlash, собранных в одно устройство.

Но, так или иначе, раз вы читаете этот документ, значит, это вам уже известно.

Проблема: Когда я подключаю multi-card readerScientific Linux 4x видит только ту карту памяти, которая вставлена в первый слот, и не видит другие карты.

Это происходит из-за того, что USB устройство для чтения карт определяется как устройство scsi. Это расширяет возможности его использования. Но с  multi-card reader'ом возникают проблемы, поскольку каждый из его слотов определяется на шине scsi как отдельный LUN.

В Scientific Linux можно отключить все LUN'ы на шине scsi, но дело в том, что есть такие scsi устройства, которые отключают или надолго "подвешивают" систему.  Поэтому по умолчанию проверяются только известные системе LUN'ы.

Тогда вы думаете, хорошо, неужели все так просто? Нет, все сложнее.

В  Scientific Linux 4x используются  HAL и DBUS, замечательные средства, позволяющие системе и программе определять подключаемые устройства. Их настройка происходит автоматически. Проблема в том, что на момент написания этой статьи документация довольно скудна и необходимость внесения изменений может вызвать затруднения у типичного конечного пользователя.

Так что давайте мы просто покажем, как это сделать тем способом, который успешно применялся на нескольких машинах.

  1. Выясните, какие устройства scsi присутсвуют в вашей системе
    cat /proc/scsi/scsi
  2. В консоли после каждого описанного здесь шага смотрите на сообщения, содержащиеся в /var/log/messages,  при помощи команды
    tail -f /var/log/messages
  3. Установите карту памяти в multi-card reader и затем подключите его к слоту usb. В процессе распознавания card reader'а системой в /var/log/messages будут появляться соответствующие сообщения. Если вы не видите никаких сообщений, произведите отладку вашей USB-системы (инструкции выходят за рамки этого how-to).
  4. Посмотрите, как определилось новое устройство. Должна появиться только одна новая запись из трех длинных строк
    cat /proc/scsi/scsi
    Запись должна иметь примерно такой вид
    Host: scsi2 Channel: 00 Id: 00 Lun: 00
    Vendor: OTi Model: CF CARD Reader Rev: 2.00
    Type: Direct-Access ANSI SCSI revision: 02
  5. Обратите внимание на характеристики Bus, Channel, ID и Lun.
    В нашем примере мы имеем следующее: BUS:2 Channel:0 ID: 0 LUN:0
    Таким образом, шина scsi у нас располагается на scsi2
  6. Теперь мы сканируем шину scsi на предмет наличия lun'ов.
    Используя данные, полученные выше, выполните
    echo "scsi add-single-device (BUS) (CHANNEL) (ID) 1" > /proc/scsi/scsi
    для нашего примера мы сделали бы
    echo "scsi add-single-device 2 0 0 1" > /proc/scsi/scsi
  7. При помощи команды, указанной выше, посмотрите на сообщения, содержащиеся в /var/log/messages. Если вы видите что-то похожее на флэш-карту, которая вам нужна, и она устанавливается, на этом можно остановиться. Чтобы вновь убедиться, что вы увидели новый LUN, еще раз выполните
    cat /proc/scsi/scsi
    Должна добавиться еще одна запись такого вида
    Host: scsi2 Channel: 00 Id: 00 Lun: 01
    Vendor: OTi Model: SM CARD Reader Rev: 2.00
    Type: Direct-Access ANSI SCSI revision: 02
  8. Обычно бывает необходимо пройти 4 LUN'а, поскольку столько слотов имеется в multi-card reader. Так что вам надо повышать номера lun'ов и повторять предыдущий шаг.
    echo "scsi add-single-device 2 0 0 2" > /proc/scsi/scsi
    echo "scsi add-single-device 2 0 0 3" > /proc/scsi/scsi
    echo "scsi add-single-device 2 0 0 4" > /proc/scsi/scsi
  9. Все. Можете использовать это USB устройство, как любое другое (инструкции выходят за рамки этого how-to).
Last modified 2006-08-04
 

Powered by Plone

This site conforms to the following standards: