1/08/2007

Перепрошивка NEC ND-3550A в Линукс

Вопрос: как прошить DVD-привод NEC ND-3550A в Линукс и зачем это делать?
Ответ: прошить можно легко, а делать это требуется в ряде случаев для улучшения его работы и открытия новых возможностей.

История вопроса
Привод NEC ND-3550A в Линуксе работает прекрасно, но лично у меня был такой нюанс: система при любых операциях с приводом начинала страшно тормозить. Сначала я косо смотрел на утилиты cdrtools - они у меня неофициальной убунтовской сборки. Но и при записи DVD та же проблема: запись идёт, и пишет надёжно, но с максимальной скоростью 1.7х и при этом очень трудно где-то ещё работать.

В общем, проблема: любые операции с приводом NEC ND-3550A с прошивкой версии 1.05 вызывают существенное замедление работы Debian Linux v3.1 Sarge с ядром 2.6.15.7 с патчем squashfs. При этом другие приводы (в частности, Asus) работают нормально.

Перепрошивка NEC в Linux
Для этого идём сюда и скачиваем маленькую утилиту necflash. Распаковываем, даём права на запуск. Теперь идём за прошивками - я начинал отсюда. Прежде чем что-то прошивать, надо представлять себе, что мы хотим и что при этом изменится. Возможностей моего привода мне хватало, мне нужно было устранить его досадные огрехи. Поэтому я взял официальную прошивку 1.06, в которой версии стратегий записи были новее.

Запускаем программу, смотрим на её возможности:

# ./necflash
Binflash - NEC version - (C) by Herrie and Liggy
Visit http://binflash.cdfreaks.com - http://www.herrie.org

Usage:
necflash {-scan} [-v]
necflash {-dump} [-v] [-s] {filename} {device}
necflash {-flash} [-v] [-s] {filename} {device}
necflash {-identify} {device} {Filename}
necflash {-querybt} {device}
necflash {-setbt} {Mediatype} {Booktype} {Temp|Perm} {device}
necflash {-setbtrw} {Booktype} {Device}
necflash {-clearbt} {device}
necflash {-version}

-scan - Scan for supported devices
-dump - Dump firmware and write to file
-flash - Flash firmware and write to file
-identify - Identify unknown drives
-querybt - Query booktype information
-setbt - Change booktype settings
-setbtrw - Change booktype on current DVD+RW disc
-clearbt - Clear booktype settings and counter
-version - Display version information

-v - Verbose mode
-s - Skip disclaimer

Отлично, то, что надо. Идём далее: смотрим, что в приводе уже есть:

# ./necflash -scan
Binflash - NEC version - (C) by Herrie and Liggy
Visit http://binflash.cdfreaks.com - http://www.herrie.org

List of supported devices:

Device : /dev/hda
Vendor : _NEC
Model : DVD_RW ND-3550A
Firmware : 1.05

Прошивка версии 1.05, довольно свежая, так как привод куплен не так давно. Но это слабое утешение - прошивать будем всё равно.

Сохраняем старую прошивку
Всегда приятно иметь возможность откатиться к исходной позиции. Поэтому запускаем программу с ключом -dump и сохраняем прошивку, которая в приводе, на диск.

# ./necflash -dump nec3550Aold.flash /dev/hda
Binflash - NEC version - (C) by Herrie and Liggy
Visit http://binflash.cdfreaks.com - http://www.herrie.org

DISCLAIMER

THIS PROGRAM IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND,
EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
PARTICULAR PURPOSE.

THE ENTIRE RISK AS TO THE ABILITY OF THIS PROGRAM TO FLASH
NEC OR COMPATIBLE DVDR DRIVES IS WITH YOU. SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY
SERVICING, REPAIR OR CORRECTION.

THIS PROGRAM IS NOT ENDORSED BY NEC OR ANY
COMPANY RESELLING NEC EQUIPMENT AS THEIR OWN BRAND

IF YOU UNDERSTAND THE RISKS ASSOCIATED WITH THIS PROGRAM AND
DISCHARGE BOTH THE AUTHOR AND NEC FROM ANY
DAMAGE OCCURING AS THE RESULT OF ITS USE, PLEASE INDICATE SO
BY ANSWERING THE FOLLOWING QUESTION:

Do you understand and agree to the statement above (y/n)? y

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


