Перейти к содержанию
  • 0

sd 0:0:0:0: [sda] Device not ready: <6>: Sense Key : 0x2 [current]


Вопрос

Опубликовано

Keenetic Giga 2, черный, v2.05(AAFS.4)C4 (но проблема началась на последней официальной прошивке или, возможно на бете с opkg). На самом деле было изменено несколько обстоятельств. Кроме установки прошивки с поддержкой opkg, на USB диске ADATA CH94 1ТБ (внутри TOSHIBA MK1059GSM) поменял еще и файловую систему с NTFS на EXT2.

После засыпания HHD и последующем обращении к нему стали сыпаться ошибки (копировал с другого форума и сообщения, где тип ФС NTFS, поскольку проблему удалось решить и сейчас таких ошибок у меня нет):

Jan 21 02:39:18ndmkernel: sd 0:0:0:0: [sda] Device not ready: <6>: Sense Key : 0x2 [current]

Jan 21 02:39:18ndmkernel: : ASC=0x4 ASCQ=0x2

Jan 21 02:39:18ndmkernel: end_request: I/O error, dev sda, sector 1183

Jan 21 02:39:18ndmkernel: tntfs error (device sda1, pid 3): ntfs_end_buffer_async_read(): Buffer I/O error, logical block 0x230 (сектора любые).

Jan 21 02:39:18ndmkernel: tntfs error (device sda1, pid 3): ntfs_end_buffer_async_read(): Buffer I/O error, logical block 0x231.

После нескольких таки сообщений ФС автоматом перемонтировалась в ридонли. Соответственно, такая ситуация совсем не устраивала.

Вот еще пример подобной ошибки у другого пользователя http://forum.zyxmon.org/topic581-giga-ii-usb-hdd-ukhodit-v-read-only.html

Что делал, чтобы решить проблему:

0. Искал решения в Сети.

1. Обновился на тестовую 2.06. Не помогло (-)

2. Подключил внешнее питание к диску через Y-USB кабель. (-)

3. Заменил коробку (интерфейс USB-SATA). (-)

4.1 Пробовал через hdparm отключить засыпание винта. (-)

4.2 (бубен) Заменил Ext2 на Ext3. (-)

5. В соответствии с п. 0 в cron добавил задачу, которая каждые 5 минут пишет в файл на диск текущее время. Помогло (+).

Т.к. роутер с винтом стоит в кладовке, то круглосуточная работа диска не напрягала. Но с учетом того, что винт требуется редко, то хотелось решить вопрос правильным способом: чтобы винт все-таки отключался по таймауту, когда не требуется, и проспался без ошибок при обращении к нему (т.к. хоть и немного, но питание двигатель потребляет, плюс износ самого двигателя).

Дополнительный поиск вывел на следующую страницу http://www.nslu2-linux.org/wiki/FAQ/DealWithAutoSpinDownOnSeagateFreeAgent

Установка параметра

echo 1 > /sys/block/sda/device/scsi_disk*/allow_restart

решила мою проблему. Винт засыпает и при просыпании не возникает ошибок. Сделал скрипт, который запускается при старте роутера и выполняет установку allow_restart в 1.

Соответственно, вопрос. Что-то поменялось в прошивке, если ранее у меня таких проблем не возникало? И возможно ли сделать в следующих прошивках, чтобы данный параметр выставлялся автоматом? Или же проблема настолько специфичная и узко зависит от прослойки USB-SATA, что проявляется очень редко.

Рекомендуемые сообщения

  • 0
Опубликовано

Да не в прошивке дело, а с самими дисками, они тупо не читаются и отваливаются. Тут несколько версий, не хватает тока для питания диска, особенности при долгой работе в ПО самого диска, либо проблемы с блинами диска или его платой контроллером. У меня на нескольких дисках имеется такая же проблема, у одного сразу после покупки, тот самый Seagate FreeAgent, ну не хочет он дружить с роутерами, да и с некоторыми ноутами, явно в его ПО особенность, а у другого контроллер накрылся, как только нагревается, так сразу отвалы начинаются...

  • 0
Опубликовано
Да у вас не в прошивке дело, а с самим диском, он тупо не читается и отваливается. Тут несколько версий, не хватает тока для питания диска, либо проблемы с блинами диска или его платой контроллером. У меня на нескольких дисках имеется такая же проблема, у одного сразу после покупки, ну не хочет он дружить с роутерами, да и с некоторыми ноутами, а у другого контроллер накрылся, как только нагревается, так сразу отвалы начинаются...

Ну я тоже так думал. Забыл добавить информацию еще по своим экспериментам.

Дополняю.

Читал информацию по SMART через smartctl - хорошая:

[more]SMART Attributes Data Structure revision number: 16

Vendor Specific SMART Attributes with Thresholds:

ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE

