Internet über USB/Bluetooth Verbindung routen (Linux/Windows XP Prof.)

Alte Anleitung:

PPP Verbindung über USB/Bluetooth mit einem PC und in das Lan/Internet routen (Linux veraltet)

Nach langem Ausprobieren und Recherchieren habe ich es jetzt geschafft, die Internetverbindung eines Linux und Windows Systems über USB und Bluetooth auf das A780 zu routen. Mein Dankeschön geht an "Mack", der die Kernelmodule und die Routingskripte für das A780 geschrieben hat. Des folgenden geht mein Dank an "zyp_2000" der ein mack.mpkg Paket gebaut hat und leoppp skript integriert hat. Ich habe seine Arbeit aus dem Chinesischen ins Deutsche übersetzt, erweitert und teilweise verbessert, sowie E680i led prog entfernt und ein ishare.mpkg Paket gebastelt. Ein weiterer Dank geht an "Pnail" der den entscheidenen Tipp für Windows Bluetooth gepostet hat.

Im folgendem Abschnitt wird erklärt wie mit dem Motorola A780 eine Internetverbindung über USB mit einem Linux System realisiert wird. Als Grundlage dient das Mackconnectivitypack, leoppp und die mack.mpkg (vom E680I). Benötigt wird auf dem Telefon der Linloader und das Programm Ishare. Vor dem Starten von Ishare sollte man das GPRS deaktivieren.

Das Ishare Programm kann nur auf diska installiert werden, also in den "Blitz-Speicher" des Telefons. Es installiert sich in das gleiche Verzeichniss wie das mackconnectivity pack. Also wenn dieses installiert ist, sollte es vorher gelöscht werden.

"/diska/.system/QTDownLoad/mack"

Eine neue Version ist verfügbar und zwar Ishare v1.3eng. Eine deutsche Version wird es nicht mehr geben. Es ist zu viel Arbeit. In dem Paket ist auch nur eine englische Anleitung. Dafür gibt es ja diese Homepage und ich hoffe, dass ich die Zeit haben werde die Anleitung zu verbessern und eventuell auch noch mehr Bilder zeige.

ishare_v1.3eng.zip

Inhalt der Ishare.zip:

route_a780.bat		Windows-Batch für BT und USB routing.
routing_bt.sh		Routingskript für Linux BT
routing_usb.sh		Routing script for Linux USB-Lan
routing_acm.sh		Routing script for Linux USB-PPP
ishare.mpkg		Programm enthält iptables und PPP-Skript
manual.txt		Anleitung

Ishare Funktion:

Internet sharing BT over PPP (Linux/Windows)
Internet sharing USB over USBLan(Linux/Windows)
Internet sharing USB over PPP(Linux)
Telnet over PPP USB (Linux)
Telnet over PPP BT (Linux/Windows)
Telnet over GPRS (no limit)
Internet sharing GPRS over PPP-USB (Linux)
Internet sharing GPRS over PPP-BT (Linux/Windows)
Internet sharing GPRS over USBLan (Linux/Windows)

Folgende IP's verwendet das Ishare Programm:

		      Linux					     Windows
	host (PC)		phone			host(PC)		phone
USB	192.168.1.1		192.168.1.2		169.254.142.1		169.254.142.2
BT	192.168.1.3		192.168.1.4		192.168.1.3		192.168.1.4

GPRS-Fake	10.1.1.1
GPRS		10.112.112.112
vergrößern - links klick

Voraussetzung: linloader, telnet Benötigte Software: ishare.mpkg

Quellen für die verwendeten Skripte in dem Ishare Paket:

http://www.troodon.org/a780/a780-linux-howto.htm
http://club.ccmove.com/nclub/topicdisplay-1189-656874.html
Internet Connection Sharing


Internet über USB/Bluetooth routen (Linux)

1. Linux Kernel Optionen

Getestet mit Debian etch Kernel 2.6.25

Für USB:

Um das Motorola Modem zu erkennen muss im Kernel unter Device Drivers --> USBsupport: (M) USB Modem (CDC ACM) support als Modul geladen werden.

Für eine USBlan-Verbindung muss im Kernel unter Device Drivers --> Network device Support --> USB Network Adapters: (M) Multi-purpose USB Networking Framwork --> (M) Sharp Zaurus (stock ROMs) and compatible als Modul geladen werden (gilt nur für 2.6.X-Kernel)

