====== Script i configuració ====== Les interfícies web de configuració [[/desenvolupament:fw-web|fw-web]] (generador web de firmwares) i [[desenvolupament:meshconfig]] (web de configuració incorporada al node) bàsicament modifiquen el fitxer [[https://rilat.guifi.net/svn/mesh-gracia/0.2/files/etc/config/gsf|/etc/config/gsf]] el qual centralitza la configuració del node. Quan el node s'engega l'script [[https://rilat.guifi.net/svn/mesh-gracia/0.2/files/etc/init.d/gsf|/etc/init.d/gsf]] principalment usa el sistema UCI per modificar els fitxers necessaris per a de configurar el sistema [[http://openwrt.org|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 [[https://rilat.guifi.net/svn/mesh-gracia/0.2/files/etc/config/gsf|/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 [[desenvolupament:adrecament_ip|sistema d'adreçament]] a cada interfície usant [[desenvolupament: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 [[https://rilat.guifi.net/svn/mesh-gracia/0.2/files/etc/config/gsf|/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 [[desenvolupament:estat_mesh:mapa]]. * //hardware// Maquinari del node (alix2c2/alix2d2/nanostation5/wrt54g). Usat per generar configuracions adaptades al maquinari i pel [[desenvolupament:estat_mesh:mapa]]. * //email// Adreça de correu electrònic de contacte del node. Usada pel [[desenvolupament:estat_mesh:mapa]]. * //name// Nom del node, usat pel [[desenvolupament:estat_mesh: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 [[desenvolupament:adrecament_ip|sistema d'adreçament]]. === Secció "dns" === === Secció "gateway" === * //test// * //splash_delay// * //splash_whitelist_domain// === Secció "lan" === * //nat// === 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 [[/:mesh#servei_de_connexio_a_internet|servei_de_connexio_a_internet]].