Failed to mount device. usb-flash, hal+dbus

Не монируются usb-флешки.

Выглядит это так.

В dmesg все, вроде бы, красиво:

Цитата:
define@deFINE ~ $ dmesg | grep usb
usb-storage: scsi cmd done, result=0x2
usb-storage: *** thread sleeping.
usb-storage: queuecommand called
usb-storage: *** thread awakened.
usb-storage: Command TEST_UNIT_READY (6 bytes)
usb-storage: 00 80 00 00 00 00
usb-storage: Bulk Command S 0x43425355 T 0x266 L 0 F 0 Trg 0 LUN 4 CL6
usb-storage: usb_stor_bulk_transfer_buf: xfer 31 bytes
usb-storage: Status code 0; transferred 31/31
usb-storage: -- transfer complete
usb-storage: Bulk command transfer result=0
usb-storage: Attempting to get CSW...
usb-storage: usb_stor_bulk_transfer_buf: xfer 13 bytes
usb-storage: Status code 0; transferred 13/13
usb-storage: -- transfer complete
usb-storage: Bulk status result = 0
usb-storage: Bulk Status S 0x53425355 T 0x266 R 0 Stat 0x1
usb-storage: -- transport indicates command failure
usb-storage: Issuing auto-REQUEST_SENSE
usb-storage: Bulk Command S 0x43425355 T 0x267 L 18 F 128 Trg 0 LUN 4 CL 6
usb-storage: usb_stor_bulk_transfer_buf: xfer 31 bytes
usb-storage: Status code 0; transferred 31/31
usb-storage: -- transfer complete
usb-storage: Bulk command transfer result=0
usb-storage: usb_stor_bulk_transfer_buf: xfer 18 bytes
usb-storage: Status code 0; transferred 18/18
usb-storage: -- transfer complete
usb-storage: Bulk data transfer result 0x0
usb-storage: Attempting to get CSW...
usb-storage: usb_stor_bulk_transfer_buf: xfer 13 bytes
usb-storage: Status code 0; transferred 13/13
usb-storage: -- transfer complete
usb-storage: Bulk status result = 0
usb-storage: Bulk Status S 0x53425355 T 0x267 R 0 Stat 0x0
usb-storage: -- Result from auto-sense is 0
usb-storage: -- code: 0x70, key: 0x2, ASC: 0x3a, ASCQ: 0x0
usb-storage: Not Ready: Medium not present
usb-storage: scsi cmd done, result=0x2
usb-storage: *** thread sleeping.

Флешка появляется в storage devices, но при попытке открытия выскакивает сообщение "Failed to mount device."

Если попробовать вручную, то вижу такое сообщение:

Цитата:
deFINE define # mount -t vfat /dev/sdb1 /mnt/usb
mount: wrong fs type, bad option, bad superblock on /dev/sdb1,
missing codepage or other error
In some cases useful info is found in syslog - try
dmesg | tail or so

Поддержка FAT и usbfs в ядре включены.

а что сразу

а что сразу после этого говорит dmesg | tail ?

dmesg | tail

Цитата:
define@deFINE ~ $ dmesg | tail
usb-storage: usb_stor_bulk_transfer_buf: xfer 13 bytes
usb-storage: Status code 0; transferred 13/13
usb-storage: -- transfer complete
usb-storage: Bulk status result = 0
usb-storage: Bulk Status S 0x53425355 T 0x195 R 0 Stat 0x0
usb-storage: -- Result from auto-sense is 0
usb-storage: -- code: 0x70, key: 0x2, ASC: 0x3a, ASCQ: 0x0
usb-storage: Not Ready: Medium not present
usb-storage: scsi cmd done, result=0x2
usb-storage: *** thread sleeping.

Та же фигня

Хммм... почти та же самая ситуация, но dmesg | tail вообче говорит:
usb-storage: -- transfer complete
usb-storage: Bulk command transfer result=0
usb-storage: Attempting to get CSW...
usb-storage: usb_stor_bulk_transfer_buf: xfer 13 bytes
usb-storage: Status code 0; transferred 13/13
usb-storage: -- transfer complete
usb-storage: Bulk status result = 0
usb-storage: Bulk Status S 0x53425355 T 0x277 R 0 Stat 0x0
usb-storage: scsi cmd done, result=0x0
usb-storage: *** thread sleeping.
черт. Даже не знаю, что и думать... вроде все ок. Any ideas?

