Home » OpenWRT

OpenWRT : Compilation et Installation – Part 2

18 avril 2010 4 Comments

Cet article est la suite de OpenWRT : Compilation et Installation – Part 1

On part du principe que la borne est (bien) flashée. Et on continue !

Avant toute chose, une petite note à propos de « * » et de « M » lors du make menuconfig pour la compilation

  1. « M » : il va compiler le paquet binaire qui sera dans bin/atheros/packages (dans mon cas)
  2. « * » : il va compiler le paquet binaire qui sera dans bin/atheros/packages (dans mon cas) MAIS aussi dans l’image à flasher, comme bin/atheros/openwrt-atheros-root.jffs2-64k par exemple (toujours dans mon cas).

Reprenons :

On veut que notre jeune et jolie borne WiFi aille chercher ses Mises à Jour (MàJ) sur un serveur et non sur internet, comme ça elle pourra avoir les paquets compilé par nos soins. Pour cela, il faut évidemment un serveur (qui peut être n’importe quel ordinateur sur le même réseau que la/les borne(s)) et on va lui installer un serveur http (il y en a beaucoup, nous allons utiliser ici « mini-httpd« ).

$ apt-get install mini-httpd

puis une légère configuration :

  1. dans /etc/default/mini-httpd, il faut passer le « no » à « yes« 
# Start daemon?
# 0 = yes
# 1 = yes
START=1
  1. dans /etc/mini-httpd.conf, il faut modifier les lignes suivantes :
# On which host mini_httpd should bind?
# host=localhost                     (il faut commenter la ligne (#))
data_dir = /var/www
charset=utf8

Puis on va dans /var/www et on crée un lien vers le dossier d’openWRT

$ cd /var/www
$ ln -s /home/skhaen/openwrt

C’est bon ? Ça marche ? Normalement si vous tapez votre adresse IP (ou 127.0.0.1 si c’est en local) dans votre navigateur vous arrivez sur mini_httpd avec une ligne « openwrt », si vous l’avez pas, c’est que vous avez dû vous trompez quelque part.

On va attaquer la borne maintenant ? Prêt ?

  1. Si c’est votre première connexion, il faut d’abord se connecter en telnet, entrer un nouveau mot de passe et APRÈS on pourra se connecter en SSH
  2. n’oubliez pas de changer l’adresse IP de la borne dans /etc/config/network (pour moi en défaut c’est 192.168.1.1)
  3. dans /etc/opkg.conf, il va falloir changer la première ligne pour avoir quelque chose comme ceci :
src/gz snapshots http://192.168.1.200/openwrt/bin/atheros/packages

Ainsi, la borne ira chercher ses MàJ sur le serveur à l’adresse 192.168.1.200 et dans /openwrt/bin/atheros/packages

Si ça marche, vous devriez avoir cela en tapant « opkg update » :

root@OpenWrt:/# opkg update
Downloading http://192.168.1.200/openwrt/bin/atheros/packages/Packages.gz.
Inflating http://192.168.1.200/openwrt/bin/atheros/packages/Packages.gz.
Updated list of available packages in /var/opkg-lists/snapshots.

Choix du protocole (qu’on ne fera pas ici), installation et configuration pour un réseau Mesh

Le choix est (très) simple, on va utiliser le protocole OLSR (plus d’infos ici, ici ou encore ici), je compte écrire un article sur les différents protocoles un peu plus tard.

On va relancer une compilation avec les paquets nécessaires pour OLSR, on relance donc la commande « make menuconfig » et il faut que txtinfo, nameservice et olsrd_dyn_gw_plain soient en *M* ou en « * » (txtinfo est sélectionné par défaut il me semble). Vous pouvez les trouvez dans Luci > Freifunk > olsrd-Luci.

Puis sur la borne on fera un :

$ opkg install olsrd-luci-mod-dyn-gw-plain olsrd-luci-mod-txtinfo olsrd-luci-mod-nameservice

Puis (toujours sur la borne), il faudra aller dans /etc/config/network et rajouter (à modifier selon vos envies, c’est un exemple):

config 'interface' 'mesh'
	option 'proto' 'static'
	option 'ipaddr' '10.0.0.1'
	option 'netmask' '255.255.255.0'

dans /etc/config/wireless et rajouter/modifier (il faut le même channel pour toutes les bornes (et non auto)

config wifi-device  wifi0
    option type     atheros
    option channel  10
    option hwmode   11g
config wifi-iface
    option device   wifi0
    option network  mesh
    option mode     adhoc
    option ssid     nom_de_votre_reseau
    option bssid    nom_de_votre_reseau
    option encryption none
et enfin dans /etc/config/olsrd
config 'olsrd'
    option 'IpVersion' '4'
    option 'FIBMetric' 'flat'
    option 'LinkQualityAlgorithm' 'etx_ff'
    option 'NatThreshold' '0.75'

config 'Interface'
#    option 'ignore' '1'
    option 'interface' 'mesh'

config 'LoadPlugin'
    option 'library' 'olsrd_dyn_gw_plain.so.0.4'

config 'LoadPlugin'
    option 'library' 'olsrd_nameservice.so.0.3'
    option 'suffix' '.olsr'
    option 'hosts_file' '/var/etc/hosts.olsr'

config 'LoadPlugin'
    option 'library' 'olsrd_txtinfo.so.0.1'
    option 'accept' '127.0.0.1'

 Si le serveur web (de la borne) n'est pas activé par défaut, il faut aller dans /etc/rc.d, et taper les commandes suivante :
$ ln -s ../init.d/uhttpd S50uhttpd

$ /etc/init.d/uhttpd start (ou effectuer un reboot)

Ressources :

4 Comments »

Leave your response!

Add your comment below, or trackback from your own site. You can also subscribe to these comments via RSS.

Be nice. Keep it clean. Stay on topic. No spam.

You can use these tags:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

This is a Gravatar-enabled weblog. To get your own globally-recognized-avatar, please register at Gravatar.