Failed to mount device. usb-flash, hal+dbus
deFINE 7 апреля, 2007 - 22:16
Не монируются 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
Та же фигня
Хммм... почти та же самая ситуация, но 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 строчку:
-- обратите внимание на параметр iocharset :) и все заработало с норм именами и автомаунтом.
Странно,конечно,что у вас dmesg говорит 'Not ready:medium not present'... у меня такого не было. ощущение,конечно, что недокомпиллено ядро...
Включил все,
Включил все, что касается HCD support (пара пунктов, включая ISP116X HCD support не были включены) - ситуация немножко изменилась. Теперь при подключении usb-флэшки открывается пустое окно (сообщений об ошибке нет), если правой кнопкой мыши -> монтировать, то выскакивает окно ошибки с тем же текстом, что был и есть в консоли:
Ваш совет с записью в fstab плодов не дал, и вручную с параметрами:
флешка не монтируется. :(
Обнаружил странную вещь. Подключил 2-ой SATA хард, на котором есть FAT32 разделы. Генту их не монтирует с той же самой ошибкой. Они монтируются только как msdos с теми же симптомами. В ядре поддержка FAT в ядре (VFAT (Windows-95) fs suppor) включена, единственный вопрос что поставить в Default codepage for FAT (сейчас стоит какой-то 437) и в Default iocharset for FAT (сейчас 866, что соответсветсвует здравому смыслу).
Написал эти строки и подумал, что 437 - фигня какая-то... Заменил на 866, скомпилил работает! :)
Непонятно, как оно там оказалось... (:
потому что это
потому что это стандартная, нафиг в пиндостане или европпе кириллица?
Шаг в сторону.
А разделы на втором харде так и не монтируются...