USB für Asus WL-500g installieren

Aus Freifunk Hannover

Software Installation

Den USB-Stick habe ich unter Windows formatiert (vollständig nicht quick) und als Dateisytem habe ich FAT gewählt (nicht FAT32) das ist dann am einfachsten vom Router zu erkennen (denke ich mir mal so) und dann habe ich ein paar Dateien draufkopiert die ich mir dann vom Router anzeigen lassen will (z.b.: a.txt - eine Textdatei mit irgendeinem blablabla Text zum testen).

Ich benutze Windows daher nehme ich das programm Putty um mit dem Router zu kommunizieren. Also putty.exe starten (deine Freifunk IP eintragen und Port auf 22).

Jetzt auf "OPEN" klicken. Falls du eine Firewall hast wird die sich jetzt melden. Putty darf sich zum Router verbinden also Verbindung erlauben.

Nach einem kurzen moment meldet sich der router mit der Frage "login as:" da trägst du root ein.

Es kommt eine Passwort Abfrage (das sieht bei mir so aus: "root@10.2.23.129's password:" ) Dort trägst du Dein Routerpasswort ein. Aber nicht wundern denn der Cursor bewegt sich nicht. Tipp es aber trotzdem ein (und eingabetaste drücken). Falls du dein Passwort nicht weisst dann kann ich dir leider auch nicht weiter helfen. Du kannst es aber mal mit dem Standardpasswort versuchen (falls es nicht geändert wurde) tipp ein: admin oder gib nichts ein und drück einfach die Eingabetaste. (falls das Kennwort "admin" oder garnichts sein sollte dann ändere das Passwort sofort)

Es erscheint der Prompt:

BusyBox v1.01 (2006.04.12-12:05+0000) Built-in shell (ash)
Enter 'help' for a list of built-in commands.
  _______                     ________        __
 (       ).-----.-----.-----.)  )  )  ).----.)  )
 (   -   ))  _  )  -__)     ))  )  )  ))   _))   _)
 (_______))   __)_____)__)__))________))__)  )____)
          )__) F R E I F U N K  F I R M W A R E

root@olsr-DEINROUTERNAME:~#


Tipp ein: ipkg status (dann Eingabetaste drücken) nun kommt eine Liste aller auf dem Router installierten Pakete.

Such nach folgenden Paketen (eventuell musst du das Fenster etwas nach oben scrollen falls die Liste zu lang ist):

Package: kmod-usb-core
Status: install ok installed
Root: /
Version: x.x.xx

Package: kmod-usb2
Status: install ok installed
Root: /
Version: x.x.xx

Package: kmod-usb-ohci
Status: install ok installed
Root: /
Version: x.x.xx

Package: kmod-usb-storage
Status: install ok installed
Root: /
Version: x.x.xx

Package: kmod-vfat
Status: install ok installed
Root: /
Version: x.x.xx

wenn du das NICHT findest dann muss das installiert werden (aber installier keine sachen doppelt dann fängt der router an zu spinnen - bei mir jedenfalls ist dann andauernd die Verbindung zwischen SSH putty und Router weggewesen). das installieren geht so (der router MUSS zugang zum internet haben):

Eingabe: ipkg update (Enter drücken). Nun werden die bestehenden Pakete und Treiber aktualisiert.

Prüfe ob die Kernelmodule schon installiert sind. Das geht wie folgt.

root@OLSR-:~# ipkg status | grep kmod
Package: kmod-tun

Hier ist nur das TUN Modul installiert, alles andere fehlt also noch.

Jetzt lädt der Router die Treiber aus dem Internet herunter und entpackt und überprüft ihn. HINTER DEN BEIDEN LETZTEN ZEILEN MUSS DONE STEHEN SONST WAR DAS INSTALLIEREN NICHT ERFOLGREICH.

ipkg install kmod-usb-ohci
ipkg install kmod-usb2 
ipkg install kmod-usb-storage
ipkg install kmod-usb-core
ipkg install kmod-vfat

Somit sind alle notwendigen Treiber und installiert.

