Общение > Прошивки

Phaser 3635MFP: "Software Upgrade in progress"

(1/2) > >>

vve:
Помогите, пожалуйста, разобраться с проблемой.
Есть 3635, с которым никаких действий, связанных с прошивкой и т.п., в явном виде не проводилось. Использовался исключительно в качестве копира. По словам пользователя, однажды утром сразу после включения и инициализации он выдал на экран сообщение "Software Upgrade in progress" с пустыми "барами" и оставался в таком состоянии около 15 минут, после чего его выключили.
Ко мне его привезли в таком же состоянии - именно такое сообщение, все лампочки на морде светятся, ни на что не реагирует.  Движок инициализируется, датчики работают, сетевой интерфейс работает. WEB-интерфейс тоже работает, но не определяет наличие картриджа, не показывает счётчики и сообщает о невозможности печати. При подключении по USB драйверы устанавливаются в штатном режиме.
Попытки печати - через USB или WEB-интерфейс - ожидаемо ни к чему не приводят. То же самое относится и к попыткам прошивки оригинальным образом посредством отправки файла в аппарат.
При подключении к терминалу выдаёт следующее:
(click to show/hide)[ POWER ON  Booting... ]



Press any key to execute Monitor Program within 1 sec...

 Find Compressed KernelXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXx

 Kernel UnZip Done!!

jump to 0x41800000


------------------------------------------------------------------------------

BackUp Debugging Message

------------------------------------------------------------------------------

Task Name: UIEN , Exception Type: Assert

------------------------------------------------------------------------------



Assertion failed:

 file UICmdMgr_ContDe, line 96

------------------------------------------------------------------------------

Call Stack

------------------------------------------------------------------------------

 41B87E04

 41B87E1C

 41804030

 41B965B8

 41B87DE8

 41BC00D4

 41BB2C38

 41827D44

 41BB281C

 41827D44

 41C32014

 41C32014

 FFFFFFFF

 FFFFFFFF

 FFFFFFFF

 FFFFFFFF

 FFFFFFFF

 FFFFFFFF

 FFFFFFFF

 FFFFFFFF

 FFFFFFFF

 FFFFFFFF

 FFFFFFFF

 FFFFFFFF

 FFFFFFFF

 FFFFFFFF

 FFFFFFFF

 FFFFFFFF

 FFFFFFFF

 FFFFFFFF

 FFFFFFFF

 FFFFFFFF

------------------------------------------------------------------------------

NEW MAC



 Check PowerOn Mode PBA Port ---- ( GPIO3In - 0xE9FFC07F, GPIOIn - 0xFFFF87F9 )

 ################### Normal Mode Start##########################

 [SOK] -> !!!!!!!! SOK_CompEntry Start !!!!!!!

 [SOK] MSOK Installed NEW MAC

gIsIPv4PacketAccepted : 00000001

gIsIPv6PacketAccepted : 00000000



 [SOK] ######### Validation Successfully Finished ########

[Dealy for Xerox GUI ready...5sec in ISP1761]

[USB Host Event] HostID:0x00000001, PortNum:0x00000001, HubDevAddr:0x00000000, Speed:0x00000002

[Attached]

[Class/Sub/Proto]:<00000009/00000000/00000000>

[Manufacturer]:<Philips Semiconductors>

[Product]:<ISP1520>

[Serial Number]:<>

[VID/PID:0x00000471/0x00003526]

[USB Host Event] HostID:0x00000001, PortNum:0x00000003, HubDevAddr:0x00000001, Speed:0x00000000

[gui_cd_api.c OK]

[Attached]

[Class/Sub/Proto]:<000000FF/000000FF/000000FF>

[Manufacturer]:<Wind River Systems>

[Product]:<Generic serial emulator>

[Serial Number]:<>

[VID/PID:0x000005F9/0x0000FFFF]AUTH1X_IF_InsertQueueData : 40C6196C

AUTH1X_IF_IsWiredPortEnable : 40C61608



[gui_cd_api.c-1061] Bulk In Timeout:1500

[gui_cd_api.c-1177] Already Timeout Bulk-In CallBack:64, Delay 45974ms

[gui_cd_api.c-978] BulkOut Timeout:1500

[gui_cd_api.c-1241] Already Timeout Bulk-Out CallBack:64, Delay 15010ms