Für 2.4.x Kernel steht ein Treiber zur Verfügung wird hier aber nicht behandelt.

Für Bluetooth:

Protokolle
Networking --> Bluetooth subsystem support --> (M) L2CAP; (M)RFCOMM
Treiber
Networking --> Bluetooth subsystem support --> Bluetooth device drivers --> (M) HCI USB driver
Der hat für mein USB-Bluetooth adapter funktioniert ansonsten erstmal alle reinladen. Installierte Pakete unter debian etch: bluez-utils und bluez-gnome

Allgemein:

Um später die Pakete von dem Handy auf das Netzwerk zu routen braucht man die iptable/nat Funktion. Welche Kernelmodule man wirklich benötigt keine Ahnung.
Also unter:

Networking --> Networking options --> (*) Network packet filtering framework (Netfilter) --> core Netfilter config und IP: Netfilter Configuration
...alle Module fest in den Kernel geladen.

Des Weiteren sollte überprüft werden ob das iptables Paket installiert ist.

Optional:

Networking --> Networking options --> (*) IP: advanced router
Diese Option versetzt das System in ein dauerhaften Router, das bedeutet, dass die Datei "/proc/sys/net/ipv4/ip_forward" standardmäßig auf "1" steht.

2. USB-Lan Linux

- USBkabel verbinden im Modem Modus und danach die acmattach.lin ausführen oder wenn aktiviert mit dem USB-Lan modus verbinden.

- auf dem Linux-PC das routing_usb.sh script ausführen.

- Ishare aufrufen. Share -> Start -> USB -> Linux -> Internet -> LAN.

- Fertig

- Zum Zurücksetzen der Iptableeinträge auf dem Telefon Ishare nochmals starten Share -> Stop -> Share drücken.

3. USB-PPP Linux

- USBkabel verbinden im Modem Modus.

- Den PPP-Deamon auf dem PC starten.

pppd /dev/ttyACM0 noauth local

- Ishare aufrufen. Share -> Start -> USB -> Linux -> Internet -> PPP.

- Folgender Dialog erscheint noch nicht auf OK drücken.

vergrößern - links klick

- auf dem Linux-PC das routing_acm.sh script ausführen, danach mit OK bestätigen.

- Fertig

- Zum Zurücksetzen der Iptableeinträge auf dem Telefon Ishare nochmals starten Share -> Stop -> Share drücken.

4. Bluetooth Linux

- Auf dem Linux-Rechner:

In der Datei "/etc/bluetooth/hcid.conf" kann man die local device class setzen. Und der Pin code muss eine 4 stellige Zahl sein, die man später auch noch wissen muss.

1. wenn der Treiber noch nicht geladen ist dann:
modprobe hci_usb
2. den Bluetooth deamon starten falls er noch nicht gestartet ist:
/etc/init.d/bluetooth start
3. den Bluetooth adapter anzeigen und sichtbar machen mit
hciconfig
hciconfig -a hci0 piscan

- Auf dem Telefon Bluetooth auffindbar machen

- auf der Linux-kiste nach dem Telefon scannen und sich die MAC-Adresse notieren

hcitool scan

- Auf dem Telefon nach Bluetooth-Geräte scannen und mit dem Rechner Koppeln, nun muss das Passwort aus der hcid.conf eingegeben werden. Eigentlich dachte ich das es automatisch genommen wird. Auf dem Linuxrechner wird man auch aufgefordert das Passwort einzugeben. Um die lästigen abfragen und eventuell entstehenden Probleme zu entgehen, würde ich den Haken von "Vor Verbindung benachrichtigen", in den Geräteinformationen des Bluetoothgerätes, entfernen.

haken bt

- für die RFcomm verbindung, wenn man vom Telefon aus koppelt braucht man dieses nicht.

dund -p5 -P5 -c [bt_address_from_phone] noauth local

- (Auf dem Telefon die SPP-Verbindung annehmen.)

- Um zu überprüfen ob die connection und die RFcomm Verbindung steht, helfen diese beiden Befehle:

hcitool con
dund -l

- Ishare ausführen. Share -> Start -> Bluetooth -> Internet.

