OpenWrt WRT54GL: differenze tra le versioni

Da PNLUG.
(Creata pagina con "{{TOC|align=right}} <div align="justify"> 400px <br><br><br><br> <br><br> == Come liberare il riuter dal firmware proprietario ==")
 
Riga 2: Riga 2:
 
<div align="justify">
 
<div align="justify">
 
[[Immagine:Openwrt_logo.png|left|400px]] <br><br><br><br> <br><br>
 
[[Immagine:Openwrt_logo.png|left|400px]] <br><br><br><br> <br><br>
== Come liberare il riuter dal firmware proprietario ==
+
== Come liberare il router dal firmware proprietario ==
 +
OpenWrt è il firmware interno per dispositivi embedded utilizzato per la gestione del traffico. Nel nostro caso utilizzeremo OpenWRT dentro un router domestico, effettuando un test hardware per il Cisco Linksys Wireless-G Broadband Router WRT54GL v1.1.
 +
 
 +
OpenWrt è Linux based e include un kernel Linux come i BusyBox. Ha all'interno un gestore di pacchetti chiamato opkg (simile al pacchetto apt di ubuntu).
 +
 
 +
Prima di installare OpenWrt nel router, è necessario sapere se il device è compatibile con OpenWrt, per saperlo con certezza è necessario vedere se è compreso nella [http://wiki.openwrt.org/toh/start Tabella degli hardware] di OpenWrt.
 +
 
 +
== Specifiche Hardware ==
 +
 
 +
Prima di esplorare OpenWrt, Andiamo a conoscere quale sia l'hardware a disposizione nella nostra device:
 +
*CPU: Broadcom BCM5352 @ 200 MHz
 +
*RAM: 16 MB
 +
*Memoria Flash:  4 MB
 +
 
 +
CONTROLLO VELOCE - per essere sicuri che l'hardware contenuto sia esatto, possiamo controllarlo leggendo il prefisso del numero di serie, utilizzando [http://en.wikipedia.org/wiki/Linksys_WRT54G_series#WRT54GL queste informazioni]. 
 +
 
 +
Questo hardware viene supportato completamente da OpenWrt, ma ci sono alcunui limiti dovuti al tipo di memoria flash:<br>
 +
- http://wiki.openwrt.org/toh/linksys/wrt54g#hardware <br>
 +
- https://forum.openwrt.org/viewtopic.php?id=28223 <br>
 +
<br>
 +
La soluzione per questo caso, è ben documentata. Deve venir utilizzato il firmware OpenWrt 8.09 r14511 (nome in codice "kamikaze") al posto della versione upgradate di OpenWrt 10.03.1-rc6 (nome in codice "backfire")
 +
 
 +
== Prendere la versione del firmware ==
 +
 
 +
Per installare OpenWrt, prima cosa da fare è andare a vedere la parte web dedicata al modello Linksys. Torviamo molte versioni disponibili di OpenWrt, ma per trovare la versione corretta dobbiamo cercare: <br>
 +
* La versione OpenWrt è Kamilaze, con qualche bug in backfire e qualche instabilità nelle adattamenti di attitude<br>
 +
* La versione raccomandata è la 8.09 con Kamilaze<br>
 +
* La CPU è broadcom con il prefisso bcrm<br>
 +
In questo [http://wiki.openwrt.org/toh/start#linksys link], vediamo il supporto sia per brcm-2.4 che per la brcm47xx<br>
 +
La differenza tra la versione brcm-2.4 e brcm47xx viene spiegata [http://wiki.openwrt.org/doc/faq/before.installation#what.is.the.difference.between.brcm-2.4.and.brcm47xx qui]<br> 
 +
Per ognuna, possiamo scaricare il file immagine, che termina con l'estensione .bin<br>
 +
Se sono disponibili sia i file JFFS2 che SquashFS, è preferibile utilizzare l'immagine SquashFS<br>
 +
Andiamo a vedere lo storico della versione per determinare se la versione 8.09 è la migliore e e quali siano le differenze nelle versioni kamikaze, backfire e le configurazioni attitude<br><br>
 +
L'immagine utilizzata per il test è: [http://downloads.openwrt.org/kamikaze/8.09/brcm-2.4/openwrt-wrt54g-squashfs.bin http://downloads.openwrt.org/kamikaze/8.09/brcm-2.4/openwrt-wrt54g-squashfs.bin]
 +
 
 +
 
 +
== Installazione ==
 +
 
 +
Step 1: Download http://downloads.openwrt.org/kamikaze/8.09/brcm-2.4/openwrt-wrt54g-squashfs.bin to my Downloads directory
 +
Step 2: Plug in router to mains and to computer via ethernet (use port 1 not internet port)
 +
Step 3: Direct the browser to http://192.168.1.1 and log in
 +
Step 4: Navigate to Administation > Firmware update, select openwrt-wrt54g-squashfs.bin and update
 +
 
 +
ALL IS LOOKING WELL :)
 +
 
 +
COMMUNICATION VIA WEB GUI
 +
Direct the browser to http://192.168.1.1, log in and your presented with the web interface luci
 +
 
 +
COMMUNICATION VIA TELNET
 +
The router should now be telnet(able) to 192.168.1.1. To test this:
 +
  $ telnet 192.168.1.1
 +
This returns the recipe for KAMIKAZE :)
 +
 
 +
Now to ensure that tftp is available to prevent bricking, enter:
 +
  $ nvram set boot_wait=on
 +
  $ nvram set boot_time=10
 +
  $ nvram commit && reboot
 +
 +
 +
COMMUNICATION VIA SSH
 +
 
 +
CONFIGURING
 +
 
 +
The network configuration is stored in /etc/config/network. The initial contents of this file for our set up is:
 +
 
 +
The content of the initial configuration file is
 +
 
 +
#### VLAN configuration
 +
config switch eth0
 +
        option vlan0    "0 1 2 3 5*"
 +
        option vlan1    "4 5"
 +
 
 +
 
 +
#### Loopback configuration
 +
config interface loopback
 +
        option ifname  "lo"
 +
        option proto    static
 +
        option ipaddr  127.0.0.1
 +
        option netmask  255.0.0.0
 +
 
 +
 
 +
#### LAN configuration
 +
config interface lan
 +
        option type    bridge
 +
        option ifname  "eth0.0"
 +
        option proto    static
 +
        option ipaddr  192.168.1.1
 +
        option netmask  255.255.255.0
 +
 
 +
 
 +
#### WAN configuration
 +
config interface        wan
 +
        option ifname  "eth0.1"
 +
        option proto    dhcp
 +
 
 +
Once we have edited this file, to make the new configuration take after we need to :
 +
  $ /etc/init.d/network restart
 +
 
 +
 
 +
SWITCH
 +
The switch section of the above configuration file is responsible for making one peoice of hardware, appear as several independent interfaces. The part of the configuration file which specifies the switch characteristics is:
 +
 
 +
#### VLAN configuration
 +
config switch eth0
 +
        option vlan0    "0 1 2 3 5*"
 +
        option vlan1    "4 5"
 +
 
 +
In the above configuration: The numbers 0-5 represent the port numbers, so VLAN0 includes ports 0 to 5* and VLAN1 includes ports 4 and 5. The * in 5*
 +
indicates the PVID.

Versione delle 05:55, 30 lug 2014


Openwrt logo.png






Come liberare il router dal firmware proprietario

OpenWrt è il firmware interno per dispositivi embedded utilizzato per la gestione del traffico. Nel nostro caso utilizzeremo OpenWRT dentro un router domestico, effettuando un test hardware per il Cisco Linksys Wireless-G Broadband Router WRT54GL v1.1.

OpenWrt è Linux based e include un kernel Linux come i BusyBox. Ha all'interno un gestore di pacchetti chiamato opkg (simile al pacchetto apt di ubuntu).

Prima di installare OpenWrt nel router, è necessario sapere se il device è compatibile con OpenWrt, per saperlo con certezza è necessario vedere se è compreso nella Tabella degli hardware di OpenWrt.

Specifiche Hardware

Prima di esplorare OpenWrt, Andiamo a conoscere quale sia l'hardware a disposizione nella nostra device:

  • CPU: Broadcom BCM5352 @ 200 MHz
  • RAM: 16 MB
  • Memoria Flash: 4 MB

CONTROLLO VELOCE - per essere sicuri che l'hardware contenuto sia esatto, possiamo controllarlo leggendo il prefisso del numero di serie, utilizzando queste informazioni.

Questo hardware viene supportato completamente da OpenWrt, ma ci sono alcunui limiti dovuti al tipo di memoria flash:
- http://wiki.openwrt.org/toh/linksys/wrt54g#hardware
- https://forum.openwrt.org/viewtopic.php?id=28223

La soluzione per questo caso, è ben documentata. Deve venir utilizzato il firmware OpenWrt 8.09 r14511 (nome in codice "kamikaze") al posto della versione upgradate di OpenWrt 10.03.1-rc6 (nome in codice "backfire")

Prendere la versione del firmware

Per installare OpenWrt, prima cosa da fare è andare a vedere la parte web dedicata al modello Linksys. Torviamo molte versioni disponibili di OpenWrt, ma per trovare la versione corretta dobbiamo cercare:

  • La versione OpenWrt è Kamilaze, con qualche bug in backfire e qualche instabilità nelle adattamenti di attitude
  • La versione raccomandata è la 8.09 con Kamilaze
  • La CPU è broadcom con il prefisso bcrm

In questo link, vediamo il supporto sia per brcm-2.4 che per la brcm47xx
La differenza tra la versione brcm-2.4 e brcm47xx viene spiegata qui
Per ognuna, possiamo scaricare il file immagine, che termina con l'estensione .bin
Se sono disponibili sia i file JFFS2 che SquashFS, è preferibile utilizzare l'immagine SquashFS
Andiamo a vedere lo storico della versione per determinare se la versione 8.09 è la migliore e e quali siano le differenze nelle versioni kamikaze, backfire e le configurazioni attitude

L'immagine utilizzata per il test è: http://downloads.openwrt.org/kamikaze/8.09/brcm-2.4/openwrt-wrt54g-squashfs.bin


Installazione

Step 1: Download http://downloads.openwrt.org/kamikaze/8.09/brcm-2.4/openwrt-wrt54g-squashfs.bin to my Downloads directory Step 2: Plug in router to mains and to computer via ethernet (use port 1 not internet port) Step 3: Direct the browser to http://192.168.1.1 and log in Step 4: Navigate to Administation > Firmware update, select openwrt-wrt54g-squashfs.bin and update

ALL IS LOOKING WELL :)

