Script i configuració
Les interfícies web de configuració fw-web (generador web de firmwares) i meshconfig (web de configuració incorporada al node) bàsicament modifiquen el fitxer /etc/config/gsf el qual centralitza la configuració del node.
Quan el node s'engega l'script /etc/init.d/gsf principalment usa el sistema UCI per modificar els fitxers necessaris per a de configurar el sistema OpenWrt. Aquest script quan detecta que el maquinari ha canviat, o es el primer cop que s'executa, busca les interfícies Ethernet i Atheros per a configurar-les adequadament. Configura les targetes wireless Atheros seguint les prioritats de configuració establertes amb les directives favorite_wifi_device i favorite_wifi_iface del fitxer /etc/config/gsf. Es a dir primer aplica la configuració de wifi_decive0 a una interfície que suporti aquesta configuració, si existeix. Segueix amb wifi_decive1 i així successivament. Finalment, entre altres, l'script aplica les adreces IP corresponents segons el sistema d'adreçament a cada interfície usant meshipcalc.
Quan un node s'ha flashejat amb una imatge genèrica, sense una adreça IP específica, aquest s'integra a la mesh usant una adreça IP del rang 220 a la 250, el numero exacte depèn de la MAC de l'eth0 del node.
Al fitxer /etc/config/gsf hi ha les següents directives:
Secció "general"
- iprangedefault Rang de la xarxa a al qual es connectarà si no te una adreça IP especifica.
- ipfreenetworks IP de la xarxa específica per el node.
- longitude i latitude Ubicació geogràfica del node, usada per a generar el mapa.
- hardware Maquinari del node (alix2c2/alix2d2/nanostation5/wrt54g). Usat per generar configuracions adaptades al maquinari i pel mapa.
- email Adreça de correu electrònic de contacte del node. Usada pel mapa.
- name Nom del node, usat pel mapa.
Secció ranges: llistat de rangs de xarxes on s'usa aquest model de node. Usada perquè les xarxes es pugiun interconnectar sense conflictivitat d'adreces ip autogenerades pel sistema d'adreçament.
Secció "dns"
Secció "gateway"
- test
- splash_delay
- splash_whitelist_domain
Secció "lan"
Secció "server"
Seccions "wifi_deviceX"
Contenen la configuració de les interfícies wireless atheros, on X és la prioritat, 0 major preferència.
Les directives que conte son configurades a wireless.@wifi-device, del sistema UCI, usant la targeta que suporta el canal especificat.
- type 'atheros'
- channel 130, 1
- country 724 http://madwifi-project.org/wiki/UserDocs/CountryCode
- outdoor 1
- diversity actualment no suporta on (0:off, 1:on)
- txantenna 0:auto, 1:main, 2:aux # 1 for orginal wgt634u cards ext antenna
- rxantenna 0:auto, 1:main, 2:aux
- agmode 11a
- sw_merge 1
- distance 500: workes best for a 34000 meter link
Seccions "wifi_deviceX_ifaceY"
Conte la configuració d'interfícies virtuals relacionada que es crearan sobre el dispositiu wifi_deviceX.
Les directives que conte son configurades a wireless.@wifi-iface del sistema UCI.
- mode adhoc, ap
- ssid ch130.mesh.guifi.net, ch01.mesh.guifi.net
- bssid 82:ca:ff:ee:ba:be, 01:ca:ff:ee:ba:be
- encryption none
- protmode 0
- bgscan 0
- uapsd 0
- rssi11a 9
- rssi11b 9
- rssi11g 9
- bintval 1000
- txpower 1: for testing
Antigament
Les versions antigues, entra altres mancances, no detectaven automàticament les interfícies Atheros connectades. A més la configuració no estava centralitzada en un fitxer del sistema UCI sinó al directori /etc/mesh
- /etc/mesh/iprangdefault: Prefixe IP que utilitzarà en cas de no trobar el fitxer de IP
- /etc/mesh/rangs: Llistat de rangs de IPs a rang de mesh.
- /etc/mesh/ip: On posarem la IP del nostre node.
- /etc/mesh/gateway: L'existència d'aquest fitxer indica que tenim Internet i per tant la eth0 no farà de servidor DHCP i no es posarà en un dels rangs per donar aquest servei, sino que es posarà una IP, fixe si l'hem definit en aquest mateix fitxer amb el format IP:NETMASK:GATEWAY o dinàmica, i per tant farà una crida client de dhcp, si no compté aquest format.
Així inicialment vam plantejar dos tipus de nodes, els que tenen (i comparteixen) Internet. I els que no en tenen i per tant cerquen l'accés a Internet per la mesh.
Actualment, a les noves versions, si un node està configurat per usar una connexió directa a Internet i aquesta falla automàticament cerca l'accés a Internet per la mesh fins que es recupera la connexió directa. Més informació d'aquest comportament a servei_de_connexio_a_internet.