- Wenn eine RFcomm Verbindung vorhanden war sollte BT_ready_call_host erscheinen.

- Auf dem Linux-PC als root das routing_bt.sh script ausführen.

./routing_bt.sh

- Zum Zurücksetzen der Iptableeinträge auf dem Telefon Ishare nochmals starten und Share -> Stop -> Share drücken.

5. Bluetooth Linux Telnet

- für die RFcomm verbindung

dund -p5 -P5 -c [bt_address_from_phone] noauth local

- Auf dem Telefon die SPP-Verbindung annehmen.

- Ishare ausführen. Share -> Start -> Bluetooth -> PPP.

- telnet 192.168.1.4

- PPP beenden mit: Share -> Stop -> PPP

6. USB-PPP Linux Telnet

- USB Modem Mode aktivieren und das Telefon verbinden.

- Den PPP-Deamon starten.

pppd /dev/ttyACM0 noauth local

- Ishare ausführen. Share -> Start -> USB -> Linux -> PPP.

- telnet 192.168.1.2

- PPP beenden mit: Share -> Stop -> PPP

Internet über USB/Bluetooth routen (Windows)

1. USB Windows

- Belcarra USBlan Treiber installieren

Installation des USBLan-Treibers:
1. Aus dem usblanMOTO Verzeichnis die btblan-demo-12b9-f001-07-05-2004.exe installieren

2. Den Inhalt aus USBLAN in das "C:\Programme\Belcarra\USBLAN" Verzeichnis kopieren und überschreiben.

- USBkabel verbinden im Modem Modus und danach die acmattach.lin ausführen oder wenn aktiviert mit dem USB-Lan modus verbinden.

- erste neue erkannte Hardware ist das Modem installation kann abgebrochen werden. Bei der zweiten erkannten neuen Hardware das "C:\Programme\Belcarra\USBLAN" Verzeichnis angeben.

- Loopbackadapter installieren der wird nur benötigt, damit die Funktion "Gemeinsame Nutzung der Internetverbindung" bei der Netzwerkkarte erscheint.

-> Start -> Systemsteuerung -> Hardware -> weiter
-> Wählen "Ja, die Hardware wurde schon angeschlossen" -> weiter
-> auswählen ganz unten in der Liste "Neue Hardware hinzufügen" -> weiter
-> Wählen "Hardware manuell auswählen" -> weiter
-> Wählen "Netzwerkadapter" -> weiter
-> Wählen "Microsoft" -> "Microsoft Loopbackadapter"

vergrößern - links klick

- Bei der lokalen Netzwerkkarte dann die Gemeinsame Nutzung der Internetverbindung aktivieren (nur XP Prof.).

-> Start -> Einstellungen -> Netzwerkverbindung
-> Eigenschaften von der Lanverbindung" -> Erweitert
-> anderen Benutzern im Netzwerk gestatten die Internet verbindung zu nutzen anhaken und die USBlan Verbindung auswählen

vergrößern - links klick

- Nun kann der Loopbackadapter gelöscht werden. Systemsteuerung, System, Hardware.

Verbindung

Jetzt kann die eigentliche Verbindung aufgebaut werden:

- Auf dem Handy Ishare ausführen. Share -> Start -> USB -> Windows -> Internet.

- Die route_a780.bat ausführen.

- Fertig

- Zum Zurücksetzen der Iptableeinträge auf dem Telefon Ishare nochmals starten und Share -> Stop -> Share drücken.

2. Bluetooth Windows

- neues Bluetoothgerät hinzufügen A780 serial port und den Com-port notieren

vergrößern - links klick

- Ein Nullmodem installieren

-> Start -> Systemsteuerung -> Hardware -> weiter
-> Wählen "Ja, die Hardware wurde schon angeschlossen" -> weiter
-> auswählen ganz unten in der Liste "Neue Hardware hinzufügen" -> weiter
-> Wählen "Hardware manuell auswählen" -> weiter
-> Wählen Modems -> Modem auswählen (Keine automatische Erkennung)
-> "Standardmodemtypen" -> Kommunikation zwischen zwei Computern
den Com-port von der A780 seriellen Schnittstelle angeben

vergrößern - links klick

- Eine neue Netzwerkverbindung erstellen

