Прошивка firmware МФУ Samsung SCX4300 SCX4200 для работы со стартовым картриджем - проблема Download From PCSamsung SCX-4300, SCX-4200: перепрошивка по USB, проблема "Download From PC"

МФУ Samsung SCX-4300, SCX-4200: Решение проблемы "Download From PC"


 

Эта проблема встречается довольно часто при отключении питания и сбоях принтера во время перепрошивки. В результате после включения питания принтер высвечивает на экране "Download From PC", ни на какие кнопки не реагирует. При этом USB порт не работает, с компьютера принтер не виден вообще.

Традиционно есть два варианта "поднятия" принтера из этого состояния: замена платы форматтера (основной управляющей платы) и выпаивание ПЗУ принтера с дальнейшей перепрошивкой на внешнем программаторе. Первый вариант дорогостоящий, а второй требует также наличие дополнительного оборудования и навыков работы с ним.

Предлагаю третий вариант "оживления" принтера без замены форматтера и выпаивания ПЗУ.

Как известно, содержимое ПЗУ принтера состоит их трех частей: основная программа, область данных и программа-загрузчик. Основная программа может обновляться по USB порту, программа-загрузчик не меняется. В загрузчике, кроме собственно процедуры загрузки, есть также программа-монитор. С ее помощью можно, например, просмотреть и изменить содержимое памяти принтера.
Я думаю, что код загрузчика одинаков в 4300-м и 4200-м - на эту мысль меня наводит установленный в моем 4300-м принтере форматтер с маркировкой "SCX4200".

При старте принтера загрузчик сначала предлагает стартовать монитор, выдавая на "DEBUG"-интерфейс (отладочная консоль, подробнее чуть позже):

=================================================================== 
Press any key to execute Monitor Program within 1 sec.(in Boot) 
===================================================================

Далее загрузчик считает контрольную сумму основной прошивки. Если контрольная сумма основной прошивки равна 0, то стартует основная прошивка, в противном случае, что может быть, например, после неудачной перепрошивки, на экран принтер выводит "Download From PC", а на DEBUG-интерфейс выдает:

<<<DownLoad_FromPC>>> 
There is no image in RAM. Download Start!!!
Select port : 'u' [usb] 'p' [parallel]
после чего ждет символ "u" или "p", и только с DEBUG-интерфейса. Вот тут-то все и стопорится. И только получив символ "u" или "U", принтер пишет на экране "via USB" и включает USB порт.
После этого компьютер находит новое USB-устройство "Boot downloader". Теперь можно грузить прошивку, как и при обычной перепрошивке с помощью usbprns2.exe, только надо заливать прошивку с удаленными первыми четырьмя байтами (4300-4200). После заливки прошивки принтер рестартует.
МФУ Samsung SCX-4300, SCX-4200: Решение проблемы Download From PC - часть платы форматтера

Теперь о DEBUG-интерфейсе.
Samsung SCX-4300, SCX-4200: проблема Download From PCНа плате форматтера рядом с процессором есть разъем с маркировкой "DEBUG". Правда, на моей плате разъема нет, есть только место под него с 4-мя дырками, но, возможно, на некоторых форматтерах он присутствует. Цоколевка разъема приведена на фото 1. Здесь и далее TxD (Tx) - передача, RxD (Rx) - прием. Этот разъем - интерфейс RS232, он же обычный COM-порт компьютера, но только в уровнях TTL 3.3 Вольт. Для подключения принтера к компьютеру необходим преобразователь уровней RS232 (+/-12 вольт) в уровни TTL 3.3В. В интернете полно схем таких преобразователей как на 5В, так и на 3.3В, можно найти на любой вкус и цвет - например, здесь или здесь.

Нужно обратить внимание, что подключать 5-вольтовый выход TxD к 3.3-вольтовому входу RxD на форматтере принтера нужно через резистор 40...100 Ом.

Но самый простой и оптимальный вариант - купить дата-кабель на мобильник для COM-порта: они обычно 5-вольтовые. Я купил кабель для Самсунга C100 (фото 2). Мне он нравится потому, что имеет разборный разъем.
Как правило, все подобные дата-кабели питаются от ноги DTR COM-порта. Есть одна тонкость: положительное напряжение для питания кабеля на этой ножке появляется только после установления соединения в терминальной программе.

МФУ Самсунг SCX-4300, SCX-4200: дата-кабель

Для подключения к принтеру я просто допаял к разъему дата-кабеля 3 "хвоста": GND (общий), RxD и TxD согласно фото 3. Сначала нужно найти GND: общий провод (земля) должен звониться на 5-ю ножку 9-пинового разъема (фото 4). Если воткнуть кабель в компьютер - должна звониться на корпус.
Далее надо найти RxD и TxD. Для этого подключаю дата-кабель к компьютеру, открываю программу HyperTerminal (Пуск - Программы - Стандартные - Связь - HyperTerminal), устанавливаю соединение (Call/Connect) с любыми параметрами и, нажимая любую клавишу на клавиатуре, ищу импульсы осциллографом. Проверяю и амплитуду импульсов - должна быть 5 вольт. Это выход TxD компьютера - он будет соединяться через резистор 40...100 Ом (5В > 3.3В) с RxD на DEBUG-е.

