Не могу работать с Flash-картами памяти

Добрый день!

Проблема такая. У меня старый компьютер и поддержка USB 2.0 просто не предусмотрена железом. Поэтому могу ипользовать только USB 1.1. Но и его не могу сейчас использовать! С разъёмами всё впорядке. Потому что до этого стояла Fedora Core 6 и в ней всё работало. Суть такая. Я не могу подключить флешку. Девайса /dev/sda просто нет. Скажите пожалуйста, что надо сделать, чтобы у меня была возможность использоват Flash? Может я в ядре какую опцию не включил может ещё что. В Gentoo я недавно.

Что выводит команда

Bodro написал(а):
Может я в ядре какую опцию не включил может ещё что.

Что выводит команда

zcat /proc/config.gz| grep 'USB|SCSI|BLK' | grep -v '\#'

bodro@bodro ~ $ zcat

bodro@bodro ~ $ zcat /proc/config.gz| grep 'USB|SCSI|BLK' | grep -v '\#'
bodro@bodro ~ $

Т.е. ничего. Значит в ядре нет поддержки? А что там надо включить?

А команда ls -l

А команда

ls -l /proc/config.gz

Ну или вместо команды в предыдущем посте попробуйте

cat /usr/src/linux_ВАША_ВЕРСИЯ/.config | grep 'USB|SCSI|BLK' | grep -v '\#'

Первая

Первая команда:

bodro@bodro ~ $ ls -l /proc/config.gz
-r--r--r-- 1 root root 9165 Ð 6 12:04 /proc/config.gz

Ядро у меня на данный момент стоит 2.6.26.5.

Вторая команда:
bodro@bodro /usr/src $ cat /usr/src/linux-2.6.26.5/.config | grep 'USB|SCSI|BLK' | grep -v '\#'
bodro@bodro /usr/src $

Т.е. пусто. А вот команда
zcat /proc/config.gz
выводит конфиг ядра. Т.е. можно его там просмотреть.
Судя по всему у меня в ядре нет поддержки USB. Я правильно понял?

Да, правильно. И

Да, правильно. И не только USB.
Я поторопился с выводами.
Эти команды справедливы для zsh (моя оболочка), но не работают в bash.
Измените их так:

cat /usr/src/linux/.config | grep USB | grep -v '\#'
cat /usr/src/linux/.config | grep SCSI | grep -v '\#'
cat /usr/src/linux/.config | grep BLK | grep -v '\#'

Не, тут zsh не

Не, тут zsh не причём. grep по умолчанию не использует регулярные выражения. У вас видимо алиас c grep на egrep стоит. Т.е. для данных команд достаточно заменить grep на egrep

Точно,

Eveler написал(а):
Не, тут zsh не причём. grep по умолчанию не использует регулярные выражения. У вас видимо алиас c grep на egrep стоит. Т.е. для данных команд достаточно заменить grep на egrep

Точно, давно настраивал, забыл :)

Попробовал как