falls du doch einen treiber doppelt installiert hast dann bekommst du ihn wieder weg mit: ipkg remove (jetzt der treibername z.b. kmod-usb-ohci)

jetzt tipp ein: reboot (dann eingabetaste drücken). dann wird der router neu gestartet und die treiber initialisiert.

wenn das geblinke der lampen am router aufgehört hat dann kannst du putty schliessen und neu starten (router fragt wieder nach "login as:" usw.)

jetzt tipp ein: dmesg (dann eingabetaste drücken). dann kommt eine lange liste mit allerlei hardware infos die bei mir so endet:

usb.c: registered new driver usbdevfs
usb.c: registered new driver hub
PCI: Setting latency timer of device 00:04.0 to 64
usb-ohci.c: USB OHCI at membase 0xb8004000, IRQ 2
usb-ohci.c: usb-00:04.0, PCI device 14e4:4716
usb.c: new USB bus registered, assigned bus number 1
hub.c: USB hub found
hub.c: 2 ports detected
SCSI subsystem driver Revision: 1.00
hub.c: new USB device 00:04.0-1, assigned address 2
usb.c: USB device not accepting new address=2 (error=-145)
Initializing USB Mass Storage driver...
usb.c: registered new driver usb-storage
USB Mass Storage support registered.
hub.c: new USB device 00:04.0-1, assigned address 3
scsi0 : SCSI emulation for USB Mass Storage devices
Vendor: Chipsbnk Model: Flash Disk Rev: 2.00
Type: Direct-Access ANSI SCSI revision: 02

Attached scsi removable disk sda at scsi0, channel 0, id 0, lun 0
SCSI device sda: 129964 512-byte hdwr sectors (67 MB)
sda: Write Protect is on
Partition check:
/dev/scsi/host0/bus0/target0/lun0: p1

WARNING: USB Mass Storage data integrity not assured
USB Mass Storage device found at 3
device eth0 entered promiscuous mode
hub.c: new USB device 00:04.0-2, assigned address 4
usb.c: USB device not accepting new address=4 (error=-145)
hub.c: new USB device 00:04.0-2, assigned address 5
usb.c: USB device not accepting new address=5 (error=-145)
br0: port 1(vlan0) entering learning state
br0: port 1(vlan0) entering forwarding state
br0: topology change detected, propagating
jffs2: attempt to mount non-MTD device 08:01
SQUASHFS error: Can't find a SQUASHFS superblock on sd(8,1)


wichtig ist nur das:

Attached scsi removable disk sda at scsi0, channel 0, id 0, lun 0
SCSI device sda: 129964 512-byte hdwr sectors (67 MB)
sda: Write Protect is on
Partition check:
/dev/scsi/host0/bus0/target0/lun0: p1

denn das bedeutet das der usb stick gefunden wurde und somit die ganze löterei erfolgreich war.

damit der usb stick auch angesprochen werden kann muss der erstmal gemounted (=eingebunden) werden. dazu muss erstmal ein verzeichnis im router erstellt werden. das geht so: tipp ein: mkdir /mnt (dann Enter drücken) mkdir bedeutet "make directory" also erstelle Ordner.

Jetzt kommt das mounten. tipp ein: mount /dev/scsi/host0/bus0/target0/lun0/part1 /mnt (dann eingabetaste drücken) anstelle von. Ganz wichtig ist das leerzeichen zwischen part1 und /mnt (part1 /mnt).

Zur Kontrolle tipp ein: mount (dann eingabetaste drücken).

Das sieht bei mir so aus:

/dev/root on /rom type squashfs (ro)
/dev/mtdblock/4 on / type jffs2 (rw)
none on /dev type devfs (rw)
none on /proc type proc (rw)
none on /tmp type ramfs (rw)
/dev/scsi/host0/bus0/target0/lun0/part1 on /mnt type vfat (ro)


und wie man sehen kann steht in der letzten zeile mein USB-Stick (das ro heisst "read only" (nur lesen) - hab den Schreibschutz vom USB-Stick eingeschaltet). (rw heisst "read write" das bedeutet man kann vom Speichermedium lesen und darauf schreiben)

