Kamikaze

From Bubble
Jump to: navigation, search
 !!Une version plus a jour se trouve maintenant à cette page: http://reseaucitoyen.org/ !!

installer openwrt kamikaze pour x86

info-rb433

voir la page kamikaze-rb433

info-soekris

[reglé] je comprend toujours pas mais la meme image que dans un wrap sur une soekris mais horriblement longtemps a booter [/reglé]

ben voila ces quelques modification regle l affaire il suffit d editer /boot/grub/menulist seulement je ne le trouvait pas, c est parce qu il fallait le monter pour l editer.

#mkdir /boot
#mount /dev/hda1 /boot
#vi /boot/boot/grub/menulist

et modifez le debut du fichier telquel
serial --unit=0 --speed=19200 --word=8 --parity=no --stop=1
terminal serial
default 0
timeout 0

pour une soekris avec pcmcia installez :

 root@OpenWrt:~# ipkg install pcmcia-cs_3.2.8-1_mipsel.ipk
 Installing pcmcia-cs (3.2.8-1) to root...
 Configuring pcmcia-cs
 Done.
 root@OpenWrt:~# ipkg install kmod-pcmcia-core_2.4.34-brcm-1_mipsel.ipk
 Installing kmod-pcmcia-core (2.4.34-brcm-1) to root...
 Configuring kmod-pcmcia-core
 Done.
info-alix

les drivers ethernet ne sont pas présent dans l'image de base openwrt.

il faut donc installer kmod-via-rhine sans carte réseau :)

téléchargez les là: [1] ( pour kamikaze 8.09) il faut ensuite copier le .ipk sur la CompactFlash et à l'aide d'un cable série les installer

 #ipkg kmod-via-rhine_2.6.25.17-x86-1_i386.ipk

soit compiler à l'aide du target "alix" présent dans la version svn actuelle. afin que les drivers soient déja présent dans l'image.

info-wrap

(un wrap dans ce cas-ci)

telecharger une image recente soit la stable de openwrt:

wget http://downloads.openwrt.org/kamikaze/7.09/x86-2.6/openwrt-x86-2.6-ext2.image
inserer votre compact flash (vérifier que le ne s' est pas montée au démarrage ( #mout ))

ensuite ecrivons l image avec dd

#dd if=openwrt-x86-2.6-ext2.image of=/dev/sdx

une fois terminer il est temps d inserer la carte pour un premier boot

pour y acceder la premiere fois c est en telnet (il faut bien sur avoir prealablement configurer une interface en 192.168.1.[tout sauf 192.168.1.1]

#telnet 192.168.1.1

configurer

vous voila loggé, !!avant toute chose n' oubliez pas d'attribuer un mot passe lors de la premiere connection en telnet.

 root@OpenWrt:/# passwd
 Changing password for root
 New password:
 Bad password: too weak
 Retype password:
 Password for root changed by root


installer les modules nécessaires=

installer les modules madwifi

#ipkg update && ipkg install kmod-madwifi 

network

les fichiers de config se trouvent dans /etc/config/ /etc/config/network

 config interface loopback
       option ifname   lo
       option proto    static
       option ipaddr   127.0.0.1
       option netmask  255.0.0.0
#
config "interface" "lan"
       option ifname   'eth0'
       option proto    'static'
       option ipaddr   '192.168.0.16'
       option netmask  '255.255.255.0'
       option gateway  '192.168.0.134'
       option dns      '4.2.2.2'
#
#
config "interface" "lan1"
       option ifname   'eth1'
       option proto    'static'
       option ipaddr   '10.93.0.65'
       option netmask  '255.255.255.224'
#
#### Wireless configuration
config interface        wireless
     option ifname   ath0
     option proto    static
     option ipaddr   10.93.0.98
     option netmask  255.255.255.224

on peut également les manipuler avec la commande uci

root@rmolen5g:~# uci show network
network.loopback=interface
network.loopback.ifname=lo
network.loopback.proto=static
network.loopback.ipaddr=127.0.0.1
network.loopback.netmask=255.0.0.0
network.lan=interface
network.lan.ifname=eth0
network.lan.proto=static
network.lan.ipaddr=192.168.0.16
network.lan.netmask=255.255.255.0
network.lan.gateway=192.168.0.134
network.lan.dns=4.2.2.2
network.lan1=interface
network.lan1.ifname=eth1
network.lan1.proto=static
network.lan1.ipaddr=10.93.0.65
network.lan1.netmask=255.255.255.224
network.wireless=interface
network.wireless.ifname=ath0
network.wireless.proto=static
network.wireless.ipaddr=10.93.0.98
network.wireless.netmask=255.255.255.224


wireless

configurer le wireless

avec une atheros

astuce 5ghz rajouter le country code dans le fichiers /etc/modules.d/50-madwifi

...
ath_pci countrycode=56

astuce2 avec atheros et le mode 11a l' option distance est importante. voir test athctrl

exemple de fichiers de config ( qui se trouve dans /etc/config/wireless)

config wifi-device     wifi0
      option type     atheros
      option country  56 
      option channel  140
      option disabled 0
      option distance 3000
      option agmode     11a
      option diversity 0
      option txantenna 1
      option rxantenna 1
config wifi-iface
      option device wifi0  
      option mode     sta
      option ssid      josaphatmaster

et vu par uci

root@rmolen5g:~# uci show wireless
wireless.wifi0=wifi-device
wireless.wifi0.type=atheros
wireless.wifi0.country=56
wireless.wifi0.channel=140
wireless.wifi0.disabled=0
wireless.wifi0.distance=3000
wireless.wifi0.agmode=11a
wireless.wifi0.diversity=0
wireless.wifi0.txantenna=1
wireless.wifi0.rxantenna=1
wireless.cfg2=wifi-iface
wireless.cfg2.device=wifi0
wireless.cfg2.mode=sta
wireless.cfg2.ssid=josaphatmaster

avec une mini-pci type prism

...

firewall

en attendant de meilleure commande uci les configurtations se font dans /etc/firewall.user j ai choisi de faire un fichiers plus adapté sans bridge et autre

iptables -F input_rule
iptables -F output_rule
iptables -F forwarding_rule
iptables -t nat -F prerouting_rule
iptables -t nat -F postrouting_rule
#
###asterisk
iptables -A INPUT -p udp --dport 4569 -j ACCEPT
#iptables -A INPUT -p tcp --dport 4569 -j ACCEPT
iptables -A INPUT -p udp --dport 5060 -j ACCEPT
iptables -A INPUT -p tcp --dport 5060 -j ACCEPT
#
#olsr
iptables -A INPUT -p udp --dport 698 -j ACCEPT

application

Olsr
ipkg update
ipkg install olsrd olsrd-mod-bmf olsrd-mod-dot-draw olsrd-mod-dyn-gw olsrd-mod-httpinfo olsrd-mod-nameservice

/etc/olsrd.conf

DebugLevel              0
AllowNoInt              yes
ClearScreen             yes
UseHysteresis           no
IpVersion               4
MprCoverage             7
TcRedundancy            2 
LinkQualityFishEye      1
LinkQualityDijkstraLimit 0 9.0
LinkQualityLevel        2
LinkQualityWinSize      100
#
#
Interface "ath0"
{
}

un plugin pratique et decentralisé

LoadPlugin "olsrd_nameservice.so.0.3" {

       PlParam "name"          "panikv2"  
       PlParam "hosts-file"    "/var/etc/hosts"        
       PlParam "suffix"        ".bxl.rc"              

}

une fois le fichier configuré vous pouvez activer olsr au demarage avec la commande suivante

#/etc/init.d/olsrd enable

support ipv6

#ipkg update && ipkg install kmod-ipv6 radvd ip kmod-ip6tables ip6tables

====asterisk==== (pas fini)

une version pour la kamikaze actuelle est presente sur http://downloads.x-wrt.org/xwrt/kamikaze/snapshots/x86-2.6/packages/

les test sont en cours avec le paquet asterisk-mini

...a suivre (2007-12-14)

installer openwrt kamikaze pour fonera

je ne détaile pas ici la procédure d activation du redboot

de nombreux sites en parle

en voici un pour se connecter en port serie.

http://www.francofon.fr/modules/mediawiki/index.php/Les_entrailles_de_la_Fonera

pour utiliser une autre fonera pour se connecter en port série ( si l'on a pas la puce max323) http://www.jopa.fr/index.php/2008/10/04/acceder-au-port-console-de-la-fonera-depuis-une-autre-fonera/

flasher la fonera avec kamikaze

mettre en place le serveur tftp

#apt-get install xinetd tftpd tftp

un bon tuto pour faire un serveur tftp se trouve ici http://doc.ubuntu-fr.org/tftpd

en suite copier les derniere images stable d openwrt dans le repertoire par default du serveur tftp

wget http://downloads.openwrt.org/kamikaze/7.09/atheros-2.6/openwrt-atheros-2.6-root.squashfs
wget http://downloads.openwrt.org/kamikaze/7.09/atheros-2.6/openwrt-atheros-2.6-vmlinux.lzma
cp openwrt-atheros-2.6-* /tftpboot/

se connecter en redboot

telnet 192.168.1.254 9000 (parfois il faut pas specifier le port )

pour vous connecter en reboot vous dix petite seconde a partir du moment ou la led 'network' s allume au démarrage pour faire 'CTRL+c' dans la console (redboot).

configurer le redboot pour le serveur tftp

RedBoot> ip_addr -l 192.168.1.10/24 -h 192.168.1.166
  • -l specifie l adresse de la fonera (attention si vous changez l adresse vous perdez la fonera apres avoir appuyé sur 'entrée'
  • -h specifi le serveur tftp
RedBoot> fis init
About to initialize [format] FLASH image system - continue (y/n)? y

vous répondez yes

RedBoot> lo -r -b %{FREEMEMLO} openwrt-atheros-2.6-vmlinux.lzma
Using default protocol (TFTP)
Raw file loaded 0x80040800-0x801007ff, assumed entry at 0x80040800
RedBoot> fi cr -e 0x80041000 -r 0x80041000 vmlinux.bin.l7 
... Erase from 0xa8030000-0xa80f0000: ............
... Program from 0x80040800-0x80100800 at 0xa8030000: ............
... Erase from 0xa87e0000-0xa87f0000: .
... Program from 0x80ff0000-0x81000000 at 0xa87e0000: .

patientez

recalculont la memoire disponible

RedBoot> fis free
 0xA80F0000 .. 0xA87E0000

un petit calcul pour voir ou on commence l ecriture( avec bc)

root@bolivar:~# bc bc 1.06 Copyright 1991-1994, 1997, 1998, 2000 Free Software Foundation, Inc. This is free software with ABSOLUTELY NO WARRANTY. For details type `warranty'.

obase=16
ibase=16
A87E0000 -A80F0000
6F0000

ensuite

RedBoot> lo -r -b %{FREEMEMLO} openwrt-atheros-2.6-root.squashfs
Using default protocol (TFTP)
Raw file loaded 0x80040800-0x801607ff, assumed entry at 0x80040800 

ici il faut adapter la valeur

RedBoot> fi cr -l 0x6F0000 rootfs
... Erase from 0xa80f0000-0xa87e0000: ...............................................................................................................
... Program from 0x80040800-0x80160800 at 0xa80f0000: ..................
... Erase from 0xa87e0000-0xa87f0000: .
... Program from 0x80ff0000-0x81000000 at 0xa87e0000: .

finaliser en tapant exec

RedBoot> fis load -l vmlinux.bin.l7
RedBoot> exec


reflasher facilement une fonera avec ap51-flash-fonera

(sous une architecture 64bit j' ai un probleme avec libpcap)

ce merveilleux script qui nous viens tout droit de la communauté freifunk permet de reflasher une fonra ou le red boot serait deja activé.

il suffit de se procurer ces trois fichiers ( dans le cas d un upgrade kamikaze par le vide )

  • ap-51-flash [2] (la version a l'heure de lécriture de cette doc est 0.38)
  • kamiaze kernel [3]
  • kamikaze fs [4]

placer vous dans le dossier ou se trouve les trois fichiers

et rendez executable ap51-flash

$ chmod +x ap51-flash-fonera-1.0-38

et executez le script avec comme premier argument la carte reseau sur lequel est branché la fonera. ATTENTION!! il est important d utiliser un cable croisé de plus si votre lecteur dvd utilise redboot il risque d etre affecté :) la commande doit etre lancée avant la mise sous tension de la fonera

# ./ap51-flash-fonera-1.0-38 eth2 openwrt-atheros-2.6-root.squashfs openwrt-atheros-2.6-vmlinux.lzma
Reading rootfs file openwrt-atheros-2.6-root.squashfs with 1179648 bytes...
Reading kernel file openwrt-atheros-2.6-vmlinux.lzma with 786432 bytes...
rootfs(0x006e0000) + kernel(0x000c0000) + nvram(0x00000000) sums up to 0x007a000

!!! attention cela dure aussi plus de dix minute

configurer openwrt kamikaze pour fonera

votre fonera est maintenant flashée avec une image openwrt kamikaze

nous allons la configurer attribuer vous un adresse dans le range 192.168.1.255 par exemple 192.168.1.2 ( vous pouvez tout utiliser entre 192.168.1.2 et 192.168.1.254 le 192.168.1.1 étant le wrt ) pour facilement se rajouter une interface virtuelle qui servira a se conecter a la fonera sans changer votre adresse sous linux

executez cette commande ( en supposant que votre interface réseau se nomme eth0 )

#ifconfig eth0:0 192.168.1.136 

vous pouvez ensuite vous connecter en telnet avec la commande suivante,

#telnet 192.168.1.1

vous voici connecté a la fonera

Trying 192.168.1.1...
Connected to 192.168.1.1.
Escape character is '^]'.
=== IMPORTANT ============================
 Use 'passwd' to set your login password
 this will disable telnet and enable SSH
------------------------------------------
BusyBox v1.4.2 (2007-06-01 15:38:56 CEST) Built-in shell (ash)
Enter 'help' for a list of built-in commands.
#
 _______                     ________        __
|       |.-----.-----.-----.|  |  |  |.----.|  |_
|   -   ||  _  |  -__|     ||  |  |  ||   _||   _|
|_______||   __|_____|__|__||________||__|  |____|
         |__| W I R E L E S S   F R E E D O M
KAMIKAZE (7.06) -----------------------------------
 * 10 oz Vodka       Shake well with ice and strain
 * 10 oz Triple sec  mixture into 10 shot glasses.
 * 10 oz lime juice  Salute!
---------------------------------------------------

configurer la fonera

commencons par changer le mot de passe alcs. ( alcs = avec la commande suivante ;)

root@OpenWrt:/# passwd 
Changing password for root
New password:
Bad password: too weak
Retype password:
Password for root changed by root

et aussi changer le hostname sers a mieux econnaitre la machine sur la quelle on travaille

uci show system
uci set system.cfg1.hostname=bombofon46
uci commit
network

Dans la version kamikaze de openwrt les fichiers de configuration se trouve dans le dossier /etc/config/

/etc/config/network
config interface loopback                                                       
       option ifname   lo                                                      
       option proto    static                                                  
       option ipaddr   127.0.0.1                                               
       option netmask  255.0.0.0
config interface lan
       option ifname   eth0
       option proto    static
       option ipaddr   192.168.1.2
       option netmask  255.255.255.0
       option gateway  192.168.1.1
       option dns      4.2.2.2

config interface wlan
       option ifname   ath0
       option proto    static
       option ipaddr   10.93.1.52
       option netmask  255.255.255.0


wireless

ensuite configurons les interfaces

dans la version kamikaze de openwrt les configuration se trouve dans le dossier /etc/config/

voici un fichiers d exemple adapté a reseaucitoyen


config wifi-device  wifi0
       option type     atheros
       option channel  1
       option agmode   11b
       option diversity 0
       option txantenna 1
       option rxantenna 1
#
config wifi-iface
       option device   wifi0
       option network  wlan
       option mode     adhoc
       option ssid     bombolong
       option hidden   0
       option txpower  16
       option encryption none
       option bssid ca:fe:ca:fe:ca:fe
installer olsr
ipkg update
ipkg install olsrd olsrd-mod-bmf olsrd-mod-dot-draw olsrd-mod-dyn-gw olsrd-mod-httpinfo olsrd-mod-nameservice

/etc/olsrd.conf

DebugLevel              0
AllowNoInt              yes
ClearScreen             yes
UseHysteresis           no
IpVersion               4
MprCoverage             7
TcRedundancy            2 
LinkQualityFishEye      1
LinkQualityDijkstraLimit 0 9.0
LinkQualityLevel        2
LinkQualityWinSize      100
#
#
Interface "ath0"
{
}

un plugin pratique et decentralisé

LoadPlugin "olsrd_nameservice.so.0.3" {

       PlParam "name"          "panikv2"  
       PlParam "hosts-file"    "/var/etc/hosts"        
       PlParam "suffix"        ".bxl.rc"              

}

une fois le fichier configuré vous pouvez activer olsr au demarage avec la commande suivante

#/etc/init.d/olsrd enable
nat

pour avoir facile on desactive les regles de firewall de openwrt (adapté au bridge )

#chmod -x /etc/init.d/firewall

créons un fichier pour mettre les ( la ) nouvelle règle

#vi /etc/init.d/rcnat

et ajoutez cette ligne

iptables -t nat -A POSTROUTING -o ath0 -j MASQUERADE

rendez le executable

#chmod +x /etc/init.d/rcnat

ensuite creez un lien symbolique dans /etc/rc.d/

#ln -s /etc/init.d/rcnat /etc/rc.d/S45rcnat

config avancée

divers conseils concernant le mode ad-hoc

carte a ne pas utiliser au mode ad-hoc

  • senao
  • orinoco


conseil repris du forum openwrt ( par onebit)

selon onebit, sous le mode ad-hoc. le matériel Broadcom (wrt54g etc...) n' a aucun problème, par contre les cartes atheros (meraki, routerboard + CM9) ont quelques problèmes.


quelques conseils:

  • compiler kamikaze avec le "rate control" mis a "sample".

Editez package/madwifi/Makefile et changez la valeur suivante.

 RATE_CONTROL:=sample
  • mettez la valeur de l option diversity a 0 dans /etc/config/wireless (le broadcast arrive dans une antenne)
  • fixez le bssid sur tout les noeuds (pour arreter la divergence--> impossible avec les senaos)
  • mettez les valeurs rts et frag a off (dans le "mesh mode" rts doit etre mis mais avec madwifi c est dur...)
  • fixez le channel (random madwifi segmentation if omitted)
    • exemple du fichier /etc/config/wireless
 config wifi-device  wifi0
       option type atheros
       option channel 1
       option diversity 0
       option txantenna 1
       option rxantenna 1
       option agmode 11g
 config wifi-iface
       option device wifi0
       option mode adhoc
       option ssid XXX
       option hidden 0
       option encryption wep
       option key XXXXXXXXXX
       option bssid AA:BB:CC:DD:EE:FF
       option txpower 18
       #option rts 250
       #option frag 256

a tester

  • pour le probleme de "ramping" "ath_mgtstart: discard, no xmit buf"
 #iwpriv ath0 uapsd 0
 #iwpriv ath0 bintval 1000
  • fixez le rate sur l'interface
 #iwconfig ath0 rate 12M

mode ap et adhoc sur la meme interface

afin que mamy puisse servire la communauté tout en surfant de son fauteuil

fichiers /etc/config wireless ( le mode ap doit etre en premier )

root@philt:~# cat /etc/config/wireless 
config wifi-device  wifi0
       option type     atheros
       option channel  1
       option agmode   11b
       option diversity 0
       option txantenna 1
       option rxantenna 1
#
config wifi-iface
       option device   wifi0
       option network  wlan0
       option mode     ap
       option ssid     bombolongap
       option hidden   0
       option txpower  16
       option encryption none
#
config wifi-iface
       option device   wifi0
       option network  wlan1
       option mode     adhoc
       option ssid     bombolong
       option hidden   0
       option txpower  16
       option encryption none
       option bssid    ca:fe:ca:fe:ca:fe

fichier /etc/config/network

root@philt:~# cat /etc/config/network 
# Copyright (C) 2006 OpenWrt.org
config interface loopback
       option ifname   lo
       option proto    static
       option ipaddr   127.0.0.1
       option netmask  255.0.0.0
#
config interface lan
       option ifname   eth0
       option proto    static
       option ipaddr   192.168.0.137
       option netmask  255.255.255.0
       option gateway  192.168.0.133
       option dns      4.2.2.2
#
config interface wlan0
       option ifname   ath0
       option proto    static
       option ipaddr   169.254.93.1
       option netmask  255.255.255.240
#
config interface wlan1
       option ifname   ath1
       option proto    static
       option ipaddr   10.93.1.45
       option netmask  255.255.255.0

modifiez le fichier de config olsr avec l interface ath1 dans ce cas ci

et offrons un peu de dhcp au m$ de mamy

en éditant le fichier:


--dako 2007-12-14