Попробовал как вы сказали:
bodro@bodro ~ $ zcat /proc/config.gz| egrep 'USB|SCSI|BLK' | egrep -v '\#'
CONFIG_BLK_DEV_INITRD=y
CONFIG_BT_HCIUSB=m
CONFIG_BT_HCIUSB_SCO=y
CONFIG_BT_HCIBFUSB=m
CONFIG_BLK_DEV=y
CONFIG_BLK_DEV_FD=y
CONFIG_BLK_DEV_XD=y
CONFIG_BLK_DEV_LOOP=y
CONFIG_BLK_DEV_CRYPTOLOOP=y
CONFIG_BLK_DEV_NBD=y
CONFIG_BLK_DEV_UB=m
CONFIG_BLK_DEV_IDE=y
CONFIG_BLK_DEV_IDEDISK=y
CONFIG_BLK_DEV_IDECD=y
CONFIG_BLK_DEV_IDECD_VERBOSE_ERRORS=y
CONFIG_BLK_DEV_IDEFLOPPY=y
CONFIG_BLK_DEV_IDEACPI=y
CONFIG_BLK_DEV_PLATFORM=y
CONFIG_BLK_DEV_IDEDMA_SFF=y
CONFIG_BLK_DEV_IDEPCI=y
CONFIG_BLK_DEV_IDEDMA_PCI=y
CONFIG_BLK_DEV_VIA82CXXX=y
CONFIG_BLK_DEV_IDEDMA=y
CONFIG_BLK_DEV_HD_ONLY=y
CONFIG_BLK_DEV_HD=y
CONFIG_USB_HID=y
CONFIG_USB_HIDDEV=y
CONFIG_USB_SUPPORT=y
CONFIG_USB_ARCH_HAS_HCD=y
CONFIG_USB_ARCH_HAS_OHCI=y
CONFIG_USB_ARCH_HAS_EHCI=y
CONFIG_USB=y
CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
CONFIG_USB_DEVICEFS=y
CONFIG_USB_DEVICE_CLASS=y
CONFIG_USB_MON=y
CONFIG_USB_GADGET=y
CONFIG_USB_GADGET_SELECTED=y
CONFIG_USB_GADGET_AMD5536UDC=y
CONFIG_USB_AMD5536UDC=y
CONFIG_USB_GADGET_DUALSPEED=y
CONFIG_USB_ETH=y
CONFIG_USB_ETH_RNDIS=y
CONFIG_CRYPTO_BLKCIPHER=y
bodro@bodro ~ $

Что далше делать?

Хм... А где скази

Хм... А где скази и сата?
Должно быть примерно так: http://paste.org.ru/?ff5rgk (Ядро 2.6.17-gentoo-r5)
По крайней мере
CONFIG_SCSI=y
CONFIG_SCSI_PROC_FS=y
+ драйверы ваших ATA и USB контролеров должны быть.
Т.ч. включайте в ядре подсистемы скази и сата и пересобирайте.
Правда, учитывая ваше зелезо, на счёт сата не уверен, но всё ж проверьте

Машина у меня

Машина у меня старенкая. Поэтому у меня только IDE. SATA нет. А вот на счёт SATA. Я так понимаю, что даля работы Flash мне нужно включить SATA и драйвер USB контроллеров. Я правильно вас понял? Начинаю эксперементы.

Собственно

Собственно вот:

Symbol: USB_STORAGE [=m]
  │ Prompt: USB Mass Storage support
  │   Defined at drivers/usb/storage/Kconfig:9
  │   Depends on: USB_SUPPORT && USB && SCSI

Т.е. для работы usb накопителей нужна подсистема скази

Я включил в

Я включил в ядре следующие опции:

CONFIG_SCSI=y
CONFIG_SCSI_PROC_FS=y

Но устройств /dev/sda не увидел. Где мне включить драйверы моих USB-контроллеров? Может ещё что надо? И ещё, я скази подключаю как модуль. Может надо в ядро?

dmsg | grep USB

dmesg | grep USB

.

У меня в ядре конечно много разного нафиг ненужного осталось (начинал я с кофига Live CD, потому как до этого с 2.6 дел не имел):

