Апр 02

Заправка Xerox 3010 без замены чипа

Взято отсюда: http://habrahabr.ru/sandbox/58073/ , мной не проверялось.

Воодушевившись увиденным на ютубе роликом о том, что на DocuPrint P205b, близнеце брате Xerox 3010, печатают с отключенным контролем уровня тонера, я подумал: «А чем чёрт не шутит? Надо попробовать. Зачем менять чипы, если можно просто досыпать тонер?»


Что я сделал:
Скачал обновление прошивки принтера Xerox 3010.
Обновил прошивку, не уверен что это необходимо, но я это делал.

После этого скачал драйвера для DocuPrint 205. Скажу сразу, это была моя ошибка.
И скачал утилиты для работы с принтером DocuPrint P205b.

Но ведь названия DocuPrint P205b и DocuPrint 205 похожи? Я поставил драйвера принтера, принудительно указав inf файл. И в системе у меня появился DocuPrint 205. Однако, ни тестовая страница, ни просто какие-либо попытки узнать, а что там в принтере происходит не привели к успеху. На родных драйверах от Xerox 3010 всё печатало и опрашивалось вполне замечательно.

То что принтер не отвечает, меня конечно несколько смутило, но я продолжил. Нашел и установил набор утилит от Fuji Xerox для P205b, собственно эта модель и используется в видео. Однако, при запуске Printer Setting Utility мне выводилось сообщение, что в системе нет нужного принтера. Помаявшись так и сяк, я это дело забросил.
Был уже поздний вечер.

На следующий день, я подумал, что возможно надо прошить принтер firmware от DocuPrint, дабы получить не Xerox 3010, а собственно DocuPrint. Но я побоялся это делать.

Следующая моя мысль была, что это проблема 64 битных драйвером. У меня Win7 64. Решил настроить всё на нетбуке с WinXP 32. И тут на меня нашло озарение.

Во время поисков драйверов, я понял, что DocuPrint 205 и DocuPrint P205b — это совсем разные принтера!
Я скачал драйвера для WinXP DocuPrint P205b, установил, и о чудо! Принтер сразу распечатал тестовую страницу! Причем указал, что он DocuPrint P205b!

Следующим моим шагом был запуск утилит управления принтером. И о радость! Они нашли принтер, и показали что всё в порядке!

Затем я выбрал и включил non-genuine mode. Как я понял, это режим в котором допускается использование не оригинальных картриджей и принтер не проверяет количество тонера! Соответственно, в стартовый картридж можно постоянно подсыпать тонер по мере необходимости и печатать, и печатать, и печатать!

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

В общем, подводя итоги, скажу так: Это почти победа над чипом! Для полной уверенности необходимо распечатать на данном картридже около 1000 листов бумаги. Это заведомо превышает количество страниц, прошитых в стартовый чип картриджа, примерно в два раза.

Но тут есть некоторые моменты… 🙂 У меня пока нет тонера для заправки и нет таких задач по печати. А печатать «Войну и Мир» не хочется. Жалко и бумагу и тонер.

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

Приложение:

Ролик, в котором показывается что надо сделать для отключения контроля уровня тонера в DocuPrint P205b.
youtu.be/aeu2gGiUZfU

Прошивка, которую я использовал для обновления принтера.
Phaser_3010_Firmware_version_SG1_XC_2.02.zip 

Утилиты управления 

Драйвера для WindowsXP 32 bit

Мар 25

SCX4650N V3.00.01.11 понижение версии прошивки

Технология прежняя:

  1. Заливаем в аппарат прошивку SCX4650N_V3.00.01.11_X.hd
  2. Включаем в принудительном режиме (удерживая кнопки «Стоп» и «Старт»)
  3. Прошиваем оригинальной прошивкой SCX_4650N_V3.00.01.07.hd

Скачать / Download

Мар 16

ML-2160 V1.01.01.11 понижение версии прошивки

11-08-05

Скачать / Download

Для понижения версии прошивки с 11 до 08 или 05 следует залить в принтер ML2160_V1.01.01.11_original_X,
а затем, в принудительном режиме прошить младшей оригинальной прошивкой или сразу фиксом имени Мишеля.

Технология полностью аналогична описываемой в этой статье.

 

Мар 07

Восстановление Xerox 3160b после прошивки ML-2580

Анамнез:

Был Xerox 3160b, делец какой-то прошил в самсунг 2580.. компом видится как 2580… выходит в готовность,отчет не печатает.. при вкл загорается зеленым, через 5 сек красным и так по кругу))) двигатели молчат… в принудительном принимает прошивку только от 2580.

После подключения дебага получили вот такой лог:

