wiki:WikiStart

Version 6 (modified by walter, 11 years ago) ( diff )

doel

Soekris revival with OpenWRT

Is er een zinvol tweede leven voor de stapel Soekrissen die in de WL-kast liggen? We hebben enkele tientallen Soekrissen: 4501, 4521, 480, 4826. De hardware heeft zijn beperkingen en is niet geschikt voor de huidige nodes. Hierbij hoort tevens de erfenis aan SENAO pcmcia en mini-pci b-only wifi kaartjes!

-- Soekris info pagina's OpenWRT

Het 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 enthousiastellingen. 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.

Aanleiding

In de zoektocht naar een kant en klare "up to date" nanobsd image voor de soekris 4826 kwam ik een aantal maanden geleden tot geen resultaat, pas ondanks ontdekte ik de W.L. nodefactory met voor de oude soekris speciale / gedateerde config files. Om de interne flash opslag van de soekris niet te belasten met experimentele writes voor images van exotische distrubies heb ik via seriele console met PXE network boot destijds een usb bootloader kunnen laden die op zijn beurt weer vanaf een usb-stick een "aangepaste" extroot openwrt distributie starte op de soekris. Na dat deze succesvol starte en alle hardware correct kon aansturen heb ik uiteindelijk direct op de soekris geflashed. Na een leuke test config gemaakt te hebben en deze de volgende dag te starten zonder dat een seriale PC verbinding aanwezig was merkte ik dat de soekris niet starte. De soekris bleef met openwrt op de bootloader hangen als er geen actieve seriele console was aangesloten. Heel jammer terwijl juist Openwrt het experimenteren met zo'n "beperkt" kastje toegankelijk, makkelijk en zelfs flexibel kan maken. Na vele google opdrachte opzoek naar het hangen op de grub pagina gaf ik het op voor een paar maanden. Tevens was de usb-rsr232 adapter die ik destijds gebruikte onbetrouwbaar en maakte werken met de serial port op 9600 of hoger onmogelijk kortom ergernis...

Echter onlangs na het lenen van een andere soekris met CF geheugenkaart besloot ik verder te experimenteren. Ook daar stuite ik op het probleem met de serial console die verbonden moest blijven met de PC. De oplossing bleek uiteindelijk eenvouding. Een oplossing was in de BIOS van de soekris de optie ConMute=Yes op tegeven. Een andere juistere oplossing was in de boot/grub/menu.cfg de optie "serial .... console" te vervangen door "serial .....". Na het onafhankelijk starten van de Soekris zonder begeleidende PC met serial console was deze klaar voor het OpenWRT avontuur!

OpenWRT

Zowel kant en klare x86 images van backfire 10.03.1 als attitude adjustment 12.09 werken op de soekris 4826 en 4521, overige boarden moet nog getest worden. De gewenste type images zijn "combined-squashfs" images en "combined-extN" images. Het eerste type squashfs zal grotendeels in het ram de wijzigingen doorvoeren en alleen de enkele wijzigingen gecomprimeerd naar de disk terugschrijven 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.

De kant en klare x86 images van openwrt hebben standaard een seriele console werkend op 38400 i.t.t. tot de standaard soekris serial com speed die vaak 19200 is. Het is daarom handig om de soekris in comBIOS zelf ook op deze snelheid in te stellen zodat de hele bootcyclus/bootstrap vanaf het soekris comBIOS, bootloader grub, kernel/boot tot aan de console te zien en werkend is. Houd er overigens wel rekening mee dat de standaard openwrt images alleen booten op een soekris als deze via serial console op een pc is aangesloten, mits uit de bootloader config file /boot/grub/menu.cfg de optie "console" verwijdert word dan boot die in een keer! Voor de CF gebasseerde systemen is die grub optie zo te veranderen, voor de systemen zonder CF kaart betekent het dat je toch met de seriele console aan de gang moet.

serial console rs232

Wanneer je een soekris hebt zonder external storage zoals de 4826 met 64MB onboard flash, kun je waarschijnlijk pas de image op de soekris zetten als deze in zijn eigen OS is gestart en deze zich grof weg laat overschrijven. De andere optie is de soekris via comBIOS laten netwerkbooten in tftp / PXE en dan via het netwerk een image overpompen. Bij de boarden met CF slot, hoef je enkel op de CF kaart alleen op de eerste partitie het bestand /boot/grub/menu.cfg te editen en kun je later direct zonder seriale console via telnet/http/ssh inloggen.