Закачиваем новую прошивку
Собственно, всё тоже самое, но теперь прошиваем. Прежде всего нужно вынуть диск из привода - впрочем, если вы его там забудете, программа об этом напомнит и откажется дальше работать.

# ./necflash -flash 106_orig.bin /dev/hda
Binflash - NEC version - (C) by Herrie and Liggy
Visit http://binflash.cdfreaks.com - http://www.herrie.org

Прошивание идёт порядка минуты, и обязательно дождитесь окончания процесса! В ходе прошивания привод будет мигать лампочкой - это нормально. Когда всё закончится, программа вернёт управление консольке, и попросит перезагрузиться. Можно выдохнуть - всё закончилось, и, будем надеяться, удачно :-)

Результат прошивания
Полное ощущение, что я в своей Ламборгини "открыл для себя" скорости выше первой на коробке передач! Пишет и читает прекрасно, и работающий по соседству tvtime в лучшем качестве тормозить даже не думает. Все md5-суммы записанных данных сходятся, система при работе привода работает прекрасно.

23 комментария:

  1. Спасибо за наводку на Флешер!

    ОтветитьУдалить
  2. Пожалуйста, буквально вчера перепрошивал - всё по ссылкам должно ещё остаться :-)

    ОтветитьУдалить
  3. Вопрос немного не по теме.
    А скорость у неков получается регулировать? Когда смотришь DVD, просто невозможно гудит привод. eject, hdparm, cdspeed -- всё бестолку. И перепрошивать пробовал -- не помогает.
    Нашёл я довольно читерский способ: нужно перейти в конец фильма, привод замедлит вращение. А потом вернуться обратно в начало. Тогда привод шуметь не будет, а скорость понизит.

    ОтветитьУдалить
  4. Оказалось что в necflash нет поддержки моего привода (ND-4571A). Взял прошивку с официального сайта и рискнул запустить через sudo wine - работает :)

    ОтветитьУдалить
  5. 2 kaktyc
    А скорость у неков получается регулировать?
    Для CD - да, для DVD - нет. Вообще говоря, привод не обязан отзываться на внешние приказы сбросить скорость - его электронике виднее, как быстро надо вращать диск. Не забываем, что плотность записи на DVD-диск больше, чем на CD.

    Когда смотришь DVD, просто невозможно гудит привод. eject, hdparm, cdspeed -- всё бестолку. И перепрошивать пробовал -- не помогает.
    Надо будет погуглить на эту тему, кстати. На форумах тоже спрашивают.

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

    ОтветитьУдалить
  6. Полное ощущение, что я в своей Ламборджини...
    Не знаю, почему меня так это зацепило, но не могу пройти мимо. :)
    На самом деле марка автомобиля называется "Ламборгини" (Lamborghini - даже по правилам английского языка (не считая того, что автомобиль итальянский ;) ) сочетание gh никогда не читается как [dᴣ], даже если после него стоят i, e или y) :)

    ОтветитьУдалить
  7. 2 vonderer@darkstar
    На самом деле марка автомобиля называется "Ламборгини" (Lamborghini - даже по правилам английского языка (не считая того, что автомобиль итальянский ;) )
    За что люблю комментаторов - так это за то, что всё найдут и поправят :-) Мощь опенсорс-подхода к ведению блогов в действии!

    Пост поправил, лишние отступы убрал, название итальянских машин подкорректировал. Хотя NEC это скорее фольксваген - такая рабочая лошадка. Не Plextor, конечно, но диски пишет - и спасибо.

    Андрей, спасибо, что зашёл и поправил :-) Удачи в сессии!

    ОтветитьУдалить
  8. Андрей, спасибо, что зашёл и поправил :-)
    Всегда пожалуйста. :)

    Удачи в сессии!
    Спасибо. :) Это самый главный фактор студенческой жизни. :)

    Доживу до каникул - организую пару обширных постов (благо есть о чем писать) в качестве компенсации за почти два месяца молчания. :)

    ОтветитьУдалить
  9. можно попробовать еще mount -o speed=...
    у меня работало везде.. правд монтировать придется диск

    ОтветитьУдалить
  10. Эх, не все то золото, что блестит.. Plextor (по крайней мере линейка PX-71x) под линуксом -- головная боль. Портят болванки DVD+R во время записи, приходится обходиться половиной возможностей -- писать на "минус", а +DL писать на скорости х1 или ставить привод под винду. Один бесспорный плюс -- практически полная бесшумность.

    ОтветитьУдалить
  11. Оказалось что в necflash нет поддержки моего привода (ND-4571A). Взял прошивку с официального сайта и рискнул запустить через sudo wine - работает :)
    Как нет поддержки? Буквально 3 дня назад перешивал свой на rpc1

    ОтветитьУдалить
  12. 2 Anonymous
    можно попробовать еще mount -o speed=...
    Перечитал man mount, не нашёл. Но попробуем...

    2 Paul Philippov
    Эх, не все то золото, что блестит.. Plextor (по крайней мере линейка PX-71x) под линуксом -- головная боль.
    Не знал. В своё время гуглил по некам - народ отзывался хорошо. Купил - работает, но медленно. Теперь перепрошил - при записи болванки DVD на 16х меня чуть со стула не снесло :-) MD5-суммы сходятся, ни одной запоротой болванки.

    Один бесспорный плюс -- практически полная бесшумность.
    Да, неки тишиной не отличаются. Обошёл проблему приобретением наушников с шумоподавлением :-)

    ОтветитьУдалить
  13. А есть подобный софт, но для приводов ASUS?

    ОтветитьУдалить
  14. 2 post-factum
    А есть подобный софт, но для приводов ASUS?
    Увы, не в курсе. Так как у меня старый CD-RW привод асус пишет прекрасно, не задавался таким вопросом.

    Встречный вопрос: у вас нет LiveCD StreamOS? :-)

    ОтветитьУдалить
  15. Перепрошил тем же способом NEC3500AG
    Прошивки брал
    здесь:

    Привод реально стал лучше работать.
    Если использовать прошивку с отключением лимита скорости, диски читаются быстрее, но гудение привода мешает смотреть кино, mount -o speed=... помогает
    Спасибо

    ОтветитьУдалить
  16. Встречный вопрос: у вас нет LiveCD StreamOS? :-)

    Пока нет, но в планах будет :-P.

    ОтветитьУдалить
  17. Здорово, а я то думал, почему при прожиге двд у меня так тормозит система (и линукс и оффтопик). Поменял прошивку, надо будет проверить. Как проверю - отпишусь. В любом случае автору огромное спасибо :) (message posted by z41)

    ОтветитьУдалить
  18. 2 Anonymous
    Здорово, а я то думал, почему при прожиге двд у меня так тормозит система
    Именно: нековцы что-то там перемудрили в прошивке 1.05 со стратегиями записи. Прошивайте смело, после этого всё будет летать.

    ОтветитьУдалить
  19. 2 Redeyed_Warrior пишет...
    Короче, мне помог sudo wine ND3550A_v107.exe :) Но все равно спасибо за статью
    На сайте линуксового флешера, естественно, нет. Он на других сайтах - я ж ссылку давал... Ну не важно. А что, под вайном работает? Круто! :-)
    За статью пожалуйста.

    У меня тут анекдот был: пропаливаю диск со слакой, думаю - "вот, блин, проверять ещё эту слаку..." Вдруг - бац! - ошибка, привод резко снижает скорость до 1.8х, в логах - devise busy, reseting device complete, DMA turned OFF. Ууу... писался 30 минут. Покарал меня Патрик :-) Врубил DMA через hdparm, всё нормально.

    ОтветитьУдалить
  20. Огромное спасибо за подсказку. Давно хотел перешить свой NEC 3540A, были проблемы со стабильностью скорости записи. Помог способ с Wine. Честно говоря было очень страшно... Но все прошло нормально, обновил до 1.04.

    ОтветитьУдалить
  21. А знаете ли вы что, если вам когда-нибудь захочется заглушить какой-либо мобильный телефон или другое средство связи, то воспользуйтесь для этого Блокираторы мобильного телефона.

    ОтветитьУдалить
  22. К слову сказать, если вам когда-нибудь захочется заблокировать чей-то сотовый телефон или другое средство связи, то воспользуйтесь для этого Блокиратор сотового.

    ОтветитьУдалить
  23. спасибо за ваш пост - прошил свой NEC 4551A прошивкой 109bt_orig.bin

    ОтветитьУдалить