Project

General

Profile

Openwrt

Links

Wifi in crowded conferences

Build

http://wiki.openwrt.org/doc/howto/build
http://wiki.openwrt.org/doc/howto/buildroot.exigence
http://wiki.openwrt.org/toh/ubiquiti/airmaxm

Images
http://wiki.openwrt.org/doc/howto/obtain.firmware.generate

VLAN

https://www.mail-archive.com/openwrt-devel@lists.openwrt.org/msg22793.html

ar8216, ar8316:
- do not support mixed traffic at all. Either everything is tagged or
nothing is tagged on a port.

ar8227/8, ar8236
- support having the PVID untagged and everything else tagged through
a special port-tag-mode, so here only one vlan untagged at most, and
it always matches the PVID.

ar8327/8, ar8337/8.
- support per untagging/tagging on a per vlan per port basis on
egress. So here more than one vlan could be untagged on egress, but
the PVID still sets the incoming VID.

Gestion multi internet

Trouver comment gérer son reseau local et sa connexion quand on a plusieurs acces
- TSF tetaneutral.net
- ADSL tetaneutral.net
- ADSL ou fibre ou cable autre opérateur
- wifi ouverts des voisins

Quels sont les objectifs ?
- simple redondance avec bascule manuelle ou automatique
- agrégation des débits
- sélection de l'acces selon le traffic
- portail captif / acces des autres membres ?
- autres objectifs ?

Pour faire du failover ou du load balancing de lien internet facilement avec openwrt:

Références
- Test_OpenWRT_sur_TP-LINK_WR-1043ND

IPv6

Exemples concrets

Chez Laurent GUERBY

La situation est la suivante :

- je capte un signal Free Wifi d'un voisin (2.4 GHz)
- je capte un signal SFR Public Wifi d'un voisin (2.4 GHz)
- je capte un signal TSF (5 GHz)
- je n'ai pas d'ADSL ou RTC (pas de ligne cuivre activée)
- j'ai un code d'acces Free Wifi (via famille)
- j'ai un code d'acces SFR Public Wifi (via famille)
- j'ai un abonnement tetaneutral.net sur le signal TSF

Bref si je mets deux clients 2.4 GHz en plus de ma Nanostation LocoM5 TSF j'ai 3 WAN possibles chez moi.

Alix

Via Cédric qui en a un.

Elles sont intéressantes pour leur faible consommation (alimentable
en POE) et leur large support d'OS. Elles sont aussi un peu plus
chères (>100 euros) que les petits routeurs grand public et peut-être
de conception vieillissante.

Les perfs sont correctes. Un lien a 45Mb/s consomme ~30% CPU mais on
plafonne à ~17Mb/s avec OpenVPN, ~21Mb/s sans encryption. Il serait
intéressant de mesurer les perfs avec un kernel supportant le geode AES.
Ce n'est pas possible sans un kernel custom sur debian. Affaire à suivre.

References :

Utilisation de la crypto API :

TP-Link

  • Note: desactiver la reception de DNS par DHCP et les mettre en dur pour eviter les plantages (astuce Cyril GOUSSE Saint-Gaudens)

OpenBSD

Pour ceux qui veulent gérer le multi-homing avec un autre système, OpenBSD a une FAQ sur le multipath avec PF:

