Ru-Board.club
← Вернуться в раздел «UNIX»

» USB накопители под Linux'ом

Автор: agMuH
Дата сообщения: 25.11.2003 13:53
предлагаю тему по сабжу.
сам сейчас мучаюсь с ZIV под SuSE 8.2
насколько я повыспрашивал у знакомых - либо не смогли до конца привинтить USB-накопители (flash, usbide и прочее), либо даже не начинали, так как не знают, с какой стороны подойти.

пока я сам понял лишь вот это:

1. должен отрабатывать usbd (ныне hotplug), создавая ноду на устройство в /dev

после чего все должно быть опаньки и чикеньки
в реале я сам, например, полчаю следующее:

kernel: usb.c: USB device 3 (vend/prod 0x5ab/0x202) is not claimed by any active driver

usb-storage, ессно, в памяти болтается

прошу помощи мне и вопросы других по теме с последующими, надеюсь, ответами

неужели отстанем от винды?

да, кста, ASPLinux сразу прошу не предлагать как решения конкретно с ZIV
Автор: ooptimum
Дата сообщения: 25.11.2003 13:59
agMuH
У меня SuSE 8.2 и 3 USB-свистка (64, 64 и 128 метров, все -- Apacer HANDY STENO 1.1). Ничего вообще делать не пришлось -- просто воткнул и оно само все завелось, в общем, полный P'n'P. Сегодня буду под Gentoo настраивать. Если хочешь, отпишу потом как делал.
Автор: agMuH
Дата сообщения: 26.11.2003 07:31
ooptimum

Цитата:
3 USB-свистка

хоть у меня пробелмы не было с ними тоже - в любом случае инфа пригодится не мне, так кому-то другому

у меня проблема именно с USB IDE
Автор: Nafiganado
Дата сообщения: 12.12.2003 18:27
Я под Mandrake не могу USB-кардридер установить
В хэлпе видел, что в dev должен SCSI-дивайс фигурировать - через него дивайс нужно маунтить. Запускал Mandrake configuration, выставил там галочки - поддержка USB-устройств, поддержка SCSI, вообще всё, что только могло бы помочь - без толку: нет у меня в dev сказзей (т.е. устройств, именуемых как sd* или scd*) и всё тут. Не к чему маунтить.

А кардридер определяется. Пишет, что подключено такое-то устройство. Вот только толку-то Обращения к нему как к устройству с буковкой нету...
Автор: Nafiganado
Дата сообщения: 24.12.2003 23:29
Что-то никто тему не поддерживает... А постить отдельное сообщение на эту же тему не хочется...