[gui_cd_api.c-1061] Bulk In Timeout:1500

[gui_cd_api.c-1177] Already Timeout Bulk-In CallBack:64, Delay 60994ms

[gui_cd_api.c-978] BulkOut Timeout:1500

[gui_cd_api.c-1241] Already Timeout Bulk-Out CallBack:64, Delay 15010ms

[gui_cd_api.c-1061] Bulk In Timeout:1500

[gui_cd_api.c-1177] Already Timeout Bulk-In CallBack:64, Delay 76008ms

[gui_cd_api.c-978] BulkOut Timeout:1500

[gui_cd_api.c-1241] Already Timeout Bulk-Out CallBack:64, Delay 15004ms

[gui_cd_api.c-1061] Bulk In Timeout:1500

[gui_cd_api.c-1177] Already Timeout Bulk-In CallBack:64, Delay 91028ms

[gui_cd_api.c-978] BulkOut Timeout:1500

[gui_cd_api.c-1241] Already Timeout Bulk-Out CallBack:64, Delay 15004ms

[gui_cd_api.c-1061] Bulk In Timeout:1500

[gui_cd_api.c-1177] Already Timeout Bulk-In CallBack:64, Delay 106048ms

[gui_cd_api.c-1061] Bulk In Timeout:1500

[gui_cd_api.c-1177] Already Timeout Bulk-In CallBack:64, Delay 121068ms

[gui_cd_api.c-1061] Bulk In Timeout:1500

[gui_cd_api.c-1177] Already Timeout Bulk-In CallBack:64, Delay 136088ms

[gui_cd_api.c-1061] Bulk In Timeout:1500

[gui_cd_api.c-1177] Already Timeout Bulk-In CallBack:64, Delay 151108ms

и т.д.    
Прошивка последней версией 20.105.26.000 с сайта Xerox в режиме pROBE+ прошла корректно, без ошибок. Только (я имею дело с этим в первый раз) мне кажется подозрительным, что в флеш записалось 17825792 (0x1100000) байта, а размер образа прошивки - 45276957 байт, т.е. более, чем в 2,5 раза больше:
(click to show/hide)pROBE+> fl



Upgrade Flash ROM Image

==> Now program restarted on the RAM to program flash ROM(0x40020000)

jump to 0x40020000

Flash Data Download Address : 0x41000000



===============================

    Start flash_writer         

===============================

verify_Image : 0x41000000

i_header->pul_start_addr : 0x00000000

i_header->ul_count : 0x00000000

model : 0x00000000

flash type : 0x00000000

image type : 0x00000000

temp_buf :

SIG : $IMG

Can not find sig

----------- Display Dcache Status ------------

    Control register       = 0x000510F8

    Icahe : ON

    Dcahe : OFF

    MMU   : OFF



Download Image from PC

{

Ready to download from Parallel/Usb/Serial (0x41000000)

DrvUsbISP1761Initialize

Download destination Address : 0x41000000

Please send data via usb (ISP1761)!!!<FS><HS><FS><HS>

Image includes PJL(0000001B) -> Waste 240 bytes

[[45276957 Bytes received]] - Complete Downloading



} /* Download End */

verify_Image : 0x41000000

i_header->pul_start_addr : 0x00000000

i_header->ul_count : 0x01100000

model : 0x05000016

flash type : 0x00040003

image type : 0x00000000

temp_buf : $IMG

SIG : $IMG



FlashCheckSum

{

check sum start address : 41000018, count : 01100000

check sum : 0000A5A5

} /* Checksum End



Source Checksum is valid



[[[[[ Flash Writing : BASE : 0x00000000]]]]]

flash_start_addr : 0x00000000 - start_sector : 0

flash_end_addr   : 0x01100000 - end_sector : 136

flash_base_addr  : 0x00000000

src_image_start_addr : 0x41000018

base address-0x00000000,start-0,end-136

program start address : 0x00000000

program end address   : 0x01100000

image source address  : 0x41000018

image_count : 0x00440000 words - 0x01100000 bytes



FlashEraseProgram()

{

0th sector erase ::  addr : 0x00000000, - data : 0xE59FF054 - end erase - data : 0xFFFFFFFF

0x00008000 words - 0x00020000 bytes programmed

...


135th sector erase ::  addr : 0x010E0000, - data : 0xFFFFFFFF - end erase - data : 0xFFFFFFFF

0x00008000 words - 0x00020000 bytes programmed

 Total 17825792 (0x01100000) bytes programmed

} /* Program End */