-> Assistent für neue Verbindungen aufrufen
-> Wählen "Eine erweiterte Verbindung einrichten" -> weiter
-> auswählen "Verbindung direkt mit anderem Computer herstellen" -> weiter
-> Wählen "Gast" -> weiter
-> Ein Namen für die Verbindung wählen z.B. A780BT
-> Gerät auswählen: Kommunikationskabel zwischen zwei Computern (COMx)

vergrößern - links klick

Eigenschaften der Neuen "A780BT" Netzwerkverbindung:

Optionen->Wähloptionen: "Name, Kennwort, Zertifikat, usw. abfragen" abwählen

Netzwerk->TCP/IP-> Eigenschaften -> Erweitert-> "Standardgateway für das Remotenetzwerk" abwählen

vergrößern - links klick

- Bei der lokalen Netzwerkkarte dann die Gemeinsame Nutzung der Internetverbindung aktivieren (nur XP Prof.). Wenn die Option nicht vorhanden ist ein Loopbackadapter installieren siehe unter USB Windows.

Jetzt die eigentliche Verbindung aufgebaut werden:

- Das Bluetoothgerät A780 serielle Schnittstelle verbinden.

- Ishare aufrufen. Share -> Start -> Bluetooth -> Internet.

- Wenn "BT_ready_call_host" erscheint ist alles in Ordnung, aber noch nicht OK drücken. Auf dem Computer die erstellte A780BT Netzwerkverbindung verbinden und danach auf OK gedrückt. Wenn der Fehler Start_PPP_rfcomm! auftacht ist die Bluetooth serielle Schnittstelle noch nicht gekoppelt.

vergrößern - links klick vergrößern - links klick

- Die route_a780.bat ausführen.

- Fertig

- Zum Zurücksetzen der Iptableeinträge auf dem Telefon Ishare nochmals starten und Share -> Stop -> Share drücken.

3. Bluetooth Windows Telnet

- Das Bluetoothgerät A780 serielle Schnittstelle verbinden.

- Ishare aufrufen. Share -> Start -> Bluetooth -> PPP.

- Auf dem Computer die erstellte A780BT Netzwerkverbindung verbinden

- telnet 192.168.1.4

Um PPP zu beenden: Share -> Stop -> PPP

Ishare GPRS Funktionen

Für die folgenden Funktionen sollte natürlich die GPRS-Antenne aktiviert sein.

Wenn Connect_Provider erscheint nicht auf Ok drücken sondern folgendes ausführen und danach auf Ok drücken.

connect
Mini How To: Wie wähle ich mich ein.

a) Starte die "Einstellungen" am Telefon.
b) "Datennetz" wählen
c) Das Profil auswählen und verbinden.

Wenn keine Verbindung hergestellt wurde kommt diese Fehlermeldung und das Programm bricht ab:

error

1. Internet sharing GPRS over PPP-USB (Linux)

1. Das USBkabel verbinden im Modem Modus.

2. Den PPP-Deamon auf dem PC starten.

pppd /dev/ttyACM0 noauth local

3. Start ishare. GPRS -> Internet -> Start -> ACM

4. Es erscheint Connect_Provider? -> verbinden.

5. Zurück zu Ishare und Ok drücken. Wenn man nicht verbunden ist, beendet sich das Programm mit folgendem Fehler: Start_gprs_plz!.

6. Auf dem PC route für ppp0 setzen:

route add default dev ppp0

7. [Stopp] GPRS -> Internet -> Stop -> PPP.

2. Internet sharing GPRS over PPP-BT (Linux/Windows)

Linux

1. für die RFcomm verbindung

dund -p5 -P5 -c [bt_address_from_phone] noauth local

2. Auf dem Telefon die SPP-Verbindung annehmen.

3. Start ishare. GPRS -> Internet -> Start -> BT

4. Es erscheint Connect_Provider? -> verbinden.

5. Zurück zu Ishare und Ok drücken. Wenn man nicht verbunden ist, beendet sich das Programm mit folgendem Fehler: Start_gprs_plz!.

6. Auf dem PC route für ppp0 setzen:

route add default dev ppp0

7. [Stopp] GPRS -> Internet -> Stop -> PPP.

Windows