$ zcat /proc/config.gz | grep USB
# USB devices
CONFIG_SND_USB_AUDIO=m
CONFIG_SND_USB_USX2Y=m
# CONFIG_SND_USB_CAIAQ is not set
# USB Input Devices
CONFIG_USB_HID=m
CONFIG_USB_HIDINPUT_POWERBOOK=y
CONFIG_USB_HIDDEV=y
# USB HID Boot Protocol drivers
# CONFIG_USB_KBD is not set
# CONFIG_USB_MOUSE is not set
CONFIG_USB_SUPPORT=y
CONFIG_USB_ARCH_HAS_HCD=y
CONFIG_USB_ARCH_HAS_OHCI=y
CONFIG_USB_ARCH_HAS_EHCI=y
CONFIG_USB=m
# CONFIG_USB_DEBUG is not set
# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set
# Miscellaneous USB options
CONFIG_USB_DEVICEFS=y
CONFIG_USB_DEVICE_CLASS=y
# CONFIG_USB_DYNAMIC_MINORS is not set
# CONFIG_USB_SUSPEND is not set
# CONFIG_USB_PERSIST is not set
# CONFIG_USB_OTG is not set
# USB Host Controller Drivers
CONFIG_USB_EHCI_HCD=m
# CONFIG_USB_EHCI_ROOT_HUB_TT is not set
# CONFIG_USB_EHCI_TT_NEWSCHED is not set
CONFIG_USB_ISP116X_HCD=m
CONFIG_USB_OHCI_HCD=m
# CONFIG_USB_OHCI_HCD_SSB is not set
# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set
# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set
CONFIG_USB_OHCI_LITTLE_ENDIAN=y
CONFIG_USB_UHCI_HCD=m
CONFIG_USB_U132_HCD=m
CONFIG_USB_SL811_HCD=m
CONFIG_USB_SL811_CS=m
# CONFIG_USB_R8A66597_HCD is not set
# USB Device Class drivers
CONFIG_USB_ACM=m
CONFIG_USB_PRINTER=m
# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
# may also be needed; see USB_STORAGE Help for more information
CONFIG_USB_STORAGE=m
# CONFIG_USB_STORAGE_DEBUG is not set
CONFIG_USB_STORAGE_DATAFAB=y
CONFIG_USB_STORAGE_FREECOM=y
CONFIG_USB_STORAGE_ISD200=y
CONFIG_USB_STORAGE_DPCM=y
CONFIG_USB_STORAGE_USBAT=y
CONFIG_USB_STORAGE_SDDR09=y
CONFIG_USB_STORAGE_SDDR55=y
CONFIG_USB_STORAGE_JUMPSHOT=y
CONFIG_USB_STORAGE_ALAUDA=y
CONFIG_USB_STORAGE_KARMA=y
# CONFIG_USB_LIBUSUAL is not set
# USB Imaging devices
# CONFIG_USB_MDC800 is not set
# CONFIG_USB_MICROTEK is not set
# CONFIG_USB_MON is not set
# USB port drivers
CONFIG_USB_USS720=m
CONFIG_USB_SERIAL=m
CONFIG_USB_EZUSB=y
CONFIG_USB_SERIAL_GENERIC=y
CONFIG_USB_SERIAL_AIRCABLE=m
CONFIG_USB_SERIAL_AIRPRIME=m
CONFIG_USB_SERIAL_ARK3116=m
# CONFIG_USB_SERIAL_BELKIN is not set
# CONFIG_USB_SERIAL_CH341 is not set
CONFIG_USB_SERIAL_WHITEHEAT=m
# CONFIG_USB_SERIAL_DIGI_ACCELEPORT is not set
CONFIG_USB_SERIAL_CP2101=m
# CONFIG_USB_SERIAL_CYPRESS_M8 is not set
# CONFIG_USB_SERIAL_EMPEG is not set
# CONFIG_USB_SERIAL_FTDI_SIO is not set
CONFIG_USB_SERIAL_FUNSOFT=m
# CONFIG_USB_SERIAL_VISOR is not set
# CONFIG_USB_SERIAL_IPAQ is not set
# CONFIG_USB_SERIAL_IR is not set
# CONFIG_USB_SERIAL_EDGEPORT is not set
# CONFIG_USB_SERIAL_EDGEPORT_TI is not set
# CONFIG_USB_SERIAL_GARMIN is not set
CONFIG_USB_SERIAL_IPW=m
# CONFIG_USB_SERIAL_IUU is not set
# CONFIG_USB_SERIAL_KEYSPAN_PDA is not set
# CONFIG_USB_SERIAL_KEYSPAN is not set
# CONFIG_USB_SERIAL_KLSI is not set
# CONFIG_USB_SERIAL_KOBIL_SCT is not set
# CONFIG_USB_SERIAL_MCT_U232 is not set
CONFIG_USB_SERIAL_MOS7720=m
CONFIG_USB_SERIAL_MOS7840=m
CONFIG_USB_SERIAL_NAVMAN=m
# CONFIG_USB_SERIAL_PL2303 is not set
# CONFIG_USB_SERIAL_OTI6858 is not set
# CONFIG_USB_SERIAL_HP4X is not set
# CONFIG_USB_SERIAL_SAFE is not set
# CONFIG_USB_SERIAL_SIERRAWIRELESS is not set
# CONFIG_USB_SERIAL_TI is not set
# CONFIG_USB_SERIAL_CYBERJACK is not set
# CONFIG_USB_SERIAL_XIRCOM is not set
CONFIG_USB_SERIAL_OPTION=m
CONFIG_USB_SERIAL_OMNINET=m
# CONFIG_USB_SERIAL_DEBUG is not set
# USB Miscellaneous drivers
# CONFIG_USB_EMI62 is not set
# CONFIG_USB_EMI26 is not set
CONFIG_USB_ADUTUX=m
CONFIG_USB_AUERSWALD=m
# CONFIG_USB_RIO500 is not set
# CONFIG_USB_LEGOTOWER is not set
# CONFIG_USB_LCD is not set
# CONFIG_USB_BERRY_CHARGE is not set
# CONFIG_USB_LED is not set
# CONFIG_USB_CYPRESS_CY7C63 is not set
# CONFIG_USB_CYTHERM is not set
CONFIG_USB_PHIDGET=m
CONFIG_USB_PHIDGETKIT=m
CONFIG_USB_PHIDGETMOTORCONTROL=m
CONFIG_USB_PHIDGETSERVO=m
# CONFIG_USB_IDMOUSE is not set
CONFIG_USB_FTDI_ELAN=m
CONFIG_USB_APPLEDISPLAY=m
CONFIG_USB_SISUSBVGA=m
CONFIG_USB_SISUSBVGA_CON=y
# CONFIG_USB_LD is not set

