Ostatnio po wyładowaniach atmosferycznych jeden ze switch’y Cisco 2960-X wpadł w boot loop. Z zewnątrz wydawało się, jak by urządzenie próbowało się uruchomić, a następnie samoczynnie restartowało się. Po podłączeniu kabla konsolowego okazało się, że urządzenie zatrzymuje się po wykonaniu następującego sprawdzenia:
POST: PortASIC Port Loopback Tests : Begin
POST: Failed PortPhyLoopback Packet Test asic_index 1 port_hardware_index 20
POST: Failed PortPhyLoopback Packet Test asic_index 1 port_hardware_index 19
POST: Failed PortPhyLoopback Packet Test asic_index 1 port_hardware_index 22
POST: Failed PortPhyLoopback Packet Test asic_index 1 port_hardware_index 21
POST: Failed PortPhyLoopback Packet Test asic_index 1 port_hardware_index 24
POST: Failed PortPhyLoopback Packet Test asic_index 1 port_hardware_index 23
POST: Failed PortPhyLoopback Packet Test asic_index 1 port_hardware_index 26
POST: Failed PortPhyLoopback Packet Test asic_index 1 port_hardware_index 25
Po tym pojawiał się błąd:
POST: PortASIC Port Loopback Tests : End, Status Failed
Error: ASIC/PHY POST failed. Cannot continue.
Odłączyłem switch’a od prądu i zająłem się przygotowaniem pendrive z systemem Cisco iOS. Sformatowałem go na FAT32 i umieściłem w głównym katalogu plik w odpowiedniej wersji. W moim przypadku był to plik c2960x-universalk9-mz.152-7.E10.bin
Można go pobrać ze strony Cisco.
Podpinam teraz pendrive z plikiem .bin do portu USB w switch’u. Jak już wcześniej zauważyłem, mam też podpięty kabel konsolowy do switch’a (żeby monitorować na ekranie komputera status w jakim znajduje się urządzenie). Wciskam i przytrzymuję przycisk MODE
na froncie switch’a, następnie podpinam zasilanie (cały czas trzymając przycisk MODE
). Czekam, aż na ekranie pojawi się wpis USB Console INIT
i wtedy puszczam przycisk MODE
. Prawidłowa operacja powinna się zakończyć wyświetloną komendą na ekranie switch:
Po wpisaniu komendy dir
, powinna pojawić się lista dostępnych pamięci. Pamięć wewnętrzna urządzenia jest oznaczona jako flash
. W moim przypadku problem był taki, że przy próbie sprawdzenia jej zawartości poleceniem dir flash:
system wyświetlał błąd unable to stat flash:/: invalid argument
:
Przystąpiłem zatem do sformatowania pamięci flash komendą format flash:
UWAGA! Sformatowanie pamięci flash wiąże się z utratą konfiguracji urządzenia.
Proces był dość powolny i trwał kilka minut, zakończył się jednak komunikatem Filesystem "flash:" formatted
.
Na wyjściu polecenia dir
było widać wcześniej oznaczenie pamięci pendrive. W moim przypadku jest to usbflash1
. Kopiuję teraz z niej pik .bin do pamięci flash:
copy usbflash1:c2960x-universalk9-mz.152-7.E10.bin flash:c2960x-universalk9-mz.152-7.E10.bin
Następnie uruchamiam system za pomocą komendy:
boot flash:c2960x-universalk9-mz.152-7.E10.bin
Jeżeli plik .bin z systemem Cisco iOS jest w nowszej wersji niż ten, który był zainstalowany na urządzeniu, to system najpierw zaktualizuje boot loader
a następnie zrestartuje urządzenie.
Konieczne jest dokończenie konfiguracji tak, by router ładował przesłany przez nas plik .bin za każdym razem po restarcie, a nie tylko jednorazowo. Cały proces opisałem w tym artykule i nie będę go tutaj powielał. Należy zacząć od akapitu „Konieczne jest, by router ładował przesłany przez nas plik .bin za każdym razem po restarcie, a nie tylko jednorazowo...”
Koniec 🙂
Jeżeli pomogłem to ,a będę miał więcej energii na pisanie kolejnych ciekawych wpisów.