Общение > Прошивки
Phaser 3635MFP: "Software Upgrade in progress"
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:
Всем привет! По данной модели мфу есть изменения? Шитьё? Пайка? Форточка?
Навигация
Перейти к полной версии