RPi.Raspbian решение проблемы с SD-картой

Это первый раз произошло весной, примерно где-то в Апреле-Мае. При очередной загрузке Raspbian я внезапно получил 10 битых секторов и загрузку второго раздела в режиме read-only.

Сдохла карточка? Так быстро? Хорошенькое дело!

Все лето я был очень сильно занят, и времени на «разбор полетов» как-то не оставалось. Хотя нет, пару раз у меня выпадало времени посидеть с RPi по пол-дня, полистать интернет, но к сожалению всякий раз я не мог докопаться до истины, что происходит с картой.

При загрузке Raspbian примерно на 21 секунде выскакивает сообщение:

mmc0: Timeout waiting for hardware interrupt -cmd25mmcblk0: error -110 transferring data, sectror 1695732, nr520, cmd response 0x800, card status 0xC00

а далее перечисляются ровно 10 секторов с шагом 8

end_request: I/O error, dev mmcblk0, sector 1695760
end_request: I/O error, dev mmcblk0, sector 1695768

end_request: I/O error, dev mmcblk0, sector 1695832

Чтобы убедиться в проблеме карты, я вытащил карточку из фотоаппарата.

Накатил на нее образ Raspbian, загрузился отконфигурировал (автоматическая загрузка raspi-conf при первом запуске) и … при следующей перезагрузке получил те же самые 10 битых секторов, но только на других адресах. Ну всё правильно — карта из фотика 8 ГБ, а карта в RPi бала — 16ГБ.

Но если это проблема карты, то почему на другой карте, те же самые 10 секторов, и то же с шагом 8? Не слишком ли похоже? Значит что-то не то с ядром Raspbian…

Тут я стал припоминать, что я юзал Raspbian без проблем несколько месяцев, пока при очередном подновлении «не сдохла» карта. Так значит, это скорее всего разработчики что-то накосячили в ядре.

Я скачал последний Июльский образ Raspbian, накатил на карту… и получил те же ошибки. Вах! Такая ошибка и до сих пор не исправлена! Не может быть!

Специально съездил в магазин и купил для экспериментов 4-гиговую карту. Надо ли говорить, что на новой не юзанной карте присутствовали те же самые 10 битых секторов с шагом 8.

В общем, пришлось закопаться глубже. Я зарылся в англоязычный Интернет и начал читать интересные рассказы о том, как люди закупив 27 комплектов карт сразу обнаружили, что две из них оказались битыми. Потом, в процессе работ, еще половина карточек вышла из строя. При проверке у поставщика карты оказались рабочими. Но вот что странно —  будучи установленными в RPi карточки не хотели работать. Чудеса, да и только!

Потом я прочитал, что проблемы не столько в картах, сколько в своеобразности работы процессора BCM2835 и огромнейшем зоопарке SD-карт. В статье было сказано, что процессор может не корректно определять время отклика карты. Другими словами, имеется какое-то несоответствие между частотами тактирования составных частей системы.

Поскольку, блок питания у меня был вне подозрений, а других вариантов для определения корня проблемы не было, я решил поиграться с частотами. Собственно, для этого ничего особенно хитрого делать и не пришлось!

Загрузившись с «проблемами» или без них, нужно тупо отредактировать файл /boot/config.txt. Нужно найти установки частот и изменить их значения. Я сначала «ушел» по частотам вниз. Установил следующие значения:

arm_freq=500
core_freq=250
sdram_freq=250

Значения других частот я не трогал. В общем, после сохранения изменений и последующей перезагрузке RPi хоть и заметно медленнее, но загрузился без проблем. Ага! Уже кое-что есть!

Потом я начал потихоньку продвигаться по частотам вверх. Самое забавное то, что я смог подняться даже до 1000 МГц, установив при этом over_voltage=6, и RPi загрузился без вопросов.

После экспериментов с 4-гиговой картой, я (не накатывая нового образа, т.е. работал со старым, с «глючным») проделал те же пассы руками и получил положительный результат — RPi заработала устойчиво! Я погонял RPi несколько часов, сбоев не было.

ВЫВОД: это не карточки глючные. Это — что-то не корректно внесено в ядро.

Мне очень сильно помог вот этот ресурс «Raspberry Pi энтузиаст» http://www.armlinux.ru/

Advertisements

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s