COMMUNICATION VIA WEB GUI Direct the browser to http://192.168.1.1, log in and your presented with the web interface luci

COMMUNICATION VIA TELNET The router should now be telnet(able) to 192.168.1.1. To test this:

 $ telnet 192.168.1.1

This returns the recipe for KAMIKAZE :)

Now to ensure that tftp is available to prevent bricking, enter:

 $ nvram set boot_wait=on
 $ nvram set boot_time=10
 $ nvram commit && reboot


COMMUNICATION VIA SSH

CONFIGURING

The network configuration is stored in /etc/config/network. The initial contents of this file for our set up is:

The content of the initial configuration file is

#### VLAN configuration

config switch eth0

       option vlan0    "0 1 2 3 5*"
       option vlan1    "4 5"


        1. Loopback configuration

config interface loopback

       option ifname   "lo"
       option proto    static
       option ipaddr   127.0.0.1
       option netmask  255.0.0.0


        1. LAN configuration

config interface lan

       option type     bridge
       option ifname   "eth0.0"
       option proto    static
       option ipaddr   192.168.1.1
       option netmask  255.255.255.0


        1. WAN configuration

config interface wan

       option ifname   "eth0.1"
       option proto    dhcp

Once we have edited this file, to make the new configuration take after we need to :

 $ /etc/init.d/network restart


SWITCH

The switch section of the above configuration file is responsible for making one peoice of hardware, appear as several independent interfaces. The part of the configuration file which specifies the switch characteristics is:

#### VLAN configuration

config switch eth0

       option vlan0    "0 1 2 3 5*"
       option vlan1    "4 5" 

In the above configuration: The numbers 0-5 represent the port numbers, so VLAN0 includes ports 0 to 5* and VLAN1 includes ports 4 and 5. The * in 5*

indicates the PVID.