Решено: Не пишет на USB HDD.

IDE, SATA, SCSI, внешние USB-HDD, SSD, USB-Flash накопители

Модератор: Модераторы разделов

Ответить
unikoid
Сообщения: 23
ОС: OpenSUSE 12.1

Решено: Не пишет на USB HDD.

Сообщение unikoid »

Есть диск wd3200bmvs внутри кейса sub2a8. Под Windows XP он прекрасно работает без установки какого-либо дополнительного ПО.
Под Linux он нормально читается. Но любая попытка записи (в том числе, создание таблицы разделов или форматирование раздела) приводит, судя по тому, что выдает cat/dev/sdc, к записи строк вида "*xxxUSBCxxxx" вместо данных.
Все строки начинаются символом *, имеют длину 11-13 символов и содержат в себе последовательность "USBC".
Что это и как лечить?
Спасибо сказали:
unikoid
Сообщения: 23
ОС: OpenSUSE 12.1

Re: Решено: Не пишет на USB HDD.

Сообщение unikoid »

Добавлю немного своих изысканий, вдруг будут полезны.
Итак, делаем :

Код: Выделить всё

TP-X201:/home/evgeniy # dd if=/dev/zero of=/dev/sdc
^C^C
TP-X201:/home/evgeniy # hexdump -C /dev/sdc -n 1024
00000000  55 53 42 43 96 03 03 00  00 e0 01 00 00 00 0a 2a  |USBC...........*|
00000010  00 00 00 00 00 00 00 f0  00 00 00 00 00 00 00 09  |................|
00000020  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
00000400

Т.е. забиваем начало диска нулями и смотрим hexdump. В hexdump явно не только нули, что уже странно.
Ок, идем дальше.

Код: Выделить всё

TP-X201:/home/evgeniy # fdisk /dev/sdc
Устройство не содержит ни верной таблицы разделов DOS, ни метки диска Sun, SGI или OSF
Building a new DOS disklabel with disk identifier 0x9f1adb82.
Changes will remain in memory only, until you decide to write them.
After that, of course, the previous content won't be recoverable.

Предупреждение: неверный флаг 0x0000 таблицы разделов 4 будет исправлен записью

Команда (m для справки): o
Building a new DOS disklabel with disk identifier 0x65f1f313.
Changes will remain in memory only, until you decide to write them.
After that, of course, the previous content won't be recoverable.

Предупреждение: неверный флаг 0x0000 таблицы разделов 4 будет исправлен записью

Команда (m для справки): n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p
Номер раздела (1-4, по умолчанию 1): 1
Первый сектор (2048-625142445, по умолчанию 2048):
Используется значение по умолчанию 2048
Last сектор, +секторы or +size{K,M,G} (2048-625142445, по умолчанию 625142445):
Используется значение по умолчанию 625142445

Команда (m для справки): w
Таблица разделов была изменена!

Вызывается ioctl() для перечитывания таблицы разделов.
Синхронизируются диски.
TP-X201:/home/evgeniy # hexdump -C /dev/sdc -n 1024
00000000  55 53 42 43 a7 04 03 00  00 04 00 00 00 00 0a 2a  |USBC...........*|
00000010  00 00 00 00 00 00 00 02  00 00 00 00 00 00 00 2d  |...............-|
00000020  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
000003b0  00 00 00 00 00 00 00 00  13 f3 f1 65 00 00 00 20  |...........e... |
000003c0  21 00 83 50 3d 01 00 08  00 00 ae e2 42 25 00 00  |!..P=.......B%..|
000003d0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
000003f0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 55 aa  |..............U.|
00000400

Пытаемся создать таблицу разделов. Все вроде бы без ошибок, но hexdump показывает что-то явно не похожее на нормальную mbr-таблицу.
Запускаем VBox с WinXP, пробрасываем туда hdd, мастером инициализации создаем таблицу разделов, "безопасно извлекаем", отключаем от виртуальной машины.
Теперь:

Код: Выделить всё