tftp / pxe boot

soekris 4826

Dit board zonder CF kaart moet je waarschijnlijk wel via de serial port forceren tot een tftp / PXE boot om openwrt te laden, maar wanneer het er eenmaal opstaat kun je blijven experimenteren. TODO (checken of de factory reset ook de boot partitie restored).

soekris 4526

Ondanks 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, waaronder "pcmciautils kmod-pcmcia-core kmod-pcmcia-yenta", dit geld voor zowel backfire als attitude adjustment. Echter het laden uit de repository gaat pas werken wanneer het board via de "wan" aansluiting op het internet is aangesloten. Maar de "wan" aansluiting is standaard in de config afwezig! Ondanks dat de soekris over twee ethernet adapters beschikt eth0(poe+lan) eth1(off). Daarom moet er na het booten van het board eerst worden ingelogd via de lan interface, via telnet een wachtwoord aanmaken en het board rebooten. Vervolgens via ssh inloggen en een wan interface toevoegen en eth0 bij de lan vervangen door eth1 en eth0 bij de wan plaatsen. Vervolgens nog firewall rules toevoegen zodat je via de wan kan managen met ssh/http en daarna herstarten. Tenslotte kun je na de reboot het board met de pakket managere verder configureren.

toevoegen wan/lan
opkg install pcmciautils nmap nodogsplash kmod-hostap-cs kmod-pcmcia-core kmod-pcmcia-yenta openvpn olsrd-luci tcpdump nano pciutils luci-app-olsr

(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.

De PCMCIA sloten waar de wifi adapters opzitten moeten tijdens de boot worden aangezet. Dat kan door in /etc/init.d/pcmcia* enable te doen. Echter het S20 netwerk/wifi start al voordat de S42/41 PCMCIA sloten tot leven zijn gekomen. Een snelle Q&D fix is S20network in /etc/rc.d/ te verplaatsen naar S43network.

senao 2511MP prism2.5 wifi

De meeste van deze antieke kaartjes hebben firmware updates nodig. Vanaf station firmware 1.56 om uberhaupt goed aangestuurd te worden en verder is 1.7.4 en 1.8.2 stabiel getest en nodig voor WPA. De firmware is beschikbaar in twee vormen namelijk een AP/master en client/station firmware, beide zijn nodig om betrouwbaar te kunnen flashen. De AP firmware is 1.1.1 de STA firmware is 1.8.2. details om te flashen volgen nog. Inmiddels is gebleken dat deze kaartjes met de "hostap-pci/hostap-cs" driver i.t.t. de "prism" "orinoco" of de "wi" instaat zijn niet alleen WPA2 CCMP in station/client mode te doen maar ook als AP. Daarnaast werken deze kaartjes nog prima in moderne distributies zoals ubuntu 12.04 mits het pakket "pcmciautils" is geladen, dit zorgt ervoor dat voor de nieuwere kernels in de nieuwe distributies toch het 16bit pcmcia gedeelte geladen worden. kmod-hostap-cs

Trac Info

Trac is a minimalistic approach to web-based management of software projects. Its goal is to simplify effective tracking and handling of software issues, enhancements and overall progress.

All aspects of Trac have been designed with the single goal to help developers write great software while staying out of the way and imposing as little as possible on a team's established process and culture.

As all Wiki pages, this page is editable, this means that you can modify the contents of this page simply by using your web-browser. Simply click on the "Edit this page" link at the bottom of the page. WikiFormatting will give you a detailed description of available Wiki formatting commands.

"trac-admin yourenvdir initenv" created a new Trac environment, containing a default set of wiki pages and some sample data. This newly created environment also contains documentation to help you get started with your project.

You can use trac-admin to configure Trac to better fit your project, especially in regard to components, versions and milestones.

TracGuide is a good place to start.

Enjoy!
The Trac Team

Starting Points

For a complete list of local wiki pages, see TitleIndex.

Note: See TracWiki for help on using the wiki.