nixp.ru v3.0

21 января 2017,
суббота,
09:30:08 MSK

DevOps с компанией «Флант»
Anarchist написал 23 января 2008 года в 16:16 (400 просмотров) Ведет себя как мужчина; открыл 258 тем в форуме, оставил 4097 комментариев на сайте.

Вопрос про особенности реализации стека USB2.0.

На флешку подмонтированную в обычном режиме (устройство /dev/sda1) данные заливаются сотнями мегабайт только в путь.

При монтировании же плеера (Cowon iAudio 7, видится как /dev/sda) такой фокус не проходит: если пытаешься скопировать за раз больше чем тем 3-4 мегабайта, которые он переваривает процесс копирования выпадает в даун.

Шо це таке и как с ним бороться?

Если не существует способа вылечить штатными средствами, может существует какая-то приблуда для компенсации этой «фичи»?

metal

Что значит процесс копирования выпадает в даун? Сообщения в логах?

DimkaS

У меня был плеер Ritmix, который выпадал еще до того, как я успевал что-нить в него скинуть. Причины так и остались не выясненными…

Anarchist
metal
Что значит процесс копирования выпадает в даун? Сообщения в логах?

Вот кусок из messages:

Jan 23 16:18:24 ftn usb 4-5: new high speed USB device using ehci_hcd and address 4
Jan 23 16:18:24 ftn usb 4-5: configuration #1 chosen from 1 choice
Jan 23 16:18:24 ftn scsi4 : SCSI emulation for USB Mass Storage devices
Jan 23 16:18:24 ftn usb-storage: device found at 4
Jan 23 16:18:24 ftn usb-storage: waiting for device to settle before scanning
Jan 23 16:18:29 ftn scsi 4:0:0:0: Direct-Access     COWON    iAUDIO 7         0100 PQ: 0 ANSI: 0
Jan 23 16:18:29 ftn sd 4:0:0:0: [sda] 3923968 512-byte hardware sectors (2009 MB)
Jan 23 16:18:29 ftn sd 4:0:0:0: [sda] Write Protect is off
Jan 23 16:18:29 ftn sd 4:0:0:0: [sda] Mode Sense: 37 00 00 08
Jan 23 16:18:29 ftn sd 4:0:0:0: [sda] Assuming drive cache: write through
Jan 23 16:18:29 ftn sd 4:0:0:0: [sda] 3923968 512-byte hardware sectors (2009 MB)
Jan 23 16:18:29 ftn sd 4:0:0:0: [sda] Write Protect is off
Jan 23 16:18:29 ftn sd 4:0:0:0: [sda] Mode Sense: 37 00 00 08
Jan 23 16:18:29 ftn sd 4:0:0:0: [sda] Assuming drive cache: write through
Jan 23 16:18:29 ftn sda: unknown partition table
Jan 23 16:18:29 ftn sd 4:0:0:0: [sda] Attached SCSI removable disk
Jan 23 16:18:29 ftn sd 4:0:0:0: Attached scsi generic sg0 type 0
Jan 23 16:18:29 ftn usb-storage: device scan complete
Jan 23 16:20:01 ftn cron[9560]: (root) CMD (test -x /usr/sbin/run-crons && /usr/sbin/run-crons )
Jan 23 16:30:01 ftn cron[9578]: (root) CMD (test -x /usr/sbin/run-crons && /usr/sbin/run-crons )
Jan 23 16:40:01 ftn cron[9596]: (root) CMD (test -x /usr/sbin/run-crons && /usr/sbin/run-crons )
Jan 23 16:41:00 ftn usb 4-5: reset high speed USB device using ehci_hcd and address 4
Jan 23 16:41:02 ftn usb 4-5: USB disconnect, address 4
Jan 23 16:41:02 ftn sd 4:0:0:0: scsi: Device offlined - not ready after error recovery
Jan 23 16:41:02 ftn sd 4:0:0:0: [sda] Result: hostbyte=0x01 driverbyte=0x00
Jan 23 16:41:02 ftn end_request: I/O error, dev sda, sector 486520
Jan 23 16:41:02 ftn sd 4:0:0:0: [sda] Result: hostbyte=0x01 driverbyte=0x00
Jan 23 16:41:02 ftn end_request: I/O error, dev sda, sector 486760
Jan 23 16:41:02 ftn FAT: FAT read failed (blocknr 508)
Jan 23 16:41:02 ftn printk: 48 messages suppressed.
Jan 23 16:41:02 ftn Buffer I/O error on device sda, logical block 456920
Jan 23 16:41:02 ftn lost page write due to I/O error on sda
Jan 23 16:41:02 ftn Buffer I/O error on device sda, logical block 456921
Jan 23 16:41:02 ftn lost page write due to I/O error on sda
Jan 23 16:41:02 ftn Buffer I/O error on device sda, logical block 34408
Jan 23 16:41:02 ftn lost page write due to I/O error on sda
Jan 23 16:41:02 ftn Buffer I/O error on device sda, logical block 4322
Jan 23 16:41:02 ftn lost page write due to I/O error on sda
Jan 23 16:41:02 ftn Buffer I/O error on device sda, logical block 4323
Jan 23 16:41:02 ftn lost page write due to I/O error on sda
Jan 23 16:41:02 ftn Buffer I/O error on device sda, logical block 4324
Jan 23 16:41:02 ftn lost page write due to I/O error on sda
Jan 23 16:41:02 ftn Buffer I/O error on device sda, logical block 4325
Jan 23 16:41:02 ftn lost page write due to I/O error on sda
Jan 23 16:41:02 ftn Buffer I/O error on device sda, logical block 4326
Jan 23 16:41:02 ftn lost page write due to I/O error on sda
Jan 23 16:41:02 ftn Buffer I/O error on device sda, logical block 4327
Jan 23 16:41:02 ftn lost page write due to I/O error on sda
Jan 23 16:41:02 ftn Buffer I/O error on device sda, logical block 4328
Jan 23 16:41:02 ftn lost page write due to I/O error on sda
Jan 23 16:41:02 ftn FAT: FAT read failed (blocknr 507)
Jan 23 16:41:02 ftn FAT: bread failed in fat_clusters_flush
Jan 23 16:41:02 ftn FAT: unable to read inode block for updating (i_pos 550536)