Matthieu compte expérimenter avec cela sur son routeur Soekris (http://soekris.com) bientot.

DSL

ADSL / VDSL
wiki openwrt: http://wiki.openwrt.org/tag/adsl2plus?do=showtag&tag=tag%3Aadsl2plus

<obinou> hello guerby ! On a une page pour le matériel potentiellement intéressant à acheter pour ttn ?
<obinou> j'ai découvert que le Buffalo WBMR-HP-G300H est un routeur supporté par openwrt avec un chipset ADSL dont les sources sont libre
<obinou> http://www.amazon.fr/Buffalo-AirStation-Nfiniti-HighPower-Broadband/dp/B005584W2E/ref=sr_1_1?ie=UTF8&qid=1327222358&sr=8-1
<mherrb> j'ai un WZR-HP-G300NH2 achete 90 EUR chez materiel.net qui devrait être supporté aussi (son fw d'origine c'est DD-WRT).
<mherrb> http://www.materiel.net/routeur-adsl/buffalo-technology-wzr-hp-g300nh2-55100.html
<obinou> mherrb, ok - par contre il fait pas ADSL, si ?
<obinou> Moi je suis sur ces putains de pb d'adsl , là
<obinou> sur les machin broadcom en l'occurence
<obinou> La difficulté c'est de trouver un modem ADSL wrt qui ne soit pas du broadcom. Ou alors faut faire comme je fait ici: Prendre un modem ADSL séparé (Vigor 120 à 30€) et l'utiliser en modem PPPoE pur
<obinou> mherrb, concernant l'ADSL (mail de laurent), j'ai ce DSLAM à dispo : http://landashop.com/catalog/ports-adsl2-dslam-switch-10100mbps-uplink-port-p-1747.html
<mherrb> ok. je ne sais pas ce qu'on mes collegues, et je n'en sais toujours pas plus sur leur projet.
<obinou> mherrb, Je n'ai jamais trouvé le temps d'y travailler de manière vraiment importante , mais j'admets que j'aimerais beaucoup m'y pencher plus, tant au niveau perso que pro.
<obinou> (Même si j'admets que l'avantage de l'ADSL, c'est que quand tu sais comment ça marche dedans, tu deviens un inconditionel de la fibre...)
<obinou> mherrb, Bref, si tu pense qu'il y a une opportunité , hésite pas a passer mon contact, mais bon, sinon, c'est pas grave. De toute façon l'ADSL j'espère que c'est quelque chose qu'on finira par voir mourir de notre vivant :-)
<mherrb> oui j'y penserai.
<mherrb> en materiel adsl intéressant il y a aussi les cartes Traverse: https://kd85.com/traverse.html
<obinou> mherrb, ah ! oui, elles sont sympa, mais chères par contre

TP-Link TD-W8970

Buffalo WBMR-HP-G300H

Routeur ADSL + Wifi 802.11n + 4 ports giga, supporté par OpenWRT.
Chipset wifi "Lantiq" , supporté en open-source par OpenWRT
http://www.amazon.fr/Buffalo-AirStation-Nfiniti-HighPower-Broadband/dp/B005584W2E/ref=sr_1_1?ie=UTF8&qid=1327222358&sr=8-1
barrier breaker : https://fiat-tux.fr/2015/06/03/mise-a-jour-dopenwrt-sur-buffalo-wbmr-hp-g300h/

Test et tutorial aquilenet : https://atelier.aquilenet.fr/projects/adsl/wiki/Buffalo_WBMR-HP-G300H_+_OpenWRT_%28modem-routeur_ADSl_%C3%A0_80%E2%82%AC%29

Shorewall

Via Laurent B. http://www.shorewall.net/MultiISP.html
La répartition de charge se fait dans un fichier de conf "tcrules". On peut dédier des protocoles par FAI (http descendant Tetaneutral, ssh Free, dns SFR) si un lien tombe le trafic est redirigé sur un FAI toujours UP.
Le backup est transparent les liens ISP sont monitorés si un tombe tout le trafic est redirigé vers les liens ISP up restant via Link Status Monitor http://lsm.foobar.fi/. Le principe est de pinguer des ip définies dans un fichier de configuration (exemple le premier ou second hop de chaque FAI) via l'interface réseau qui route vers ce FAI. A détection de changement d'état du lien un script est exécuté. (dans notre cas le script exécute une reconf shorewall)

DD-WRT

hardware list
http://www.dd-wrt.com/wiki/index.php/Supported_Devices

VLAN support
http://www.dd-wrt.com/wiki/index.php/VLAN_Detached_Networks_(Separate_Networks_With_Internet)

Mikrotik RB750GL

Netgear WNDR3700 v2

Article LWN sur openwrt http://lwn.net/Articles/451837/

Modele recommandé par l'article Wifi 2.4 et 5, attention prendre la v2 http://wiki.openwrt.org/toh/netgear/wndr3700

A noter les efforts de bufferbloat sur cerowrt, pas mal de boulot bas niveau :

https://www.bufferbloat.net/projects/bloat
http://www.bufferbloat.net/projects/cerowrt/wiki/Building_Cerowrt_on_your_own_machine
http://www.bufferbloat.net/projects/uberwrt/wiki/Hardware_evaluation
http://www.bufferbloat.net/projects/bismark/wiki/Wndr3700v2