1. Das Bluetoothgerät A780 serielle Schnittstelle verbinden.

2. Auf dem Telefon die SPP-Verbindung annehmen.

3. Start ishare. GPRS -> Internet -> Start -> BT

4. Wenn "BT_ready_call_host" erscheint ist alles in Ordnung, aber noch nicht OK drücken. Jetzt wird schnell die A780BT direkt Verbindung verbunden und danach auf OK gedrückt. Wenn der Fehler Start_PPP_rfcomm! auftacht ist die serielle Schnittstelle noch nicht gekoppelt.

5. Es erscheint Connect_Provider? -> verbinden.

6. Zurück zu Ishare und Ok drücken. Wenn man nicht verbunden ist, beendet sich das Programm mit folgendem Fehler: Start_gprs_plz!.

7. Auf dem PC eine route setzen. Ich habe das so gemacht, geht bestimmt auch anders.:

route add 0.0.0.0 mask 0.0.0.0 192.168.1.3

7. [Stopp] GPRS -> Internet -> Stop -> PPP.

3. Internet sharing GPRS over USBLan (Linux/Windows)

Linux

1. Das USBkabel verbinden im USBLan Modus.

2. Dem device eine IP zuweisen.

ifconfig usb0 192.168.1.1 netmask 255.255.255.0 up

3. Start ishare. GPRS -> Internet -> Start -> LAN

4. Es erscheint Connect_Provider? -> verbinden.

5. Zurück zu Ishare und Ok drücken. Wenn man nicht verbunden ist, beendet sich das Programm mit folgendem Fehler: Start_gprs_plz!.

6. Auf dem PC route für usb0 setzen:

ip route add default via 192.168.1.2 dev usb0

7. [Stopp] GPRS -> Internet -> Stop -> LAN.

Windows

1. Das USBkabel verbinden im USBLan Modus.

2. Start ishare. GPRS -> Internet -> Start -> LAN

3. Es erscheint Connect_Provider? -> verbinden.

4. Zurück zu Ishare und Ok drücken. Wenn man nicht verbunden ist, beendet sich das Programm mit folgendem Fehler: Start_gprs_plz!.

5. Auf dem PC route für usb0 setzen:

Das hat bei mir funktioniert geht garantiert noch anders:

route delete 0.0.0.0 mask 0.0.0.0 169.254.142.253
route add 0.0.0.0 mask 0.0.0.0 169.254.142.2
route add 0.0.0.0 mask 0.0.0.0 169.254.142.2 if 0x1.....

Wenn man kein DNS bei der Verbindung eingetragen hat geht das auch mit der Console:

netsh interface ip set dns name="Local Area Connection X" static 62.159.208.235 (first DNS)
netsh interface ip add dns name="Local Area Connection X" 194.25.2.129 (second DNS)

7. [Stopp] GPRS -> Internet -> Stop -> LAN.

4. Telnet over GPRS (no limit)

Mit dieser Funktion kann man das auf den Telnet dienst des Telefons über das Internet zugreifen. Es kann nur ein Client darauf zugreifen. Ich würde euch trotzdem empfehlen, einfach das root password zu verändern (cg33 flashen).

a) Starte die "Einstellungen" am Telefon.
b) "Datennetz" wählen
c) Das Profil auswählen und verbinden.
d) Start ishare -> GPRS -> Telnet
e) Die benötigte IP und Port wird 12s lang angezeigt
f) Das GPRS Profil kann nun getrennt werden.

Fertig

Netzwerkverbindungen in Windows (beachte DFÜ Verbindung wurde nicht im Tutorial benutzt):

vergrößern - links klick

Zum Ausprobieren habe ich opera mini installiert. Dieser wird gestartet, ein Fake-Verbindungsprofil ausgewählt und schon kanns los gehn.

Das Ergebniss wurde festgehalten; die folgenden Bilder zeigen den Opera mini in Aktion.

vergrößern - links klick vergrößern - links klick

Weiterhin ist eine Remote-Desktop und eine VNC-Verbindung über PPP möglich.
Dafür wird die ezxrdp-0.5.rar und die vnc.zip von den Motorolafans benötigt.

vergrößern - links klick vergrößern - links klick

Ich hoffe, dass das Tutorial hilfreich ist. Viel Spaß beim Surfen.