CONFIG_USB_TRANCEVIBRATOR=m
# CONFIG_USB_IOWARRIOR is not set
# CONFIG_USB_TEST is not set
CONFIG_USB_ATM=m
CONFIG_USB_SPEEDTOUCH=m
CONFIG_USB_CXACRU=m
CONFIG_USB_UEAGLEATM=m
CONFIG_USB_XUSBATM=m
# CONFIG_USB_GADGET is not set
$
$ zcat /proc/config.gz | grep SCSI
# CONFIG_CISS_SCSI_TAPE is not set
# CONFIG_BLK_DEV_IDESCSI is not set
# SCSI device support
CONFIG_SCSI=y
CONFIG_SCSI_DMA=y
# CONFIG_SCSI_TGT is not set
CONFIG_SCSI_NETLINK=y
CONFIG_SCSI_PROC_FS=y
# SCSI support type (disk, tape, CD-ROM)
# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
# CONFIG_SCSI_MULTI_LUN is not set
# CONFIG_SCSI_CONSTANTS is not set
# CONFIG_SCSI_LOGGING is not set
# CONFIG_SCSI_SCAN_ASYNC is not set
CONFIG_SCSI_WAIT_SCAN=m
# SCSI Transports
CONFIG_SCSI_SPI_ATTRS=m
CONFIG_SCSI_FC_ATTRS=m
CONFIG_SCSI_ISCSI_ATTRS=m
CONFIG_SCSI_SAS_ATTRS=m
CONFIG_SCSI_SAS_LIBSAS=m
# CONFIG_SCSI_SAS_ATA is not set
CONFIG_SCSI_SAS_HOST_SMP=y
# CONFIG_SCSI_SAS_LIBSAS_DEBUG is not set
CONFIG_SCSI_SRP_ATTRS=m
CONFIG_SCSI_LOWLEVEL=y
# CONFIG_ISCSI_TCP is not set
CONFIG_SCSI_3W_9XXX=m
CONFIG_SCSI_7000FASST=m
CONFIG_SCSI_ACARD=m
CONFIG_SCSI_AHA152X=m
CONFIG_SCSI_AHA1542=m
CONFIG_SCSI_AACRAID=m
CONFIG_SCSI_AIC7XXX=m
# CONFIG_SCSI_AIC7XXX_OLD is not set
CONFIG_SCSI_AIC79XX=m
CONFIG_SCSI_AIC94XX=m
CONFIG_SCSI_DPT_I2O=m
CONFIG_SCSI_ADVANSYS=m
CONFIG_SCSI_IN2000=m
CONFIG_SCSI_ARCMSR=m
# CONFIG_SCSI_ARCMSR_AER is not set
CONFIG_SCSI_HPTIOP=m
CONFIG_SCSI_BUSLOGIC=m
# CONFIG_SCSI_OMIT_FLASHPOINT is not set
CONFIG_SCSI_DMX3191D=m
CONFIG_SCSI_DTC3280=m
CONFIG_SCSI_EATA=m
CONFIG_SCSI_EATA_TAGGED_QUEUE=y
CONFIG_SCSI_EATA_LINKED_COMMANDS=y
CONFIG_SCSI_EATA_MAX_TAGS=16
CONFIG_SCSI_FUTURE_DOMAIN=m
CONFIG_SCSI_GDTH=m
# CONFIG_SCSI_GENERIC_NCR5380 is not set
# CONFIG_SCSI_GENERIC_NCR5380_MMIO is not set
CONFIG_SCSI_IPS=m
CONFIG_SCSI_INITIO=m
CONFIG_SCSI_INIA100=m
CONFIG_SCSI_PPA=m
CONFIG_SCSI_IMM=m
# CONFIG_SCSI_IZIP_EPP16 is not set
# CONFIG_SCSI_IZIP_SLOW_CTR is not set
# CONFIG_SCSI_MVSAS is not set
CONFIG_SCSI_NCR53C406A=m
CONFIG_SCSI_STEX=m
CONFIG_SCSI_SYM53C8XX_2=m
CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1
CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16
CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64
CONFIG_SCSI_SYM53C8XX_MMIO=y
# CONFIG_SCSI_IPR is not set
CONFIG_SCSI_PAS16=m
CONFIG_SCSI_QLOGIC_FAS=m
CONFIG_SCSI_QLOGIC_1280=m
CONFIG_SCSI_QLA_FC=m
CONFIG_SCSI_QLA_ISCSI=m
CONFIG_SCSI_LPFC=m
CONFIG_SCSI_SYM53C416=m
CONFIG_SCSI_DC395x=m
CONFIG_SCSI_DC390T=m
CONFIG_SCSI_T128=m
CONFIG_SCSI_U14_34F=m
CONFIG_SCSI_U14_34F_TAGGED_QUEUE=y
CONFIG_SCSI_U14_34F_LINKED_COMMANDS=y
CONFIG_SCSI_U14_34F_MAX_TAGS=8
CONFIG_SCSI_ULTRASTOR=m
CONFIG_SCSI_NSP32=m
# CONFIG_SCSI_DEBUG is not set
# CONFIG_SCSI_SRP is not set
# CONFIG_SCSI_LOWLEVEL_PCMCIA is not set
CONFIG_I2O_SCSI=m
# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'

