Premessa
Per effettuare l’upgrade del nostro router da SOHO 77 a 827 è necessario che esso soddisfi i requisiti hw richiesti dalla IOS che abbiamo intenzione di installare.
Se ad esempio la IOS implementa diverse feature, come un firewall, la possibilità di gestire il traffico VOIP o di realizzare VPN PPTP, i requisiti in termini di RAM potrebbero superare di gran lunga quelli in dotazione al nostro router. Un ostacolo ancora maggiore potrebbe essere rappresentato dalle dimensioni della memoria flash (solitamente 8 MB), dunque è impossibile installarci sopra una IOS che abbia dimensioni superiori agli 8 MB.
Esistono, ovviamente, dei moduli di espansione per la flash (piuttosto costosi), mentre per la RAM potete utilizzare un banco di SDRAM a 100pin PC100 dalla capacità di 32 MB (per intenderci, quella installata sulle stampanti). Per la precisione anche un banco di RAM a 64 MB va bene, sappiate però che il router riuscirà a leggere (e quindi ad utilizzare) solo 48 MB dei 64 disponibili.
Upgrade della piattaforma
Ma vediamo come far digerire al nostro SOHO 77 una IOS sviluppata per l’827.
Spegniamo il router e riaccendiamolo. Una volta avviata la fase di boot teniamo premuto CTRL+PAUSA, in modo di accedere al rom monitor.
Successivamente, il prompt ci apparirà nel modo seguente:
rommon 1 >
Per avere una lista dei comandi disponibili è sufficiente digitare ?:
rommon 1 > ? alias set and display aliases command boot boot up an external process break set/show/clear the breakpoint confreg configuration register utility cont continue executing a downloaded image context display the context of a loaded image cookie display contents of cookie PROM in hex dev list the device table dir list files in file system dis display instruction stream dnld serial download a program module frame print out a selected stack frame help monitor builtin command help history monitor command history meminfo main memory information repeat repeat a monitor command reset system reset set display the monitor variables stack produce a stack trace sync write monitor environment to NVRAM sysret print out info from last system return tftpdnld tftp image download unalias unset an alias unset unset a monitor variable xmodem x/ymodem image download rommon 2 >
Ora, per fare l’upgrade del router occorre visualizzare il cookie che identifica la piattaforma. Per fare ciò basta digitare il comando cookie:
rommon 2 > cookie cookie: 01 01 00 01 96 71 b4 61 5b 00 01 00 01 ff 00 00 00 00 00 00 00 00 00 00 4a 41 44 04 33 30 47 39 59 05 01 00 00 00 00 00 00 ff ff ff 60 04 49 11 ec 03 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
A noi interessa modificare ESCLUSIVAMENTE il nono byte, portandolo da 5b a 3e. Tutti gli altri byte possono rimanere inalterati.
Per modificare il cookie occorre entrare in modalità privilegiata. E’ dunque necessario digitare il comando priv con relativa password, dove la password può essere calcolata mediante questo tool, dandogli in pasto solo la prima riga del cookie sopra riportato.
Una volta ottenuta la password utilizziamola per accedere alla modalità privilegiata. Riceveremo in output il seguente messaggio:
You now have access to the full set of monitor commands. Warning: some commands will allow you to destroy your configuration and/or system images and could render the machine unbootable. rommon 4 >
Digitiamo nuovamente il comando cookie per procedere con la modifica di quest’ultimo:
rommon 4 > cookie View/alter bytes of serial cookie by field -- Input hex byte(s) or: CR -> skip field; ? -> list values byte 0x00 - version: 01 >
Per lasciare inalterati i valori di default ci basterà premere INVIO. Per la precisione dobbiamo modificare solo il nono byte, il cui valore dovrà essere 3e.
Una volta terminata la modifica del cookie, possiamo installare la IOS dell’827 mediante il comando tftpdnld. Prima di utilizzarlo, però, si dovranno settare alcune variabili di sistema che tale comando utilizzerà, ovvero:
IP_ADDRESS IP_SUBNET_MASK DEFAULT_GATEWAY TFTP_SERVER TFTP_FILE
Ad esempio:
IP_ADDRESS=192.168.1.2 IP_SUBNET_MASK=255.255.255.0 DEFAULT_GATEWAY=192.168.1.1 TFTP_SERVER=192.168.1.1 TFTP_FILE=c827v-y6-mz.121-1.XB.bin
Controlliamo che le variabili siano state impostate correttamente digitando semplicemente set.
Adesso procediamo con il download dell’IOS mediante tftpdnld (come applicativo che funga da server TFTP vi consiglio di utilizzare tftp32):
rommon 10 > tftpdnld IP_ADDRESS: 192.168.1.2 IP_SUBNET_MASK: 255.255.255.0 DEFAULT_GATEWAY: 192.168.1.1 TFTP_SERVER: 192.168.1.1 TFTP_FILE: c827v-y6-mz.121-1.XB.bin Invoke this command for disaster recovery only. WARNING: all existing data in all partitions on flash will be lost! Do you wish to continue? y/n: [n]:
Digitiamo y e proseguiamo con l’installazione:
Receiving c827v-y6-mz.121-1.XB.bin from 192.168.1.1 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! File reception completed. Copying file c827v-y6-mz.121-1.XB.bin to flash. Erasing flash ................................................................ Programming flash ..............................
Digitiamo reset per riavviare il router e finalmente il nostro 827 è (o dovrebbe) essere pronto per l’uso.
A presto.