80-100 euros

TP-Link TL-WR1043ND

http://wiki.openwrt.org/toh/tp-link/tl-wr1043nd
Simulateur en ligne de l'interface du TL-WR1043ND ici : http://www.tp-link.com/simulator/tl-wr1043nd/index.htm

Tests de Cazères éthique de OpenWRT sur TP-LINK WR-1043ND
Test OpenWRT sur TP-LINK WR-1043ND

45 euros

TP-LINK TL-WR2543ND

TP-Link TL-WDR3600

TP-LINK TL-WDR4300

http://wiki.openwrt.org/toh/tp-link/tl-wdr4300
https://forum.openwrt.org/viewtopic.php?id=36534
VLAN support patch https://dev.openwrt.org/ticket/12181

Note battlemesh

From:     Bastian Bittorf <bittorf@bluebottle.com>
Reply-to:     Battle of the Mesh Mailing List <battlemesh@ml.ninux.org>
To:     Battle of the Mesh Mailing List <battlemesh@ml.ninux.org>
Subject:     Re: [Battlemesh] netgear 2.4ghz and 5ghz at wbm?
Date:     Sat, 6 Jul 2013 10:20:41 +0200

We used a lot of TP-LINK TL-WDR4300, but i prefer now
to TP-LINK TL-WDR4900 v1 - which has a better antenna-design.

Testé par sileht pour couper et remettre l'USB sur dlcnas-gw :
https://wiki.openwrt.org/doc/howto/usb.overview

 echo 0 > /sys/class/gpio/gpio21/value
 echo 0 > /sys/class/gpio/gpio22/value
 echo 1 > /sys/class/gpio/gpio21/value
 echo 1 > /sys/class/gpio/gpio22/value

MiniPCIe

https://www.globalscaletechnologies.com/p-58-mirabox-development-kit.aspx
http://soekris.com/products/net6801-1.html
http://www.gateworks.com/
http://linuxgizmos.com/tiny-open-source-board-runs-linux-on-i-mx6/
http://www.compexshop.com/index.php/cPath/104_106

http://shop.hauser.lu/cables-connecteurs/178-cable-coaxial-sat-reseau-cat6.html

https://wikidevi.com/wiki/List_of_802.11ac_Hardware

Linksys EA6900

  • 802.11ac

NETGEAR R7000

  • aka Nighthawk
  • 802.11ac

TP-Link Archer C7 AC1750

USB power control :

echo 0 > /sys/devices/platform/ath79-gpio/gpio/gpio21/value
echo 0 > /sys/devices/platform/ath79-gpio/gpio/gpio22/value

ASUS RT-AC68U

  • 802.11ac

Sitecom WLR-8100

Linksys WRT1900AC

compex WLE900VX

Ubiquiti

Tests de Cazères éthique peu concluants en portée et ad hoc sur LocoM2 ?
Essai d'intégration des NS Loco M2 dans le réseau de Ricoré de Cazères Éthique

TP-Link TL-WR340G

14.08 euros livré chez interprojekt.com.pl, pas facile pour openwrt (2MB flash)
Liste de matériel
http://wiki.funkfeuer.at/index.php/Hardware

Netgear WNDR3800

Testé sous openwrt par Olivier Le Brouster de grenode, VLAN support ok
http://wiki.openwrt.org/toh/netgear/wndr3800
http://www.smallnetbuilder.com/wireless/wireless-reviews/31593-new-to-the-charts-netgear-wndr3800-n600-wireless-dual-band-gigabit-router-premium-edition

Buffalo WHR-G54S

http://wiki.openwrt.org/toh/buffalo/whr-g54s

le serveur tftp était sur 192.168.1.1
installé backfire brcm47xx avec atftp
image utilisée :
http://downloads.openwrt.org/backfire/10.03.1/brcm47xx/openwrt-brcm47xx-squashfs.trx

Linksys WRT54GL

