[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [LOESUNG] Re: WLAN-Bridge mit WPA2 aus Linksys WRT54G ver. 2 als Client bauen
[Thread Prev] | [Thread Next]
- Subject: Re: [LOESUNG] Re: WLAN-Bridge mit WPA2 aus Linksys WRT54G ver. 2 als Client bauen
- From: Raphael Eiselstein <rabe@xxxxxxxxx>
- Date: Mon, 25 Oct 2010 00:36:16 +0200
- To: uugrn@xxxxxxxxxxxxxxx
Hallo nochmal, On Sun, Oct 24, 2010 at 06:09:45PM +0200, Raphael Eiselstein wrote: > dd-wrt bietet fuer mein Geraet gleich mehrere Standard-Images an, 2 davon > speziell fuer TFTP oder WEB-Upload, diese Images sind kleiner! Das > vorhandene Sveasoft Alchemy konnte das Firmware Update per WebGUI. Ich > bin mir nicht mehr sicher, ob ich "Firmware Defaults" oder "Factory > Defaults" verwendet habe. Weil es so gut funktioniert hat, habe ich einen 2. WRT54G, der noch in einer Kiste lag und mit unbekannter Firmware und Config ... Hier hatte ich kein WebGUI zur Verfuegung, also die Gelegenheit genutzt, mal ein Firmware-Image per TFTP hochzuladen. Grundsaetzlich funktioniert das wohl so: Der WRT54G hat einen Bootloader, der bevor die Firmware bootet seinerseits temporaer einen tftp-Server auf 192.168.1.1 startet. Das ist von der "boot_wait"-Option abhaengig, die gesetzt sein *sollte*. Bootet man den WRT54G (Strom aus/ein), so hat man fuer die Dauer von ein paar Sekunden (2sec?) nach dem "Aufblinken aller LEDs" die Moeglichkeit ein Firmware-Image hochzuladen. Zb so (und damit auch gleich erstmal ein Fehlversuch): ----------------------------------------------------------------------- # ifconfig eth0 192.168.1.2 netmask 255.255.255.0 up ; atftp --put \ --local-file=/home/rabe/Downloads/dd-wrt.com/dd-wrt.v24_mini_generic.bin \ --verbose --tftp-timeout=30 --trace --option "mode octet" 192.168.1.1 Verbose mode on. Trace mode on. Option mode = octet sent WRQ <file: /home/rabe/Downloads/dd-wrt.com/dd-wrt.v24_mini_generic.bin, mode: octet <>> received ACK <block: 0> sent DATA <block: 1, size: 512> tftp: error received from server <code pattern incorrect> tftp: aborting ----------------------------------------------------------------------- <exkurs: wieso das ifconfig?> Was tut das? Der Laptop, an dem ich den WRT54G angeschlossen habe, ist auf DHCP konfiguriert. Sobald der Carrier vom LAN verloren geht, resettet sich das ganze IP-Setup und er versucht per DHCP seine IP-Adresse zu erneuern. Da der Switch gepowercyclet wird, geht der Carrier kurz verloren, der atftp-Aufruf wuerde also fehlschlagen, weil keine IP-Adresse am Interface anliegt. Daher das vorgelagerte "ifconfig" Abhilfe waere vermutlich einen SWitch dazwischen zu schalten, der den Carrier haelt. Allerdings kann der Switch in der Mitte zu lange brauchen bis er den Port zum WRT54G ausgehandelt hat (auto negotiation), daher kann das anderweitig zu Problem fuehren.)</exkurs> Grundsaetzlich hat der tftp-Zugriff im obigen Beispiel funktioniert, es wurde der erste Datenblock uebertragen, dann allerdings bricht das Ganze wieder ab mit "error received from server <code pattern incorrect>". Ich dachte erst, dass dieser WRT54 defekt ist, shl hat mir daraufhin http://www.dd-wrt.com/wiki/index.php/Recover_from_a_Bad_Flash empfohlen. Ich habe es mit dem dort beschriebenen "30/30/30-Reset" versucht, laut LED-Diagnose musste der Bootloader aber intakt sein. Nach einigem Raetesraten: dd-wrt.v24_mini_generic.bin wird nicht anerkannt, stattdessen muss die Datei dd-wrt.v24_mini_wrt54g.bin hochgeladen werden, was dann auch prompt funktioniert hat (vermutlich: E_RTFM) <exkurs: Der Unterschied von _mini_generic.bin zu _mini_wrt54.bin ist...> # diff -u \ <(hexdump -C ~rabe/Downloads/dd-wrt.com/dd-wrt.v24_mini_generic.bin | \ head -n 5 |sed -e 's,^[0-9]* ,ADDR,g') \ <(hexdump -C ~rabe/Downloads/dd-wrt.com/dd-wrt.v24_mini_wrt54g.bin | \ head -n 7|sed -e 's,^[0-9]* ,ADDR,g') --- /dev/fd/63 2010-10-25 00:14:07.336623392 +0200 +++ /dev/fd/62 2010-10-25 00:14:07.336623392 +0200 -1,3 +1,5 @@ +ADDR 57 35 34 47 00 00 00 00 09 0a 0a 04 14 06 55 32 |W54G..........U2| +ADDR 4e 44 01 00 1f 00 00 00 00 00 00 00 00 00 00 00 |ND..............| ADDR 48 44 52 30 00 20 2f 00 f4 e6 42 9a 00 00 01 00 |HDR0. /...B.....| ADDR 1c 00 00 00 a8 09 00 00 00 4c 0e 00 1f 8b 08 00 |.........L......| ADDR 00 00 00 00 02 03 8d 57 4d 6c 54 d7 15 fe de 7d |.......WMlT....}| ... mini_wrt54g.bin hat einen 32 Byte grossen Header vor dem *eigentlichen* Firmware-Image (_mini_generic.bin) </exkurs> Nach einer kurzen Wartezeit (ca 1min) ist der wrt54 dann mit der neuen dd-wrt Firmware gebootet. Mein Laptop hat daraufhin auf eth0 die IP 192.168.1.140 bezogen, damit konnte ich dann via http://192.168.1.1/ auf das Webinterface zugreifen. Ueber das Webinterface habe ich dann noch das etwas geraeumigere dd-wrt.v24-13064_VINT_std.bin hochgeladen und mit Firmware-defaults resettet. Nochmal reboot, nochmal Init-Config via http://192.168.1.1/ und dann fertig konfiguriert. Unterm Strich habe ich jetzt folgendes: Eine Fritz!Box mit 2 WLANs: "rabennetz" und "rabenguests", wobei letzteres isoliert ist. Fuer jedes der beiden WLANs habe ich nun einen WRT54G als WLAN-Client mit Layer2-Bridge auf jeweils 5(!) Ethernet-Ports, an die ich beliebige devices wie etwa Drucker anschliessen kann oder aber auch Rechner uebers Internet installieren kann (boot-image, Installation via FTP), ohne mich mit einem WLAN-Setup rumschlagen zu muessen. Sinn der Aktion: Netzwerk im Hobbykeller ohne Bohren und Leitungen verlegen (schafft immerhin nominell 48/54MBit). Das "Gaeste-WLAN" mit einem weiteren WRT54G-Client soll unkompliziert fremde Systeme (Laptops etc) ins Internet bringen ohne irgendwelches WLAN-Setup treiben zu muessen (was ja parallel trotzdem moeglich ist). Genug gebastelt fuer heute. Gruss Raphael -- Raphael Eiselstein <rabe@xxxxxxxxx> http://rabe.uugrn.org/ xmpp:freibyterægmx.de | https://www.xing.com/profile/Raphael_Eiselstein GnuPG: E7B2 1D66 3AF2 EDC7 9828 6D7A 9CDA 3E7B 10CA 9F2D .........|.........|.........|.........|.........|.........|.........|.. -- UUGRN e.V. http://www.uugrn.org/ http://mailman.uugrn.org/mailman/listinfo/uugrn Wiki: https://wiki.uugrn.org/UUGRN:Mailingliste Archiv: http://lists.uugrn.org/