Sonntag, 11. Januar 2009

HTC Touch Diamond als rndis Modem in Ubuntu

Hallo!

Dank dem Blog "myhowtosandprojects" hab ich nun endlich mein HTC Diamond in Ubuntu 8.10 als rndis Modem zum Laufen gebracht.

Ich kann jetzt also mein HTC nutzen um ins Internet zu gehen. Auch mit Ubuntu sind alle Geschwindigkeiten (GPRS, EDGE, UMTS...) verfügbar (getestet im T-Mobile Netz Deutschland).

Zwar unterstützt Ubuntu 8.10 von Haus aus die rndis Funktion, allerdings macht es in Verbindung mit dem HTC Diamond einige Probleme.
Daher muss der Code ein bisschen verändert werden, um Fehler wie z.B. [355.215268] rndis_host 5-3:1.0: dev can't take 1558 byte packets (max 1536)
auszuschalten.

Für das nachfolgende Prozedere solltet ihr eine bestehende Internetverbindung haben.

1. Installation von Abhängigkeiten (subversion)
2. Den Source holen
3. Source modifizieren
4. Compile / make / install
5. Im HTC die Internetfreigabe aktivieren
6. Über USB verbinden

Die Schritte 1-4 müssen nur das aller erste mal ausgeführt werden, danach müsst ihr, wollt ihr eine Verbindung aufbauen, nur noch die Schritte 5 und 6 ausführen (wie bei Windows auch).


Schritt 1 - Die Installation der Abhängigkeiten (subversion)

Terminal öffnen (in den nachfolgenden Schritten immer das selbe Terminal verwenden!)

Code:

$ sudo apt-get install subversion

Schritt 2 - Den Source holen

Code:

$ svn co http://synce.svn.sourceforge.net/svnroot/synce/trunk/usb-rndis-lite
cd usb-rndis-lite/

Schritt 3 - Source modifizieren

Code:

$ gedit rndis_host.c

Sucht in der Zeile 523 nach folgendem:

Code:

if (tmp <>hard_mtu) {
dev_err(&intf->dev,
"dev can't take %u byte packets (max %u)\n",
dev->hard_mtu, tmp);
goto fail;
}

und ändert es wie folgt:

Code:

if (tmp <>hard_mtu) {
dev_err(&intf->dev,
"dev can't take %u byte packets (max %u)\n",
dev->hard_mtu, tmp);
retval = -EINVAL;
/* goto fail;*/
}

Die geänderte Datei speichern.

Schritt 4 - Compile / make / install

Code:

$ make
$ sudo ./clean.sh
$ sudo make install

Schritt 5 - Internetfreigabe starten

Im HTC unter Programme das Programm "Internetfreigabe" starten, USB-Verbindung auswählen und auf "Verbinden" klicken.

Schritt 6 - HTC mit Computer verbinden (über USB)

Die Verbindung stellt sich nun (in Ubuntu 8.10) automatisch her.


Viel Spaß beim Surfen ;-)
Dani

Keine Kommentare: