[[Vorlage(archiviert)]] [[Vorlage(Fortgeschritten)]] {{{#!vorlage Wissen [:Pakete_installieren: Installation von Programmen] [:Paketquellen_freischalten: Bearbeiten von Paketquellen] [:Terminal: Ein Terminal öffnen] [:Editor: Einen Editor öffnen] [:Packprogramme: Archive entpacken] [:Programme_starten: Ein Programm starten] [:Paketinstallation_DEB: Ein einzelnes Paket installieren] [:Menüeditor: Programme zum Menü hinzufügen] (optional) }}} [[Inhaltsverzeichnis(2)]] Dieser Artikel beschreibt die Installation einer TK-Anlage '''Eumex 2220PC''' für die Verwendung als Faxgerät und Anrufbeantworter. Die Anlage ist "intern" von AVM und weitgehend baugleich mit der AVM FritzCard USB. Jedoch ist die USB Device-ID leicht geändert, so dass die in den Ubuntu-Quellen vorhandenen Treiber für die AVM FritzCard nicht funktionieren. Es existiert ein RPM-Paket '''e2220pc''' für SuSE Linux, mit dem man die Anlage dort in Betrieb nehmen kann. Im Folgenden wird beschrieben wie man diese Treiber auch unter Ubuntu nutzen kann. = Installation = Folgende Pakete müssen installiert [1] werden: * '''capisuite''' (''universe'' [2]) * '''capiutils''' * '''libcapi20-3''' * '''libcapi20-dev''' * '''linux-headers-''' * '''linux-headers-generic''' * '''alien''' * '''build-essential''' * '''avm-fritz-kernel-source''' (ab Feisty Fawn 7.04) = Treiber herunterladen = Der Quellcode des Treibers befindet sich im Paket''' e2220pc-0.1-0.src.rpm, '''das man von [http://opensuse.foehr-it.de/rpms/10_2/src/e2220pc-0.1-0.src.rpm hier] herunterladen kann. = Edgy 6.10 = == Anpassen der Treiber == Das RPM Paket kann man natürlich in dieser Form unter Ubuntu nicht verwenden. Es muss zunächst mit [:Alien:] in ein .deb Paket umgewandelt werden. Es wird dadurch ein Paket '''e2220pc_0.1-1_i386.deb''' im gleichen Verzeichnis erstellt. Dieses Paket darf man __nicht__ installieren. Stattdessen muss man das Paket auspacken und alle enthaltenen Dateien extrahieren [5]. Man erhält dabei wiederum zwei Archive: '''control.tar.gz''' und '''data.tar.gz'''. Die Datei '''data.tar.gz''' muss man wiederum extrahieren und erhält dann die Datei '''eumex2220-suse92.tar.bz2'''. Diese extrahiert man ebenfalls und kommt so an die Quellen des Treibers. Der Treiber lässt sich in der vorliegenden Form jedoch nicht übersetzen. Der Compiler bricht mit einer Fehlermeldung ab. Zunächst müssen noch zwei Dateien angepasst werden: Dazu wechselt man in das eben ausgepackte Verzeichnis und dann in das Verzeichnis '''src'''. Hier öffnet man die Datei '''tools.h''' mit einem Editor [4] und entfernt die Zeilen 72 - 80: {{{/*---------------------------------------------------------------------------*\ \*---------------------------------------------------------------------------*/ static inline unsigned long atomic_xchg ( volatile atomic_t * v, unsigned value ) { return __xchg (value, &v->counter, sizeof (unsigned)); } /* atomic_xchg */ }}} Dann öffnet man die Datei '''main.c''' und kommentiert die Zeilen 85 und 86 aus: {{{.owner = THIS_MODULE, .name = TARGET, }}} {{{#!vorlage Hinweis Das Auskommentieren (sprich deaktivieren) der entsprechenden Anweisungen geschieht in diesem Fall durch Einschließen der entsprechenden Zeilen in /* und */. }}} == Treiber kompilieren == Man startet eine Konsole [3] und wechselt ins Quellverzeichnis des Treibers. Dann gibt man folgendes ein: {{{#!vorlage Befehl sudo ./install }}} Der Treiber sollte jetzt fehlerfrei übersetzt werden. = Feisty 7.04 & Gutsy 7.10 = == Anpassen der Treiber == Da sich das Kernelmodul aus o.g. Quelle unter Feisty nicht übersetzen lässt, ist ein alternatives Vorgehen notwendig. Ausgangspunkt ist hier wiederum das Archiv '''eumex2220-suse92.tar.bz2''' (siehe oben). Dieses muss zunächst entpackt werden. Allerdings müssen '''keine''' Änderungen an den Quellen durchgeführt werden. Stattdessen installiert man zusätzlich das Paket * '''avm-fritz-kernel-source''' (''multiverse'', [2]) Nach der Installation von avm-kernel-source befindet sich in '''/usr/src''' das Archiv '''avm-fritz.tgz''' Dieses muss entpackt werden. Im Archiv enthalten ist ein Ordner '''fritz''' und diverse Unterordner, unter Anderem einer namens '''fcusb'''. Dieser wird im Weiteren benötigt, alle anderen können wieder gelöscht werden. {{{#!vorlage Hinweis Im Folgenden wird davon ausgegangen, dass das Archiv '''eumex2220-suse92.tar.bz2''' nach '''~/e2220pc''' entpackt wird und dass sich die Treiber aus fcusb in '''~/fcusb''' befinden. Natürlich kann man auch andere Pfade verwenden, die Angaben sind dann entsprechend anzupassen. }}} Aus den Treibern für die e2220pc müssen einige Dateien nach fcusb kopiert werden, wobei dort evtl. vorhandene Dateien ersetzt werden. Das erledigt man am besten in einer Konsole mit: {{{#!vorlage Befehl cp ~/e2220pc/ID ~/fcusb/ID cp ~/e2220pc/src/Makefile ~/fcusb/src/Makefile cp ~/e2220pc/lib/driver-lib.o ~/fcusb/lib/driver-lib.o }}} Hintergrund: Im Wesentlichen sind die Treiber für die Eumex schon in den AVM Treibern von Ubuntu enthalten. Lediglich das Makefile entscheidet, ob nachher das Modul fcusb.ko (Für eine FritzCard USB) oder das Modul e2220pc.ko für die Eumex erstellt wird. == Treiber kompilieren == Danach gibt man in der Konsole nacheinander folgendes ein: {{{#!vorlage Befehl cd fcusb sudo make sudo make install sudo depmod -a }}} Wichtig ist, dass der Make-Vorgang wie dargestellt in '''fcusb''' gestartet wird und nicht etwa in '''fcusb/src''' Nach den entsprechenden Änderungen in '''/etc/modules''' (siehe unten) und einem Neustart sollte die Anlage korrekt erkannt werden, eine Kontrolle ist über '''dmesg | grep e2220pc''' möglich. = Treiber beim Systemstart laden = In '''/etc/modules''' muss man folgendes eintragen, damit das neu erstellte [:Kernelmodule:Kernelmodul] und die Capi-Treiber beim Systemstart geladen werden: {{{e2220pc capi capidrv capifs }}} = Kontrolle = Nach einem Neustart sollte die Eingabe von {{{#!vorlage Befehl sudo capiinfo }}} in etwa folgendes ausgeben: {{{Number of Controllers : 1 Controller 1: Manufacturer: AVM GmbH CAPI Version: 2.0 Manufacturer Version: 3.11-04 (49.20) Serial Number: 0000000 BChannels: 2 Global Options: 0x00000039 internal controller supported DTMF supported Supplementary Services supported channel allocation supported (leased lines) B1 protocols support: 0x4000011f 64 kbit/s with HDLC framing 64 kbit/s bit-transparent operation V.110 asynconous operation with start/stop byte framing V.110 synconous operation with HDLC framing T.30 modem for fax group 3 Modem asyncronous operation with start/stop byte framing B2 protocols support: 0x00000b1b ISO 7776 (X.75 SLP) Transparent LAPD with Q.921 for D channel X.25 (SAPI 16) T.30 for fax group 3 ISO 7776 (X.75 SLP) with V.42bis compression V.120 asyncronous mode V.120 bit-transparent mode B3 protocols support: 0x800000bf Transparent T.90NL, T.70NL, T.90 ISO 8208 (X.25 DTE-DTE) X.25 DCE T.30 for fax group 3 T.30 for fax group 3 with extensions Modem }}} Die Anlage wurde also erkannt und der Capi-Treiber korrekt geladen. Nun kann man CapiSuite entsprechend des Artikels [:Archiv/CapiSuite:CapiSuite] konfigurieren und die TK-Anlage als Faxgerät und / oder Anrufbeantworter verwenden. = KDE: Kisdnwatch installieren = Bislang einziger Schönheitsfehler: Man sieht nur an der Anlage selbst, ob eine Verbindung aufgebaut wurde oder nicht. Also möchte man vielleicht noch einen Monitor haben, der einem darüber Auskunft gibt. Von [http://www.avm.de AVM] gibt es dafür für KDE-User '''kisdnwatch. '''Leider steht das nur als RPM Paket oder im Quelltext zur Verfügung. Der Quelltext lässt sich unter KDE 3.5.6 + (K)ubuntu nicht übersetzen. Der Vorgang bricht mit einer Fehlermeldung aufgrund angeblich fehlender Qt-Header ab (auch wenn die entsprechenden Pakete installiert sind). Lösung: Man lädt das Paket '''kisdnwatch-01.00.10-15.i586.rpm''' von [http://suse.inode.at/opensuse/distribution/SL-10.1/inst-source/suse/i586/kisdnwatch-01.00.10-15.i586.rpm hier] herunter {{{#!vorlage Hinweis Achtung: ältere Versionen funktionieren offenbar nicht. Diese arbeiten nicht mit der libcapi von Ubuntu zusammen. }}} Anschließend wandelt man '''kisdnwatch-01.00.10-15.i586.rpm''' mit [:Alien:] in ein .deb-Paket um und installiert dieses Paket [7]. Leider landet dabei das Programm in '''/opt/kde3/bin/.''' Damit man es bequem starten kann [6] ist noch folgender Befehl in der Konsole nötig: {{{#!vorlage Befehl sudo ln -s /opt/kde3/bin/kisdnwatch /usr/bin/kisdnwatch }}} Es wird zwar kein Eintrag im Startmenü erzeugt aber man kann kisdnwatch manuell starten [6] oder man erstellt einen entsprechenden Eintrag im Startmenü [8]. Alle Abschnitte dieser Anleitung, welche nicht ausdrücklich mit '''Feisty 7.04''' oder '''Edgy 6.10''' überschrieben sind, gelten analog für beide Ubuntu-Versionen. ---- # tag: Hardware, Kommunikation