14 | | Het doel van dit project is voor de Soekris-boarden en bijbehorende hardware, startklare images / uitgangssituaties te maken/beschrijven zodat snel, makkelijk en uitgebreid geexperimenteerd kan worden juist door linux-nieuwkomers en enthousiastelingen. Met de openwrt-packetmanager is met bijna hetzelfde gemak als op een linux-desktop een uitgebreide router/server/node te bouwen door (bijna ;-) iedereen! Met de grote hoeveelheid beschikbare hardware-configuraties is de wens om een onafhankelijk testnetwerk te bouwen, zodat met OLSR / MESH etc geexperimenteerd kan worden. |
15 | | |
16 | | De opzet van deze pagina is eerst hard- en software inregelen om openwrt uberhaupt ;-) operatief te krijgen op een soekris board en functionerend als een eenvoudige huis-tuin-en-keuken router/accesspoint. Wanneer duidelijk is hoe je het apparaat kunt benaderen en inregelen via cli (telnet/ssh) of gui (webinterface), hostname, tijd inregelen en interfaces ingesteld kunnen worden (bedraad en draadloos), binnen en buiten wereld WAN-LAN concept begrijpen, porten forwarden, packages installeren, dan gaan we kijken hoe we een zelfstandige Wireless-Leiden-node kunnen realiseren met captive portal en proxy. Vervolgens meerdere van deze losstaande soekris Wireless Leiden routers onderling met elkaar kunnen laten communiceren zoals nodes op een Wireless-Leiden-netwerk kortom het concept routing. Dit uitbouwen zodat je de uplink/gateway verbindingen van het ene soekrisboard kunt delen met een ander soekrisboard dat zelf niet een directe uplink aan zijn wan-interface heeft. Nadat er inzicht in static routing is wil ik dynamisch routing met behulp van een routing-protocol uitzoeken, dns-implementatie en uiteindelijk ipv6. |
| 14 | Het doel van dit project is voor de Soekris-boarden en bijbehorende hardware, startklare images / uitgangssituaties te maken/beschrijven zodat snel, makkelijk en uitgebreid geexperimenteerd kan worden juist door linux-nieuwkomers en enthousiastelingen met het bouwen van een W.L. achtig community netwerk (from scratch). |
| 15 | |
| 16 | Met de openwrt-packetmanager is met hetzelfde gemak als op een linux-desktop een uitgebreide router/server/node/netwerk te bouwen door (bijna ;-) iedereen! Met de grote hoeveelheid beschikbare hardware-configuraties is er een wens om een onafhankelijk testnetwerk te bouwen, zodat met OLSR / MESH / etc / routing protocolen geexperimenteerd kan worden. |
| 17 | |
| 18 | De keuze voor openwrt+soekris als uitgangssituatie voor deze howto is omdat dit stapsgewijs en toegankelijk, het binnen W.L. netwerk gebruikte cruciale basis component "freebsd+alixboard" te benaderen en beschikbaar maakt! Het W.L. netwerk bestaat in een oog aanschouw uit een zo'n 4 bouwstenen die je op enkele onderdelen na kant en klaar kan kopen/gratis zijn, maar nog wel op juiste wijze geconfigureerd moeten worden: |
| 19 | |
| 20 | * utp netwerk kabel (outdoor,shielded,uvproof) |
| 21 | * wireless to ethernet bridges voor "interlinks" of "accesspoints" (UBNT nano bullets/bridges/stations) |
| 22 | * alixboard+freebsd (node kasten bevatten daarnaast POE verdelers/switches antenne aansluitingen/etc) |
| 23 | * LV-routed+IPplan (i.c.m organisatie en gekoppelde ontwikkel en beheer structuren) |
| 24 | |
| 25 | De eerste bouwsteen lijkt bijna een grap, maar mag niet onderschat worden het is wellicht wel aardig om een keer uit de boekhouding het aantal ingekochte meters utp kabel voor draadloze verbindingen in beeld te brengen, dit tegenover de draadloze afstanden die overbrugt zijn! De tweede bouwsteen ubnt nano bridges, apparatuur dat Linux gebasseerd is, makkelijk is te configureren/resetten en zonder al te veel knowhow door velen opgepikt kan worden. De derde bouwesteen is deels gekoppeld aan de vierde, maar mag je qua functionaliteit nog steeds zien als een maakbaar/vervangbaar kastje. De vierde, tevens laatste bouwsteen is eigenlijk de kern van de netwerk functionaliteit namelijk routing en wie krijgt welk ip en hoe loopt de routing als node x uitvalt? |
| 26 | |
| 27 | De opzet van deze pagina is vooral de derde bouwsteen en mogelijk de vierdere bouwsteen inzichtelijk te maken. Dit door eerst hard- en software inregelen om openwrt uberhaupt ;-) operatief te krijgen op een soekris board en functionerend als een eenvoudige huis-tuin-en-keuken router/accesspoint. Wanneer inzichtelijk/duidelijk is hoe je het apparaat kunt benaderen en inregelen via netwerk/serial-console cli (telnet/ssh) of gui (webinterface), hostname, tijd inregelen en interfaces ingesteld kunnen worden (bedraad en draadloos), binnen en buiten wereld WAN-LAN concept begrijpen, porten forwarden, packages installeren, dan gaan we als tweede fase kijken hoe we een soort zelfstandige Wireless-Leiden achtige node functionaliteiten kunnen geven met captive portal en proxy. Vervolgens meerdere van deze losstaande soekris Wireless Leiden routers onderling met elkaar kunnen laten communiceren zoals nodes op een Wireless-Leiden-netwerk kortom het concept routing. Dit uitbouwen zodat je de uplink/gateway verbindingen van het ene soekrisboard kunt delen met een ander soekrisboard dat zelf niet een directe uplink aan zijn wan-interface heeft. Nadat er inzicht in static routing is wil ik dynamisch routing met behulp van een routing-protocol uitzoeken, vervolgens iets met dns-implementatie en uiteindelijk ipv6,beheer/monitoring? |
| 28 | |
| 29 | De stijl opzet is voornamelijk hele lange "tekst geschreven" blokken wat je zeker niet direct of stipt als sturend of stappenplan moet opvatten, maar enkel als begeleiding in terminologie en mindset iets waardoor je gerust heen kan skimmen opzoek naar de essentie(als die er is). Daadwerkende instruerende stappen zijn beknopt in "codestijl geschreven" blokken opgemaakt het enige waar je je daar van bewust moet zijn (of die bewustwording moet nog even ontstaan) is dat sommige commando's voer je uit in de shell van "client pc/laptop" en sommige in die van de openwrt shell die draait op "de soekris zelf"! Als niet ingewijd persoon kan dit zeer verwarrend overkomen, ik zal trachten de twee shells iedere keer aan tegeven waar je nou eigenlijk bezig bent. |
| 30 | |
| 31 | Als benodigheid word er vanuit gegaan dat je de stappen van de client pc/laptop in een shell uitvoert bijvoorbeeld in de terminal van Ubuntu 12.04 of hoger, in Mac OSX met de Terminal werkt waarschijnlijk ook. De Windows mensen kunnen beter Oracle Virtualbox installeren en daarin ubuntu 12.04 installeren en vanuit dat OS de boel verkennen. '' Onder Windows kan er via het programma putty een serial/ssh shell mogelijkheid worden toegevoegd, op een enkele handeling na bijvoorbeeld soekris firmware upgraden en het dd-en van de x86 generieke openwrt image naar de compactflash kaart zal je met een Windows alternatief (raw hdd copy etc) geimproviseerd moeten worden. '' |
27 | | Als alles volgens een normale PC bootstrap in orde is op de soekris waaronder POST(power on self test) / correcte BIOS instellingen en juiste opstart medium harddisk/CD-card/CD-rom/Network geselecteerd heb kun je verwachten dat je na het plaatsen van een CF-card met juiste OS image direct een werkende basis router heb! |
28 | | |
29 | | === software === |
30 | | Zowel kant en klare x86 architectuur images van het Operating Systeem OpenWRT uit de serie[http://downloads.openwrt.org/backfire/10.03.1/x86_generic/ backfire 10.03.1] als [http://downloads.openwrt.org/attitude_adjustment/12.09/x86/generic/ attitude adjustment 12.09] functioneren op de soekris 4501, 4521, 4801 en 4826 boarden. De gewenste type images zijn "combined-squashfs" images en "combined-extN" images. De eerste term "combined" staat voor een image met daarin zowel de boot partitie inclusief bootloader en kernel en root partitie voor de rest van het OS. De tweede term "squashfs/extfs" staat voor het type Filesystem dat zeer karakteristiek voor de bepaalde fnctionaliteiten. In het geval van squashfs word grotendeels in het RAM de wijzigingen doorvoert en alleen enkele wijzigingen gecomprimeerd naar de disk terugschrijven via JFFS2. Het voordeel hiervan is, dat deze versie de compact-flash card spaart ("wear level protection"),failsafe "factory reset" mogelijk maakt en deze image resistenter is tegen onverwachte power outages. Prima optie voor experimenteren! De tweede optie "extN" schrijft alles direct op de geheugenkaart/disk, werkt sneller en laat meer ram over, echter een simpele failsafe restore/reset is dan niet mogelijk en power outages kunnen beschadigingen op het filesystem achterlaten waardoor het gehele systeem zich zelf vaak niet meer operatief kan krijgen. |
31 | | |
32 | | Op de OpenWRT download page vind je naast verschillende releases van OpenWRT 12.09 of 10.03.1 respectievelijk met de naam Attitude Adjustment of Backfire, al die verwijzingen naar andere processor architecturen waar we het eerder over hadden zoals ppc arm mips en nog veel meer! Allemaal direct te downloaden, klein en vaak klaar voor gebruik voor betreffende exotisch systeem. De grote verscheidenheid en het beschikbaar hebben van kleine generieke OS images is een groot pluspunt van openwrt en tevens andere linux gebasseerde distributies zoals debian/ubuntu, waardoor gemakkelijk ergens kan beginnen. |
33 | | |
34 | | Houdt er overigens wel rekening mee dat de generieke openwrt-images zo zijn aangepast dat ze op de meeste x86 systemen kunnen werken, dat zijn zowel systemen met toetsenbord/muis/vga-monitor (desktops/laptops) of systemen die serialport( als vervanging van KB/VGA) of machines zonder beide en enkel een ethernet(netwerk) aansluiting. |
35 | | |
36 | | Enkel werken starten de "generieke" openwrt images van de OpenWrt website op een Soekris board uit de 45xx 48xx serie, alleen wanneer de juiste comBIOS optie(namelijk ConMute=Enabled) actief is in desbetreffende soerkis (eenmalig actie) of wanneer de soerkis een directe actieve serial-console-verbinding met een draaiende PC heeft tijdens het booten van openwrt op de soekris (sic). Door het flexibele karakter van OpenWRT zijn er meerdere mogelijkheden als je niet aan deze voorwaarden kan/wil voldoen en toch direct met een generiek openwrt image aan de gang wil! Hoe dit opgelost kan worden en of dit in jouw situatie opgelost hoeft te worden kun verderop lezen bij het hoofdstukje comBIOS en start klare image. |
| 42 | Als "alles" volgens een normale PC bootstrap in orde is op de soekris, waaronder POST(power on self test) / correcte BIOS instellingen met betrekking tot juiste opstart medium harddisk/CF-card/CD/DVD-rom/Network heb kun je verwachten dat je na het plaatsen van een CF-card met het juiste OS image direct een werkende basis router met openwrt heb! |
| 43 | |
| 44 | === images === |
| 45 | Zowel kant en klare x86 architectuur images van het Operating Systeem OpenWRT uit de serie[http://downloads.openwrt.org/backfire/10.03.1/x86_generic/ backfire 10.03.1] als [http://downloads.openwrt.org/attitude_adjustment/12.09/x86/generic/ attitude adjustment 12.09] functioneren op de soekris 4501, 4521, 4801 en 4826 boarden. |
| 46 | |
| 47 | De gewenste type images zijn "combined-squashfs" images en "combined-extN" images. De eerste term "combined" staat voor een image met daarin zowel de boot partitie inclusief bootloader en kernel en root partitie voor de rest van het OS. De tweede term "squashfs/extN" staat voor het type Filesystem dat zeer bepalend is voor de bepaalde functionaliteiten. In het geval van "squashfs" word grotendeels in het RAM de wijzigingen t.o.v. de squashfs doorgevoert en alleen enkele wijzigingen gecomprimeerd naar de disk terugschrijven op een stukje JFFS2. Het voordeel hiervan is, dat deze versie de schrijf acties op de compact-flash card spaart ("wear level protection"),failsafe "factory reset" mogelijk maakt en deze image resistenter is tegen onverwachte power outages. Prima optie voor experimenteren! De tweede optie "extN" schrijft alles direct op de geheugenkaart/disk, werkt sneller en laat meer ram over, echter een simpele failsafe restore/reset is dan niet mogelijk en power outages kunnen beschadigingen op het filesystem achterlaten waardoor het gehele systeem zich zelf vaak niet meer operatief kan krijgen. |
| 48 | |
| 49 | Op de OpenWRT download page vind je naast verschillende releases van OpenWRT 12.09 of 10.03.1 respectievelijk met de naam Attitude Adjustment of Backfire, al die verwijzingen naar andere processor architecturen waar we het eerder over hadden zoals ppc (powerpc) arm(ar71xx) mips(brcm-2.4) en nog veel meer! Allemaal direct te downloaden, klein en klaar voor gebruik voor betreffend exotisch systeem dat zich op de markt bevind. De grote verscheidenheid en het beschikbaar hebben van kleine generieke OS images is een groot pluspunt van openwrt en tevens andere linux gebasseerde distributies zoals debian/ubuntu, hierdoor kan er makkelijk ergens begonnen worden en snel resultaat worden geboekt, onderhouden en continueren is een andere sport! |
| 50 | |
| 51 | Houdt er overigens wel rekening mee dat de generieke openwrt-images zo zijn aangepast dat ze op de meeste x86 systemen kunnen werken, dat zijn zowel systemen met toetsenbord/muis/vga-monitor (desktops/laptops) of systemen die serialport( als vervanging van KB/VGA) of machines zonder beide en enkel een ethernet(netwerk) aansluiting met ssh/telnet/webinterface toegang. |
| 52 | |
| 53 | Enkel werken starten de "x86 generieke" openwrt images van de OpenWrt website op een Soekris board uit de 45xx 48xx serie, alleen wanneer de juiste comBIOS optie(namelijk ConMute=Enabled) actief is in desbetreffende soerkis (eenmalig actie) of wanneer de soerkis een directe actieve serial-console-verbinding met een draaiende PC heeft tijdens het booten van openwrt op de soekris (sic). Door het flexibele karakter van OpenWRT zijn er meerdere mogelijkheden als je niet aan deze voorwaarden kan/wil voldoen en toch direct met een generiek openwrt image aan de gang wil! Hoe dit opgelost kan worden en of dit in jouw situatie opgelost hoeft te worden kun verderop lezen bij het hoofdstukje comBIOS en grub Bootloader. |
39 | | Omdat de Soekris machines niet over een VGA en toetsenbord aansluiting beschikken en dat voor de meeste mensen een normale manier is om een computer in te regelen is een seriele console de enige manier om de boot-cyclus/strap met BIOS te beinvloeden op de soekris, vooral handig voor uitgebreid recoveren van systemen zonder CF-Kaart. Later kan via het netwerk met webinterface (gui) of telnet/ssh (cli) wanneer openwrt zelf al actief is deze verder ingeregeld worden waardoor de seriele verbinding niet nodig is. De kant en klare x86 images van openwrt hebben standaard hun seriele console werkend op 38400, zowel in de bootloader modus (grub) als de kernelbootlog en uiteindelijke systeem init console. Dit i.t.t. tot de standaard Soekris comBIOS seriele snelheid die vaak 19200 of zelfs 9600 baud is. Om tijdens de hele bootcyclus/bootstrap vanaf de soekris comBIOS, bootloader grub, kernel/boot tot aan de console van openwrt zelf een werkend beeld en toetsenbord aansturing te hebben is het van belang dat al deze fasen op dezelfde seriele settings staan, bij een pc wil je immers ook niet dat in bepaalde fasen van het opstarten het beeld verdwijnt of de toetsenbord invoer niet werkt. In het geval van de soekris met verkeerde instellingen verdwijnt het beeld meestal niet maar wordt onleesbaar en is verdere toetsenbord-interactie in een bepaalde fase uitgesloten. |
| 56 | Omdat de Soekris machines niet over een VGA en toetsenbord aansluiting beschikken en dat voor de meeste mensen een normale manier is om een computer in te regelen is een seriele console de enige manier om de boot-cyclus/strap met BIOS te beinvloeden op de soekris, vooral handig voor uitgebreid recoveren van systemen zonder CF-Kaart. Later kan via het netwerk met webinterface (gui) of telnet/ssh (cli) wanneer openwrt zelf al actief is deze verder ingeregeld worden waardoor de seriele console verbinding niet nodig is. De kant en klare x86 images van openwrt hebben standaard hun seriele console werkend op 38400, zowel in de bootloader modus (grub) als de kernelbootlog en uiteindelijke systeem init console. Dit i.t.t. tot de standaard Soekris comBIOS seriele snelheid die vaak 19200 of zelfs 9600 baud is. Om tijdens de hele bootcyclus/bootstrap vanaf de soekris comBIOS, bootloader grub, kernel/boot tot aan de console van openwrt zelf een werkend beeld en toetsenbord aansturing te hebben is het van belang dat al deze fasen op dezelfde seriele settings staan, bij een pc wil je immers ook niet dat in bepaalde fasen van het opstarten het beeld verdwijnt of de toetsenbord invoer niet werkt. In het geval van de soekris met verkeerde instellingen verdwijnt het beeld meestal niet maar wordt onleesbaar en is verdere toetsenbord-interactie in een bepaalde fase uitgesloten. |
95 | | === tftp / pxe boot === |
96 | | Wanneer je een soekris hebt zonder CF external storage zoals de 4826 met 64MB onboard flash, kun je wellicht een image op de soekris zetten als deze in zijn eigen voormalige OS is gestart en deze zich zelf domweg laat overschrijven van binnenuit. Je moet dan wel de enige kennis van FREEBSD hebben en een root wachtwoord om het kastje in te komen. |
97 | | |
98 | | Na inloggen op de op freebsd gebasseerde soekris, moet je de root disk als write mounten zodat je een nieuwe image bestand vanaf het netwerk kan inladen. Dit doe je door "mount -uw /". Met scp of wget/curl laad je een nieuwe image er naar toe. Met chmod 777 geef je iedereen toegang tot dit bestand. Vervolgens moet je in bsd met "sysctl" alsnog een bepaalde flag vrijgeven om het commando dd toegang tot de bootsector/schijven in gebruik te geven zodat deze hem mag overschrijven. sysctl -w kern.geom.debugflags=16 via command line of echo "kern.geom.debugflags: 0-> 16" >> /etc/sysctl.conf. Nu kun je met dd bs=64K het bestand in het geheugen zetten, wanneer die klaar direct stroom eraf en het kastje is geflashed. |
99 | | |
100 | | Wel zou de image dan met een hex editor moeten zijn bewerkt om de optie "console" uit het boot bestand te verwijderen, of de soekris zou de optie ConMute op enabled moeten hebben staan in comBIOS. Beide twijfelachtige procedures leiden waarschijnlijk tot een niet started systeem dus de laatste en beste permanente optie is de soekris via comBIOS inregelen en laten netwerkbooten in tftp / PXE in een livesessie van het OS en dan via het netwerk een image dd'en en vervolgens herstarten van de interne flash i.p.v. pxe. |
101 | | |
102 | | Voor het recoveren / installeren van openwrt op soekris boarden zonder CF-kaart moet naast een werkende serial console verbinding met comBIOS, een tftp / pxe / bootpserver worden opgezet. Via serial interface tussen PC en Soekris kan deze vanuit comBIOS geinstrueerd worden om met PXE op te starten. Wanneer de toetsen CTRL + P tijdens de comBIOS bootstrap worden ingetoetst kun je met het commando "boot F0" de soekris naar een PXE boot forceren. |
103 | | |
104 | | De tftp server die ik in debian heb opgezet heeft de volgende paketten en instellingen nodig: "isc-dhcp-server + tftp-hpa". |
105 | | |
107 | | De openwrt images gebruiken "grub" als bootloader wel de oude legacy versie, ondanks dat je het weinig of wellicht nooit zal zien in het gebruik van openwrt is het gemakkelijk om bootopties te wijzigen of toe tevoegen bijvoorbeeld memtest86+. Aangezien de oude soekris boarden een dubieus karakter hebben is het uitsluiten van onbetrouwbaar vastgesoldeerd ram geheugen het minste wat je kan doen dus memtest86+ draaien. Opmerking de soekris 4501 en 4526 (de oudere 486based boarden) werken niet met de laatste versie van memtest86+, zodra memtest86+ start herstart deze de hele computer. Versies die wel werken zijn 2.00-4.10 en kun je direct in binary laden van [http://www.memtest.org/download/ memtest86+ old binaries]. |
108 | | |
109 | | Voeg de volgende optie toe aan het grub config bestand /boot/grub/menu.lst en je kan daarna eenvoudig de soekris op brak ram geheugen laten testen indien gewenst. |
| 117 | De openwrt images gebruiken "grub" als bootloader (wel de oude legacy versie), je zal grub weinig of wellicht nooit zien of hoeven aan te passen, mits OpenWRT tenminste kan booten (opstarten). Zo niet dan is het relatief makkelijk om in een enkel configuratie bestand "menu.lst" voor grub of het OS(openwrt of memtest86 payload) specifieke opties/parameters te wijzigen of toe tevoegen zodat deze wel kan booten. |
| 118 | |
| 119 | De OpenWRT x86 generieke images bestaan uit twee partities, de eerste is een bootpartitie met ext2 of ext4 filesystem dat direct op je client pc/laptop via de filebrowser is te benaderen wanneer je deze naar de CF-card heb geschreven. Vanaf daar kan je het grub configuratie bestand "/boot/grub/menu.lst" bijwerken (wellicht met sudo rechten). |
| 120 | |
| 121 | Het volgende probleem kan zich helaas voor doen met soekris bootende van de x86 generieke openwrt images van de openwrt website! Wanneer de soekris boot(opstart) onafhankelijk zonder seriele PC connectie (zoals je hem in het veld tegenkomt) en de comBIOS optie ConMute=Enabled ontbreekt, is de kans groot dat de soekris hangt tijdens de boot cyclus voor/op het grub-bootloader keuze menu. Hij wacht daar op een bevestiging om door te gaan met normal booten of recovery booten... |
| 122 | |
| 123 | Gelukkig is voor een soekrisboard dat niet aan de comBIOS voorwaarde kan/wil voldoen toch een oplossing om een generieke x86 image van de openwrt website te kunnen gebruiken! Wanneer op de eerste partitie van de CF-kaart/image uit de bootloader config file "/boot/grub/menu.cfg" de optie "console" verwijderd wordt, boot de Soekris probleemloos onafhankelijk zonder PC met serial-console! Voor de CF gebaseerde systemen (Soekris 4501/4521/4801) is deze grub optie op de CF-kaart zo te veranderen en kun je in enkele minuten al aan de slag volgende commando's. '' CF-kaartloze systemen zoals de 4826 met OnboardFlash(Solderd) kun je niet door eventjes de grub bootloader opties te tweaken direct voorzien van openwrt, maar zal via serial-console in comBIOS een PXE netwerk boot moeten doen. Zie PXE/tftp '' |
| 124 | |
| 125 | {{{ |
| 126 | #download openwrt image to your client pc/laptop which has a CF card-reader |
| 127 | wget http://downloads.openwrt.org/attitude_adjustment/12.09/x86/generic/openwrt-x86-generic-combined-squashfs.img |
| 128 | |
| 129 | #warning dd will overwrite anything and can destroy data in a inrecoverable fashion on your own PC!!! |
| 130 | #write bootable image directly to CF-CARD |
| 131 | sudo# dd if=openwrt-x86-generic-combined-squashfs.img of=/dev/sdX |
| 132 | |
| 133 | #if you don't have ConMute=Enabled in comBIOS nor have a serial |
| 134 | #cable active console with soekris follow the following 3 steps |
| 135 | |
| 136 | #0#re-insert CF-CARD in card-reader after writing openwrt image! |
| 137 | |
| 138 | #1#mount the first partition on the CF-CARD if re-insert didn't do it |
| 139 | sudo mkdir /mnt/booooot |
| 140 | sudo mount /dev/sdX1 /mnt/booooot #sdX is de device name of the CF-CARD |
| 141 | |
| 142 | #2#remove the word "console" from the file /boot/grub/menu.lst |
| 143 | #both at the top of the file related to grub itself |
| 144 | #and at the kernel boot parameters including "console=tty0" |
| 145 | sudo nano /mnt/booooot/boot/grub/menu.lst |
| 146 | |
| 147 | #3#unmount and eject CF-CARD |
| 148 | sudo umount /mnt/booooot |
| 149 | sudo rmdir /mnt/boooot |
| 150 | |
| 151 | #finish |
| 152 | place the CF-CARD in the soekris and boot! |
| 153 | }}} |
| 154 | |
| 155 | ==== Memtest86 ==== |
| 156 | Aangezien de oude soekris boarden een dubieus karakter hebben is het uitsluiten van onbetrouwbaar vastgesoldeerd ram geheugen het minste wat je kan doen dus memtest86+ draaien. Opmerking de soekris 4501 en 4526 (de oudere 486based boarden) werken niet met de laatste versie van memtest86+, zodra memtest86+ start herstart deze de hele computer. Versies die wel werken zijn 2.00-4.10 en kun je direct in binary laden van [http://www.memtest.org/download/ memtest86+ old binaries]. |
| 157 | |
| 158 | Voeg de volgende optie toe aan het grub config bestand /boot/grub/menu.lst en kopier de juiste memtest86 binaries in de map /boot/ op de CF-CARD je kan daarna eenvoudig de soekris op brak ram geheugen laten testen, als je dit kiest vanuit het bootloader menu de eerst volgende keer dat je hem start! |
118 | | === wifi senao cards === |
| 167 | === self overwrite === |
| 168 | Wanneer je een soekris hebt zonder CF external storage zoals de 4826 met 64MB onboard flash, maar die nog wel FreeBSD boot kun je wellicht een openwrt image op de soekris zetten als deze in zijn eigen voormalige OS is gestart en deze zich zelf domweg laat overschrijven van binnenuit. Je moet dan wel de enige kennis van FREEBSD hebben en een werkende ethernet/wifi toegang tot de shell en root wachtwoord om het oude node kastje te komen. Pluis eerst uit hoe je achter het ip-adres komt van de freebsd node image zodat je kan inloggen? |
| 169 | |
| 170 | Na inloggen op de op freebsd gebasseerde soekris, moet je de root disk als write mounten zodat je een nieuwe image bestand vanaf het netwerk kan inladen. Dit doe je door "mount -uw /". Met scp of wget/curl laad je een nieuwe image er naar toe. Met chmod 777 geef je iedereen toegang tot dit bestand. Vervolgens moet je in bsd met "sysctl" alsnog een bepaalde flag vrijgeven om het commando "dd" toegang tot de bootsector/schijven te geven zodat deze hem mag overschrijven. sysctl -w kern.geom.debugflags=16 via command line of echo "kern.geom.debugflags: 0-> 16" >> /etc/sysctl.conf. Nu kun je met dd bs=64K het bestand in het geheugen zetten, wanneer die klaar direct stroom eraf en het kastje is geflashed. |
| 171 | |
| 172 | Echter werkt deze goochel truc alleen als de openwrt image al met een hex editor is bewerkt om de optie "console" uit het boot bestand te verwijderen, of die soekris zou de optie ConMute=Enabled al moeten hebben in comBIOS. Deze twijfelachtige voorwaarden leiden waarschijnlijk tot een niet started systeem. De enige correcte oplossing voor de soekris 4826 is via comBIOS een PXE network boot te doen! |
| 173 | |
| 174 | === PXE BOOT client=== |
| 175 | Voor het installeren/images van openwrt op soekris boarden zonder CF-kaart moet naast een werkende serial console verbinding met comBIOS, een pxe tftp+dhcp/bootpserver worden opgezet en er een ethernet link tussen de soekris als pxe client en pxe server aanwezig zijn. Via serial interface tussen PC en Soekris kan de soerkis vanuit comBIOS geinstrueerd worden om via PXE netwerk boot op te starten. Wanneer de toetsen CTRL + P tijdens de comBIOS bootstrap worden ingetoetst (snel genoeg binnen 5 seconden) kun je met het commando "show" de huidige PXE bootvoorwaarden aanwezig zijn:PCIROMS=Enabled en PXEBoot=Enabled. Wanneer dat niet zo is corrigeer deze, reboot en keer terug via CTRP + P. Je kan nu via "boot F0" de soekris naar een PXE boot forceren. Zie hoofdstuk aan het eind om "PXE-BOOT server" op te zetten. |
| 176 | |
| 177 | === OpenWRT === |
| 178 | In dit hoofdstuk zullen een paar basics worden besproken hoe je in openwrt (dat nu waarschijnlijk al wel op je soekris staat/draait als je CF-card voorbereid en geplaatst heb) moet inloggen, config bestanden aanpassen of terug plaatsen. |
| 179 | |
| 180 | Openwrt zelf heeft een unieke en uiterst volledig consistente doch gedecentraliseerde versnipperde handleiding, sorry kon het niet laten ;-) hebben meerdere OS's last van. Her en der zul je het een en ander bij elkaar kunnen/moeten googlen via wiki en forum pagina's op hun eigen website en voorbeelden van andermans blogs en creaties zoals deze hier of een mailinglist... Ze zijn er wel mee bezig... Na het laden van een generieke openwrt image, is net dat ene kleine beetje inzicht nodig om het werkend/sluitend in een bepaalde configuratie te krijgen waar het niet voor ontworpen is. Dit gaat op een van de 3 volgende manieren: |
| 181 | |
| 182 | * via de webinterface |
| 183 | * via de cli met programmeer taal uci |
| 184 | * direct in de cli met bestandjes editen |
| 185 | |
| 186 | Deze laatste heeft de voorkeur omdat die het meest consistent is en het makkelijker is om naar textbestanden te verwijzen in mappen dan knopjes in een webinterface, de webinterface word namelijk nogal gerestyled of is traag op apparaten met 16MB ram. |
| 187 | |
| 188 | ==== Firstboot ==== |
| 189 | Een generieke openwrt image is via serial-console of netwerk(ethernet) te bereiken op 192.168.1.1, stel je client pc/notebook in op dhcp verkrijgbaar ip-adres of op een static ip address om de openwrt router te benaderen. |
| 190 | |
| 191 | {{{ |
| 192 | #login via telnet |
| 193 | telnet 192.168.1.1 |
| 194 | |
| 195 | #or |
| 196 | |
| 197 | #login via minicom |
| 198 | sudo minicom |
| 199 | |
| 200 | #add default password requirment! |
| 201 | passwd |
| 202 | |
| 203 | #reboot so rootfs will certainly be writable next boot |
| 204 | reboot;exit |
| 205 | |
| 206 | #login again, but with ssh or minicom |
| 207 | ssh root@192.168.1.1 |
| 208 | |
| 209 | #backup original config files |
| 210 | cp -r /etc/config /etc/config.ori |
| 211 | }}} |
| 212 | |
| 213 | ==== Shell / CLI ==== |
| 214 | Wanneer je in de openwrt router bent ingelogd via SSH, moet je je daar langzaam thuisvoelen in de shell omgeving. Dit lijkt op voor de leken op MSDOS, maar dan on steroids. Wanneer je je in de shell kan verplaatsen kun je je gaan richten op bepaalde configuratie bestanden en services binnen openwrt. Een korte introductie van de shell kan nog volgen wellicht plaatsen we dat onder algemeen omdat het veel overeenkomsten met shell van bsd en andere posix georienteerde OS's heeft... |
| 215 | |
| 216 | De volgende stap is tekst bestandjes editen met het programma "vi" wanneer je dat handigheidje doorkrijgt kun je daadwerkelijk je router gaan configureren. |
| 217 | |
| 218 | ==== Router + NAT ==== |
| 219 | Om OpenWRT als basis router te laten fungeren moet er naast een locale lan interface een wan interface opgegeven worden. Dit doe je door .... |
| 220 | |
| 221 | {{{ |
| 222 | #add wan interface |
| 223 | vi /etc/config/network #see example code! |
| 224 | |
| 225 | #to make new settings active restart network interfaces! |
| 226 | /etc/init.d/network restart |
| 227 | |
| 228 | #connect the soekris via wan interface |
| 229 | #directly to the local router with internet! |
| 230 | }}} |
| 231 | |
| 232 | ==== hostname ===== |
| 233 | |
| 234 | ==== ntp ==== |
| 235 | |
| 236 | ==== portforwarding ==== |
| 237 | |
| 238 | ==== opkg packet manager ==== |
| 239 | |
| 240 | ==== wifi senao cards ==== |
165 | | === wifi atheros upgrade/patch === |
166 | | Naast dat de prism gebaseerde senao kaarten een firmware upgrade nodig hadden om goed te functioneren, hebben de atheros kaarten bij levering eigenlijk een specifieke landcode nodig in de firmware, de default regdomain code 0x0 debugmode word in de nieuwe linux kernels opgemerkt als US waardoor channel 12-13 op de 2,4ghz en een aantal kanalen op de 5ghz wegvallen en niet direct bruikbaar zijn in native builds van openwrt. Via de Windows tool RCU.exe en de atheros driver van Commview kan wanneer pin13 op de minipci kaart is afgeplakt deze eenvoudig worden gefixed op de juiste regio. Voor europa is ETSI1_WORLD 0x37 als regdomain aan te raden. Via linux kan via ath_info onderdeel van de madwifi driver vaak alleen via een oudere kernel ook het regdomain worden gepatched. Soms moet er nog wel een bepaalde register op de kaart aan of uit geschakeld worden bijvoorbeeld 1:0 4:0. |
| 287 | ==== wifi atheros upgrade/patch ==== |
| 288 | Naast dat de prism gebaseerde senao kaarten een firmware upgrade nodig hadden om goed te functioneren, hebben de atheros kaarten bij levering eigenlijk een specifieke landcode nodig in de firmware, de default regdomain code 0x0 debugmode word in de nieuwe linux kernels opgemerkt als US waardoor channel 12-13 op de 2,4ghz en een aantal kanalen op de 5ghz wegvallen en niet direct bruikbaar zijn in native builds van openwrt. Via de Windows tool RCU.exe en de atheros driver van Commview kan wanneer pin13 op de minipci kaart is afgeplakt (PLAKBAND ;-) deze eenvoudig worden gefixed op de juiste regio. Voor europa is ETSI1_WORLD 0x37 als regdomain aan te raden. Via linux kan via ath_info of eth-tool onderdeel van de madwifi driver vaak alleen via een oudere kernel ook het regdomain worden gepatched. Soms moet er nog wel een bepaalde register op de kaart aan of uit geschakeld worden bijvoorbeeld 1:0 4:0. |
169 | | |
170 | | Onafhankelijk, zonder seriele PC connectie, is de kans groot dat de soekris hangt tijdens de boot cyclus op de grub-bootloader en wacht op bevestiging om door te gaan met booten... Dit terwijl je verwacht dat het board zonder inmenging en zelfstandig kan opstarten. Echter wanneer op de eerste partitie van de CF-kaart/image uit de bootloader config file "/boot/grub/menu.cfg" de optie "console" verwijderd wordt, boot de Soekris probleemloos onafhankelijk, dus zonder PC met serial console en hoef je niet direct comBIOS in! Voor de CF gebaseerde systemen (Soekris 4501/4521/4801) is die grub optie op de CF-kaart zo te veranderen en kun je in enkele minuten al aan de slag. Een andere definitieve oplossing voor systemen zonder CF-kaart, zoals de Soekris 4826, alsook systemen met CF-kaart, is via de seriele console de comBIOS optie ConMute op Enabled zetten, echter voor de CF-kaartloze systemen zoals de 4826 moet je sowieso via serial de comBIOS in om deze met PXE boot op te starten en vanuit een live sessie een openwrt-image naar het onboard flashgeheugen te schrijven, maar dan heb je ook wat ;-) |
171 | | |
172 | | === manual / handleiding === |
173 | | Openwrt heeft een unieke en uiterst volledig consistente doch gedecentraliseerde versnipperde handleiding, sorry kon het niet laten ;-). Her en der zul je het een en ander bij elkaar moeten googlen via wiki en forum pagina's op hun eigen website en voorbeelden van andermans blogs en creaties zoals deze hier. Naast het laden van een openwrt image, is net dat ene kleine beetje inzicht nodig om het vaak werkend op een bepaald apparaat waar het niet voor ontworpen is werkend te krijgen. Dit kan vaak wel op 3 verschillende manieren. Via de webinterface (als je daar al bij kan) via de cli met programmeer taal uci en direct in de cli met bestandjes editen. |
| 291 | Met wat eigenlijk? Met doosjes hardware(soekris boards/wifi uitbreidingen) en software als referentie of functionaliteiten zoals router en accesspoint opzetten en de hardware software instellingen ondersteunend maken aan dat verhaal? Ik heb het nu aan de hand van de hardware beschreven, tegelijk met het mixen van functionaliteiten zonder die direct altijd te benoemen en ook nog eens met verschillende openwrt versies... dit moet nog opgeschoond worden. |
| 292 | |
| 293 | Het eerste doel is een router op te zetten, die qua functionaliteit overeenkomt met de router in een huis tuin en keuken accesspoint van een reguliere interprovider, daarbij wifi toevoegen en mogelijk wat meer. |
190 | | #cable active console with soekris follow the following 3 steps |
191 | | |
192 | | #1#mount the first partition on the CF-CARD |
193 | | sudo mkdir /mnt/booooot |
194 | | sudo mount /dev/sdX1 /mnt/booooot |
195 | | #2#remove the word "console" from the file /boot/grub/menu.lst |
196 | | sudo nano /mnt/booooot/boot/grub/menu.lst |
197 | | #3#unmount and eject CF-CARD |
198 | | sudo umount /mnt/booooot |
199 | | sudo rmdir /mnt/boooot |
200 | | }}} |
201 | | |
202 | | Plaats de CF-CARD in de soekris, en sluit een losse lan/poe kabel aan op de eth0 port van de soekris (verst verwijderd vanaf de pcmcia-sloten) direct op je PC aan. Je PC zal via dhcp automatisch een ip van de soekris krijgen, de port is namelijk ingesteld als lokaal LAN en de tweede ethernet port werkt nog niet! |
| 310 | #cable active console with soekris follow the steps at chapter "grub boot loader" |
| 311 | }}} |
| 312 | |
| 313 | Plaats de CF-CARD in de soekris, en sluit een losse lan/poe kabel van eth0 port op de soekris (dichtst bij de voeding) direct op je PC aan. Je PC zal via dhcp automatisch een ip van de soekris krijgen zo niet, de port is namelijk ingesteld als lokaal LAN en de tweede/derde ethernet port moet ook geconfigureerd worden! |