Press any key to execute Monitor Program within 1 sec...
New kernel was found...

CHKSUM
{
check sum start address : 004F0000, count : 00150000
check sum : 0000A5A5
} /* Checksum End

Checksum OK!!
 Find Compressed Kernel
 Kernel UnZip Done!!
 JUMP address = 0x40D80000
jump to 0x40D80000NEW MAC

------------------------------------------------------------------------------
'ROOT' task - #00020000

task status(2)                  - 0x00000000
- Ready
task highest stack addr - 0x4157DE00
task current stack addr - 0x4157DD14
task lowest stack addr - 0x4157BA00
------------------------------------------------------------------------------

------------------------------------------------------------------------------
Call Stack : SP=0x4157DD30 (Stack End=0x4157DE00)
------------------------------------------------------------------------------

[KERNEL]  Code Start Addr = 0x40D80000, Code End Addr = 0x40FBCF4C
[NETWORK] Code Start Addr = 0x00000000, Code End Addr = 0x00000000
4157DD44  =  40E344DC
4157DD48  =  40E361F4
4157DD5C  =  40DA2E2C
4157DD68  =  40DAB948
4157DD6C  =  40EB2928
4157DD78  =  40E96980
4157DD8C  =  40DABE74
4157DD98  =  40DABDF8
4157DDA4  =  40F5CBB8
4157DDB4  =  40DAB904
4157DDC0  =  40D800B8
4157DDD0  =  40EBD40C
4157DDDC  =  40EBC080
4157DDE4  =  40EBC080

[ WATCH DOG RESET  Booting... ]

Press any key to execute Monitor Program within 1 sec...
New kernel was found...

И так по кругу.

При попытке прошить Xerox:

Image includes PJL(0000001B) -> Waste 48 bytes
[[7340104 Bytes received]] - Complete Downloading

} /* Download End */
verify_Image : 0x42000000
i_header->pul_start_addr : 0x00000000
i_header->ul_count : 0x00700000
model : 0x0300002F
flash type : 0x00010001
image type : 0x00000000
temp_buf : $IMG
SIG : $IMG

