This page (revision-5) was last changed on 26-Sep-2008 10:31 by ThomasBayen 

This page was created on 03-Oct-2006 21:29 by UnknownAuthor

Only authorized users are allowed to rename pages.

Only authorized users are allowed to delete pages.

Page revision history

Version Date Modified Size Author Changes ... Change note
5 26-Sep-2008 10:31 12 KB ThomasBayen to previous Beschreibung zur aktuelleren Software
4 25-Sep-2008 12:37 11 KB ThomasBayen to previous | to last Tagging und Formatierung
3 07-Sep-2007 15:48 11 KB Ernst May-Jung to previous | to last
2 13-Nov-2006 16:39 10 KB MarkusMonderkamp to previous | to last für JSPWiki mit Thomas' und Peter's Filter
1 03-Oct-2006 21:29 10 KB UnknownAuthor to last

Page References

Incoming links Outgoing links

Version management

Difference between version and

Dies ist eine AlteSeite aus unserem UseModWiki bei Sourceforge.>>
<<
Bitte überarbeite die Seite, passe die Formatierung für das JSPWiki an
und entferne diesen Text.

Vielen Dank!

{{{
>>=<<
Auerswald-Telefonanlage unter Linux =

Als ich auf der Suche nach einer neuen Telefonanlage für unsere
Firma war, weil auch wir endlich
das 21. Jahrhundert erreichen wollten (ISDN und so), bemerkte ich
voller Freude, dass es einen
Hersteller gibt, der auch komplette Linux-Unterstützung verspricht:
Auerswald. Mit der von uns
erworbenen COMmander-Anlage bin ich bisher hochzufrieden. Außerdem
scheint die Firma darauf
bedacht zu sein, neue Technologien zügig einzuarbeiten. So ist die
Anlage z.B. die erste überhaupt,
mit der man SMS aus dem Festnetz versenden kann.

Als ich die CD mit der Software in die Hand nahm, habe ich zuerst
kurz überlegt, ob ich die Windows-
oder die Linux-Version benutze. Ich habe zuerst in den
Linux-Bereich geklickt und gesehen, dass
dort alle wichtigen Programme ebenfalls stehen. Einige Hürden waren
allerdings zu überbrücken.
Da die Anlage per USB angeschlossen wird, muss ein Kernel-Modul
compiliert werden, dazu
muss man die Kernel-Sourcen installieren. Außerdem müssen zwei
verschiedene Java-Versionen
installiert werden... Da ich es eilig hatte, habe ich also zur
Windows-Version gegriffen. (Das war
ein Lehrstück, was bei Linux noch verbessert werden muss!) Nach
erfolgter Konfiguration der Anlage
habe ich noch ein Siemens Gigaset-Telefon eingerichtet (Software
natürlich nur unter Windows).
Eingespielt, USB-Treiber, CAPI, fertig. Danach wollte ich noch was
in der Anlage ändern -
nix ging mehr. Langer Rede kurzer Sinn - ich habe es nach zwei
Stunden Versuchen nicht
geschafft, die Anlage unter Windows wieder anzusprechen oder den
Treiber so zu löschen,
das ich ihn neu installieren konnte. (Das war dann das Lehrstück,
warum man kein Windows
für sowas nehmen soll...). Dann habe ich mir gesagt: In der Zeit
hättest Du das auch unter
Linux gekonnt. :-( Daher dieser Artikel!

Dieser Artikel soll übrigens nicht bedeuten, daß die Doku von
Auerswald schlecht wäre. Also dort
ruhig auch mal reinschauen! Trotzdem habe ich die Installation
nochmal aus meiner Sicht und
damit vor allem aus Sicht eines Debian-Linux-Systems geschildert.


== Linux-Software ==
Das Grundprinzip der Linux-Konfigurations-Software ist, daß die
Software in Java geschrieben ist.
Das spart Entwicklungszeit und sorgt dafür, daß es immer gleich
aktuelle Versionen für alle
Plattformen gibt. Vor den schnellen Erfolg hat der Liebe Gott (und
Auerswald) aber die Installation
von Basiskomponenten gesetzt:

=== Grundlagen ===
Ich habe die Software auf einem Debian Woody System installiert.
Auf der Auerswald-CD ist nur
von Suse-Linux die Rede, daher hier die Debian-Version.

Zuerst mal benötigt man einen passenden Kernel (mind. 2.4.x). Dies
kann man z.B. wie unter
DebianKernelKompilieren beschrieben erreichen. Es ist darauf zu
achten, daß USB in den
Kernel einkompiliert ist (...ob das beim Standard-Woody-Kernel der
Fall ist, kann ich im Moment
nicht sagen, ich vermute aber Ja). Dies kann man prüfen, indem man
nachschaut, ob das
Verzeichnis ''/proc/bus/usb'' existiert.

Zusätzlich zur USB-Unterstützung im Kernel benötigt man noch einen
Daemon, der die
USB-Schnittstelle überwacht und bei Bedarf passende Treiber lädt.
Dazu gibt es zwei
passende Debian-Pakete: ''usbmgr'' und ''hotplug''. Ich selber
setze 'hier 'hotplug'' ein.

Ausserdem benötigt man eine Java-Laufzeitumgebung. Ich selber habe
das Blackdown
Java-RE 1.3.1 installiert. Da das unter Debian nicht so einfach
ist, kann man unter
JavaUnterDebian näheres hierzu erfahren. Für einige
Auerswald-Programme (z.B.
COMfortMelodie) ist ein Java1.1 nötig. Hierzu habe ich das
Debian-Paket ''jdk1.1-dev''
installiert. Da die Auerswald-Programme aber scheinbar nach einer
anderen Version des
Sun-Java suchen, habe ich noch folgende Links angelegt:
<pre>
 ln -s /usr/lib/j2sdk1.3/ /usr/lib/SunJava2
 ln -s /usr/lib/jdk1.1/ /usr/lib/SunJava1
</pre>

Es reicht auch, im Auerswald-Verzeichnis die Datei
''JavaVersion1.3.rc'' anzulegen bzw. zu
überschreiben und dort das Java-Installationsverzeichnis
einzutragen, z.B. so:
<pre>
JAVA_HOME=/opt/java/jre1.3.1_15
</pre>
(das Beispiel bezieht sich auf ein komplett manuell installiertes
JRE 1.3.1 von Sun).

Wer bereits ein JDK 1.4 oder 1.5 (alias J2SE 5.0) installiert hat:
die Java-1.3-Programme von Auerswald laufen damit auch.
Man muss dafür JAVA_HOME wie beschrieben manuell in der
''JavaVersion1.3.rc'' setzen.

=== USB-Treiber ===

Um den USB-Treiber für das Auerswald-Telefon übersetzen zu können,
benötigt man die
Kernel-Sourcen, die auch die benutzte Kernel-Configuration (Datei
''".config"''). Hat man den
Kernel sowieso selber angepasst und kompiliert wie in
DebianKernelKompilieren beschrieben,
so sind alle Dateien am richtigen Platz und werden automatisch
gefunden.

Falls man einen anderen Rechner zum kompilieren benutzt, als den,
auf dem der Treiber später
laufen soll, muss der Kompilier-Rechner entweder einen identischen
Kernel haben oder man
kann mit ''export KERNELDIR=/pfad/zu/den/kernelsourcen/...'' einen
anderen Kernel benutzen.

Das Paket '''auerusb-0.9.12.tgz''', das auf der Auerswald-CD (oder
im Internet) ist, habe ich nach
/usr/src kopiert und dort mit

 tar xzf auerusb-0.9.12.tgz
 cd auerusb-0.9.12
 make
 mkdir /dev/usb           # weiss nicht, warum; scheint bei SuSe
so installiert zu sein
 make install               # spätenstens dieser Befehl als root

entpackt, kompiliert und installiert. Dabei erscheinen normale
Meldungen und die Aufrufzeile des
Compilers, jedoch keinerlei Fehler- oder Warnmeldungen.

Testen kann man das Ganze, indem man sich mit

 tail -f /var/log/syslog

die System-Logdatei ausgeben lässt. Dann steckt man das Telefon
ein. Passiert gar nichts, stimmt
was mit der Kernel-Unterstützung nicht. Kommen einige Zeilen vom
USB-Daemon (hotplug), so
läuft dieser schonmal richtig. Steht da dann noch etwas von
"auerswald", dann sollte alles stimmen.
Auch ein Blick in das Verzeichnis ''/proc/bus/usb'' kann sehr
interessant sein (Wobei ein geladener
"driver" noch lange kein installiertes "device" bedeutet). Evtl.
kann man versuchen, das Modul mit
'''modprobe auerswald''' von Hand zu laden (Wenn das hilft, ist das
ein Fehler in der Konfiguration
von hotplug bzw. usbmgr, man muss ggf. nach jedem Update "make
install" neu aufrufen). Mit ''lsmod''
kann man die vom Kernel geladenen Module ansehen. Ist das Modul
''auerswald'' dabei, ist das
auch ein gutes Zeichen.

Der Auerswald-Treiber ist für Linux 2.4.
Unter Linux 2.6 kann man den im Kernel vorhandenen (als
experimentell markierten) Treiber nehmen.
Dieser unterstützt allerdings nur die Konfigurationsprogramme,
nicht die Anbindung als ISDN-Interface.
Nach einem Hinweis auf der Linux-Kernel-Mailingliste habe ich
diesen gepatcht, um mehr Geräte zu
unterstützen als original (bezieht sich auf 2.6.9).
Der Patch geht so: man suche in ''drivers/usb/misc/auerswald.c''
nach der Definition von ''auerswald_ids''
und ersetze diese durch folgendes (zwei Zeilen sind hinzugekommen):

<pre>
static struct usb_device_id auerswald_ids [] = {
       { USB_DEVICE (ID_AUERSWALD, 0x00C0) },          /* COMpact
2104 USB */
       { USB_DEVICE (ID_AUERSWALD, 0x00DB) },          /* COMpact
4410/2206 USB */
       { USB_DEVICE (ID_AUERSWALD, 0x00DC) },          /* COMpact
4406 DSL */
       { USB_DEVICE (ID_AUERSWALD, 0x00DD) },          /* COMpact
2204 USB */
       { USB_DEVICE (ID_AUERSWALD, 0x00F1) },          /* Comfort
2000 System Telephone */
       { USB_DEVICE (ID_AUERSWALD, 0x00F2) },          /* Comfort
1200 System Telephone */
       { }                                             /*
Terminating entry */
};
</pre>

Inzwischen gibt es auf http://www.auerswald.de auch einen Treiber
für Linux 2.6 (aktuelle Version 2.1.9).
Der funktioniert besser als der im Kernel. Zum Compilieren reicht
die übliche Prozedur für
Module unter Linux 2.6:
<pre>
tar xzf auerusb-2.1.9.tgz
cd auerusb-2.1.9
make SUBDIRS=`pwd` -C /pfad/zum/compilierten/kernel
cp *.ko /lib/modules/`uname -a`/misc
</pre>

<em>Achtung</em>: Es hat mich (OT) ein paar Stunden
Fehlersuche gekostet, herauszufinden, dass
die Device-Nodes von dem ''makeauerdevs''-Script falsch angelegt
werden. Der Treiber verwendet
Minor-Numbers ab 112 (das ist nirgendwo im Code erkennbar, aber in
der Dokumentation versteckt
- es scheint aber auch für 2.4 und den Auerswald-Treiber
zuzutreffen?!).
Folgender Shell-Befehl zum Anlegen der Devices funktioniert:
<pre>
for i in `seq 0 15` ; do mknod -m 666 /dev/usb/auer$i c 180 `expr
112 + $i` ; done
</pre>

== Programm-Installation ==

Installation und Betrieb der eigentlichen Programme benötigen keine
root-Rechte mehr. Also habe
ich in meinem persönlichen Home-Verzeichnis die Datei
''COMset-2.3.31.tar.gz'' abgelegt und
mit
<pre>
 tar xzf COMset-2.3.31.tar.gz
</pre>
entpackt. Es entsteht ein Verzeichnis ''Auerswald''. In dieses kann
man per ''cd'' wechseln.

=== Bibliotheks-Zugriff ===
Im Programmverzeichnis befinden sich Linux-Bibliotheken, die von
dem Programm benötigt
werden. In einem normal konfigurierten Debian-System werden diese
jedoch nicht gefunden.
Dabei geht es insbesondere um den USB-Zugriff. Damit das behoben
wird, kann man entweder
die Bibliothek als root systemweit installieren, das geht mit
'''su -c "cp COMset/COMset-2.3.31/libAuerUsbJNINative.so
/usr/lib/"''', oder man stellt den
Linker richtig ein, indem man vor dem Programmstart '''export
$LD_LIBRARY_PATH=.''' eingibt
bzw. in das Startskript einfügt.

=== Start ===

Jatzt kann man mit
<pre>
 ./StartCOMSet.sh
</pre>
das Programm starten. Entsprechend laufen natürlich auch die
anderen Java-Programme der
Auerswald-MegaCD.

== Neuinstallation / Deinstallation ==
Ich versuche immer, Pakete so sauber wie möglich in das
Debian-System einzubinden, um den
Paketmanager nicht zu verwirren. Leider ist das nie ganz möglich,
wenn man keine echten
Debian-Pakete hat (vielleicht ändert Auerswald das ja
irgendwann?!?). Daher rate ich zur
Neuinstallation insbesondere des Auerswald-USB-Treibers nach jeder
Änderung an Debian-Paketen,
die die Software beeinflussen könnten wie z.B.
Distributions-Upgrade, neuer Kernel, etc. Eine
Deinstallation sollte ebenfalls sehr vorsichtig gemacht werden.
Gelöscht werden kann dann der
Kernel-Treiber, die Library sowie alle Programme im Verzeichnis
"Auerswald".

= Probleme =
Leider sieht es so aus, als ob die Auerswald-Entwickler eine andere
Java-Version oder andere
Fonts benutzen. Dadurch sind viele Texte abgeschnitten oder oft
auch gar nicht zu sehen. Dieses
Problem müsste entweder von Auerswald angegangen werden oder man
müsste versuchen, eine
andere JVM zu installieren.

= Hilfe / Links =
Bei Fragen stehe ich (ThomasBayen) natürlich gerne unter
mailto:tbayen@bayen.de zur Verfügung.
Ansonsten war auch die Auerswald-Hotline
mailto:support@auerswald.de hilfsbereit und scheint an
der Erstellung einer Debian-Version interessiert zu sein.
Vielleicht gibts ja auch bald ein Debian-Paket?!?

* http://www.auerswald.de
* http://www.moritz-naumann.com/docs/auerswald/
<<}}}