Причем

Причем лично у меня флешка "нормально" монтируется как msdos:
mount -t msdos /dev/sdb1 /mnt/usb
Естественно, имена - в формате 8.3 и нет русских букв(это, подозреваю, решается параметром iocharset=866.но от этого не легче!). Люди!! NEEED HELP!

Действительно...

Как msdos монтируется. Но возникает проблема с именами. Это уже лучше, чем ничего.

Решение

Надо вкомпилить в ябро нужные опции.
Флеш реализуется при помоши SCSI в Linux, так что там все д.б. ок.
Проверьте:
SCSI device support ->
legasy /proc/scsi [*]
SCSI generic suppport [*]
SCSI disk support [*]
Probe all LUNs ... [*]

И соответственно Usb:
USB support ->
Support for Host-side USB [*]
USB device fs [*]
EHCI [*]
ISP116X HCD support [*]
OHCI [*|m]
UHCI [*|m]
USB Mass storage [*]
Мне ещё понадобилась кодировка cp433(United States), на флешке такая была(в логах написала). Вот и все,перекомпильте ядро и можно монтировать. Файдовую систему указывать не нужно, монтируйте так:
mount /dev/sdb1 /mnt/flash
Система сама ее определит.

Специально проверил

Когда обнаружилась данная проблема (до этого все работало), я первым делом полез проверять а все ли включено в ядро... Сейчас на всякий случай проверил все еще раз. Да, все, что вы перечислили, включено... И при этом не работает, как выясняется, работает только при монтировании, как msdos.

[Solved my problem]

Тэкс. свою проблему я решил. Hint, проверьте - _точно ли_ все вкомпиллено в ядро?! Лично я проглядел ISP116X HCD support -- хотя тоже проверял пару раз вчера. Там есть еще минимум один HCD support -- может, именно он вам и нужен? Так вот. Вкомпиллил это счастье. После чего в dmesg обнаружил строку типа FAT: encoding 866 not found. Радостно вставил в /etc/fstab строчку:

/dev/sdb1       /mnt/usb1       vfat    user,noauto,iocharset=cp866,utf8,rw 0 0

-- обратите внимание на параметр iocharset :) и все заработало с норм именами и автомаунтом.
Странно,конечно,что у вас dmesg говорит 'Not ready:medium not present'... у меня такого не было. ощущение,конечно, что недокомпиллено ядро...

Включил все,

Включил все, что касается HCD support (пара пунктов, включая ISP116X HCD support не были включены) - ситуация немножко изменилась. Теперь при подключении usb-флэшки открывается пустое окно (сообщений об ошибке нет), если правой кнопкой мыши -> монтировать, то выскакивает окно ошибки с тем же текстом, что был и есть в консоли:

mount: wrong fs type, bad option, bad superblock on /dev/sdc1,
missing codepage or other error
In some cases useful info is found in syslog - try
dmesg | tail or so

Ваш совет с записью в fstab плодов не дал, и вручную с параметрами:

mount -t msdos -O charset=cp866 /dev/sb1 /mnt/usb
mount -t vfat -O iocharset=cp866 /dev/sb1 /mnt/usb

флешка не монтируется. :(

Обнаружил странную вещь. Подключил 2-ой SATA хард, на котором есть FAT32 разделы. Генту их не монтирует с той же самой ошибкой. Они монтируются только как msdos с теми же симптомами. В ядре поддержка FAT в ядре (VFAT (Windows-95) fs suppor) включена, единственный вопрос что поставить в Default codepage for FAT (сейчас стоит какой-то 437) и в Default iocharset for FAT (сейчас 866, что соответсветсвует здравому смыслу).

Написал эти строки и подумал, что 437 - фигня какая-то... Заменил на 866, скомпилил работает! :)
Непонятно, как оно там оказалось... (:

потому что это

потому что это стандартная, нафиг в пиндостане или европпе кириллица?

Шаг в сторону.

А разделы на втором харде так и не монтируются...

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

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