![]() |
Het onderwerp |
In dit topic zijn we routers aan het hacken. Jeweetwel, van die standaard kastjes van Sweex, Edimax of een ander merk, die je aan je kabel- of ADSL-aansluiting kan hangen om te zorgen dat je op meerdere computers kan internetten. Zulke routers zijn eigenlijk kleine embedded systempjes, die tegenwoordig steeds vaker Linux draaien. Omdat Linux een opensource OS is, geeft dit natuurlijk mogelijkheden om deze kleine apparaatjes dingen te laten doen waar de fabrikant nooit aan gedacht heeft. |
Het slachtoffer |
De meeste focus ligt op dit moment op de Sweex LB000021. Dit is een simpele router van +/- EUR25,- Standaard draait deze router Linux. Dat biedt natuurlijk mogelijkheden. Deze routers lijken op dezelfde manier in elkaar te zitten als de Sweex: Conceptronic C100BRS4H, Edimax 6104K. De Edimax 6104KP is ook te gebruiken, het enige hardwarematige verschil is dat deze de usb-poorten er al op heeft zitten. Als je dus zo'n router hebt zou alles wat hier over de Sweex besproken wordt ook voor jou moeten opgaan. Specs Sweex LB000021 router • ADM5120 CPU • 16MB RAM • MX29LV160T 16Mbit Flash (hoewel sommige firmwares foutievelijk beweren dat het een MX29LV320 is) Specs ADM5120 • 175Mhz, 227MIPS • MIPS R4000c architectuur • Embedded MMU • Little Endian • USB1.1 host controller • UART interface • 4 GPIO aansluitingen voor bv. LED's • 10/100 ethernetpoorten. Als je zelf een router hebt die je wilt hacken, kan je dat natuurlijk ook proberen en je vragen, mits van een beetje niveau, in dit topic stellen. |
Resources |
Algemene handige links • Als je geen zin hebt om een MAX232-board te maken kan je hier voor 5 euro een niet-originele datakabel voor een Siemens C25/S25-telefoon kopen. Telefoonstekkertje erafhalen en je bent er; (kleur=signaal=pin op header) blauw=RxD=pen 7, wit=TxD=pen 1, zwart=ground=pen 8. * Zet je terminal op ANSI emulatie,anders krijg je veel bagger op je scherm tussen de leesbare tekst (linux console met minicom) terwijl je router aan het booten is. Voor de Sweex LB000021 / Edimax 6104K[P] • In dit en dit bericht staat een howto over hoe je je router vanaf een USB storage iets kan laten booten. Als je een Edimax 6104KP hebt heb je deze post ook nog nodig. • Hier staat uitgelegd hoe je een alternatieve firmware in de Sweex kunt flashen. • Hier Staat uitgelegd hoe je je seriele poort aan de UART van de router verbindt. Nadat je deze 'upgrades' hebt gedaan is je router benaderbaar m.b.v. telnet en een terminal. Let wel: Je moet een crosscable maken; de TxD van de router moet via de max232 naar de RxD van je computer, en vice versa. • Volledige AMD5120 datasheet • NoRocketScience: Site over het hacken van routers. Vooral de sweex. • Code van een router gebaseerd op de ADM5120. • Ook Edimax heeft z'n sourcecode eindelijk vrijgegeven. Pas op: in ieder geval nu ik dit tik is die site zwaar traag, vandaar hier een mirror. • Opgeschoonde versie. Om na het uitpakken geen compileerfouten te krijgen: bewaar de .config, doe make mrproper en zet de .config weer terug. • Howto over hoe je USB-poorten aan je LB000021 toevoegen kan. • Pricewatch link voor LB000021 • Lees de tweede post hiervan voor meer info over de serieele aansluiting van de router. • Problemen met het flashen van je Edimax 6104KP? Kijk hier eens. Als je van plan bent om te gaan devven voor de LB000021 of een andere router raad ik je aan om de forums van norocketscience en dit topic helemaal door te lezen. Enige ervaring met Linux is vereist. Ervaring met uC's en dingen als crosscompilen is wel zo handig. Voor andere routers • Hier staan hints hoe je verbinding kan krijgen met een eventuele debug-serieele-poort op je router. • Gooi een firmwareimage van een router hierin en je weet of het ding waarschijnlijk linux draait. • Voor routers met daarin de RTL8181-chipset is hier een pagina met daarop kernelsources en een toolchain enzo. |
FAQ |
Omdat bepaalde vragen heel vaak voorkwamen hebben we een kleine FAQ gemaakt. Lees deze eerst voordat je een vraag post. Je zou je router kunnen verbeteren door features toe te voegen zoals bandwidthcontrol. Je zou er een kleine server op kunnen draaien. Je zou er een mp3 speler van kunnen maken. De mogelijkheden zijn eindeloos. Je moet het zien als een goedkoop, lastig, snel uC bord. of een Linksys WRT54G? Deze kosten twee tot drie keer zoveel dan de Sweex. En het is gewoon leuk om te hacken. Nee, deze router is heel anders opgebouwd, de processor daarin heeft bijvoorbeeld geen MMU waardoor het niet zomaar mogelijk is om Linux te draaien. Dat moet je zelf onderzoeken. Gooi het typenummer van de router i.c.m. keywords als Linux eens door Google. Als je dan niks vindt moet je de router openschroeven om achter het typenummer van de processor te komen. De processor is waarschijnlijk de grootste chip in de router. Gooi het typenummer van de processor eens door Google. Als je het dan nog niet weet, maar wel een firmware tot je beschikking hebt kun je deze tool gebruiken. Ja, waarschijnlijk wel. Met de MAD library kun je al met enkele tientallen megahertzen een mp3 decoden. Nee, maar dat is geen probleem. Alle routers met een USB host controller zijn uit te rusten met een USB geluidskaart. Ti produceert heel gemakkelijke USB sound controllers zoals bijv. de PCM2702. Ti heeft nog veel meer USB sound controllers. Vragen over hoe je zoiets soldeert of bestelt horen niet thuis in dit topic. Pas wel op: Er zit een bug in de kernel van de Sweex/Edimax-routertjes waardoor isochronous transfers niet werken, wat er basically op neerkomt dat USB-geluidskaarten op deze router niet werken totdat iemand die kernel-bug oplost. Veel routers zijn uitgerust met een USB host controller. In sommige routers is deze onbenut gebleven net zoals in de LB000021. Om erachter te komen of je router een USB host controller heeft moet je dezelfde procedure volgen die je ook gebruikt hebt om erachter te komen of je router Linux draait: typenummer van de router of processor in Google gooien en de resultaten goed doorspitten. Een USB host controller is dezelfde controller als in je PC. Je kunt er allerlei apparaten aanhangen zoals een printer of cardreader. Met een USB hardeschijfbehuizing kun je zelfs een hardeschijf op je router aansluiten. In het topic worden ook IDE -> USB bridges besproken, dit is hetzelfde als een USB hardeschijfbehuizing, alleen dan zonder behuizing. Als je iets aansluit op je router werkt het nog niet meteen. Ook in Linux heb je dingen nodig als drivers. |
Credits |
Topicstart samengesteld door-DarkShadow- en [url=lhttp://gathering.tweakers.net/forum/myreact/63969]Sprite_tm[/url]. Layout by Sprite_tm. |
<!--
----------------------Originele startpost:------------------------------------
Jaja, de routertopics schieten deze tijd als paddestoelen uit de grond
Omdat die routers toch wel hele grappige hebbedingetjes zijn qua electronica (hackbaar, er zitten een zut in- en uitgangen op + Ethernet en ze zijn makkelijk te herprogrammeren mits er Linux op draait) ben ik op zoek geweest naar de goedkoopste router die Linux draait. Ik spit dus de pricewatch door, en hier verkopen ze een Sweex LB00021 voor slechts 25 euro. Nou heb ik door de firmware te bekijken al wel uitgevogeld dat het geheel op Linux draait, en da's mooi. Wat ik echter niet uit de firmware heb kunnen halen is op wat voor processor het beestje draait. Vandaar mijn vraag:
Zou misschien iemand die zo'n Sweex heeft het ding even kunnen openschroeven en de merken + typenummers van de grootste ICs hier kunnen posten? Als je foto's zou kunnen maken van het binnenwerk zou dat helemaal mooi zijn.
Als dat allemaal goedgaat en ik zelf ook zo'n router besluit te kopen maak ik hier wel een howto van over hoe zo'n Sweex te hacken is.
-->
[ Voor 133% gewijzigd door Sprite_tm op 24-10-2007 13:39 ]
Relaxen und watchen das blinkenlichten. | Laatste project: Ikea Frekvens oog