TP-X201:/home/evgeniy # hexdump -C /dev/sdc -n 1024
00000000  33 c0 8e d0 bc 00 7c fb  50 07 50 1f fc be 1b 7c  |3.....|.P.P....||
00000010  bf 1b 06 50 57 b9 e5 01  f3 a4 cb bd be 07 b1 04  |...PW...........|
00000020  38 6e 00 7c 09 75 13 83  c5 10 e2 f4 cd 18 8b f5  |8n.|.u..........|
00000030  83 c6 10 49 74 19 38 2c  74 f6 a0 b5 07 b4 07 8b  |...It.8,t.......|
00000040  f0 ac 3c 00 74 fc bb 07  00 b4 0e cd 10 eb f2 88  |..<.t...........|
00000050  4e 10 e8 46 00 73 2a fe  46 10 80 7e 04 0b 74 0b  |N..F.s*.F..~..t.|
00000060  80 7e 04 0c 74 05 a0 b6  07 75 d2 80 46 02 06 83  |.~..t....u..F...|
00000070  46 08 06 83 56 0a 00 e8  21 00 73 05 a0 b6 07 eb  |F...V...!.s.....|
00000080  bc 81 3e fe 7d 55 aa 74  0b 80 7e 10 00 74 c8 a0  |..>.}U.t..~..t..|
00000090  b7 07 eb a9 8b fc 1e 57  8b f5 cb bf 05 00 8a 56  |.......W.......V|
000000a0  00 b4 08 cd 13 72 23 8a  c1 24 3f 98 8a de 8a fc  |.....r#..$?.....|
000000b0  43 f7 e3 8b d1 86 d6 b1  06 d2 ee 42 f7 e2 39 56  |C..........B..9V|
000000c0  0a 77 23 72 05 39 46 08  73 1c b8 01 02 bb 00 7c  |.w#r.9F.s......||
000000d0  8b 4e 02 8b 56 00 cd 13  73 51 4f 74 4e 32 e4 8a  |.N..V...sQOtN2..|
000000e0  56 00 cd 13 eb e4 8a 56  00 60 bb aa 55 b4 41 cd  |V......V.`..U.A.|
000000f0  13 72 36 81 fb 55 aa 75  30 f6 c1 01 74 2b 61 60  |.r6..U.u0...t+a`|
00000100  6a 00 6a 00 ff 76 0a ff  76 08 6a 00 68 00 7c 6a  |j.j..v..v.j.h.|j|
00000110  01 6a 10 b4 42 8b f4 cd  13 61 61 73 0e 4f 74 0b  |.j..B....aas.Ot.|
00000120  32 e4 8a 56 00 cd 13 eb  d6 61 f9 c3 49 6e 76 61  |2..V.....a..Inva|
00000130  6c 69 64 20 70 61 72 74  69 74 69 6f 6e 20 74 61  |lid partition ta|
00000140  62 6c 65 00 45 72 72 6f  72 20 6c 6f 61 64 69 6e  |ble.Error loadin|
00000150  67 20 6f 70 65 72 61 74  69 6e 67 20 73 79 73 74  |g operating syst|
00000160  65 6d 00 4d 69 73 73 69  6e 67 20 6f 70 65 72 61  |em.Missing opera|
00000170  74 69 6e 67 20 73 79 73  74 65 6d 00 00 00 00 00  |ting system.....|
00000180  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
000001b0  00 00 00 00 00 2c 44 63  af 7e ec 96 00 00 00 00  |.....,Dc.~......|
000001c0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
000001f0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 55 aa  |..............U.|
00000200  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
000003b0  00 00 00 00 00 00 00 00  13 f3 f1 65 00 00 00 20  |...........e... |
000003c0  21 00 83 50 3d 01 00 08  00 00 ae e2 42 25 00 00  |!..P=.......B%..|
000003d0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
000003f0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 55 aa  |..............U.|
00000400
TP-X201:/home/evgeniy #

Изменения - налицо! И никаких USBC нигде.
Что это может быть?
Спасибо сказали:
unikoid
Сообщения: 23
ОС: OpenSUSE 12.1

Re: Решено: Не пишет на USB HDD.

Сообщение unikoid »

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

Re: Решено: Не пишет на USB HDD.

Сообщение unikoid »

Решил проблему заменой бокса.
Спасибо сказали:
Ответить