Ну так? Неужели никто не знает, как можно решить вопрос с маунтингом?
Не ставится сказзи у меня! Я уже и логи смотрел - там никаких ошибок нет (прежде была ошибка /sbin/modprobe scsi_hostadapter

Но это потому, что он прОбился раньше, чем появлялось USB mass storage...
Теперь я скомпилировал все scsi-примочки как модули (раньше встраивал в ядро).
Ошибок не возникает. Но все равно не к чему маунтить ((

Помогите, замучился!

Кстати, возможно, дело в том, что надо USB mass storage в ядро вкомпиливать? Так не позволяет оно мне "y" выбрать, только "m". А когда принудительно ставлю "yes" в config'e ядра - ругается при сборке...
Автор: xntx
Дата сообщения: 24.12.2003 23:44
agMuH
у меня USB-резак, если делать
cat /proc/bus/sub/devices
то он распознает его как USB to IDE Controller
все работает нормально: redhat 9/ mandrake9(.1)
Автор: agMuH
Дата сообщения: 25.12.2003 19:00
xntx
верю...

а вот у меня не получается...

Nafiganado

Цитата:
Что-то никто тему не поддерживает


да, грустно...

или никто не знает или никто не хочет

Автор: ooptimum
Дата сообщения: 26.12.2003 06:58
Nafiganado
Чтобы помочь тебе мы должны знать, какое КОНКРЕТНО железо у тебя не работает на каком КОНКРЕТНО ядре и с какими КОНКРЕТНО настройками.
Автор: agMuH
Дата сообщения: 28.12.2003 11:43
ooptimum
а мне?

Автор: Nafiganado
Дата сообщения: 28.12.2003 17:42
ooptimum

Содержимое каких именно файлов (настройки) показать?

Кстати, о железе... Важно ли это? Ведь я приношу хард с Линуксом домой, подключаю - там такие же проблемы с кард-ридером.

А система у меня Mandrake 9.0 (ядро 2.4.19-33)
Автор: ooptimum
Дата сообщения: 28.12.2003 20:55
agMuH
Знаешь Дмитрий, простого решения для тебя у меня нет. Но есть сложное. Ты готов? Итак, что мы знаем? Мы знаем, что ZIV производится российской (?) компанией и один из российских же дистрибутивов хвастается поддержкой этого девайса. В этой точке мы уже имеем несколько путей решения проблемы и все они достаточно сложные.
Путь первый, иррациональный. Ты -- потребитель. Следовательно, вправе добиваться своих прав через суд. Коль скоро компания InPrice продекларировала совместимость сего девайса с линуксом, а ты на этот посул повелся и приобрел сей девайс именно с целью работы в линуксе, то ты вправе ожидать, что он будет работать, как обещано. И кто сказал, что линукс это только ASP? У тебя есть знакомый адвокат? Я так и думал...
Путь второй, технически сложный. Найти исходники драйвера для поддержки ZIV в сырцах от ASP Linux 9. Тут опять 2 варианта:
а) Драйвер существует только в бинарном виде. Конечно, это полная задница, но это задница теоритически преодолимая. Поскольку данный драйвер создавался специально для ядра линукс (не был написан до появления линукс вообще или вне всякой связи с ним, как, например, AFS), то данный драйвер является "derivative work" ядра и должен распространяться в соответствии с лицензией GNU, как и само ядро линукс. Эта лицензия подразумевает полный безусловный доступ к его исходникам. Поэтому ты вправе требовать этого. Да, именно требовать.
б) Драйвер доступен в исходниках. Осталось только вычленить его из исходников ядра ASP 9. Берем vanilla sources нужной версии ядра и делаем банальный diff с исходниками ядра ASP 9. В результатах работы diff'а ищем драйвер для ZIV и пытаемся портировать его в SuSE. ... А я разве говорил, что это легко?

Nafiganado
Что за кардридер у тебя? Производитель? Марка?
Автор: Nafiganado
Дата сообщения: 29.12.2003 04:41
ooptimum

Cypress Memory Stick reader. К сожалению, сейчас он не со мной - модель сказать не могу.
Автор: Nafiganado
Дата сообщения: 08.01.2004 01:13
ooptimum

А кардридер - CR-V7-UM (если это поможет). Или идей нет?
Автор: ginger
Дата сообщения: 08.01.2004 13:40
agMuH
Nafiganado
USB устройство в Linux распознается как SCSI устройство, изначально во время загрузки системы происходит опрос устройств установленных в системе в случае если Ваше ядро поддерживает USB/SCSI то этому устройству будет присвоено имя, например sda4, в моем случае это IOMega ZIP 250 USB.
Для того чтобы получить доступ к этому устройству нужно выполнить команду вида:
$ mount /dev/sda4 /mnt/zip -t vfat ,где
/dev/sda4 - USB(SCSI) устройство
/mnt/zip - путь куда монтируем
-t vfat - указываем тип файловой системы
Автор: Nafiganado
Дата сообщения: 08.01.2004 14:07
ginger

Это-то я знаю.
Но в том и проблема, что нет у меня в /dev никаких scsi - ни sg, ни sd*.

"Ни-ка-ких!" (с) удав из "38 попугаев"

Маунтить не к чему.

Хотя поддержку в ядре и модулях я установил.
Автор: ginger
Дата сообщения: 08.01.2004 16:08
Nafiganado
М-мм... может быть проблема в драйвере устройства? Что такое кард-ридер? Возможно для его работы требуется драйвер, попробуйте поискать в сети интернет информацию об этом, тогда возможно Ваша проблема решиться... кстати, еще можно посмотреть /proc/bus/usb/devices после того как Вы подключите свое устройство... если Linux знает о Вашем устройстве, то там будет находится конкретная информация, в противном случае будет что-то типа unknown device, тогда нужно заняться поисками решения данной проблемы...;)
Автор: agMuH
Дата сообщения: 08.01.2004 16:27
ginger

нет

ZIV проходит как usb

никаких scsi девайсов

ooptimum

Цитата:
А я разве говорил, что это легко?