FlashCheckSum

{

check sum start address : 00000000, count : 01100000

check sum : 0000A5A5

} /* Checksum End



=>check sum is validИ после такой прошивки стало ещё хуже: теперь аппарат циклически перезагружается через 1...2 секунды после прорисовки всё того же экрана с сообщением. Вот так выглядит каждый цикл:
(click to show/hide)[ WATCH DOG RESET  Booting... ]



Press any key to execute Monitor Program within 1 sec...

 Find Compressed Kernel

 Decompress ........................ done

 Kernel UnZip Done!!

jump to 0x41A80000


------------------------------------------------------------------------------

BackUp Debugging Message

------------------------------------------------------------------------------

Task Name: UIEN , Exception Type: Assert

------------------------------------------------------------------------------



Assertion failed:

 file UICmdMgr_ContDe, line 96

------------------------------------------------------------------------------

Call Stack

------------------------------------------------------------------------------

 41B87E04

 41B87E1C

 41804030

 41B965B8

 41B87DE8

 41BC00D4

 41BB2C38

 41827D44

 41BB281C

 41827D44

 41C32014

 41C32014

 FFFFFFFF

 FFFFFFFF

 FFFFFFFF

 FFFFFFFF

 FFFFFFFF

 FFFFFFFF

 FFFFFFFF

 FFFFFFFF

 FFFFFFFF

 FFFFFFFF

 FFFFFFFF

 FFFFFFFF

 FFFFFFFF

 FFFFFFFF

 FFFFFFFF

 FFFFFFFF

 FFFFFFFF

 FFFFFFFF

 FFFFFFFF

 FFFFFFFF

------------------------------------------------------------------------------

NEW MAC



 Check PowerOn Mode PBA Port ---- ( GPIO3In - 0xE9FFC07F, GPIOIn - 0xFFFF87F9 )

 ################### Normal Mode Start##########################

 [SOK] -> !!!!!!!! SOK_CompEntry Start !!!!!!!

 [SOK] MSOK Installed

Assertion failed: pstBestFitBlk != NULL && "There is no available Segment Block", file MM_MST.c, line 214


------------------------------------------------------------------------------

'ROOT' task - #00020000


task status(2)         - 0x00000000

- Ready

task highest stack addr - 0x42E7FA00

task current stack addr - 0x42E7F73C

task lowest stack addr - 0x42E7B600

------------------------------------------------------------------------------


------------------------------------------------------------------------------

Call Stack : SP=0x42E7F7DC (Stack End=0x42E7FA00)

------------------------------------------------------------------------------



[KERNEL]  Code Start Addr = 0x41A80000, Code End Addr = 0x420EA760

[NETWORK] Code Start Addr = 0x00000000, Code End Addr = 0x00000000

42E7F7F0  =  41ABFB70

42E7F800  =  41ABFEB0

42E7F808  =  41A84520

42E7F878  =  41ABFDEC

42E7F8AC  =  41AAC9D4

42E7F8CC  =  41EFB41C

42E7F8D4  =  41EFF794

42E7F8F4  =  41A84394

42E7F908  =  41A84394

42E7F910  =  41E18594

42E7F934  =  41A84394

42E7F93C  =  41A84394

42E7F944  =  41E003A0

42E7F94C  =  420D4B04

42E7F950  =  41A84394

42E7F960  =  41E10C1C

42E7F96C  =  41A84394

42E7F970  =  41A83C9C

42E7F974  =  41A84394

42E7F978  =  41A83BF8

42E7F988  =  41F80D44

42E7F998  =  41A840D8

42E7F99C  =  41A83FBC

42E7F9A0  =  41A83FEC

42E7F9C0  =  41A81504

42E7F9D0  =  41F04E38

42E7F9D8  =  41F03AAC

42E7F9DC  =  41F03AAC

42E7F9E4  =  41F03AAC





Assertion failed:

 pstBestFitBlk != NULL && "There is no available Segment Block", file MM_MST.c, line 214,  Task ROOT
NO DIMMЗдесь "NO DIMM", насколько я понимаю, относится ко второму слоту памяти - если имеющийся DIMM вынуть, то "NO DIMM" повторяется дважды, и перезагрузка происходит почти сразу.

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

Что ещё посоветуете попробовать? Может быть, You are not allowed to view links. Register or Login нужно как-то по-другому прошивать? В файле, кроме первого образа по смещению 0xF0 явно наблюдаются как минимум, ещё один - по 0x110012D...
 

apopovv:
Мне кажется, что сдохла микросхема флешь памяти.
Но проверить можно только заменой.

vve:
You are not allowed to view links. Register or LoginМне кажется, что сдохла микросхема флешь памяти.
Но проверить можно только заменой.

--- Конец цитаты ---
Спасибо за быстрый отклик.
Но ведь прошивальщик в конце работы проверяет контрольную сумму того, что записалось, и она оказывается правильной. Или Вы говорите не о той флешке?
Посмотрите, кстати, что сообщает команда fp.info монитора:
(click to show/hide)pROBE+> fp.info



>>> Bank[0]Not available



>>> Bank[1]

Vendor id:0x000000C2 , Device id: 0x0000225B,0x00000000,0x00000000

Size: 0x00100000, Bus Width: 2, device Width: 2

Write Buffer Size : 0 Bytes

Flash base: 0x02000000,Number of Sectors: 19 Type: BOTTOM.

  Sector Start Addresses:

    00000000      00004000      00006000      00008000      00010000     

    00020000      00030000      00040000      00050000      00060000     

    00070000      00080000      00090000      000A0000      000B0000     

    000C0000      000D0000      000E0000      000F0000     


Здесь речь идёт о какой-то флешке размером 1 МБ. Или эти размеры - не в байтах? В любом случае, это не тот чип, в который шьются те 17 МБ.
Там на плате стоят два разных чипа - к сожалению, я пока не посмотрел - какие именно.
И что Вы скажете о нескольких образах в файле прошивки? Тот, второй, если смотреть по заголовкам, частично перекрывается по адресам с первым, начиная со второго мегабайта. Может быть, это такая схема прошивки: сначала шьётся первый, с загрузчиком и монитором, а потом его часть перезаписывается "основным" образом? Есть ещё и третий, размером 64 КБ, со строкой $PRN в начале (вместо $IMG). Это может быть прошивка "движка", например. Нет?
Да, вот список команд, поддерживаемых этим монитором:
(click to show/hide)pROBE+> ?

-----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

cmp  src1_addr src2_addr size : compare memory



memcpy   source_addr dest_addr length : memory copy

ml    : Automatically download and execute the ram area binary

fl    : upgrade flash image

go   jmp_addr               

dl   load_addr             

--------------

eeprom cmd arg1 arg2 arg3 arg4

       info : find all EEPROMs

       gen channel sys_clock i2c_clock : generate prescaler and sclk value

           - sys_clock  : 100Mhz(0x64), 120Mhz(0x78),133Mhz(0x85)

           - i2c_clock  : 100Khz(0x64), 400Khz(0x190)

       read dev (0: Dimm0, 1:Dimm1, 4: Main, 5: ENP, 6:WENP)

       erase dev size: erase device with zero value

       read dev size : read device 

       ddr2w channel addr size type :  write DRAM dimm's SPD

           - channel:  i2c channel(0,1)

           - addr: eeprom address

           - size: 1(DDR2 Samsung 256MB x16), 2:(DDR2 Samsung 128MB x16), 3:(DDR2 Samsung 256MB x8), 4:(DDR2 Samsung 128MB x8)

                   5(DDR2 Qimonda 256MB x16), 6:(DDR2 Qimonda 128MB x16), 7:(DDR2 Qimonda 256MB x8), 8:(DDR2 Qimonda 128MB x8)

                   ff(DDR2 EERPOM erase)r

           - type: offset address type(0 : less than 256bytes, 1 : more than 256bytes)

       ddr2v channel addr type :  Verify DRAM dimm's SPD info

           - channel:  i2c channel(0,1)

           - addr: eeprom address

           - type: offset address type(0 : less than 256bytes, 1 : more than 256bytes)

       write dev offset value

       fill  dev size   value

       read chan dev offset len

       m2e dev source size : copy from memory to eeprom

       reada channel addr offset type size: read device

           - channel  : i2c channel(0,1)

           - addr  : eeprom address

           - offset: offset address

           - type  : offset address type(0 : less than 256bytes, 1 : more than 256bytes)

           - size  : size to read

       writea channel addr offset type size: read device data

           - channel  : i2c channel(0,1)

           - addr  : eeprom address

           - offset: offset address

           - type  : offset address type(0 : less than 256bytes, 1 : more than 256bytes)

           - size  : size to write

           - data  : 1byte data to write

--------------

rtc num : read rtc

    yyyymmdd ttmmss : set rtc 20060703 171800(2006-07-03 17:18:00)

--------------

dma cmd arg1 arg2 arg3 arg4

       info : display dma register

       fill b/w dest count : flill black/white by using all DMAs

           - b/w: 0(white), 1:(black)

       f2m src dest count  : copy from from to memory

       f2m chan src dest count  : copy from from to memory

       swap1 unit chan src dest count : increment swap test

       swap2 unit chan src dest count : decrement swap test

           - unit: 0=bit, 1=byte, 2=halfword

       m2m chan src dest count : Memory to Memory test



       stress loop : infinite dma read/write test

           - 0: infinite, else

--------------

pll cmd arg1 arg2 arg3

       info : display pll information

       calc Fin Fout : calculate M/P/S values

         - Fin : Input Frequency(decimal)

         - Fout : Output Frequency(decimal)

ddr cmd arg1 arg2 arg3: ddr controller ( arg1, arg2, arg3 are hex value)

        cmd  : dqs,dqsdelay, dqsoutdelay, wrdqsshift,dump, mk, cas, size

               dqs - display searched dqs

               dqsdelay - display searched dqs delay

               dqsoutdelay - display searched dqs out delay

               wrdqsshift - display searched wr dqs shift

               dump - display current ddr controller register

               mk - display

               size - display current dram size

               info - display dram information

        arg1 : dram base address to test

        arg2 : start value

        arg2 : end value



memtest cmd arg1 arg2 : test memory( arg1, arg2 are hex value)

        cmd  : r, w, toggle, rwv, drwv,drw,dw, clear, databus

               r - read as 64bit unit

               w - write as 64bit unit

               toggle - write toggle data as 64bit unit and then read the data as 64bit unit

               drwv - dma write,read,verify

               drw - dma write,read

               dw - dma write

        arg1 : burst length(0x2, 0x4, 0x8, other value is set as currnet value)

        arg2 : driver strength(0x0 ~ 0x7, other value is set as currnet value)



--------------

arm cmd arg1

       info : display arm core information

       dc on/off : Data cache on/off

       ic on/off : Instruction cache on/off

       wb on/off : Write buffer on/off

       mmu on/off : MMU on/off

fp.info : display flash info

fp.nor source_addr dest_addr length : nor flash program test

fp.nor.ep source_addr dest_addr length : nor flash erase program test

fp.nor.e dest_addr length : nor flash erase test



nvram clear test_mode

0 - all nvram and memory clear

1 - memory clear

2 - backup memory clear

3 - backup main flash clear

4 - backup main eeprom clear

5 - backup network eeprom clear

6 - backup wireless network eeprom clear



format cmd

       hdd   : HDD will be formatted at kernel start up

       flash : Backup Flash will be formatted at kernel start up

       all : HDD, Backup Flash will be formatted at kernel start up

       debugall : HDD, Backup Flash will be formatted and display debug message at kernel start up

       off : Cancel format at kernel start up



debug cmd

      on    : Display debug message at kernel start up

      off   : Do not display debug message at kernel start up

--------------

reboot

ctrl+c   : Download image         

pROBE+>
Дополнение: по VID/PID чипа, которые отображаются по fp.info, он идентифицируется как MX29LV800BBC. Действительно, это флешка на 1 МБ. Скорее всего, это Backup Flash, которая упоминается в описании команд монитора.
Тогда вообще какая-то фигня получается: прошивальщик пишет (без ошибок?) в большую флешку, а info не выдаёт информации о ней.

apopovv:
Я с такми аппаратами не сталкивался. Не смогу помочь чем-то конкретным ...

Svoboda-SS:
Всем привет! По данной модели мфу есть изменения? Шитьё? Пайка? Форточка?

Навигация

[0] Главная страница сообщений

[#] Следующая страница

Перейти к полной версии