В плане монтирования с USB-устройствами проблем нет.
Есть другие проблемы.
--
Live free or die

bodro@bodro ~ $ sudo dmesg |

bodro@bodro ~ $ sudo dmesg | grep USB
usbhid: v2.6:USB HID core driver

Вот что выводит.

Это после

Это после втыкания флешки? Если да, не включена в ядре поддержка вашего железа. Удостовертесь, что включена поддержка всего, что выводит lspci. Особенно касательно USB

Всех с новым Годом! Включил

Всех с новым Годом!

Включил поддержку USB в ядре, включил HID. Клавиатура USB заработала, но вот девайс /dev/sda до сих пор не появился. Что ж ещё надо то??? В какой ветке включить что надо чтобы появился /dev/sda??? Flash карты как подключить???

нужно включить SCSI диски и

нужно включить SCSI диски и SCSI Generic

Как включать, как модули или

Как включать, как модули или в ядро? Или не принципиально?

если модулем, то нужно их

если модулем, то нужно их грузить до того как монтирвоать пробовать, а так - не принципиально

Это ваще хана какая

Это ваще хана какая то!
Включил как часть ядра. Нет! Не появился /dev/sda. Может я чё не понимаю??? Включил поддержку SCSI (SCSI Device Support), поддержку SCSI дисков (SCSI disk support), включил USB Mass Storage support и все появившиеся storages. По прежнему нет sda! Я даже Low Performance USB Block driver включил, но и /dev/uba не появились!!!
Может я не догоняю чё?

