![]() |
Het onderwerp |
In deel 2 van 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. • En ook Sweex heeft zich aan de GPL gehouden. • 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. |
Op het moment is deze topicstart een rechstreekse kopie van die uit het 1ste deel. Zodra ik morgenavond tijd heb, zal ik deze updaten, en wat how-to verzamelen, aangezien deze nu nogal verspreid staan, en er diverse mensen moeite hebben deze te vinden

[Voor 1% gewijzigd door Sprite_tm op 16-01-2006 11:37]
Intel C2Q 9450@3.3 | Gigabyte P35-DS4 | Sapphire R280x | 4x 2GiB PC6400 Kingston DDR2 | 1x Intel 320SSD 240GB | 2x Spinpoint F1 320GiB