FlashCheckSum
{
check sum start address : 42000018, count : 00700000
check sum : 0000A5A5
} /* Checksum End

Source Checksum is valid
ul_rom_size[0x42700018]
Not found new kernel!!!!
Downloaded Image is not Valid
Reset Target and Run Flash Writing Program Again

Оригинал от самсунга принимал на ура, а ксерокс не лез ни в какую.
Мной была немного подправлена оригинальная прошивка ML2580 V1.01.00.88, в результате получился файл ML2580_V1.01.00.88_X.fls , аппарат его принял нормально, после чего оригинал 3160 так же без проблем залился через принудительный режим. Принтер вышел в готовность, и стал нормально работать.

Спасибо за внимание.

Скачать файлы / Download files

PS: Предоставленные файлы вы используете на свой страх и риск, после ремонта восстановите оригинальное ПО.

Фев 28

Внимание, мошенник! Сливин Роман (slivinroman@yahoo.com)

Перепост с http://www.testcopy.ru/forum/viewtopic.php?f=6&t=3977

Добрый день всем!

Тема зрела давно, но вот сейчас выдалась свободная минутка. Итак собственно сабж.

Есть такой Сливин Роман, как пишет сам про себя — я программист. Чем занимается — тупо перепродает прошивки от всех фиксоделов, с которыми может договориться о покупке у них оптом прошивок.
Методы работы, сначала присылает прошивки, затем, когда втирается в доверие кидает покупателей — получая предоплату за прошивки ставит их в игнор.
Клиентов находит спамя многими сотнями писем по всем известным форумам по оргтехнике. Даже мне приходило от него письмо — :-)

Здравствуйте я программист заходите на мой сайтик…

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

Причем кидает как и покупателей прошивок так и продавцов (после кидка перебегает к другому продавцу).

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

Диапозон IP: 89.23.128-159.* ,  предлагаю банить везде.

UPD:
sliv3

 

UPD2:
KVG
:

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

UPD3:

А здесь это чудо работает  работало:

МКМ сервис центр

400087, Волгоград, Пархоменко ул. 33

Юридическое название
ООО «МКМ сервис центр»

Телефон(ы)
(8442) 37-96-56
(8442) 37-95-56 факс

sliv4

 

UPD4:

А вот кто это на самом деле:
Аксенов Сергей Владимирович, г. Волжский, возраст 32-36

Фев 15

Изучение прошивки на примере SCX-3200 7 версии

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

Начнем, пожалуй, с самого простого, практически с начала одноаппаратных прошивок. SCX-3200. Начиная с 8 версии, производитель начал применять шифрование, здесь же простое сжатие gzip.
Итак, нам понадобится:

1. HEX-редактор, любой, удобный вам. Мне нравится Hex Editor NEO.
2. Среда программирования, с языком которой вы знакомы. Для примера будем использовать PHP DevelStudio (http://develstudio.ru/), т.к. здесь проще всего организовать упаковку/распаковку gzip.
3. IDA Pro Advanced 5.5 with Hex-Rays для дизассемблирования.

Загрузим файл в хекс-редактор:

image001

и перейдем по адресу (CTRL+G) 0x40078 (здесь и далее все адреса в шестнадцатеричном представлении)

image002

Видим сигнатуру $ZIP . Здесь и находится ядро прошивки в упакованном виде.
Следующие 4 байта 0x40080000 – адрес распаковки ядра, далее 0x001afff4 – размер упакованной части.

image003

Лирическое отступление: 2 основные части прошивки – загрузчик и ядро. Загрузчик проверяет контрольную сумму прошивки, распаковывает и запускает ядро. Здесь же находится принудительный режим и дебаг. Ядро – основная рабочая программа принтера, реализующая функции печати, взаимодействие с компьютером, сетевые протоколы и все остальные рабочие процессы аппарата.

Теперь наступило время запустить Devel Studio.
Добавим на форму кнопку и создадим для нее событие «Клик»

image004

Двойным щелчком на надписи «Клик» откроем редактор кода.

image005

С этого момента начинается программирование.
Пишем следующий код:

$fn = 'D:\test\Z501BFEZ900168X_FIX_NU_3200_v07.hd';// имя файла и путь к нему
$file = file_get_contents($fn); // считывание содержимого файла в переменную
$zip = substr($file, 0x40078+0xC, 0x1afff4); // считывание упакованного ядра без заголовка $ZIP(0xC - 12 байт)
$unzip = gzuncompress($zip); // распаковка архива
file_put_contents('D:\kernel.hd',$unzip); // сохранение распакованного ядра в файл
echo "OK!";

Компилируем и запускаем (F9), нажимаем нашу единственную кнопку. Если пути к файлам прописаны правильно, и ошибок не возникает – видим сообщение «ОК». Появившийся файл ‘D:\kernel.hd‘ и есть наше распакованное ядро.

В нем поиском можно найти серийный номер.

image006

Улыбаемся, и представляем, как эти знания еще пару лет назад могли вас значительно обогатить.

Теперь загрузим ядро в ИДУ и немножко дизассемблируем.
Выбираем процессор ARMB (big endian):

image007

Выставляем адреса, как на картинке:

image008

Далее в меню Options -> General -> Analysis ->Kernel options 1 ставим галку Make final analysis pass -> OK -> Reanalyze program
Несколько минут курим. Пока идет процесс анализа кода, скажу вам, что верить Иде на 100% нельзя, иногда она ошибочно принимает данные за код и наоборот. И довольно часто домысливает лишние конструкции, что усложняет понимание кода. Лучше запускать исследуемые функции в эмуляторе и смотреть, что происходит с регистрами и памятью. Но, все-таки, общую картину понять можно значительно быстрее с помощью Иды.

Итак, анализ закончен, серийник находится по адресу 0x400C76B0 (для перехода нажать клавишу G)

image009

Серийный номер считывается из прошивки во время выполнения 0x400C768C и передается через R0 в функцию sub_400DBF70, которая проверяет его, и в случае соответствия пишет в R0 = 0.

ROM:400C769C CMP R0, #0
Здесь сравнение R0 с нулем, собственно, то место, где изменением пары байт можно сделать многоаппаратную прошивку.

На этом пока все, ждите продолжения. Если вы не понимаете всего вышесказанного, то лезть в эту тему смысла нет – дальше ещё сложнее.

Фев 01

Восстановление ML-2165W после неудачной прошивки

Данный метод применяется в случае, когда дебаг работает, но прошивка не заливается.
1. Подключаем дебаг, входим в режим pROBE+>
2. Нажимаем Ctrl+C ,

Do you want to download from external port?[N] :

Нажимаем Y

Enter Start Address[0x400E0000] : 0x

Вводим 400e0000
3. Заливаем по USB дамп (прошивка без первых 120 байт) оригинальной прошивки.

[[6422528 Bytes received]] — Complete Downloading

4. Вводим команду spi.ep 400e0000 0 620000 1
5. После окончания прошивки вводим reboot

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

Кроме того, понизить версию через дебаг можно введя команды:

pm.l 40022880 e3a00001
fl