Установленный "на территории" коммутатор cisco catalyst 2950, в один прекрасный день, перестал подавать признаков жизни. По-этому бы оперативно доставлен для последующего ремонта.
При попытке загрузки я получил следующий вывод:
C2950 Boot Loader (C2950-HBOOT-M) Version 12.1(14)AZ, RELEASE SOFTWARE (fc2)
Compiled Tue 14-Oct-03 17:14 by antonino
WS-C2950T-48-SI starting...
Base ethernet MAC Address: 00:##:##:##:##:c0
Xmodem file system is available.
Initializing Flash...
flashfs[0]: 357 files, 6 directories
flashfs[0]: 0 orphaned files, 0 orphaned directories
flashfs[0]: Total bytes: 7741440
flashfs[0]: Bytes used: 5703680
flashfs[0]: Bytes available: 2037760
flashfs[0]: flashfs fsck took 7 seconds.
...done initializing flash.
Boot Sector Filesystem (bs:) installed, fsid: 3
Parameter Block Filesystem (pb:) installed, fsid: 4
Loading "flash:/c2950-i6k2l2q4-mz.121-22.EA14.bin"...#####...######
File "flash:/c2950-i6k2l2q4-mz.121-22.EA14.bin" uncompressed and installed, entry point: 0x80010000
executing...
Restricted Rights Legend
Use, duplication, or disclosure by the Government is
subject to restrictions as set forth in subparagraph
(c) of the Commercial Computer Software - Restricted
Rights clause at FAR sec. 52.227-19 and subparagraph
(c) (1) (ii) of the Rights in Technical Data and Computer
Software clause at DFARS sec. 252.227-7013.
cisco Systems, Inc.
170 West Tasman Drive
San Jose, California 95134-1706
Cisco Internetwork Operating System Software
IOS (tm) C2950 Software (C2950-I6K2L2Q4-M), Version 12.1(22)EA14, RELEASE SOFTWARE (fc1)
Technical Support: http://www.cisco.com/techsupport
Copyright (c) 1986-2010 by cisco Systems, Inc.
Compiled Tue 26-Oct-10 10:35 by nburra
Image text-base: 0x80010000, data-base: 0x80680000
Initializing flashfs...
flashfs[1]: 357 files, 6 directories
flashfs[1]: 0 orphaned files, 0 orphaned directories
flashfs[1]: Total bytes: 7741440
flashfs[1]: Bytes used: 5703680
flashfs[1]: Bytes available: 2037760
flashfs[1]: flashfs fsck took 7 seconds.
flashfs[1]: Initialization complete.
Done initializing flashfs.
POST: System Board Test : Passed
=== Flushing messages (00:00:12 UTC Mon Mar 1 1993) ===
Buffered messages:
Queued messages:
Signal 10, Exception code (0x001C)!
Frame 00: SP = 0x80CB7DB8 PC = 0x8067C654
Frame 01: SP = 0x80CB7DB8 PC = 0x802A9DFC
Frame 02: SP = 0x80CB7DD0 PC = 0x802A9B20
Frame 03: SP = 0x80CB7E10 PC = 0x802A9CF0
Frame 04: SP = 0x80CB7E88 PC = 0x802A9490
Frame 05: SP = 0x80CB7EB8 PC = 0x802AE990
Frame 06: SP = 0x80CB7EE8 PC = 0x802AEC48
Frame 07: SP = 0x80CB7F28 PC = 0x802AF118
Frame 08: SP = 0x80CB7F48 PC = 0x802AD5B8
Frame 09: SP = 0x80CB7F68 PC = 0x802AD938
Frame 10: SP = 0x80CB7FA0 PC = 0x802D86E4
Frame 11: SP = 0x80CB7FC8 PC = 0x801DB1EC
Frame 12: SP = 0x80CB7FE0 PC = 0x801DB290
Frame 13: SP = 0x80CB8008 PC = 0x801212BC
Frame 14: SP = 0x80CB8040 PC = 0x801214FC
Frame 15: SP = 0x80CB8150 PC = 0x801BF8D8
=== Crash Fault History ===
C2950 Software (C2950-I6K2L2Q4-M), Version 12.1(22)EA14, RELEASE SOFTWARE (fc1)
Technical Support: http://www.cisco.com/techsupport
Compiled Tue 26-Oct-10 10:35 by nburra
Signal = 10, Code = 0x1C, Uptime 00:00:12
r0: 00000000, AT: 00000000, v0: 80CB7DE0, v1: 00000001
a0: 00000001, a1: 40000050, a2: 00000000, a3: 40000050
t0: 80CB7DE0, t1: 80CB7DE0, t2: 802D6C80, t3: FFFF00FF
t4: 802D6C68, t5: FC7FFFFF, t6: E3FFFFFF, t7: 1FFFFFFF
s0: 80CB7DE0, s1: 80CB7EC8, s2: 80CB7EC8, s3: 808FCE44
s4: 00000000, s5: 00000002, s6: FFFFFFEF, s7: 80CB7E20
t8: 80CB7F10, t9: 00000000, k0: 00000000, k1: 00000000
gp: 80943600, sp: 80CB7DB8, s8: 00000001, ra: 802A9DFC
EPC: 8067C654, ErrEPC: 80C0411C, BadVA: 0x06800001, SREG: 1000E103
Cause: 0x0000201C (code 7): Data Bus Error exception
-Traceback= 8067C654 802A9DFC 802A9B20 802A9CF0 802A9490 802AE990 802AEC48 802AF118 802AD5B8 802AD938 802D86E4 801DB1EC 801DB290 801212BC 801214FC 801BF8D8
Как видно, оно падает на загрузке по какому-то крэшу.
Первое, что пришло на ум - проблема с flashfs. Как вариант - выполнить проверку.
Переходим в режим проверки:
0. Подключаемся через COM-порт.
1. Выключаем устройство.
2. Зажимаем клавишу MODE.
3. Включаем устройство, при этом MODE должна быть зажатой. Через секунд 5-10 на экране монитора появится приветствие switch:
Из доступных действий только:
flash_init
load_helper
boot
Как видим, функционал намного шире.
Инициализируем flash командой flash_init, только после этого мы сможем начать работать с flash памятью. Как и говорил, попробуем сделать проверку памяти с тестированием:
switch: fsck -test flash:/
Результат проверки:
Are you sure you want to fsck "flash:" (could take some time) (y/n)?y
flashfs[0]: testing block 0...erased 1 times
flashfs[0]: testing block 1...erased 1 times
...
flashfs[0]: testing block 60...erased 3 times
flashfs[0]: 357 files, 6 directories
flashfs[0]: 0 orphaned files, 0 orphaned directories
flashfs[0]: Total bytes: 7741440
flashfs[0]: Bytes used: 5703680
flashfs[0]: Bytes available: 2037760
flashfs[0]: flashfs fsck took 494 seconds.
Проверка длилась 7 секунд, после чего я дал команду reset и снова поймал crash.
Снова загрузился через кнопку MODE, инициировал flash память.
Из всех возможных причин сбоя остается только корявость файла-образа. Смотрим что там на flash:
switch: dir flash:/
Directory of flash://
2 -rwx 112 <date> info
3 -rwx 3722814 <date> c2950-i6k2l2q4-mz.121-22.EA14.bin
4 drwx 4416 <date> html
331 -rwx 112 <date> info.ver
332 -rwx 421 <date> env_vars
333 -rwx 3495 <date> config.text.renamed
334 -rwx 24 <date> private-config.text.renamed
335 drwx 1536 <date> crashinfo
336 -rwx 556 <date> vlan.dat.renamed
337 -rwx 24 <date> private-config.text
338 -rwx 856 <date> vlan.dat
350 -rwx 7919 <date> config.text
2037760 bytes available (5703680 bytes used)
Необходима помощь - пишите.
При попытке загрузки я получил следующий вывод:
C2950 Boot Loader (C2950-HBOOT-M) Version 12.1(14)AZ, RELEASE SOFTWARE (fc2)
Compiled Tue 14-Oct-03 17:14 by antonino
WS-C2950T-48-SI starting...
Base ethernet MAC Address: 00:##:##:##:##:c0
Xmodem file system is available.
Initializing Flash...
flashfs[0]: 357 files, 6 directories
flashfs[0]: 0 orphaned files, 0 orphaned directories
flashfs[0]: Total bytes: 7741440
flashfs[0]: Bytes used: 5703680
flashfs[0]: Bytes available: 2037760
flashfs[0]: flashfs fsck took 7 seconds.
...done initializing flash.
Boot Sector Filesystem (bs:) installed, fsid: 3
Parameter Block Filesystem (pb:) installed, fsid: 4
Loading "flash:/c2950-i6k2l2q4-mz.121-22.EA14.bin"...#####...######
File "flash:/c2950-i6k2l2q4-mz.121-22.EA14.bin" uncompressed and installed, entry point: 0x80010000
executing...
Restricted Rights Legend
Use, duplication, or disclosure by the Government is
subject to restrictions as set forth in subparagraph
(c) of the Commercial Computer Software - Restricted
Rights clause at FAR sec. 52.227-19 and subparagraph
(c) (1) (ii) of the Rights in Technical Data and Computer
Software clause at DFARS sec. 252.227-7013.
cisco Systems, Inc.
170 West Tasman Drive
San Jose, California 95134-1706
Cisco Internetwork Operating System Software
IOS (tm) C2950 Software (C2950-I6K2L2Q4-M), Version 12.1(22)EA14, RELEASE SOFTWARE (fc1)
Technical Support: http://www.cisco.com/techsupport
Copyright (c) 1986-2010 by cisco Systems, Inc.
Compiled Tue 26-Oct-10 10:35 by nburra
Image text-base: 0x80010000, data-base: 0x80680000
Initializing flashfs...
flashfs[1]: 357 files, 6 directories
flashfs[1]: 0 orphaned files, 0 orphaned directories
flashfs[1]: Total bytes: 7741440
flashfs[1]: Bytes used: 5703680
flashfs[1]: Bytes available: 2037760
flashfs[1]: flashfs fsck took 7 seconds.
flashfs[1]: Initialization complete.
Done initializing flashfs.
POST: System Board Test : Passed
=== Flushing messages (00:00:12 UTC Mon Mar 1 1993) ===
Buffered messages:
Queued messages:
Signal 10, Exception code (0x001C)!
Frame 00: SP = 0x80CB7DB8 PC = 0x8067C654
Frame 01: SP = 0x80CB7DB8 PC = 0x802A9DFC
Frame 02: SP = 0x80CB7DD0 PC = 0x802A9B20
Frame 03: SP = 0x80CB7E10 PC = 0x802A9CF0
Frame 04: SP = 0x80CB7E88 PC = 0x802A9490
Frame 05: SP = 0x80CB7EB8 PC = 0x802AE990
Frame 06: SP = 0x80CB7EE8 PC = 0x802AEC48
Frame 07: SP = 0x80CB7F28 PC = 0x802AF118
Frame 08: SP = 0x80CB7F48 PC = 0x802AD5B8
Frame 09: SP = 0x80CB7F68 PC = 0x802AD938
Frame 10: SP = 0x80CB7FA0 PC = 0x802D86E4
Frame 11: SP = 0x80CB7FC8 PC = 0x801DB1EC
Frame 12: SP = 0x80CB7FE0 PC = 0x801DB290
Frame 13: SP = 0x80CB8008 PC = 0x801212BC
Frame 14: SP = 0x80CB8040 PC = 0x801214FC
Frame 15: SP = 0x80CB8150 PC = 0x801BF8D8
=== Crash Fault History ===
C2950 Software (C2950-I6K2L2Q4-M), Version 12.1(22)EA14, RELEASE SOFTWARE (fc1)
Technical Support: http://www.cisco.com/techsupport
Compiled Tue 26-Oct-10 10:35 by nburra
Signal = 10, Code = 0x1C, Uptime 00:00:12
r0: 00000000, AT: 00000000, v0: 80CB7DE0, v1: 00000001
a0: 00000001, a1: 40000050, a2: 00000000, a3: 40000050
t0: 80CB7DE0, t1: 80CB7DE0, t2: 802D6C80, t3: FFFF00FF
t4: 802D6C68, t5: FC7FFFFF, t6: E3FFFFFF, t7: 1FFFFFFF
s0: 80CB7DE0, s1: 80CB7EC8, s2: 80CB7EC8, s3: 808FCE44
s4: 00000000, s5: 00000002, s6: FFFFFFEF, s7: 80CB7E20
t8: 80CB7F10, t9: 00000000, k0: 00000000, k1: 00000000
gp: 80943600, sp: 80CB7DB8, s8: 00000001, ra: 802A9DFC
EPC: 8067C654, ErrEPC: 80C0411C, BadVA: 0x06800001, SREG: 1000E103
Cause: 0x0000201C (code 7): Data Bus Error exception
-Traceback= 8067C654 802A9DFC 802A9B20 802A9CF0 802A9490 802AE990 802AEC48 802AF118 802AD5B8 802AD938 802D86E4 801DB1EC 801DB290 801212BC 801214FC 801BF8D8
Как видно, оно падает на загрузке по какому-то крэшу.
Первое, что пришло на ум - проблема с flashfs. Как вариант - выполнить проверку.
Переходим в режим проверки:
0. Подключаемся через COM-порт.
1. Выключаем устройство.
2. Зажимаем клавишу MODE.
3. Включаем устройство, при этом MODE должна быть зажатой. Через секунд 5-10 на экране монитора появится приветствие switch:
Из доступных действий только:
flash_init
load_helper
boot
flash_init - запустит инициализацию flash-памяти;
load_helper - не внёс ясности что именно делает, да и особо я не разбирался с ним;
boot - продолжит загрузку, но только если flashfs будет инициализирована.
Справку можно запросить командой ?, лично для меня странно, что этот пункт не отражен в меню:
? -- Present list of available commands
boot -- Load and boot an executable image
cat -- Concatenate (type) file(s)
copy -- Copy a file
delete -- Delete file(s)
dir -- List files in directories
flash_init -- Initialize flash filesystem(s)
format -- Format a filesystem
fsck -- Check filesystem consistency
help -- Present list of available commands
load_helper -- Load and initialize a helper image
memory -- Present memory heap utilization information
mkdir -- Create dir(s)
more -- Concatenate (display) file(s)
rename -- Rename a file
reset -- Reset the system
rmdir -- Delete empty dir(s)
set -- Set or display environment variables
set_param -- Set system parameters in flash
trap -- Cause a software breakpoint to occur
type -- Concatenate (type) file(s)
unset -- Unset one or more environment variables
version -- Display boot loader version
Инициализируем flash командой flash_init, только после этого мы сможем начать работать с flash памятью. Как и говорил, попробуем сделать проверку памяти с тестированием:
switch: fsck -test flash:/
Результат проверки:
Are you sure you want to fsck "flash:" (could take some time) (y/n)?y
flashfs[0]: testing block 0...erased 1 times
flashfs[0]: testing block 1...erased 1 times
...
flashfs[0]: testing block 60...erased 3 times
flashfs[0]: 357 files, 6 directories
flashfs[0]: 0 orphaned files, 0 orphaned directories
flashfs[0]: Total bytes: 7741440
flashfs[0]: Bytes used: 5703680
flashfs[0]: Bytes available: 2037760
flashfs[0]: flashfs fsck took 494 seconds.
Для надежности, сделаем проверку без тестирования:
switch: fsck flash:/
Снова загрузился через кнопку MODE, инициировал flash память.
Из всех возможных причин сбоя остается только корявость файла-образа. Смотрим что там на flash:
switch: dir flash:/
Directory of flash://
2 -rwx 112 <date> info
3 -rwx 3722814 <date> c2950-i6k2l2q4-mz.121-22.EA14.bin
4 drwx 4416 <date> html
331 -rwx 112 <date> info.ver
332 -rwx 421 <date> env_vars
333 -rwx 3495 <date> config.text.renamed
334 -rwx 24 <date> private-config.text.renamed
335 drwx 1536 <date> crashinfo
336 -rwx 556 <date> vlan.dat.renamed
337 -rwx 24 <date> private-config.text
338 -rwx 856 <date> vlan.dat
350 -rwx 7919 <date> config.text
2037760 bytes available (5703680 bytes used)
Попытка копировать файл c2950-i6k2l2q4-mz.121-22.EA14.bin бесполезна, т.к. не хватит места для записи. Пришлось слить аналогичный файл с живой системы по tftp. Только получив 100% работающий файл, можно думать об удалении bin-файла из памяти (впрочем, если железка сдохла, то её уже ничто не убьет):
delete flash:/c2950-i6k2l2q4-mz.121-22.EA14.bin
Как обычно, система задаст глупый вопрос, удалять или нет - если нужно - отвечаем Y.
Теперь нужно залить ранее слитый с другого девайса файл. Т.к. нам доступен только xmodem, то так и поступим.
Работаю я в Ubuntu, мне нужен был minicom (есть в apt), для других систем нужно искать (для windows режим есть в гипертерминале).
В minicom после настройки портов, сохранения параметров и выбора конечного файла для отправки, только сразу не отправляем, переходим на cisco и даем команду:
copy xmodem: flash:c2950-i6k2l2q4-mz.121-22.EA14.bin
По сути сделаем подмену файла. По окончании операции делаем reset. Система запросит разрешения на перезагрузку.
В моем случае это решило проблему.
На что обратим внимание. Скорость для COM-порта я не изменял, она была 9600 (по дефолту), передача образа в 3 мегабайта заняла чуть больше часа.
Необходима помощь - пишите.