Verschillende routers

advertisement
RTEM Project
Project Verslag
Lynksys WRT54GL Router.
Met SD-Card Modificatie
Joram Dillen, Ruben Middel, Niels ter Horst
TIV3E
Inhoud`s Opgave
 Lynksys WRT54G
 Verschillende Routers
 WRT54GL
 Ombouwen van de router
 Soldeerpunten
 Open WRT
 SD Card configuratie
 Andere Open source Distributies
 Andere toepassingen voor de WRT-54GL




Toevoegen van SD kaart
POE
Overclocking
Bestuurbare Robot
Lynksys WRT54G
De Lynksys WRT54G is een serie routers die in 2002 is begonnen en als eerste voor consumenten het
mogelijk maakte Linux te draaien op een router. De meeste routers uit deze serie draaien echter op
het realtime operating system VxWorks is een operating system dat gemaakt en commercieel
verkocht wordt door Wind River Systems. De bron hiervan is daarom helaas ook niet open.
Per model kan er een andere processor in zitten, maar wat ze gelijk hebben, is dat het allemaal 32-bit
MIPS architectuur processors (Microprocessor without Interlocked Pipeline Stages). Dit zijn
RISC(reduced instruction set computing) processors. Ze verschillen qua snelheid van 125 tot 266
MHz.
De meeste routers uit de serie hebben 4+1 netwerk poorten. Dit is er een voor het internet en 4 voor
het vaste netwerk.
De Wifi snelheid is 54 mbps met een frequentie van 2,4 ghz. Dit netwerk gaat de lucht in met 1 tot 3
antennes. De antennes hebben een reverse polarity TNC connector. De reverse polarity wordt
gebruikt om te voorkomen dat andere netwerken niet verstoord worden.
Verschillende routers
In de WRT54G serie zitten 14 verschillende routers. Deze routers verschillen soms redelijk in
functionaliteit. Hieronder staat een klein lijstje met voorbeelden van verschillende routers:
•
•
WRT54GS
•
SpeedBooster software
•
8MB flash ram (4MB firmware, 4MB JFFS2 R/W)
WRTSL54GS
•
•
WRT54GP2
•
•
Analoge telefoon adapter
WRT54G3G Mobile Broadband router
•
•
USB 2.0 i.p.v. 2e antenne
PCMIA slot voor aircard. Hiermee kan via het data netwerk voor de telefoon een
internet verbinding gemaakt worden via een sim kaart.
WRT54G-TM
•
T-mobile hotspot@home. Hiermee kun bellen via WiFi of het op de router
aangesloten telefoonnetwerk.
WRT54GL
Dit is het op OpenWRT draaiende model dat we hebben gebruikt voor ons project om onderzoek te
doen of het mogelijk is een plug en play gameserver te maken vanaf een router. Het model komt uit
2005 en draaid op OpenWRT wat een GNU GPL licentie heeft. GNU GPL is een afkorting van “GNU’s
Not Unix” “General Public Licence”. Dit houd in dat het besturingssysteem dus geen Unix is, omdat
het geen code bevat uit Unix en dus helemaal open en gratis kan zijn. Het is qua werking echter wel
vergelijkbaar aan Unix.
In de router zitten: een 200 MHz processor, 4MB flash geheugen en 16 MB ram.
Het ingebouwde flash geheugen kan vanuit een simpele webinterface opnieuw geflasht worden. Dit
heeft als grote voordeel dat je geen aparte kabel nodig hebt om de router te updraden. Het nadeel is
echter wel, dat je router niet meer werkt wanneer deze upgrade mislukt. Hier hebben wij veel last
van gehad. Om dit op te lossen, is er software beschikbaar die tijdens het opnieuw opstarten van de
router de router opnieuw flasht. Hier is echter ongeveer 0,05 seconden de tijd voor. Het moet dus
heel precies getimed gebeuren en vaak lukt het pas na vele tientallen pogingen.
Naast OpenWRT zijn er ook vele andere Linux projecten op te zetten, waaronder Tomato, Sveasoft
en DD-WRT.
Ombouwen van de router
Op het moederbord is het mogelijk een SD kaartje vast te solderen. Hiermee kunnen gegevens vanuit
de router worden uitgelezen en opgeslagen. Hiervoor zijn op een SD kaart 7 punten nodig, welke
worden vastgesoldeerd op bijbehorende punten in de router. Hiervoor zijn gelukkig zat voorbeelden
te vinden.
Waarom welk punt waar gesoldeerd moet worden is helaas niet helemaal duidelijk te vinden.
Gelukkig is wel te vinden waar welk punt voor
dient.
Soldeerpunten
1. CS – Chip select
2. DI – Data in (vanaf SD gezien)
3. VSS – Ground
4. VDD – Power 3.3V
5. CLK – Clock voor de SD kaart
6. VSS2 – Nog een ground
7. DO – Data out (vanaf SD gezien)
Open WRT
OpenWRT is een op linux gebaseerde firmware die gebouwd is voor embedded apperaten zoals
bijvoorbeeld in ons geval een Router WRT54GL . In het begin was de ondersteuning alleen voor de
Linksys WRT54G series maar is vanaf die tijd ook overgegaan op andere chipsets en ontwikkelaars
zoals bijvoorbeeld Netgear,D-Link en ook Asus. Om te communiceren gebruikt OpenWRT
voornamelijk de commandline, Maar er zit ook een webinterface ingebouwd om gemakkelijk
modules te kunnen in-/uitschakelen of een aantal andere instellingen te veranderen. Ook is er een
hoop ondersteuning op internet en forum`s te vinden en ook is er een IRC kanaal beschikbaar.
OpenWRT valt onder de GNU General Public License (GPL), hierdoor zijn de ontwikkelaars verplicht
hun (aangepaste) source code vrijtegeven.
De grootste feature van OpenWRT is een volledig beschrijfbare JFFS2 (Journalling Flash File System
2), en maak gebruik van het IPKG (Itsy Package Management System) module systeem. Dit systeem
is speciaal gemaakt voor embedded systemen en dat maakt OpenWRT makkelijk aanpasbaar voor
verschillende gebruiksdoeleinden. Ook zijn ere en aantal gemakkelijke commands voor beschikbaar
bijvoorbeeld.
ipkg update
Download a list of packages available
ipkg list
View the list of packages
ipkg install [package]
Install the [package]
ipkg remove [package]
Remove the [package]
SD Card configuratie
Een aantal modules die gebruikt worden om een SD card te kunnen draaien zijn:
kmod-ext2_2.4.30-brcm-5_mipsel.ipk
~ Deze is bijvoorbeeld om het filesysteem (het SD kaartje) te formateren naar een extern2
format.
kmod-ipv6_2.4.30-brcm-5_mipsel.ipk
~ Met deze module kan je de IPv6 protocool van windows vista gebruiken
Hier onder een stukje config wat betrekking heeft tot het instaleren van het SD kaartje.
tar zxvf mmc-v1.3.4-gpio2.tgz
cp mmc-v1.3.4-gpio2/mmc.o /lib/module/2.4.34/
~ Eerst het installeren van de mmc drivers.
ipkg install kmod-fs-vfat
ipkg install kmod-fs-ext3
mount /dev/mmc/disc0/part1 /mnt/ # alternatively add -t vfat or ext3
~ Hierna het installeren van de modules om het kaartje te kunnen formateren in het juiste
filesysteem. En het mounten van de partitie met de inhoud van het kaartje.
In principe is dit alles wat er nodig is voor de installatie van het kaartje. Makkelijker is het natuurlijk
als de ‘mount’ en alles wat er vanaf dat moment geinstaleerd word op het kaartje te recht komt
automatisch wel te verstaan, hieronder een voorbeeld van een config bestandje die ervoor zorgt dat
dit gebeurt.
config bootfromexternalmedia
option target
'/mnt'
option device
'/dev/mmc/disc0/part1'
option gpiomask '0x9c'
option modules
'mmc jbd ext3'
option enabled
'1'
vanaf nu is het SD kaartje klaar voor gebruik elke keer als de router
opgestart is…
Andere Open source Distributies
Andere open source operating systemen die onder anderen voor de WRT54G(L) beschikbaar zijn:
Fdgw
Fdgw is een floppy versie van het open source Unix operating system NetBSD/i386. Het kan draaien
op oude pc`s zonder hardeschijf en kan gebruikt worden als een kleine router, natbox of ADSL router.
Het is een minimaal NetBSD systeem.
Floppyfw
Floppyfw is een Linux based distributie die Busybox draait om een firewall/gateway/router op
een bootable floppy disk te kunnen draaien.Het ondersteunt items zoals PPPoE, traffic
shaping, DHCP, en network address translation.Ook draait het op x86 processors, beginnende
bij de Intel 80386SX en gebruikt maar 12 MB RAM.
FREESCO
FREESCO is ook een floppy disk based router, wat betekend dat het volledige systeem draait
vanaf een 1.44 MB floppy disk.Ook is het mogelijk hetvolledige systeem te draaien in RAM,
waardoor er geen harde schijf reads of writes gedaan hoeven te worden na startup. Het is ook
mogelijk het gewoon te instaleren op een hardeschijf.
FreeWRT
FreeWRT is een Linux distributie voor embedded systems zoals de wireless routers van
Linksys en Asus.Het is een afstamming van het OpenWrt project. De naam FreeWRT moet
niet verward worden met een ander project wat inmiddels is gestopt, deze hebben de Sveasoft
firmware gekopieerd en het gratis aangeboden. Helaas net als OpenWRT zijn nog niet alle
opties toegankelijk voor de opensource software. Als voorbeeld wifi ondersteuning op de
WRT54GL heeft een wl.o kernel module nodig die alleen voor linux 2.4 beschikbaar is.
DD-WRT
DD-WRT is gratis Linux-based firmware voor verschillende wireless routers, meet gangbare
is de Linksys WRT54G (ook de WRT54GL en WRT54GS). DD-WRT heeft de GNU General
Public License version 2. Net als andere gelijkwaardige projecten word DD-WRT gezien als
een third-party firmware solution gemaakt om de firmware te vervangen die standaart op de
meeste routers zit. Dit hebben ze om een aantal redenen gedaan ;
DD-WRT heeft opties als ondersteuning voor Kai network, daemon-based services, IPv6,
Wireless Distribution System, RADIUS, radio output power control, overclocking capability,
en software ondersteuning voor Secure Digital Card hardware mod.
DD-WRT versies tot v22 waren gebaseerd op de Alchemy firmware van Sveasoft, Die weer
op zijn beurt gebaseert is op de originele Linksys firmware. DD-WRT versies vanaf v23, zijn
ze vanaf toen bijna helemaal opnieuw geschreven. The Linux kernel is gebaseert op de
OpenWrt kernel, wat begon als de Linksys-based firmware maar later zijn eigen framework
gebouwd heeft. Alle firmwares zijn gebaseert op Linux, net als OpenWrt en Alchemy.
LEAF Project
The LEAF Project (Linux Embedded Appliance Firewall) is een collectie van Linux
distributies die begonnen zijn als aftakking van The Linux Router Project (LRP) "linux-on-afloppy" distributie. Meeste gebruikers van deze distro`s zijn vooral geintreseert in router en
firewall functies, vooral als deze gecombineerd zijn met de vele gemakkelijke andere opties
van general Linux distributions zoals shells, packet filtering, SSH servers, DNS services, file
servers, webmin.
Gargoyle
Gargoyle is een interface voor kleine, veel toegankelijke routers zoals de Linksys WRT54G
series en de La Fonera. Het geeft functies die verder gaan dan de default software meegeeft.
Onder andere: sophisticated dynamic DNS, bandwidth monitoring tools. Het voornaamste
doel is een gemakkelijke en simple interface te hebben voor deze uitgebreide tools en net zo
simple te configureren als bestaande firmware. Gargoyle is gebaseert boven op de meest
recente Kamikaze versie van OpenWrt firmware, Maar in verschil met andere OpenWRT
interfaces is Gargoyle gemaakt voor de wat meer ‘gewone’ gebruikers.
Tomato Firmware
Tomato Firmware is een gratis HyperWRT-based, Linux core firmware voor verschillende
wireless routers,vooral de Linksys WRT54G (ook de WRT54GL en WRT54GS), Buffalo
AirStation en Asus Routers. Tomato is gebaseert op de GPL sourcecode vrijgegeven door
Linksys, Delen van de code vallen onder de GNU General Public License, maar de source
code voor de user interface heeft een wat strengere licentie, deze verbied gebruik als er geen
toestemming is van de maker. De meest geziene optie is de user interface, Die zwaar gebruik
maakt van AJAX en een SVG-based grafische bandwidth monitor.
Vyatta
Vyatta ontwikkeld een open source router/firewall/VPN produkt voor Internet Protocol
Version 4 (IPv4) netwerken. Een gratis download van Vyatta is beschikbaar sindse March
2006. Het Systeem specializeerd zich in Linux distro`s met netwerk applicaties en beheer
interface`s voor deze applicaties.
Het Vyatta systeem was bedoeld als vervanging voor Cisco IOS 1800 tot 7200 series
Integrated Services Routers (ISR), Met de nadruk op de kosten en flexibiliteit voor een open
source, Linux-based system draaiend commodity x86 hardware.Ook heeft Vyatta een Cisco
Replacement Guide op hun website wat de verschillende Cisco products en de compatible
Vyatta/x86 oplossingen laat zien.
WiFi-Box
WiFi-Box is een “aftermarket” distributie voor de Linksys WRT54G series vam wireless
routers, gebaseert op de originele Linksys source code. Linksys heeft hun source code
gebaseert op Linux, wat onder de GNU General Public Licence (GPL) valt, daarom moeten
alle gemodifiseerde source code`s gereleased worden, wat het ontwikkelen van ‘aftermarket’
zoals WiFi-Box mogelijk maakt.
Het originele WiFi-Box project is begonnen in 2002 door Augustin VU Huy Bang en door de
contributie van vele dslreport's forum gebruikers gefinancieerd.
De recente versie van WiFi-Box ondersteunt WRT54G(L)(S) router en de Asus WL-500.
Zeroshell
Zeroshell is een kleine Linux distributie voor servers en embedded systemen die gericht zijn
op het bieden van netwerk services. Zoals de naam al zegt, er is geen shell nodig om de beol
te kunnen configureren, want je kan gewoon de web based Graphical user interface gebruiken.
Zeroshell is beschikbaar als een Live CD and CompactFlash images, en ook voor VMware
virtual machines.
The Linux Router Project
The Linux Router Project (LRP) is een open-source software project. Er word sindse June 22,
2003 niet meer verder ontwikkeld. Het vrijwel hetzelfde als the LEAF Project.
LRP begon als een Linux floppy distro. Gebruikt hardware wat normaal gesproken te oud of
te langzaam is voor desktop gebruik. The originele distributie was gebaseert op Debian.
Andere toepassingen voor de WRT-54GL
De WRT54-GL is heel erg populair in de mod-scene, vanwege het gemak waarmee de
firmware aangepast kan worden. En het aantal custom made firmware die er voor bestaat
zoals, OpenWRT, Tomato etc.
Toevoegen van SD kaart
Er zijn daarom ook vele uiteenlopende voorbeelden van mods die mensen hebben gedaan op
de WRT-54GL, het toevoegen van een SD kaart is bijvoorbeeld een veel voorkomende mod.
Omdat mensen die de router als server gebruiken vaak meer opslag ruimte nodig hebben.
Het toevoegen van een SD kaart is op meerdere sites uitvoerig gedocumenteerd en daardoor
een van de meest voorkomende mods voor de WRT-54GL. Het is voor velen ook een hele
belangrijke aanpassing omdat het de router in een echte mini pc veranderd.
POE
POE staat voor Power Over Ethernet. Dat betekent dus dat alle stroom voor de hardware in de
router vanaf de ethernet kabel word gebruikt, de adapter hoeft dus niet aangesloten te worden,
dit is natuurlijk altijd handig maar in sommige gevallen als er geen stopcontact aanwezig is
zelfs essentieel. De meest nette optie voor POE is direct de link tussen de ethernet poort en de
voeding poort te solderen, dit zorgt er wel voor dat de garantie verloopt omdat de behuizing
geopend dient te worden. Een andere oplossing is het strippen van de ethernet kabel en de
draden door te verbinden aan een voedings stekker en die daarna in te pluggen in de router.
Overclocking
Voor de wat geavanceerdere mods is de WRT-54GL ook geschikt het is immers gewoon een
pc van binnen, vaak ook word de processor van de router overgeklokt zodat de performance
omhoog gaat.
Hierbij is het wel van belang dat de processor voldoende gekoelt word, dit kan doormiddel
van het toevoegen van een ventilator, die via de led aansluiting gevoed word.
Bestuurbare Robot
De meest uitgebreide modificatie van de WRT-54GL die wij hebben kunnen vinden is de op
afstand bestuurbare auto, met webcam en toeter.Deze auto maakte via WIFI verbinding met je
laptop waarna je de auto kon besturen vanaf de laptop terwijl je via de webcam ook beeld had.
Dit was mogelijk tot op circa 500 meter van de laptop vandaan, een leuke toevoeging was een
op afstand bestuurbare toeter.
Het was ook mogelijk om de auto verbinding te laten maken met een accespoint en zo via een
internet verbinding toegang te geven tot de besturing van de auto, dit maakt het dus mogelijk
om de auto vanuit de hele wereld te bereiken en te besturen.
Dit vergde natuurlijk een hele hoop aanpassingen en uitbreidingen, zoals een PIC controller
om de communicatie tussen de router en de hardware van de auto te regelen, gelukkig was de
chipset van de auto goed gedocumenteerd en kon er vrij gemakkelijk mee gecommuniceerd
worden. De uiteindelijke commando’s werden door een zelfgeschreven VB applicatie
verzonden over het WIFI netwerk naar de router.
Download