Потом соединяю TxD компьютера поочередно с остальными проводами кабеля до тех пор, пока на экране терминала не пойдет эхо вводимых с клавиатуры символов. Это RxD компьютера - будет соединяться с TxD на DEBUG-е.

Мне пришлось разобрать принтер и снять форматтер - дырки на DEBUG-е были залиты припоем. Я разъем не ставил, просто очистил дырки "отсосом", а потом вставлял в них одножильный провод подходящего диаметра уже при собранном принтере. Предполагаю, что принтер уже подключен к компьютеру по USB. Землю я подсоединяю в первую очередь и к металлическому основанию, на котором закреплены платы - так надежнее, потом подсоединяю RxD и TxD (фото 5).

Подключать компьютер через переходник к принтеру нужно очень аккуратно, все сигналы идут сразу на микросхему процессора. Запускаю HyperTerminal, выставляю параметры 115200 8 N 1 без управления потоком, устанавливаю соединение (Call/Connect), включаю принтер. Если принтер "убит"перепрошивкой, то в терминале должно появиться:

=================================================================== 
Press any key to execute Monitor Program within 1 sec.(in Boot) 
===================================================================
<<<DownLoad_FromPC>>> 
There is no image in RAM. Download Start!!!
Select port : 'u' [usb] 'p' [parallel]
Нажимаю на клавиатуре "u" или "U", потом запускаю на компьютере стандартную программу прошивки:
 usbprns2.exe <firmware_name>
где <firmware_name> - имя файла стандартной прошивки без первых 4-х байт (4300-4200).

Принтер загружает прошивку как и в обычном режиме, затем рестартует. Если при включении принтера на экран терминала ничего не выводится, советую попробовать перезапустить HyperTerminal, проверить и заново переустановить параметры соединения (конечно, при условии, что переходник проверен и работает).

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

=================================== ================================ 
Press any key to execute Monitor Program within 1 sec.(in Boot) 
=================================== ================================ 
[тут я нажал Enter]
---------------------------------------------------------------- 
START-UP MODE : Monitor Program 
Boot into pROBE+ like stand-alone mode 
[Type 'help' to see command info.] 
Version : B0.30 12-01-2003 by Keetaek Kim 
---------------------------------------------------------------- 
Do you want to download via parallel port?[N] : n
[тут я нажал n]
pROBE+>
Вводим "help" и получаем список команд монитора:
pROBE+> help
-----ROM monitor command format-----------
dm start_addr <byte_count>
dm.b start_addr <byte_count>
dm.w start_addr <byte_count>
dm.l start_addr <byte_count>
ESC repeat memory dump
fm start_addr byte_count byte_value
fm.b start_addr byte_count byte_value
fm.w start_addr word_count word_value
fm.l start_addr long_count long_value
pm addr byte_value
pm.b addr byte_value
pm.w addr word_value
pm.l addr long_value
ul byte_count : upload image
flash : upgrade flash image
fl : upgrade flash image
go jmp_addr
dl load_addr
dhry : check dhry speed

pROBE+>

Все адреса и данные шестнадцатеричные. Все команды монитора не пробовал, могу сказать только, что dm (display memory) - просмотр содержимого памяти, go - переход по адресу. Например, запуск основной прошивки:

go 10000 Enter

Остальные команды я не тестировал, но, думаю, что самой интересной и нужной будет команда flash - после ввода "flash" принтер переходит в тот же режим, как и при восстановлении убитой прошивки.

Встроенный монитор может пригодиться для восстановления принтера после заливки некорректной прошивки, когда контрольная сумма совпадает, но прошивка работать не хочет. С помощью монитора возможна также заливка прошивки более младшей версии поверх более старшей, что нельзя сделать в стандартном режиме. Возможна и кросс-прошивка 4300 <-> 4200. Но при этом нужно учесть, что, в отличие от программирования флешки программатором, не меняется область CRUM и внутренних переменных 4000h...0ffffh, так что работоспособность переделки таким образом 4300 <-> 4200 под большим вопросом.

Думаю, что данная методика может быть применена не только для "оживления" SCX-4300, SCX-4200, но и других Самсунгов.

В заключение подчеркну, что этот материал адресован профессионалам. Возможно, в описании есть ошибки или неточности - замечания и пожелания принимаются на e-mail, указанный в подписи.


, Донецк, Украина

Опубликовано 27 мая 2009 г.
Рейтинг@Mail.ru Rambler's Top100