|
||||||
|
Hier jetzt noch die Konfiguration, wie ich mein Sierra Wireless-Modem (MC8790) konfiguriert habe. Leider konnte ich das Modem nicht direkt mit vyatta konfigurieren. Das Problem ist, dass die Verbindung niemals automatisch erstellt werden darf – eine Einwahl kostet immerhin für den jeweiligen Tag gleich 5€. Deswegen habe ich die Konfiguration manuell angelegt. Nachteil dabei ist natürlich, dass man dann keine weiteren Konfigurationen, wie z.B. eine Firewall, nicht direkt über vyatta hunzufügen kann. Das Modem selbst ist mittels mini-PCIe verbaut und nutzt USB 2.0 connectivity. Das heisst, das das Modem im Grunde nur ein intern verbautes USB-Gerät ist und als solches auch gehandelt wird. Bei meinem MC8790 brauchte ich ausserdem eine rechte aktuelle Kernel-Version – 2.6.30 nutze ich momentan. Ob auch ältere Versionen unterstützt werden, weiss ich leider nicht. Deswegen habe ich momentan eine Vyatta-Version direkt aus dem git-repository. Mittlerweile gibt es allerdings auch von der VC6 eine alpha direkt auf CD, das macht das ein bisschen einfacher Nach Installation und booten des Routers habe ich mich erstmal Vergewissert, dass das Modem korrekt erkannt wurde: vyatta@vyatta:~$ lsusb Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 001 Device 002: ID 1199:683c Sierra Wireless, Inc. Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Das Modem wurde also erkannt, einmal noch mittels dmesg geprüft, ob der Treiber auch geladen wurde: [ 16.945727] usbcore: registered new interface driver usbserial [ 16.945808] USB Serial support registered for generic [ 16.946068] usbcore: registered new interface driver usbserial_generic [ 16.946084] usbserial: USB Serial Driver core [ 16.986380] USB Serial support registered for Sierra USB modem [ 16.986478] sierra 1-2:1.0: Sierra USB modem converter detected [ 17.029253] cs5535_gpio: base=0x6100 mask=0xb003c66 major=251 [ 17.048506] usb 1-2: Sierra USB modem converter now attached to ttyUSB0 [ 17.048581] sierra 1-2:1.1: Sierra USB modem converter detected [ 17.056541] usb 1-2: Sierra USB modem converter now attached to ttyUSB1 [ 17.056616] sierra 1-2:1.2: Sierra USB modem converter detected [ 17.059656] usb 1-2: Sierra USB modem converter now attached to ttyUSB2 [ 17.059725] sierra 1-2:1.3: Sierra USB modem converter detected [ 17.064442] usb 1-2: Sierra USB modem converter now attached to ttyUSB3 [ 17.064504] sierra 1-2:1.4: Sierra USB modem converter detected [ 17.066123] usb 1-2: Sierra USB modem converter now attached to ttyUSB4 [ 17.066195] sierra 1-2:1.5: Sierra USB modem converter detected [ 17.067960] usb 1-2: Sierra USB modem converter now attached to ttyUSB5 [ 17.068033] sierra 1-2:1.6: Sierra USB modem converter detected [ 17.069120] usb 1-2: Sierra USB modem converter now attached to ttyUSB6 [ 17.069194] usbcore: registered new interface driver sierra [ 17.069209] sierra: v.1.3.3:USB Driver for Sierra Wireless USB modems So weit, so gut – das Modem bietet 7 serielle Ports – ttyUSB0-7. Davon sind einige als Modem ansprechbar – bei mir genau eins, da mein Router nur einen SIM-Socket hat. Da es viel zu aufwändig wäre, alle Modems mit allen seriellen Geschwindigkeiten auszuprobieren, habe ich dafür wvdial verwendet. wvdial wird allerdings nicht direkt von vyatta mitgeliefert – aber vyatta ist auch “nur” ein Debian, deswegen kann man entweder:
Da ich ja Faul bin habe ich einfach letzteres gemacht Bei vyatta dazu einfach in den configure-Modus wechseln und folgende Konfig anlegen: system {
[...]
package {
[...]
repository lenny {
components main
distribution lenny
url http://ftp.informatik.rwth-aachen.de/ftp/pub/Linux/debian/
}
}
}
Aus Gründen der Übersichtlichkeit habe ich die anderen Parameter aus den sektionen system und package einfach durch [...] ersetzt. Jetzt ein “commit” und “save”, um die neuen Werte zu speichern und dann wieder mit “exit” auf die Shell. Dann mit “sudo -s” root werden und mittels “apt-get update” einmal die Paketquellen aktualisieren. Jetzt kann man mittels “apt-get install wvdial” einfach wvdial installieren. Als nächstes muss das passende Modem gefunden werden. Dazu einfach als root auf der Shell “wvdialconf” eingeben. Das Programm testet alle Serial-Devices mit allen Geschwindigkeiten und INIT-Optionen und wartet auf eine passende Antwort von dem Modem. root@vyatta:~# wvdialconf Editing `/etc/wvdial.conf'. Scanning your serial ports for a modem. [Ausgabe gekürzt] Found a modem on /dev/ttyUSB3. Modem configuration written to /etc/wvdial.conf. ttyUSB3<Info>: Speed 9600; init "ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0" ttyUSB4<Info>: Speed 9600; init "ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0" ttyUSB5<Info>: Speed 9600; init "ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0" ttyUSB6<Info>: Speed 9600; init "ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0" wvdialconf sagt einem im Prinzip hier direkt, dass man /dev/ttyUSB3 als Modem mit 9600 baud verwenden kann. Da das Modem jetzt gefunden ist, bietet es sich an, von der SIM-Karte den simlock zu entfernen, weil sonst muss man nach jedem reboot den PIN wieder eingeben. Alternativ lässt sich das aber auch über ein chatscript machen. Bei mir habe ich einfach den simlock entfernt. Dazu habe ich noch minicom installiert (apt-get install minicom). Bei minicom zuerst einmal eine default-config anlegen. Dazu einfach “minicom -s” aufrufen. Hier im 3. Menüpunkt “Serial Port Setup” die Einstellungen für den Seriellen Port hinterlegen. Wichtig sind im Grunde die Punkte “Serial Device” und “Bps/Par/Bits”, so dass die Konfig danach wie folgt aussieht: A - Serial Device : /dev/ttyUSB3 B - Lockfile Location : /var/lock C - Callin Program : D - Callout Program : E - Bps/Par/Bits : 9600 8N1 F - Hardware Flow Control : No G - Software Flow Control : No Dann das ganze als “dfl” speichern und minicom beenden. Danach nochmal minicom starten, diesmal allerdings als “minicom -o”. Das “-o” bewirkt, dass minicom nicht versuchen soll, das Modem zu initialisieren. Das machen wir selbst (XXXX dabei gegeben den PIN der Karte ersetzen): ATZ OK AT+CPIN=XXXX OK AT+CLCK="SC",0,"XXXX" OK Jetzt bucht sich das Modem automatisch ins Netz ein und ist auch sofort verwendbar. Jetzt sind es nur noch 2 kleine Schritte, bis das Modem voll verwendbar ist! Als nächstes muss ein ChatScript angelegt werden. In diesem stehen die nötigen AT-Befehle, um eine Datenverbindung aufzubauen. Bei Vyatta liegen diese in ” /opt/vyatta/share/ppp/network/”. Ich habe dort eine Datei namens “vodafone.it” für meine Konfiguration angelegt, die folgendermaßen aussieht: ECHO ON TIMEOUT 60 ABORT ERROR ABORT BUSY ABORT VOICE ABORT "NO CARRIER" ABORT "NO DIALTONE" ABORT "NO DIAL TONE" ABORT "NO ANSWER" '' ATZ OK AT+CGDCONT=1,"IP","web.omnitel.it" OK ATD*99# CONNECT '' Wichtig hierbei ist eigentlich lediglich der “AT+CGDCONT”-Befehlt, der die Verbindungsspezifischen eingenschaften für den Datenkontext festlegt: 1 steht für die erste Konfiguration, IP steht für eine IP-Session und web.omnitel.it ist der APN-Name. Um den APN für den eigenen Provider herauszufinden, muss man ein wenig googlen – mit den Suchbegriffen “APN” und dem Providernamen ist untern den ersten 2-3 Ergebnissen der APN-Name zu finden. Jetzt fehlt nur noch die Konfiguration für den pppd selbst. In “/etc/ppp/peers/” habe ich dafür eine Datei “wlm99″ angelegt mit folgendem Inhalt: ipparam "wlm99 " usepeerdns /dev/ttyUSB3 9600 lcp-echo-failure 0 debug nodefaultroute ipcp-max-failure 4 ipcp-accept-local ipcp-accept-remote noauth crtscts lock persist linkname wlm99 connect '/usr/sbin/chat -v -t6 -f /opt/vyatta/share/ppp/network/vodafone.it' Das sind meist auch die Optionen, die vyatta hier nutzen würde – es gibt allerdings 2 Wichtige unterschiede:
Das wars. Von dem Router selbst aus, sollte sich die Verbindung nun mit einem “pppd call wlm99″ starten lassen: root@vyatta:~# pppd call wlm99 ATZ OK AT+CGDCONT=1,"IP","web.omnitel.it" OK ATD*99# CONNECT Serial connection established. using channel 2 Using interface ppp0 Connect: ppp0 <--> /dev/ttyUSB3 [ausgabe gekürzt] Could not determine remote IP address: defaulting to 10.64.64.64 Script /etc/ppp/ip-pre-up started (pid 24095) Script /etc/ppp/ip-pre-up finished (pid 24095), status = 0x0 Cannot determine ethernet address for proxy ARP local IP address 109.115.28.106 remote IP address 10.64.64.64 primary DNS address 83.224.65.134 secondary DNS address 83.224.66.134 … und endlich online! Wer jetzt allerdings noch mit Geräten hinter dem Router die Verbindung nutzen möchte, muss noch eine NAT einrichten. Das lässt sich wieder über Vyatta einstellen, die Konfiguration dafür sieht so aus: service {
[...]
nat {
rule 1 {
outbound-interface wlm99
type masquerade
}
}
}
Noch ein “commit” und ein “save” – damit ist auch die NAT eingerichtet und der Router ist voll verwendbar. Wie ja früher schonmal angedeutet, brauchte ich an einem “am a.. der Welt”-Standort in Italien Internet und Telefon. Aber leider wollte uns dort die dortige Telekom keinen Anschluss legen – nicht wirtschaftlicht. Und diese Aussage ist doch vertretbar, wenn die für einen Hausanschluss für 10.000€ die Strasse aufbuddeln müssen. Die nächste Möglichkeit wäre über WiFi gewesen – aber leider stand dort genau ein Hotel in der Blickrichtung, also fiel das auch flach. Aber interessanterweise gab es doch hervorragenden UMTS-Empfang (laut BlackBerry 5/5 Balken – und das eröffnet gerade im Bereich Internetverbindung doch einige Türen, die man durchaus nutzen kann. Fest stand, dass die Internetverbindung nicht nur “mal eben” über einen Laptop per USB-Stick erstellt werden sollte, sondern es doch eher in die Richtung wie der heimische DSL-Anschluss gehen soll. Also musste ein Router her, der UMTS unterstützt. Aber wenn man sich hier kommerzielle Produkte ansieht, landet man doch extrem schnell bei 1.000€ und mehr – komplett ausserhalb meiner Preisklasse. Und ein einfacher Desktoprechner mit Linux? Würde funktionieren, aber der ständige Stromverbrauch und Lärm eines solchen Systems war einfach unpraktikabel. Doch auch dafür gab es eine recht einfache Lösung: Das ALIX-Board von PC-Engines – genauer gesagt das alix6b2. Die ALIX-Boards sind ein vollwärtiger x86-PC in einem winzigen Formfaktor (lediglich ca. 15x15cm) und basierend auf einer AMD Geode LX CPU mit 500MHz und 256MB festgelöteten RAM bieten die genug Power für einen einfachen Router. VGA bietet es zwar nicht, aber eine serielle Konsole bietet im Grund mit Linux zusammen echt keinerlei Nachteile. Jetzt wurde natürlich noch folgende Dinge benötigt:
Als CF-Karte habe ich der Box eine 4GB SanDisk Extreme III spendiert – die liefert gute Performance und ist auch durchaus haltbar. Dann kam noch eine Sierr Wireless MC8790 mit Qualcomm Chipsatz für UMTS zum Einsatz. Die Karte ist zwar relativ kostspielig, aber auf einen USB-Stick, der da noch dranhängt, wollte ich mich einfach nicht einlassen. Zusammengebaut sieht das ganze dann in etwa so aus:
Das ist doch kompakt genug! Und 0dB Geräuschentwicklung – lediglich die Spannungswandler surren ein bisschen, wenn die Box unter Last steht. Wenn man das gleiche mal mit kommerziellen UMTS-Routern vergleicht und die Kosten ermittelt, hat man bis jetzt folgendes ausgegeben: ALIX 6b2 – 115€ Jetzt liegt man insgesammt bei 350€. Wenn man komplett auf Low-Budget gehen will, kann man die UMTS-Karte noch gegen ein USB-Stick tauschen und dann noch ein alix2d3 nehmen. Die USB-Sticks gibts dabei schon für ca. 60€, erlauben aber oft keine externe Antenne und die Linux-Kompatblität ist auch nicht immer sichergestellt. Der Vorteil dabei wäre eigentlich nur, dass das alix2d3 sogar nur noch die Abmaße von ca. 10x15cm hat. Ich brauchte an dem Standort allerdings umbedingt noch eine bessere UMTS-Antenne, so dass auch bei schlechteren Witterungen der Empfang ok ist. Nach etwas suchen habe ich mich hier dann für eine SLP14-MK2 von Thieking entschieden – die bietet 9dBi gain und hat dabei noch recht kompakte Abmasse und sprengt mit ca. 45€ auch das Budget nicht übermäßig. Wer mehr gain braucht, kann hier natürlich noch für mehr Geld auch bessere Antennen erwerben Mit dem Equipment zusammen konnte ich dann direkt loslegen. Als Betriebsystem kam Vyatta (eine Linux Distribution, speziell für Router/Firewalls optimiert) und nach einigen Eintellungen (komplettes HOWTO folgt!) war die Box dann auch schon Einsatzbereit – also ab damit nach Italien! Was jetzt noch fehlte war im Grunde die SIM-Karte. Hier gabs von Vodafone (einziger Anbiter mit gutem Empfang!) PrePaid-Karte in die Box – UMTS-Internet für 5€ Tagesflatrate war ausreichend. Das wars dann auch im Grunde – Online fernab der Zivilisation! Und wer jetzt noch wissen will, wie das mit der Vyatta-Konfiguration ganz genau geht – für den gibts in den nächsten Tagen ein HowTo |
||||||
|
Copyright © 2012 clutterbox - All Rights Reserved |
||||||
Letzte Kommentare