PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Vodafone UMTS PCMCIA Adapter Howto



ml
28.10.04, 22:03
1.) Vorwort:

Dieses HOWTO ist für Gentoo, sollte aber auch mir kleinen Anpassungen mit anderen Distris funktionieren!

Da es im Moment bei einem österreischen Mobilnetzbetreiber ein günstiges Angebot gibt hab ich mich entschlossen mir die Vodafone UMTS PCMCIA zu kaufen. Hat mir mit Anmeldung 39€ gekostet.

Zum Einwählen verwende ich kppp.

2.) Kernel richtig konfigurieren:


PCMCIA/CardBus support --->
<M> PCMCIA/CardBus support
<M> CardBus yenta-compatible bridge support

Device Drivers --->
USB support --->
<*> Support for USB
--- Miscellaneous USB options

USB device filesystem
--- USB Host Controller Drivers
<M> EHCI HCD (USB 2.0) support
<M> OHCI HCD support
<*> UHCI HCD (most Intel and VIA) support
--- USB port drivers
USB Serial Converter support --->
<M> USB Serial Converter support

USB Generic Serial Driver

PPP-Support:


<M> PPP (point-to-point protocol) support
[ ] PPP multilink support (EXPERIMENTAL)

PPP filtering
<M> PPP support for async serial ports
<M> PPP support for sync tty ports
<M> PPP Deflate compression
<M> PPP BSD-Compress compression

Ich habe es mit gentoo-dev-sources-2.6.9-r1 und gentoo-dev-sources-2.6.8-r10 zum Laufen gebracht, sollte aber auch mit älteren Kernel-Versionen funktionieren (auch mit Kernel 2.4.x).

Danach habe ich folgendes in die Datei /etc/modules.autoload.d/kernel-2.6
eingetragen damit das Modul "usbserial" mit richtigen Parametern automatisch beim Booten geladet wird:


usbserial vendor=0xaf0 product=0x5000

Wenn man dann bootet und tail -f /var/log/messages eingibt sollte man folgendes sehen sobald man die Karte einsteckt:


Oct 28 22:33:56 laptop usb 5-1: new full speed USB device using address 4
Oct 28 22:33:56 laptop usbserial_generic 5-1:1.0: Generic converter detected
Oct 28 22:33:56 laptop usb 5-1: Generic converter now attached to ttyUSB0
Oct 28 22:33:56 laptop usbserial_generic 5-1:1.1: Generic converter detected
Oct 28 22:33:56 laptop usb 5-1: Generic converter now attached to ttyUSB1
Oct 28 22:33:56 laptop usbserial_generic 5-1:1.2: Generic converter detected
Oct 28 22:33:56 laptop usb 5-1: Generic converter now attached to ttyUSB2


3.) Notwendige Programme installieren:

Notwendig ist ppp, also

emerge ppp

und kppp (im Packet kdenetwork), daher installieren falls es noch nicht ist:

emerge kdenetwork

4.) Skript zum Setzen des PIN-Codes installieren:


#!/usr/bin/env perl

use strict;
use warnings;

my $modem = "/dev/usb/tts/0";
# Substitute xxxx with your PIN.
# You should probably put your pin somewhere else, e.g. on an USB stick,
# an encrypted file system or something else, and read it from there...
# You have been warned!
my $pin = "1234";

$SIG{ALRM} = sub {
die("timeout: no response from modem $modem\n");
};

open(MODEM, "+<", $modem) or die("can't open modem $modem");
alarm(10);
print(MODEM "AT+CPIN=\"$pin\"\n\r");
while (<MODEM>) {
if (m/OK/) {
close(MODEM);
print("PIN accepted\n");
exit(0);
}
if (m/ERROR/) {
close(MODEM);
print("PIN rejected\n");
exit(1);
}
}

z.b. unter /usr/bin/setpin abspeichern, eigenen PIN-Code eintragen (eventuell auch Modem-Device, in diesem Fall "/dev/usb/tts/0", anpassen!)

Danach mit chmod 700 ausführbar machen.

Dieses Script muss ausgeführt werden nachdem man die Karte eingesteckt hat und vor dem Einwählen, denn ohne PIN-Code kann sich die Karte logischerweise nicht ans Netz anmelden.

5.) kppp einrichten:

Ich habe ein paar Screenshots gemacht, denn Bilder sagen mehr als 100 Worte:

http://www.layr.at/gentoo/screenshot1.jpg

http://www.layr.at/gentoo/screenshot2.jpg

http://www.layr.at/gentoo/screenshot3.jpg

http://www.layr.at/gentoo/screenshot4.jpg