/dev/sda есть, а вот /dev/uba

/dev/sda есть, а вот /dev/uba нет!

А зачем вам /dev/uba? Оно,

А зачем вам /dev/uba? Оно, ЕМНИП, к флеш накопителям никакого отношения не имеет.
А /dev/sda указывает не на вашу флешку?

ub* — это устройства от

ub* — это устройства от старого и кривого драйвера ядра. Они не нужны.

Текстовый редактор vi имеет два режима работы: в первом он пищит, а во втором — всё портит.

он не старый и не кривой, он

он не старый и не кривой, он нужен для другого, но весьма редко. раньше он конфликтовал с "дровами на флэшки", теперь видимо нет.

Я читал что он работает

Я читал что он работает медленно, зато гораздо стабильнее чем через эмуляцию SCSI.
Типаеси каой-либо девайс не работает через SCSI эмуляцию (/dev/sda), то можно попробовать чрез /dev/uba. В ядре я включил опцию, но самого девайса не появилось. Втыкаю Flash, а /dev/uba не появился.
В чём причина?

1 где читал? сыылку. 2

1 где читал? сыылку.
2 прочитай наконец хэлп к этой опции.
3 хочеш "медленно и стабильно" ? ставь в опциях монтирования sync и он у тебя стабильно быстро убьёт флэшку "надёжной" синхронной записью

"Также существует

"Также существует альтернативный драйвер для USB-накопителей. Называется он Low Performance USB Block driver и находится в разделе Device Drivers -> Block devices. При его использовании разделы именуются не /dev/sda1, /dev/sdb1 и т. д., а /dev/uba1, /dev/ubb1 и т. д. Это низкопроизводительный драйвер. Он медленнее «USB Mass Storage support», но более надёжный. Этот драйвер работает в обход эмуляции SCSI. Благодаря тому, что он реализует только самые необходимые для работы функции, с его помощью можно заставить работать более широкий спектр устройств. Поэтому, если ваше устройство не работает с «USB Mass Storage support», попробуйте этот драйвер."

Ссылка: http://wiki.linuxformat.ru/index.php/LXF78:Конфигурация_ядра:_готовые_рецепты

Вот я и хочу в этом разобраться! Кто нибудь поможет мне?

Да, он действительно для

Да, он действительно для "флешек"

Цитата:
This driver supports certain USB attached storage devices such as flash keys.

Для избежания конфликтов с usb-storage рекомендуют включить USB_LIBUSUAL. Я думаю, лучше "USB Mass Storage support" вообще при этом выключить.
Покажите, что пишет ядро при втыкании/вытаскивании флешки. Тогда может и появятся идеи, почему у вас файл устройства не появляется.

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".