LINUX.ORG.RU

Linux и USB HDD (Case)

 ,


0

1

Есть один жесткий диск (wd3200) внутри контейнера Agestar SUB2A8.
Есть Lenovo Thinkpad X201 с openSUSE 12.1.
Работать совместно они не хотят.
Пример:
Делаем fdisk /dev/sdc, создаем пустую таблицу разделов, добавляем один primary раздел, сохраняем. Делаем еще раз fdisk /dev/sdc и видим: «Устройство не содержит ни верной таблицы разделов DOS, ни метки диска Sun, SGI или OSF». Все изменения как сквозь землю провалились. При этом светодиод на контейнере в момент сохранения моргает.
Под Windows все работает нормально, то есть: пробрасываем устройство в VBox с виндой, делаем таблицу разделов, форматируем - все отлично. Отключаем от виртуалки - Linux видит таблицу разделов и 1 NTFS раздел, который отлично монтируется и с него читаются данные. Пишем данные на диск. Никаких ошибок не возникает, все пишется, светодиод моргает. До отключения диска данные нормально читаются.
Далее делаем umount /dev/sdc; sdparm -C stop /dev/sdc, подключаем заново - linux (и windows) видит таблицу разделов, но ntfs не монтируется, нигде.
Делаем mkfs.ntfs (или что угодно другое), потом соответствующий mount - ничего не получаем, хотя светодиод моргает, как будто данные пишутся.
Короче, до тех пор, пока под Windows не будет заново отформатирован раздел (или создана таблицы разделов, если под линуксом пытались и ее изменить) - делать что либо с жестким диском не представляется возможным. Любая операция записи из под Linux работает не так, как нужно, выполняя неизвестно что.

★★★

Кстати, сейчас на диске целая mbr, созданная под windows и не монтируемый ничем раздел без FS, который 10 раз пытался отформатировать из под Linux.
Сделал cat /dev/sdc и увидел следующую картину:
После небольшого количества чего-то осмысленного, судя по всему, mbr, выводятся только строки вида:
«*s���USBC;K�»
Все длиной 11-12 символов, начинаются со звездочки и содержат в середине строку USBC. Что это может быть?

unikoid ★★★ ()

Если диск IDE (PATA), то можно попробовать перемычкой переключить режим со slave на master или наоборот.

inoremap ★★ ()
Ответ на: комментарий от unikoid

Нашел на одном из компьютеров Gentoo, собранную больше полутора лет назад. Подключил туда этот hdd. И без проблем создал таблицу разделов и отформатировал единственный раздел в ext4. После этого вытащил, даже не останавливая (т.к. там нет ни hd/sdparm, ни sg_start), вставил в компьютер с openSUSE и без проблем примонтировал раздел. То есть баг конкретно в opensuse, либо в свежем ядре. (в той генте еще 2.6, на openSUSE 3.5.3).

unikoid ★★★ ()
Ответ на: комментарий от i-rinat

Нет, других нет. Кстати, проверил на куче компьютеров с разными версиями бубунты и ее производных - также не работает, работает только в моей самосборной генте. Может модуля какого не хватает?

unikoid ★★★ ()
Ответ на: комментарий от daemonpnz

Не оно, т.к. в 2.6.37 в openSUSE, например, не работает, также как в 3.0 в Ubuntu 10.10 (да, местами анабиоз).
Также в дистрибутивах /dev/sdc не появляется без модуля ums_cypress, т.е. если сделать rmmod ums_cypress - /dev/sdc пропадает, если его заблэклистить - вообще не появляется при подключении. Однако в пояснениях к опции USB_STORAGE_CYPRESS_ATACB в конфиге ядра написано, что «If you say no here your device will still work with the standard usb mass storage class.». Собственно, в генте так и есть, USB_STORAGE_CYPRESS_ATACB не задан вообще, но устройство работает, через usb_storage судя по dmesg. Неясно тогда, почему в других дистрах устройство не видится вообще как hdd после добавления ums_cypress в блэклист.

unikoid ★★★ ()
Последнее исправление: unikoid (всего исправлений: 1)

Решил проблему продажей кейса и покупкой нового, на чипе JMicron. Правда теперь не могу остановить диск в нем, но это уже другая история.

unikoid ★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.