1 Raw_Read_Error_Rate 0x000b 100 100 050 Pre-fail Always - 0

2 Throughput_Performance 0x0005 100 100 050 Pre-fail Offline - 0

3 Spin_Up_Time 0x0027 100 100 001 Pre-fail Always - 3766

4 Start_Stop_Count 0x0032 100 100 000 Old_age Always - 16616

5 Reallocated_Sector_Ct 0x0033 100 100 050 Pre-fail Always - 0

7 Seek_Error_Rate 0x000b 100 100 050 Pre-fail Always - 0

8 Seek_Time_Performance 0x0005 100 100 050 Pre-fail Offline - 0

9 Power_On_Hours 0x0032 041 041 000 Old_age Always - 23795

10 Spin_Retry_Count 0x0033 253 100 030 Pre-fail Always - 0

12 Power_Cycle_Count 0x0032 100 100 000 Old_age Always - 2737

191 G-Sense_Error_Rate 0x0032 100 100 000 Old_age Always - 137

192 Power-Off_Retract_Count 0x0032 100 100 000 Old_age Always - 184

193 Load_Cycle_Count 0x0032 092 092 000 Old_age Always - 89817

194 Temperature_Celsius 0x0022 100 100 000 Old_age Always - 32 (Min/Max 19/55)

196 Reallocated_Event_Count 0x0032 100 100 000 Old_age Always - 0

197 Current_Pending_Sector 0x0032 100 100 000 Old_age Always - 0

198 Offline_Uncorrectable 0x0030 100 100 000 Old_age Offline - 0

199 UDMA_CRC_Error_Count 0x0032 200 200 000 Old_age Always - 0

220 Disk_Shift 0x0002 100 100 000 Old_age Always - 83

222 Loaded_Hours 0x0032 098 098 000 Old_age Always - 1021

223 Load_Retry_Count 0x0032 100 100 000 Old_age Always - 0

224 Load_Friction 0x0022 100 100 000 Old_age Always - 0

226 Load-in_Time 0x0026 100 100 000 Old_age Always - 347

240 Head_Flying_Hours 0x0001 100 100 001 Pre-fail Offline - 0

SMART Error Log Version: 1

No Errors Logged[/more]

Подключил винт к ноутбуку, загрузил линукс, проверил диск на bad block. Никаких проблем не обнаружено.

Как и писал выше, если диску (но, скорее всего речь идет о прослойке USB-SATA) не давать спать, то никаких проблем не возникает.

Как решил проблему через установку /sys/block/sda/device/scsi_disk*/allow_restart в 1 уже написал. Два дня тестирую, пока проблема не проявилась.

А раньше достаточно было выждать 10 минут (подождать отключения диска) и обратиться к нему вновь. Т.е. баг у меня воспроизводится с 100% вероятностью.

Теперь же диск спит, сколько хочет и с радостью просыпается без всяких ошибок.

И судя по всему, проблема для linux не нова. Вот еще в тему http://www.yqcomputer.com/1116_5473_1.htm

  • 0
Опубликовано

Gvan, спасибо, что освежили, а L'ecureuil, спасибо, что отреагировали на эту проблему.

Тема, в общем, давно известная, в кинетиках с микропрограммой V1 решалась отключением энергосбережения USB-диска в веб-конфигураторе https://zyxel.ru/kb/2326/.

Сам я столкнулся с ней при попытке подключения Seagate FreeAgent: viewtopic.php?f=6&t=304&start=450#p3975

Решал проблему отключением энергосбережения диска виндоузной утилитой "SeagateManager".

  • 0
Опубликовано

Если кто-то еще не планирует переходить на прошивку 2.06 в виду ее активного тестирования и наличия возможных багов и как я использует 2.05, то прилагаю скрипт, который при старте роутера выставляет соответствующие флаги в файлах allow_restart.

Скрипт необходимо разместить в /opt/etc/init.d. Назвал его для примера - SxxUSBAllowReset:

#!/opt/bin/sh
/opt/bin/find /sys/class/scsi_disk -name allow_restart -exec /opt/bin/sh -c "/opt/bin/echo 1 > {}" \;

Поначалу я в данном скрипте тупо выставлял в /sys/class/scsi_disk/0:0:0:0/allow_restart и /sys/class/scsi_disk/1:0:0:0/allow_restart единицу, но в прошивке v2.05(AAFS.6)C4 номера устройств поменялись на 2:0:0:0 и 3:0:0:0, поэтому при очередном рестарте роутера скрипт не отработал и у меня опять посыпались ошибки после остановки винта.

Соответственно выше представлена команда, которая сама ищет имена устройств вне зависимости от их ID и взводит allow_restart в 1.

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...

Важная информация

На этом сайте используются файлы cookie. Нажимая "Я принимаю" или продолжая просмотр сайта, вы разрешаете их использование: Политика конфиденциальности.