Changes between Version 20 and Version 21 of WikiStart


Ignore:
Timestamp:
Nov 7, 2013, 12:27:09 AM (12 years ago)
Author:
walter
Comment:

opzet uitbreiden

Legend:

Unmodified
Added
Removed
Modified
  • WikiStart

    v20 v21  
    1414Het doel van dit project is voor de Soekris-boarden en bijbehorende hardware, start klare 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 test netwerk te bouwen zodat met OLSR / MESH etc geexperimenteerd kan worden.
    1515
    16 == OpenWRT ==
     16De 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 kan inregelen webinterface/ssh een naam kan geven tijd inregelen en interfaces ingesteld kunnen worden bedraad en draadloos, binnen en buiten wereld WAN-LAN concept begrijpen, porten forwarden packages installeren gaan we kijken hoe we een zelfstandige WirelessLeiden node kunnen realiseren met captive portal en proxy. Vervolgens meerdere van deze los staande soekris Wireless Leiden routers onderling met elkaar kunnen laten communiceren zoals nodes op een WirelessLeiden netwerk kortom het concept routing. Dit uitbouwen zodat je de uplink/gateway verbindingen van het ene soekris board kan delen met een andere soekris board die zelf niet direct 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.
     17
     18== OpenWRT op Soekris 45xx/48xx boards ==
     19
     20=== Software ===
    1721Zowel kant en klare x86 images van 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. De gewenste type images zijn "combined-squashfs" images en "combined-extN" images, hierin "combined" zit namelijk zowel de boot partitie met kernel en root partitie. Op sommige embedded systemen is het mogelijk direct de kernel en het rootfs te uploaden omdat er dan een bootloader in het systeem zelf zit die deze kan opstarten. De soekris boarden gedragen zich netals x86 systemen die gewoon via een MBR bootstrap op een ide disk een bootsector willen laden die weer naar de bootloader verwijst "grub" en dat laatste de kernel. Het eerste type "squashfs" zal grotendeels in het ram de wijzigingen doorvoeren en alleen enkele wijzigingen gecomprimeerd naar de disk terug schrijven via JFFS2, voordeel hiervan is dat deze versie de geheugenkaart spaard "wear level protection" en tevens een failsafe "factory reset" mogelijk maakt. 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 tevens niet mogelijk.
    1822
    19 Houd er overigens wel rekening mee dat de standaard openwrt images alleen booten op een Soekris als deze direct via serial console op een continu draaiende PC is aangesloten (sic), onafhankelijk zonder PC connectie pauzeert de boot cyclus namelijk op de grub bootloader! Echter wanneer op de eerste partitie van de CF-kaart/image uit de bootloader config file "/boot/grub/menu.cfg" de optie "console" verwijdert word, boot de Soekris probleemloos onafhankelijk zonder PC met serial console! Voor de CF gebasseerde 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. Voor de systemen zonder CF kaart zoals de Soekris 4826 betekent het dat je waarschijnlijk met uitgebreidere/moeizame ouderwetse seriele console en met tftp/pxe aan de gang moet, mits ConMute enabled staat in de comBIOS op dit model die de verkeerde bootloader opties kan negeren!
    20 
    21 == serial console ==
    22 Omdat de Soekris machines niet over een VGA en toetsenbord aansluiting beschikken is een serial console de enige manier om de bootcyclus en BIOS te beinvloeden, vooral handig voor uitgebreid recoveren van systemen zonder CF-Kaart. De kant en klare x86 images van openwrt hebben standaard hun serial console werkend op 38400, zowel in de bootloader modus (grub) als de kernellog en uiteindelijke systeem console. Dit i.t.t. tot de standaard Soekris comBIOS serial speed die vaak 19200 is. Om tijdens de hele bootcyclus/bootstrap vanaf de soekris comBIOS, bootloader grub, kernel/boot tot aan de console een werkend beeld en keyboard aansturing te hebben is het van belang dat al deze fases op dezelfde serial settings staan. Anders verdwijnt het beeld of word onleesbaar en is verdere keyboard interactie in een bepaalde fase uitgesloten.
    23 
    24 Om serial in te loggen zullen we eerst "minicom" installeren en configureren dit laatste zal waarschijnlijk meerdere keren moeten om iedere afwijkende fase van het booten tot het os te kunnen bereiken. Handig is om eenmalig de serial snelheid in de comBIOS van de soekris gelijk te zetten naar die van de bootloader/bootconsole/terminal. *Goedkope usb-serial dongles werken niet altijd lekker met hoge com snelheden!
     23Houd er overigens wel rekening mee dat de standaard openwrt images alleen booten op een Soekris board als deze de juiste comBIOS optie ConMute=Enabled aan heeft of direct actieve serial console verbinding met draaiende PC heet tijdens het booten van de soekris(sic), onafhankelijk zonder PC connectie hangt de boot cyclus namelijk op de grub bootloader en wacht op bevestiging om door te gaan... Dit terwijl je verwacht dat het board zonder inmenging uit zichzelf 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" verwijdert word, boot de Soekris probleemloos onafhankelijk zonder PC met serial console en hoef je niet direct comBIOS in! Voor de CF gebasseerde 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 alsnog systemen met CF-kaart is via seriele console de comBIOS optie ConMute op Enabled zetten, echter voor de CF-kaart-loze systemen zoals de 4826 moet je zowieso via serial 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 ;-)
     24
     25=== serial console ===
     26Omdat 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 serial console de enige manier om de bootcyclus met BIOS te beinvloeden, vooral handig voor uitgebreid recoveren van systemen zonder CF-Kaart. Via een netwerk console kan wanneer openwrt actief is verder ingeregeld worden waardoor de seriele verbinding niet nodig is. De kant en klare x86 images van openwrt hebben standaard hun serial console werkend op 38400, zowel in de bootloader modus (grub) als de kernelbootlog en uiteindelijke systeem console. Dit i.t.t. tot de standaard Soekris comBIOS serial speed die vaak 19200 of zelfs 9600 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 keyboard aansturing te hebben is het van belang dat al deze fases op dezelfde serial settings staan. Anders verdwijnt het beeld of word onleesbaar en is verdere keyboard interactie in een bepaalde fase uitgesloten.
     27
     28Om serial in te loggen zullen we eerst "minicom" installeren en configureren op de PC waarmee we soekris inregelen. Dit zal waarschijnlijk meerdere keren moeten om iedere afwijkende fase van het booten tot het os te kunnen bereiken. Handig is om eenmalig de serial snelheid in de comBIOS van de soekris gelijk te zetten naar die van de bootloader/bootconsole/terminal. *Goedkope usb-serial dongles werken niet altijd lekker met hoge com snelheden!
    2529
    2630{{{
     
    5155}}}
    5256
    53 == comBIOS ==
    54 Dit is de naam van de BIOS op de soekris boarden. Hierin kun je verschillende systeem en boot gerelateerde parameters vastzetten zoals de serial port snelheid "ConSpeed" en fixen dat een onaangepaste openwrt image niet blijft hangen in de grub bootloader door "ConMute" op enable te zetten. Tevens kun je vanuit comBIOS het systeem via network laten booten "PXE" of comBIOS upgrades uitvoeren.
    55 
    56 Je hebt ongeveer 2-5 seconden na het aanzetten van de soekris om de comBIOS in te komen met het intoetsen van de CTRL-P toets combinatie! Dan moet je ook toevallig de juiste serial settings hebben voor die fase anders zie en kun je alsnog niets, dit kan met de gebruikte soekris boarden met verscheidene instellingen een trial & error werkwijze zijn. Als je de goede serial instellingen heb, dan zie je vanzelf BIOS/POST messages voorbij komen wanneer de soekris aangaat als je minicom hebt gestart. Je ziet dan tevens de comBIOS post melding voorbijkomen dat je met CTRL-P de comBIOS in kan! *Daarentegen als de comBIOS parameter ConMute=Enabled stond dan blijft het beeld altijd zwart en zie je alleen grub of de bsd bootloader. Mits je direct na het aanzetten van het apparaat CTRL-P indrukt komt je alsnog in comBIOS!
     57=== comBIOS ===
     58Dit is de naam van de BIOS op de soekris boarden en word benaderd via een serial interface. Hierin kun je verschillende systeem en boot gerelateerde parameters vastzetten zoals de serial port snelheid "ConSpeed" en fixen dat een onaangepaste openwrt image niet blijft hangen in de grub bootloader door "ConMute" op Enable zetten. Tevens kun je vanuit comBIOS het systeem via network laten booten "PXE" of comBIOS upgrades uitvoeren.
     59
     60Je hebt ongeveer 2-5 seconden na het aanzetten van de soekris om de comBIOS in te komen met het intoetsen van de CTRL-P toets combinatie! Dan moet je ook toevallig de juiste serial settings hebben voor die fase anders zie en kun je alsnog niets, dit kan door het wisselend gebruik van de oude soekris boarden met verscheidene instellingen een trial & error werkwijze zijn. Als je de goede serial instellingen heb, dan zie je vanzelf BIOS/POST messages voorbij komen (mits conmute op disabled staat ;-) wanneer de soekris aangaat als je op de client PC minicom hebt gestart. Je ziet dan tevens de comBIOS post melding voorbijkomen dat je met CTRL-P de comBIOS in kan! *Daarentegen als de comBIOS parameter ConMute=Enabled stond dan blijft het beeld altijd zwart en zie je alleen grub of de bsd bootloader. Mits je direct na het aanzetten van het apparaat CTRL-P herhaaldelijk indrukt komt je alsnog in comBIOS!
    5761
    5862{{{
     
    7276}}}
    7377
    74 De laatste bios update beschikbaar voor deze serie soekris boarden is 1.33. Letop dat je wel de goede serie kiest 45xx of 48xx voor het upgraden! Updaten via minicom werkt met een omweg maar kan prima op een serial snelheid van 38400, mits je verbinding stabiel is (dus geen goedkope usb>serial dongle)! Je boot naar de comBIOS met CTRL-P en typt daar het commando "download -" met een dash! Vervolgens suspend je de sessie naar de background met "CTRL-a J" en dan in de foreground virtuele terminal ga je handmatig het bios bestand uit je homedir pushen met dit commando "sx -X /root/b45xx_133.bin > /dev/ttyS0 < /dev/ttyS0" na een kleine minuut krijg je de melding 680 blocks ok en kun je met het commando "fg" terug naar de minicom sessie waar je in comBIOS het commando "flashupdate" intypt en vervolgens "reboot".
    75 
    76 == tftp / pxe boot ==
    77 Wanneer je een soekris hebt zonder 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 zich domweg laat overschrijven. 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 optie is de soekris via comBIOS laten netwerkbooten in tftp / PXE via het netwerk een image pushen en deze via de serial console verder in te richten.
    78 
    79 Voor het recoveren / installeren van 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.
    80 
    81 De tftp server die ik in debian heb opgezet heeft de volgende paketten nodig: "isc-dhcp-server + tftp-hpa".
    82 
    83 == grub bootloader ==
     78De laatste bios update beschikbaar voor deze serie soekris boarden is 1.33. Letop dat je wel de goede serie kiest 45xx of 48xx voor het upgraden! Tevens dat de upgrade van de 45xx boarden in 2 fases verloopt eerst een upgrade naar pre 1.20 daarna een post 1.20 upgrade. Updaten via minicom werkt met een omweg maar kan prima op een serial snelheid van 38400, mits je verbinding stabiel is (dus geen goedkope usb>serial dongle)! Je boot naar de comBIOS met CTRL-P en typt daar het commando "download -" met een dash! Vervolgens suspend je de sessie naar de background met "CTRL-a J" en dan in de foreground virtuele terminal ga je handmatig het bios bestand uit je homedir pushen met dit commando "sx -X /root/b45xx_133.bin > /dev/ttyS0 < /dev/ttyS0" na een kleine minuut krijg je de melding 608 blocks ok en kun je met het commando "fg" terug naar de minicom sessie waar je in comBIOS het commando "flashupdate" intypt en vervolgens "reboot". Het is handig dit vanuit de root user op je client machine te doen aangezien anders met pipes en redirect de boel niet lekker loopt!
     79
     80=== tftp / pxe boot ===
     81Wanneer je een soekris hebt zonder 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 zich domweg laat overschrijven. Je moet dan wel de enige kennis van FREEBSD hebben en een root wachtwoord (geom debugflags 16). 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.
     82
     83Voor 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.
     84
     85De tftp server die ik in debian heb opgezet heeft de volgende paketten en instellingen nodig: "isc-dhcp-server + tftp-hpa".
     86
     87=== grub bootloader ===
    8488De 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 memtest, zodra memtest 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].
    8589
     
    9397}}}
    9498
    95 == soekris 4501 ==
     99=== soekris 4501 ===
    96100Werkt met standaard image ook prima, net als de 4521 tevens net zo traag ;-).
    97101
    98 == soekris 4521 ==
     102=== soekris 4521 ===
    99103Ondanks dat de meeste hardware direct is aan te spreken gaan de pcmcia sloten pas werken als daarvoor de juiste (kant en klare) pakketjes uit de reposity zijn geladen, dit geld voor zowel backfire als attitude adjustment. Maar het laden uit de repository gaat pas werken wanneer het board via de "wan" aansluiting op het internet is aangesloten. Echter de "wan" aansluiting is standaard in de network config afwezig, ondanks dat de soekris standaard over twee ethernet adapters beschikt eth0(poe+lan) eth1(). Daarom moet er eerst een wan interface worden toegevoegd en eth0 bij de lan vervangen worden door eth1 en eth0 bij de wan plaatsen. Vervolgens nog firewall rules toevoegen zodat je via diezelfde wan interface kan managen met ssh/http. Tenslotte kun je dan pas na de reboot het board met de pakket manager verder configureren. Nu eerst de CF kaart voorbereiden!
    100104
     
    233237Stabiliteit PCMCIA bus hangt af van mogelijke bootparameters, irq bezetting en memoryranges. Voor 10.0.3.1 zorgt de boot parameter (TODO wel nog even checken of /etc/pcmcia/conf.opt speciale settings in 12.09 nodig heeft, irqpoll is no wifi). Bij de 10.03.1 kan "irqpoll" er juist voor zorgen dat de pcmcia bus het systeem niet doet freezen. Dit freezen houd in dat wanneer de pcmcia kaart verwijdert word het systeem direct weer reageert en niet is vastgelopen, dit komt uit eigen ervaring ook voor op laptops en kan met boot parameter "irqpoll" verholpen worden.
    234238
    235 == soekris 4801 ==
     239=== soekris 4801 ===
    236240Setup idem as 4521/4501?
    237241
     
    317321}}}
    318322
    319 == soekris 4826 ==
     323=== soekris 4826 ===
    320324Dit board zonder CF kaart moet waarschijnlijk wel via de serial port aansturen tot een tftp / PXE boot om openwrt te laden, maar wanneer het er eenmaal opstaat kun je blijven experimenteren. USB headers onboard kan direct een werkende usbport van gemaakt worden. Deze usb port kan via plop bootmanager geboot worden (mits syslinux op de usb staat ipv grub). Openwrt moet dan als die op de usbstaat met extroot werken en usb modules in de image hebben.
    321325
    322 == senao wifi ==
     326=== wifi senao cards ===
    323327Oud doch bruikbaar zelfs met WPA2 CCMP in AP mode, tenminste als je weet hoe. Het gaat hier om de volgende twee prism2.5 gebasseerde wifi kaarten:
    324328* pcmcia "senao SL-2511CD PLUS ext2 e200/f200"
     
    366370}}}
    367371
    368 == firmware update/patch wifi cards ==
     372=== wifi firmware update/patch ===
    369373Naast de prism gebaseerde senao kaarten hebben de atheros kaarten bij levering eigenlijk een 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. Via de windows tool RCU.exe en de atheros driver van comview kan wanneer pin13 op de minipci kaart is afgeplakt deze worden gefixed op de juiste regio. Voor europa is ETSI1_WORLD 0x37 als regdomain aan te raden.
    370374
    371 = Routing opzet =
     375== Routing opzet ==
    372376Het aansluiten/inloggen van een laptop/tablet/desktop op de wifi van je adsl modemrouter van de internet provider leverd bij de meeste direct een werkende internet verbinding op dit werkt als volgt. Via de client apparatuur zoals een tablet kies je een SSID/hotspotnaam en vult mogelijk een wachtwoord in, vervolgens zal de wirelessnetwerk kaart via een dhcp verzoek (meestal een lokaal private) ip adress opvragen aan de dhcp server op de modem router zelf. Deze antwoord en geeft naast een private lokaal ip adres(iets in de trend van 192.168.1.15 of 10.1.1.15 )direct in dit bericht het "gateway" en de "dns server" adres mee. Met alleen het ip adres kan je tablet alleen met apparaten binnen dat zelfde interne lokale ip netwerk (subnet) binnen de modemrouter communiceren. Door het bekent maken van de gateway aan de tablet kunnen adressen buiten de lokale ip range 192.168.1.x achterhaald worden die zich op het netwerk voor de modemrouter bevinden namelijk het internet. De dns server zorgt ervoor dat in de webbrowser alle adresnamen van websites achterhaald kunnen worden. De modemrouter bij de meeste mensen thuis vertaald dus continue interne private ip adressen naar zijn eigen publieke ip adres waarmee die met het grote netwerk van het internet kan communiceren. Dit heet NAT en moet gebeuren omdat de router aan de internet zijde van de adslmodemrouter bij de i.s.p. niet weet welke interne private ipadressen erachter je router zitten en ook al zou die het weten dan kan het goed mogelijk zijn dat de adslmodem router van je buren bijvoorbeeld ook dezelfde interne private ip als jij gebruikt. De router aan de isp zijde zou dan niet weten of die informatie voor 192.168.1.15 naar jouw tablet achter jouw router moet plaatsen of naar de desktop computer van de buren die toevallig hetzelfde interne ip adres gebruikt. Daarom dus NAT Network Address Translation.
    373377