Думалось, что проблема достаточно стандартная.

metal

grep MSDOS .config на передмет поддержки msdos партаций. Переформатировать ее пробывал?

metal

Хотя плеер так просто не переоформатируешь, тогда попробовать обновить прошивку и проверить файловую систему на ошибки.

Anarchist
metal
grep MSDOS .config на передмет поддержки msdos партаций.

На фига?

Я что: не помню как я собирал ядро?

Стоит. Модулем.

metal
Переформатировать ее пробывал?

В ext2? Или в Рейзера? ;)

metal
Хотя плеер так просто не переоформатируешь

Если оставлять в FAT, то не вижу особых проблем.

metal
тогда попробовать обновить прошивку и проверить файловую систему на ошибки.

ChangeLog последнего обновления не радует. Но скачал. Завтра проверю (сегодня шнурка нет).

Но ведь при подключении плеера для заливки данных он вроде как выключен => прошивка не роялит (не должна).

Проверка — в смысле fsck достаточно? Или что-нибудь более радикальное?

metal
Anarchist
На фига?

Я что: не помню как я собирал ядро?

Стоит. Модулем.

Там есть разные параметры и если не все включены могут быть очень интересные баги.

В ext2? Или в Рейзера? ;)

Думаешь плеер это преживет? :)

Проверка — в смысле fsck достаточно? Или что-нибудь более радикальное?

[/quote]

Думаю fsck достаточно.

Anarchist
metal
Там есть разные параметры и если не все включены могут быть очень интересные баги.

Список в студию! :)

Не объясняет расхождения: с обычными Flash Drive’ами то (причём тоже USB2.0) указанной проблемы не наблюдается.

Следовательно к ядру претензий быть не должно.

metal
Думаешь плеер это преживет? :)

Если не полениться сделать бэкап, то всегда можно отформатировать обратно в FAT и откатиться на исходную конфигурацию. :)

metal
Думаю fsck достаточно.

Будем надеяться.

Но вот относительно действий в ситуации когда fsck не покажет ошибок логика дальнейших действий не ясна.

metal
Anarchist
Список в студию! :)

Так по памяти, нет сейча моей рабочей машины, а качать сорцы ядра лень:)

1) Собственно сама поддрежка dosfs(fat16).

2) fat32

3) Поддрежка разбиения диска в стиле dos, только не спрашивай меня что это такое:)

Насчетпервых двух сомнений нет, а вот 3?

Jan 23 16:18:29 ftn sda: unknown partition table

Есть ощущение что система просто не врубилась в то как разбит диск. Можно попробовать посмотреть fdisk-ом и сравнить с информацией ядра.

Anarchist

fsck пишет следующее:

fsck /dev/sda
fsck 1.40.3 (05-Dec-2007)
dosfsck 2.11, 12 Mar 2005, FAT32, LFN
Reclaimed 8935 unused clusters (36597760 bytes).
Free cluster summary wrong (444630 vs. really 439957)

Как бороться дальше — пока идей нет.

Anarchist

Чем дальше в лес…

Заебись какая «надёжная» штука USB.

Проверил на компьютере с виндой и драйверами для устройства — работает нормально. Но USB2.0 флешка с треками которые я хотел залить на плеер — в упор не увиделась.

На домашнем компьютере, где пока ещё есть виндовс — облом с ошибкой «хочу драйвер», флешка видится на ура.

Попытка установить драйвер — хочу диркет икс 9 (которого естественно нет, ходить на сайт мелкосовта — лениво).

Linux на той же машине — lsusb наличия устройства после подключения не показывает.

ЗЫ: После перепрошивки и [очередного] исправления файловой системы работает только в путь.

Чудеса…

Дмитрий Шурупов

У меня Cowon iAudio 7. Не вываливается никуда при копировании любых объемов. Копировал как через cp, так и через Nautilus.

Linux localhost 2.6.23-tuxonice-r4 #2 SMP PREEMPT Sat Dec 29 22:23:01 MSK 2007 x86_64 Intel(R) Core(TM)2 CPU T5600 @ 1.83GHz GenuineIntel GNU/Linux

На плеере — заводская файловая система (vfat), ничего с ней не делал. Подключаю как обычную флешку (HAL сам цепляет и видит как /dev/sda).

Anarchist
Dmitry Shurupov
У меня Cowon iAudio 7.

Сговор линуксоидов? :)

Dmitry Shurupov
Не вываливается никуда при копировании любых объемов. Копировал как через cp, так и через Nautilus.

Какие конкретно объёмы?

Я тебя научу корректности при обращении с квантором всеобщности!

При попытке копирования по маске

$ cp *mp3 /mnt/cowon/music

всего-то 527 мегабайт он таки опять завис.

Dmitry Shurupov
На плеере — заводская файловая система (vfat), ничего с ней не делал. Подключаю как обычную флешку (HAL сам цепляет и видит как /dev/sda).

Версия прошивки (знаю, что по идее влиять не должно, но…)?

Подключаю аналогичным образом, плеер двухгиговый, с 1.14 были некоторые глюки, после обновления до 1.17 и исправления файловой системы заработал достаточно адекватно (что будет дальше — будем посмотреть).

Anarchist

Артефакт корректно интерпретирует тэги в KOI8-R…

Есть в жизни счастье :)

Anarchist

Что интересно: как внешний накопитель он монтируется на ура.

Но вот зарядка от USB-порта компьютера при этом не работает.

Интересно: это фича моей конфигурации или аппаратная?

Any_Key

Может просто порт USB не давать 500 мА которые нужны для зарядки, это возможно если втыкаешь в разъём на передней панели.

Anarchist
Any_Key
Может просто порт USB не давать 500 мА которые нужны для зарядки, это возможно если втыкаешь в разъём на передней панели.

Оно!

И этих же 500мА не хватает для записи.

Хотя, проблема явно не только в них.

Даже на правильном порту cp, вешает девайс, а привычный файломенагер (xnc) — копирует (пусть опять же не всегда безупречно чисто).

Any_Key

Хм, для записи не обязательно надо 500 мА может и минимума (100 мА) хватить, а это уж USB всегда выдаёт.

По поводу странного поведения cp сотоварищи ничего сказать не могу, ибо не знаю.

Anarchist
Any_Key
Хм, для записи не обязательно надо 500 мА может и минимума (100 мА) хватить, а это уж USB всегда выдаёт.

Практика показывает, что 100мА для записи на данном типе устройства (обычные флешки на этом порту пишутся на ура) хватает далеко не всегда.

Any_Key
По поводу странного поведения cp сотоварищи ничего сказать не могу, ибо не знаю.

Тоже непонятно и интересно.

Any_Key
Anarchist
Практика показывает, что 100мА для записи на данном типе устройства (обычные флешки на этом порту пишутся на ура) хватает далеко не всегда

Всё страньше и страньше, а через powered USB hub пробовал подключать?

Просто проблема с хреново разведёнными передними USB, на хабе не хватает ампер, есть в материнках 3-5 летней давности. это всё инфа на уровне слухов сам такое только один раз встретил.

ecobeingecobeing.ru
Экология и вегетарианство на благо всем живым существам Планеты.