а я легкого не просил
попробую
Автор: ginger
Дата сообщения: 08.01.2004 16:44
agMuH

Цитата:
ZIV проходит как usb
никаких scsi девайсов

В Linux любое USB устройство эмулируется как SCSI, я же привела Вам пример, все что Вам требуется это узнать его имя и примонтировать.
Автор: Nafiganado
Дата сообщения: 10.01.2004 00:15
ginger

В проц-ах есть "нулёвочка" в подкаталоге дивайсов. И определяется он правильно - "Cypress Memory Stick reader, и т.д. и т.п."
Но вот дивайсов сказёвых, к которым можно было бы его "прикрутить" - нет.

Кстати, не знаю, как это объяснить, но когда зашел через известную виндовую прожку Explore2fs в подкаталог \dev, то там показались и sda, и sg, да еще и с кучей нодов...
Я уж было обрадовался, но когда загрузился в Линукс - никаких сказей. Мираж или особенности отображения Explore2fs?

У меня еще такая идея была... SCSI-модуль грузится раньше, чем USB-device support... Смотрит, а никаких USB пока и нету. Ну, он и не создает ноды в \dev...
Но я не знаю, как это точно выяснить... Вообще-то я и поддержку сказей, и USB, сделал в виде модулей. Может, нужно было что-то в ядро вкомпилировать? Хотя USB support, по-моему, в ядро нельзя...
Автор: Swappp
Дата сообщения: 10.01.2004 00:48
Nafiganado

Цитата:
Кстати, не знаю, как это объяснить, но когда зашел через известную виндовую прожку Explore2fs в подкаталог \dev, то там показались и sda, и sg, да еще и с кучей нодов...

это devfs называется показывает только то что в системе присутствует, монтируя поверх старого содержимого /dev, Explore2fs естественно не монтирует devfs а показывает полное содержимое /dev.
кстати почему это USB работает через эмуляцию SCSI? первый раз слышу. для usb есть отдельный каталог в /dev, /dev/usb, может стоит там поискать? или я чтото не понимаю...
P.S. Nafiganado отвыкай от "\" в unix это означают немного другое
Автор: CFA
Дата сообщения: 11.01.2004 09:04
Я поступил таким образом (ядро у меня 2.4.22)
1) Включил поддержку Support for hot-pluggable devices
2) Поддержка SCSI (не модулем)
SCSI support, SCSI disk support, SCSI generic support
3) Поддержка USB
Support for USB, Preliminary USB device filesystem, UHCI (Intel PIIX4, VIA, ...) support, USB Mass Storage support

После чего собственно пересобрал ядро и все заработало - моя флешка монтировалась таким образом
mount -o iocharset=koi8-r /dev/sda1 /mnt/flash
Автор: Nafiganado
Дата сообщения: 11.01.2004 11:56
CFA

A поддержка USB - тоже все разделы не модулем?
Автор: CFA
Дата сообщения: 11.01.2004 15:27
Нет, все что к USB модулями, вот часть конфига

CONFIG_HOTPLUG=y

CONFIG_SCSI=y
CONFIG_BLK_DEV_SD=y
CONFIG_SD_EXTRA_DEVS=40
CONFIG_CHR_DEV_SG=y

CONFIG_USB=m
CONFIG_USB_DEVICEFS=y
CONFIG_USB_EHCI_HCD=m
CONFIG_USB_UHCI=m
CONFIG_USB_UHCI_ALT=m
CONFIG_USB_STORAGE=m
Автор: Nafiganado
Дата сообщения: 13.01.2004 21:19
CFA

Сделал так же - ничего не помогло. Все по-прежнему: в /proc/bus/usb/usb-storage-0/ мой Cypress есть, а sd*, sg* в /dev у меня отсутствуют...

Ну.. неужели никто не знает, в чем все-таки дело?

Может, по каким-то логам все же можно проследить и добраться до правды?
Автор: ooptimum
Дата сообщения: 14.01.2004 08:42
Nafiganado

Цитата:
Ну.. неужели никто не знает, в чем все-таки дело?