Um jetzt den Inhalt des USB-Sticks anzuzeigen gibt man folgendes ein: cd /mnt cd heisst "change directory" also ordner wechseln. Auf dem Router läuft Linux und da gibt es keine laufwerksbuchstaben wie bei Windows (oder dos). Da sind alle laufwerke in einem einzigen verzeichnisbaum eingebunden. und dann tipp ein: ls (dann eingabetaste drücken). das heisst "list" also auflisten. TADA (tusch mit pauke) und du siehst die Dateien vom USB-Stick. (in das übergeordnete Verzeichnis kommst du übrigens wenn du cd.. eintippst)

jetzt erklär ich wie man auf den usb stick auch mit einem internetbrowser zugreifen kann:

tipp in putty ein: ln -s /mnt /www/mnt (dann eingabetaste drücken) (oder anstatt mnt deinen geänderten namen). ln heisst link und das verknüpft den gemounteten usb stick mit dem link ordner im router (vermute ich mal so).

dann starte einen browser und tipp in die linkzeile das ein: http://10.2.23.129/mnt/a.txt (dann eingabetaste drücken) für 10.2.23.129 muss natürlich deine freifunk ip da stehen und für mnt dein geänderter name falls du es geändert hast. (eine datei mit dem namen a.txt muss sich natürlich auch tatsächlich auf deinem usb stick befinden). jetzt ist es endlich geschaft denn nun muss der text von der a.txt datei in deinem browser zu lesen sein.

damit das mounten vom usb stick nicht bei jedem neustart vom router von hand jedesmal neu gemacht werden muss kann man das auch vom router automatisch erledigen lassen. dazu muss ein startskript im ordner /etc/init.d angelegt werden. das geht so:
installier dir winscp (such danach bei google oder so) und starte es. im feld "Rechnername" tippst du wieder deine freifunk ip ein. im feld "Benutzername" tippst du root rein. und bei "Kennwort" muss dein routerpasswort rein. das "Kennwort" feld kannst du aber auch leer lassen und das passwort später eingeben. bei mir funktioniert das programm nur wenn ich "Protokoll" auf SCP stelle. dann auf "Anmelden" klicken. wenn du eine firewall hast dann meldet die sich jetzt wieder weil winscp auf den router zugreift. das musst du natürlich erlauben.
jetzt in den ordner /etc/init.d wechseln (es gibt 2 /etc ordner. im ersten befindet sich kein /init.d dann musst du erst in den übergeordneten ordner wechseln dann siehst du noch einen /etc ordner). wenn du jetzt im order init.d bist dann klick mit der rechten maustaste irgendwo in den weissen leeren bereich unterhalb von den ganzen dateien. jetzt kommt ein menü in dem ganz unten "NEU" steht da gehst du dann auf "DATEI". dann musst du einen dateinamen eingeben der mit einem grossen S beginnt und dann eine zweistellige zahl gefolgt von dem eigentlichen dateinamen. das sieht bei mir so aus: S98startscript. dann auf ok klicken. jetzt öffnet sich ein texteditorfenster in das du folgendes eintippst:

mkdir -p /mnt
mount /dev/scsi/host0/bus0/target0/lun0/part1 /mnt
ln -s /mnt /www/mnt