http://www.layr.at/gentoo/screenshot5.jpg

Dabei gegebenfalls Modemgerät, Benutzername und DNS-Server anpassen!

Falls man sich auch als normaler Benutzer einwählen will dann muss man in der Gruppe dialout sein!

6.) Inbetriebnahme und Verwendung:

6.1. Karten einstecken (wenn sie es noch nicht ist).
Es werden beide LEDs der Karte (blau und grün) gleichzeitig blinken,
das bedeutet dass die Karte nicht ans Netz angemeldet ist. (Ist noch
nicht möglich weil wir der Karte noch keinen PIN-Code mitgeteilt haben!)

6.2. setpin (als Benutzer root!)
Damit schickt man der Karte den PIN-Code.
Unter der Annahme dass man Empfang hat wird sich nach ein paar
Sekunden der Status der LEDs ändern, so dass nur noch entweder die grüne LED oder die blau LED blinkt.
Blinkt die blaue LED, dann hat man UMTS-Empfang, blinkt hingegen nur die grüne LED, dann hat man nur GPRS-Emfang.

Sollte man vorerst nur GPRS-Empfang haben (nur grüne LED blinkt) und man wählt sich ein, und dann hat man doch UMTS-Empfang (nur blaue LED blinkt) muss man sich neu einwählen damit man mit UMTS Geschwindigkeit online ist!

6.3. kppp starten und auf "Verbinden klicken" ;)

ml
16.11.04, 22:57
Zu Punkt 4.)

Bis jetzt habe ich das Skript "setpin" immer manuell ausgeführt, bevor ich mich mit kppp einwählte.

Nun habe ich es aber geschafft mittels hotplug das Skript automatisch auszuführen, immer wenn die Karte eingesteckt wird. So ist der mobile Surf-Komfort noch größer.

In der Datei /etc/hotplug/usb.usermap folgende Zeile hinzufügen:


usbgenericserial 0x03 0xaf0 0x5000 0 0 0 0 0 0 0 0 0

Dann die Datei /etc/hotplug/usb/usbgenericserial mit folgendem Inhalt anlegen:


#!/bin/sh
modprobe usbserial vendor=0xaf0 product=0x5000
sleep 3
/usr/bin/setpin

und mit

chmod 755 /etc/hotplug/usb/usbgenericserial

ausführbar machen.

Abschließend noch den hotplug-Dämonen neustarten:

/etc/init.d/hotplug restart

Und fertig ;)

ml
25.12.04, 16:11
Nach dem Wechsel auf udev laut http://de.gentoo-wiki.com/HOWTO_von_devfs_zu_udev_wechseln#UDEV_installieren

habe ich folgende Änderungen vornehmen müssen:

In dem Script setpin die Zeile


my $modem = "/dev/usb/tts/0";

auf


my $modem = "/dev/ttyUSB0";

geändert.

Und die Datei /etc/hotplug/usb/usbgenericserial folgendermaßen abgeändert:


#!/bin/sh
modprobe usbserial vendor=0xaf0 product=0x5000
#if [ "`rc-status|grep wlan|grep started`" != "" ]
#then
#/etc/init.d/wlan stop
#fi
sleep 2
test -e /dev/ttyUSB0 || mknod /dev/ttyUSB0 c 188 0
test -e /dev/ppp || mknod /dev/ppp c 108 0
rm -f /dev/modem
ln -s /dev/ttyUSB0 /dev/modem
/usr/bin/setpin

Die wlan-Statusabfrage kann vielleicht auch jemand anderer brauchen, dann ggfs. die #-Zeichen entfernen.

Und in kppp habe ich nun /dev/modem als Modem-Gerät angegeben (vorher /dev/usb/tts/0).

ml
14.07.05, 17:43
7.) Bekannte Probleme und Lösungen

7.1) Es darf beim Einwählen keine default route aktiv sein, daher gegebenfalls WLAN- / LAN-Verbindung vorher deaktivieren!

7.2) Wenn man sich als normaler User nicht einwählen kann, als User root hingegen schon kann es daran liegen dass das sticky-Bit für /usr/sbin/pppd nicht gesetzt ist (ggfs. chmod +s /usr/sbin/pppd ausführen) bzw. dass der Benutzer nicht Mitglied der Gruppen dialout und uucp ist!

7.3) Bei manchen Distribution (wie z.b. bei SuSE) wird die Karte nicht über /dev/usb/tts/0 sondern über /dev/ttyUSB0 angesprochen.
Welche Geräte-Dateien verwendet werden sollte man jedenfalls sehen wenn man tail -f /var/log/messages eingibt und danach die Karte einsteckt!