Я замечал нечто подобное, правда, с другими девайсами, драйвера которых эмулируют SCSI. Например, с внешними Zip и MO дисками, подключаемыми через LPT. Для того, чтобы появился девайс, надо, чтобы в драйве на этапе загрузки был установлен носитель информации, т.е. диск в случае Zip и MO. Попробуй вставить что-нибудь в свой кард-ридер и перезагрузиться. Возможно, что это поможет. lsusb, кстати, что говорит?
Автор: Nafiganado
Дата сообщения: 14.01.2004 17:51
ooptimum

Что-то сдаётся мне, что этот дивайс вообще под Линуксом не заработает. Вначале, после загрузки, в /proc/usb он по крайней мере фигурирует с корректной информацией. Которая считывается, к примеру, KDE-шной програмкой USBview и отображается как положено. НО!
Лишь только я запускаю lsusb -v, появляется такая фигня:

Bus 001 Device 003: ID 04ce:0002 ScanLogic Corp. SL11R-IDE IDE Bridge
Language IDs: none (cannot get min. string descriptor; got len=-1, error=84:Invalid or incomplete multibyte or wide character)
cannot get string descriptor 1, error = Invalid or incomplete multibyte or wide character(84)
cannot get string descriptor 1, error = Invalid or incomplete multibyte or wide character(84)
Device Descriptor:
bLength 18
bDescriptorType 1
cdUSB 1.01
bDeviceClass 0 Interface
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 8
idVendor 0x04ce ScanLogic Corp.
idProduct 0x0002 SL11R-IDE IDE Bridge
bcdDevice 2.50
iManufacturer 1
iProduct 1
iSerial 0
bNumConfigurations 1
cannot get config descriptor 0, Invalid or incomplete multibyte or wide character (84)
Language IDs: none (cannot get min. string descriptor; got len=-1, error=84:Invalid or incomplete multibyte or wide character)

После чего та же USBview отображает мой ридэр как "Unknown device".
Автор: ginger
Дата сообщения: 15.01.2004 10:06
Nafiganado
http://nick.kreucher.net/clie/#Memory Stick
http://homepages.nildram.co.uk/~milnber/cliehowto.html#Mounting_the_Memory_Stick
http://linuxusbguide.sourceforge.net/USB-guide-1.0.9/book1.html
Возможно эти ссылки помогут в решении проблемы...
Автор: Nafiganado
Дата сообщения: 15.01.2004 13:32
ginger

Увы, не помогли
Везде предполагается, что есть к чему маунтить (т.е. существует sda, sg или т.п.)

Посему у меня вопрос:

1) то ли ноды sda* не появляются в /dev потому, что они попросту не нужны по мнению системы: т.е. scsi-устройств у меня нет, эмулируемых - тоже (если действительно что-то не так с моим кардридером);
2) то ли с кардридером все ок, но scsi не появляется потому, что проблема именно с установкой поддержки scsi

Как я уже говорил, в /proc/usb мой кардридер фигурирует. Получается, что он воспринимается НЕ как блочное устройство? А почему?

Почему "портится" информация при выводе lsusb -v (и -vv)?

Одни вопросы, в общем...
Автор: ginger
Дата сообщения: 15.01.2004 13:44
Nafiganado

Цитата:
Увы, не помогли
Везде предполагается, что есть к чему маунтить (т.е. существует sda, sg или т.п.)

Так Вы по ссылком-то "ходили"?
Там же расписаны все действия...;)


Цитата:
Как я уже говорил, в /proc/usb мой кардридер фигурирует. Получается, что он воспринимается НЕ как блочное устройство? А почему?

Модуль SCSI загружен?
Автор: ooptimum
Дата сообщения: 16.01.2004 22:22
Nafiganado

Цитата:
Что-то сдаётся мне, что этот дивайс вообще под Линуксом не заработает.

То, что линукс с ним работает, подтверждается например тем, что данный девайс присутствует в списке устройств, совместимых с TurboLinux. Да и в самом ядре можно найти упоминание этого устройства, достаточно поискать его в файле drivers/usb/storage/unusual_devs.h. Попробуй более свежий firmware (версии 2.6c, а не 2.50, как у тебя сейчас). Попробуй этот патч. CONFIG_USB_STORAGE точно включен в ядре? Как ты в этом убеждаешься? Как там насчет поддержки эмуляции IDE-SCSI? Включена? С CONFIG_EXPERIMENTAL не игрался?
А с ядром поновее? Все, пока мыслей на это тему больше нет.

Страницы: 12

Предыдущая тема: Sun Java Desktop System


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.