(wichtig: auf die leerzeichen achten) an den stellen wo ich mnt geschrieben habe kannst du natürlich auch wieder deine andere bezeichnung nehmen (aber dann in jeder zeile das mnt mit der gleichen bezeichnung ersetzen). jetzt klickst du auf das diskettensymbol (zweites symbol von oben links). das speichert das was du gerade getippt hast unter dem angegebenen dateinamen ab.
jetzt das editorfenster wieder schliessen und mit der rechten maustaste auf die ebend erstellte datei klicken. es erscheint ein menü in dem ganz unten "Eigenschaften" steht. da klickst du drauf. jetzt erscheint ein fenster in dem ganz unten "Oktal" steht. da trägst du 0777 ein und drückst auf OK. das bewirkt das die datei automatisch beim routerstart ausgeführt wird und somit den usb stick automatisch mountet und als link verknüpft.
zum testen ob alles geklappt hat jetzt den router neu starten (entweder mit dem resetknopf hinten oder das netzteil kurz ausstecken - ganz elegant geht es natürlich auch indem du die tastenkombination strg+t in winscp drückst dann erscheint das terminalfenster in dem du oben reboot eintippst und auf ausführen klickst). jetzt macht der router einen neustart.
etwas warten bis die blinkerei der grünen lämpchen aufhört.
dann tippst du wieder im browser den link zur testdatei (a.txt) ein
(bei mir sieht das so aus: http://10.2.23.129/mnt/a.txt)
bei dir muss natürlich wieder deine freifunk ip dahin und bei mnt.... und die testdatei a.txt muss auf deinem stick sein... kennst du ja jetzt alles.
wenn du alles richtig gemacht hast dann siehst du jetzt den inhalt von der a.txt im browser also wurde dein usb stick automatisch gemountet und als link verknüpft.
jetzt kannst du eventuell eine mehr oder weniger aufwendig gestaltete html seite machen auf die dann alle zugreifen können die auf deinen router kommen. es gibt natürlich noch viel mehr möglichkeiten aber das musst du dir selber ausdenken.


der vollständigkeit halber noch das hier:
hier noch eine kleine anleitung wie du einen link zum usb stick auf die startseite vom router bekommst:
winscp starten (rechnername: deine freifunk ip / benutzername: root / protokoll: scp (jedenfalls bei mir) / dann auf anmelden klicken und routerpasswort eingeben) dann
in den ordner rom wechseln und da in den ordner www wechseln (es gibt noch einen www ordner im grundverzeichnis - den meine ich aber nicht) dann
die datei cgi-bin-index.html datei auf deine festplatte kopieren (das dateisymbol hat KEIN weisses viereck mit einem schwarzen pfeil unten links (verknüpfungssymbol)) dann
ins grundverzeichnis wechseln und da in den www ordner da dann
die datei cgi-bin-index.html (das ist die verknüpfung und das dateisymbol hat ein weisses viereck mit schwarem pfei) umbenennen in z.b. cgi-bin-index.original dann
die cgi.bin-index.html datei kopie (die du ebend auf deine festplatte kopiert hast) mit dem Editor öffnen (rechtsklick auf die datei / öffnen mit / programm auswählen / Editor) (in früheren windows versionen hiess der Editor auch Notepad). auf keinen fall darf diese datei mit einem html editor geöffnet werden da es kein echtes html ist. jetzt suchst du die folgende stelle:

<H2>Einige Links</H2>

<UL>

und unter <UL> trägst du dann das ein:
<LI><A HREF="http://10.2.23.129/mnt/index.html">LX' usb stick server</A></LI>

anstelle von 10.2.23.129 muss natürlich deine freifunk ip dahin und falls du deinen usb stick in einen anderen ordner gemountet hast dann muss natürlich anstelle von mnt wieder der andere name da hin. das index.html muss so stehen bleiben. anstelle von "LX' usb stick server" kommt da natürlich deine linkbezeichnung dahin. da kannst du dir ausdenken was du willst. jetzt oben im menü "Datei" einfach "Speichern" drücken und den editor verlassen (Beenden). dann
die datei wieder in den www ordner kopieren (NCHT den im rom ordner) dann
im www order mit der rechten maustaste auf die datei klicken und eigenschaften auswählen.
da dann unter Oktal dann 0755 eintragen und auf OK klicken.
zum prüfen ob alles richtig ist jetzt deinen internetbrowser starten un oben in die linkleiste deine freifunk ip eintragen. jetzt musst du auf der startseite von deinem router deinen neuen link sehen sonst starte den router nochmal neu (im winscp strg+t dann oben reboot eingeben und ausführen klicken oder hinten am router den resetknopf drücken oder netzstecker kurz rausziehen).


so das wars.

ein grosses dankeschön geht noch an Wellenreiter und an RB580 für einige hilfreiche tips.

Persönliche Werkzeuge