http://wiki.openwrt.org/toh/linksys/wrt54g
image utilisée :
http://downloads.openwrt.org/backfire/10.03.1/brcm-2.4/openwrt-wrt54g-squashfs.bin
On peut le flasher avec l'interface web Linksys ou DD-WRT sans souci.
la Procédure pour les 740N fonctionne, il y a la place pour le support IPv6

D-Link HorstBox

http://www.conrad-uk.com/ce/en/product/923438/D-Link-HorstBox

Via obinou, chipset ADSL libre Lantiq comme le buffalo-

Erreur: Le HorstBox a un chipset Lantiq trop vieux et non supporté par OpenWRT (pas nativement du moins).

British Telecom Home Hub v3a

http://wiki.openwrt.org/toh/bt/homehub.3.0
http://www.psidoc.com/index.php
http://wiki.openwrt.org/toh/bt/start

Trouvable pour pas cher sur ebay.co.uk , ex:
http://www.ebay.co.uk/itm/BT-HOME-HUB-3-WIRELESS-ROUTER-Excellent-Condition-/181044850411?pt=UK_Computing_Wireless_Routers&hash=item2a271d2eeb
(recherche HOME HUB 3)

Basé sur un chipset Lantiq, boote Openwrt (presque) jusqu'au bout.
Attention, très difficile à souder le port série et la pin de contrôle de boot processeur (Il faut avoir l'habitude)

TP-Link TL-WR841N

TP-Link TL-WR740N

Via sileht liste des packages openwrt

curl http://downloads.openwrt.org/snapshots/trunk/ar71xx/config | sed -n 's/^CONFIG_PACKAGE_\(.*\)=y/\1/gp' | xargs

Firmware Version:    
3.12.11 Build 120320 Rel.51047n
Hardware Version:    
WR740N v4 00000000
DEfault IP 192.168.0.1
login: admin
pass: admin or empty
  • Reset hardware :
    http://wiki.openwrt.org/doc/howto/generic.failsafe
    1.éteindre le 740N, brancher un cable ethernet sur un port jaune, allumer le 740N, prendre une ip
    #ip a a 192.168.1.2/24 dev eth0
    
    2.quand la led "en étoile" s'allumer, appuyer sur le boutton reset
    puis se connecter en telnet au routeur
    #telnet 192.168.1.1
    
    3.pour monter la flash :
    #mount_root
    puis pour resetter les paramètres d'origine :
    #firstboot
    pour changer le mot de passe :
    #passwd
    

Pour revenir au firmware constructeur :

cd /tmp
mv wr741nv4_en_3_17_0_up_boot(140410).bin orig.bin
dd if=orig.bin of=tplink.bin skip=257 bs=512
mtd -r write /tmp/tplink.bin firmware

Procedure Openwrt

En partant d'un TP-Link 740N configuration usine

ATTENTION : bien verifier la version materielle sur l'etiquette sous le routeur elle doit etre 4.x
(4.23 a 4.26 ont ete teste par ttnn)

brancher sur ethernet port jaune dhclient ou wifi SSID TP_LINK_MAC
brancher LAN de l'antenne sur le port bleu
l'ip defaut du TP-Link usine est 192.168.0.1/24
soit ip statique soit dhclient (soit wifi)
login admin
pass admin
menu system / firmware upgrade
choose file => ... openwrt-ar71xx-generic-tl-wr740n-v4-squashfs-factory.bin
clic upgrade

Le 740N est sous openwrt

supprimer la lease DHCP et en reprendre une

ip defaut openwrt 192.168.1.1/24 wifi desactive
login: root
pas de password

menu System/admin
changer le pass avec le pass standard ttnn
save and apply

menu network/interfaces
wan edit
protocol static address
clic sur switch protocol
ipv4 91.224.149.xxx
netmask 255.255.255.0
gw 91.224.149.254
custom DNS 91.224.149.254
clic plus DNS 8.8.8.8
save and apply

menu network/wifi

clic enable
clic edit
onglet general setup
ESSID tetaneutral.net
onglet wireless security
transmit power 20 dBm = 100 mW
wireless network enable
WPA2-PSK
key : mot de passe wifi standard ttnn
save and apply

onglet advanced settings
country code : FR
save and apply

menu network/interfaces
lan edit
ipv4 address a changer 192.168.xxx.1
dhcp server parametres a changer eventuellement
save and apply

menu network/firewall
onglet traffic rules
Open ports on router:
name: SSH protocol TCP external port 22 clic Add
save and apply

maintenant le net marche en IPv4 et l'acces ssh externe est actif donc on peut installer des pkg
test debrancher/rebrancher electriquement

menu system/software
click update list
Download and install package: : kmod-ipv6 radvd ip kmod-ip6tables ip6tables luci-app-radvd
clic sur ok
before Free space: 81% (876.00 KB)
after Free space: 39% (420.00 KB)

Installing kmod-ipv6 (3.3.8-1) to root...
Downloading http://downloads.openwrt.org/attitude_adjustment/12.09/ar71xx/generic/packages/kmod-ipv6_3.3.8-1_ar71xx.ipk.
Configuring kmod-ipv6.
Installing radvd (1.9.1-2) to root...
Downloading http://downloads.openwrt.org/attitude_adjustment/12.09/ar71xx/generic/packages/radvd_1.9.1-2_ar71xx.ipk.
Installing libdaemon (0.14-2) to root...
Downloading http://downloads.openwrt.org/attitude_adjustment/12.09/ar71xx/generic/packages/libdaemon_0.14-2_ar71xx.ipk.
Configuring libdaemon.
Configuring radvd.
Installing ip (3.3.0-1) to root...
Downloading http://downloads.openwrt.org/attitude_adjustment/12.09/ar71xx/generic/packages/ip_3.3.0-1_ar71xx.ipk.
Configuring ip.
Installing kmod-ip6tables (3.3.8-1) to root...
Downloading http://downloads.openwrt.org/attitude_adjustment/12.09/ar71xx/generic/packages/kmod-ip6tables_3.3.8-1_ar71xx.ipk.
Configuring kmod-ip6tables.
Installing ip6tables (1.4.10-4) to root...
Downloading http://downloads.openwrt.org/attitude_adjustment/12.09/ar71xx/generic/packages/ip6tables_1.4.10-4_ar71xx.ipk.
Installing libip6tc (1.4.10-4) to root...
Downloading http://downloads.openwrt.org/attitude_adjustment/12.09/ar71xx/generic/packages/libip6tc_1.4.10-4_ar71xx.ipk.
Configuring libip6tc.
Configuring ip6tables.
Installing luci-app-radvd (0.11.1-1) to root...
Downloading http://downloads.openwrt.org/attitude_adjustment/12.09/ar71xx/generic/packages/luci-app-radvd_0.11.1-1_ar71xx.ipk.
Configuring luci-app-radvd.

menu network/interfaces
wan edit
send router solicitation : off
ipv6 address 2a01:6600:8081:xx00::1/56
ipv6 gateway fe80::31
save and apply

menu network/interfaces
add new interface
name: wan6
statcic adress
cover the following : Ethernet Adapter: "eth1" wan
IPv6: fe80::81:XX/64
IPv4: 172.31.31.zz si necessaire

menu network/interfaces
lan edit
general setup
send router solicitation : off
ipv6 address 2a01:6600:8081:xx01::1/64
save and apply

menu network/radvd
interface enable
prefix enable (2a01... should be present)
route enable (idem)

save and apply

reboot

sur h3 ajouter le routage du /56 vers fe80::81:xx

A ce niveau ipv6 est actif mais tous les ports entrants sont filtrés par le 740N, seul ping6 passe

Old Procedure

reboot, new filesystem use:

root@OpenWrt:~# df -h
Filesystem                Size      Used Available Use% Mounted on
rootfs                    1.1M    624.0K    464.0K  57% /
/dev/root                 2.0M      2.0M         0 100% /rom
tmpfs                    14.3M    452.0K     13.8M   3% /tmp
tmpfs                   512.0K         0    512.0K   0% /dev
/dev/mtdblock3            1.1M    624.0K    464.0K  57% /overlay
overlayfs:/overlay        1.1M    624.0K    464.0K  57% /

/etc/init.d/radvd enable
/etc/init.d/radvd start

Dans luci:
Network > Edit WAN, mettre l'ipv6 fe80::81:XX/64 et la gw6 en fe80::31 > Save
Network > Add New Interface, remplir avec:
Name: WAN6
Protocol: static
Interface: eth1

Submit et remplir:

ipv6: 2a01:6600:8081:XX00::1/64
unckeck "Send router solicitations"

clicuqer sur Firewall Setting

Assign firewall-zone to "WAN"

Save & Apply

  • Ajout route pour tsf:
    Network > Static Routes > Dans "static ipv4 routes", cliquer sur add et remplir:
    WAN - 172.31.31.0 - 255.255.255.0 - - -

Save & Apply

  • Ajout ssh via le link local ipv6
    Network > Firewall > Traffic Rules
    Dans "Open ports on router:" remplir:
    SSH - TCP - 22

Add

Remplir:
Destination address: fe80::81:XX

Save & Apply

20 euros

TP-Link TL-WR703N

17 euros TTC livré, commande en asie uniquement

OpenWRT Tools

Ajouter une jolie interface WEB à OpenWRT

opkg update
opkg install luci luci-mod-admin-full uhttpd
opkg list | grep luci-app # affiche la kliste des greffons pour luci

Déport du bus usb sur une autre machine à l'aide de usbip

Installation

  • Prérequis: les 2 machines doivent avoir a peu prêt le même kernel (ie: >= 3.1)

C'est upstream maintenant https://dev.openwrt.org/changeset/32887/ !

  • Sur l'autre machine:
    Il faudra sûrement compilé soit même la partie userland aussi, par exemple ubuntu 12.04 et debian wheezy non pas une version assez récent du soft
    La partie userland de usbip se trouve dans les sources du kernel linux dans:
    kernel/drivers/staging/usbip/userland
    Les dépendances sont automake, autoconf, libglib2.0-dev et libsysfs-dev
    Pour le compiler:
    ./autogen.sh && ./configure && make && make install
    

Utilisation:

  • sur le WRT:
    usbipd &
    usbip list -l # pour voir la liste des périphériques disponible
    usbip bind -b 1-1 # pour rendre disponible sur le réseau le périphérique 1-1 
    
  • sur l'autre machine:
    modprobe usbip-core
    modprobe usbip-host
    modprobe vhci-hcd
    usbip list -r 192.168.1.2 # pour voir la liste des périphériques disponible sur 192.168.1.2
    usbip attach -h 192.168.1.2 -b 1-1 # pour attacher le périph 1-1 sur notre machine
    lsusb # on voit le nouveau périphérique usb
    usbip detach -p 0 # pour le détacher
    

booter OpenWRT en failsafe

http://wiki.openwrt.org/doc/howto/generic.failsafe

En gros appuyer plusieurs fois sur reset pendant l'allumage de l'appareil
Il bootera en mode failsafe, prise ethernet en 192.168.1.1
Une fois connecté en ssh ou telnet faire: mount_root pour monter la flash

Pirate box

http://www.lemonde.fr/technologies/article/2012/01/07/surfer-sans-entraves_1627059_651865.html
http://wiki.daviddarts.com/PirateBox

Load balancing

par flux iproute2: http://www.inetdoc.net/guides/lartc/lartc.rpdb.multiple-links.html

OpenWRT and Network UPS Tools

backfire https://forum.openwrt.org/viewtopic.php?id=26269
older https://forum.openwrt.org/viewtopic.php?id=13614

<guerby> hi, did anyone package NUT (Network UPS Tools) for openwrt official repo? I find them over the net: https://forum.openwrt.org/viewtopic.php?id=26269 and upstream developpers seem reactive, thx
<jow_laptop> no
<guerby> jow_laptop, ok, do you know what's needed for such contrib to be included?
<jow_laptop> an OpenWrt Makefile

<sileht> http://wiki.openwrt.org/doc/howto/build

<guerby> jow_laptop, ok will try tonight with a friend. NUT has one driver per family of UPS, on amd64 each driver is about 60 kB total 2.4 MB. since we're trying to put it on a 703N with 4 MB flash (1.5 MB usable) I think it will be better to split binaries, is there a prefered way to do that?
<jow_laptop> make a package nut providing the base and then several nut-mod-xyz covering the different drivers
<jow_laptop> with some clever templating you can reduce the effort for the mod packages to a simple list of driver names
<jow_laptop> see for example the collectd or znc packages
<jow_laptop> or coreutils