Anfang
Über
Dortmund
Australien
Fotos
Verweise
Rechner
Geld
Krieg
Gästebuch
Menü verstecken ⇒
⇐ Menü zeigen
Letzte Aktualisierung: 2016-02-22

Linux-Tipps

Die An­lei­tung zur In­stal­la­tion des USB-ISDN-Ad­ap­ters, die den Haupt­teil die­ser Tipp-Sei­te aus­macht, ist schon recht alt und bei der heu­ti­gen Ver­brei­tung von DSL nicht mehr so re­le­vant.

Ei­nen klei­nen neu­en (An­fän­ger-/Um­stei­ger-)Tipp ge­be ich an­läss­lich des Ju­bi­lä­ums-Um­baus 2008: Man soll­te, um flüs­si­ger zu ar­bei­ten, bzw. über­haupt ver­nünf­tig mit dem viel­fenst­ri­gen GIMP ar­bei­ten zu kön­nen, in der ver­wen­de­ten Fens­ter-Ver­wal­tung (KDE, Gno­me oder an­de­re) die Ein­stel­lung für Fens­ter-Ak­ti­vie­rung auf fo­cus-fol­lows-mou­se stel­len (ein aktuelles GIMP, ab 2.8, hat nicht mehr unbedingt viele Fenster - aber ich bevorzuge den „Normales-Fenster-Modus“ für Werkzeuge usw.). Mit vielen Fenstern ist es generell hilfreich, meh­re­re Ar­beits­flä­chen zu ha­ben, wie es bei GNU/Li­nux-Ober­flä­chen seit je­her der Fall ist und bei MacOSX im Jahr 2007 (in Ver­sion 10.5) mit „Spaces“ mög­lich wur­de.


hoch

Bes­se­re Tas­ta­tur­be­le­gung mit deut­schen Um­lau­ten

brennende Tastatur

Zu­min­dest für Leu­te, die ge­le­gent­lich ein Pro­gramm in C oder Ja­va schrei­ben, wird die deut­sche Tas­ta­tur­be­le­gung schnell zur Qual: ecki­ge und ge­schweif­te Klam­mern nur mit Alt­Gr-Tas­te er­reich­bar, für das Se­mi­ko­lon an je­dem Zei­lenen­de die Um­schalt­tas­te, für je­des un­do (Strg+Z) ei­nen Fin­ger­spa­gat, Slash (/) nicht so be­quem er­reich­bar... Das lässt sich ein­fach ver­mei­den, in­dem man das ame­ri­ka­ni­sche Tas­ta­tur­lay­out wählt. Jetzt feh­len nur die Um­lau­te, sch­ließ­lich kommt es nicht so gut, in E-Mails im­mer ae, oe, ue... zu schrei­ben. In (De­bian) GNU/Li­nux lässt sich das ein­fach er­rei­chen:

xmodmap -e "keycode 94 = dead_diaeresis"

Da­mit wird (bei mir zu­min­dest) die nicht be­nutz­te Klei­ner-/Grö­ßer-Tas­te (bei deutschen und britischen Tastaturen zwi­schen linker Um­schalt­tas­te und Y bzw. Z) zu ei­ner Art Ac­cent-Tas­te (wie die, mit de­nen man bei deut­scher Tas­ta­tur­be­le­gung nor­ma­ler­wei­se "à", "è" usw. er­zeu­gen kann), so dass Fol­gen­des pas­siert:

<dead_diaeresis> <a> = ä
<dead_diaeresis> <o> = ö
<dead_diaeresis> <u> = ü
<dead_diaeresis> <A> = Ä
...

Ein Com­po­se-Key er­öff­net wei­te­re Mög­lich­kei­ten, die­ser kann z.B. mit

xmod­map -e "key­co­de 117 = Mul­ti_key"

auf die "an­de­res Be­triebs­sys­tem"-Me­nue-Tas­te ge­legt wer­den. Man kann na­tür­lich auch gut "Alt­Gr" da­für neh­men, das braucht man jetzt ja nicht mehr. Die Tas­ta­tur­co­des der Tas­ten kön­nen leicht mit xev er­mit­telt wer­den.
Mehr In­for­ma­tio­nen zum Com­po­se-Key gibt es im Bel­gian-HOW­TO
Die Kom­bi­na­ti­ons­mög­lich­kei­ten kön­nen in der Da­tei /usr/X11R6/lib/X11/lo­ca­le/iso8859-1/Com­po­se nach­ge­se­hen und ver­än­dert wer­den. Bei­spie­le:

<Multi_key> <L> <-> = £ 
<Multi_key> <c> <o> = ©
<Multi_key> <s> <s> = ß
...

Ei­ne wei­te­re Ver­bes­se­rung ist es (zu­min­dest bei mei­ner klei­nen Strg-Tas­te), ein­fach die Um­schalt­fest­stell­tas­te auch zur Strg-Tas­te zu ma­chen. Das funk­tio­niert wie oben be­schrie­ben, al­so mit xmod­map -e "key­co­de 66 = Con­trol_L".
Oder mit fol­gen­dem Ein­trag im Key­board-Ab­schnitt der /etc/X11/XF86­Con­fig-4:

    Option "XkbOptions"  "ctrl:nocaps"

Wenn man sich nun mit xmod­map -e... ei­ne in­di­vi­du­el­le Tas­ta­tur­be­le­gung er­stellt hat, kann man sie auch mit xmod­map -pke [Da­tei] in ei­ner Da­tei spei­chern und mit xmod­map [Da­tei] wie­der her­stel­len. Normalerweise wird ~/.Xmodmap automatisch beim Systemstart geladen. Die­se Me­tho­de funk­tio­niert auch, wenn man die XF86­Con­fig-4 des Sys­tems nicht ver­än­dern kann oder möch­te.
Mei­ne Kon­fi­gu­ra­tion: früher, aktuell (nur noch einige Tasten verändert).

Um die Be­feh­le zum Ver­än­dern der Tas­ta­tur­be­le­gung nicht je­des Mal per Hand aus­füh­ren zu müs­sen, soll­te man sie in die Au­to­start-Da­tei des ver­wen­de­ten Win­dow- bzw. Lo­gin-Ma­na­gers schrei­ben. Beim Win­dow­Ma­na­ger WMa­ker ist das z.B. ­/GNU­step/Li­bra­ry/Win­dow­Ma­ker/au­to­start, beim Lo­gin-Ma­na­ger XDM müss­te ­/.xses­sion un­ab­hän­gig vom ver­wen­de­ten Win­dow­Ma­na­ger funk­tio­nie­ren.

Umlaute für externe Android-Tastatur

Android ist ein Linux-System und insofern sollte nicht überraschen, dass es (ab Version 3) auch die oben beschriebene Umlaut-Taste dead_diaeresis unterstützt. Bei Android heißt sie Umlaut accent.

Konfigurationsdateien:

/system/usr/keylayout/Generic.kl
/system/usr/keychars/Generic.kcm

Offensichtlich benötigt man Root-Zugriff auf sein Gerät, um die obigen Dateien zu verändern. Außerdem muss die System-Partition schreibbar sein, was bei meinem HTC-Gerät standardmäßig nicht der Fall ist, sich aber leicht ändern lässt:

# mount -o remount,rw /system

Eigentlich soll man die Generic-Dateien nicht verändern, sondern Dateien nach dem Muster Vendor_XXXX_Product_XXXX.kl erstellen, aber meine Vendor_05ac_Product_023a.kl wurde nie geladen, obwohl das die richtige ID sein sollte... egal. Die einzige Gefahr: hat man eine inkorrekte Generic-Datei, funktioniert die Hardware-Tastatur gar nicht mehr! Man sollte also immer die Original-Dateien behalten und sie gegebenenfalls z.B. mit Hilfe des Hacker's Keyboard wieder herstellen können. Diese Software-Tastatur ist sowieso empfehlenswert, denn mit dem standardmäßig aktivierten Touch Input funktioniert das Zusammensetzen von Umlauten bei meinem Android-Telefon nicht!

Da ich eine Apple-Bluetooth-Tastatur besitze, habe ich als Layout-Basis die mit meinem Telefon gelieferte Datei Vendor_05ac_Product_0239.kl verwendet. Meine zwei Änderungen: „key 41“ ist bei mir die Umlaut-Taste und bekam entsprechend den „Dummy“-Bezeichner MEDIA_PREVIOUS, statt „GRAVE“.
Neu eingefügt habe ich eine Zeile „key 86   GRAVE“, vor der Zeile „key 87   F11“.

Meine KCM-Datei enthält im Vergleich zur alten Generic-Datei nur einen neuen Block, eingefügt hinter „key APOSTROPHE“:

# 'COMBINING DIAERESIS' und scharfes S auf die Taste zwischen Shift_L und Y (bzw. Z):
key MEDIA_PREVIOUS {
    label, number:                      '<'
    base:                               '\u0308'
    shift:                              '\u00df'
    ctrl, alt, meta:                    '\u007c'
}

Hinweis: Schon völlig ohne Änderungen am System und ohne die spezielle Umlaut-Taste können die Wörter „grün“, „Straße“ und „Café“ geschrieben werden: dazu dienen die Alt-Belegungen von U, S und E.

Diskussionen mit hilfreichen Informationen zur Android-Tastatur-Belegung fand ich bei Android-Hilfe.de und bei xdadevelopers.


hoch

Te­le­dat USB 2 a/b mit Ca­pi2.0 in­stal­lie­ren

Zu­nächst ei­ne War­nung: die­se An­lei­tung ist im We­sent­li­chen ein Ge­däch­niss­pro­to­koll. Sie soll es dem Le­ser leich­ter ma­chen, als ich es hat­te, bei der In­stal­la­tion von Ca­pi 2 und USB-ISDN-Con­trol­lern von AVM un­ter De­bian GNU/Li­nux. Ich ha­be es nach mehr­tä­gi­gem Her­um­pro­bie­ren und Lek­tü­re un­ter­schied­li­cher, teils ver­al­te­ter An­lei­tun­gen (oh­ne die ich es al­ler­dings na­tär­lich gar nicht ge­schafft hät­te, des­halb mein Dank an al­le Au­to­ren!) er­reicht, dass ich nun mit mei­nem Te­le­dat USB 2 a/b mit dem jetzt (No­vem­ber 2001) ak­tu­el­len De­bian GNU/Li­nux tes­ting/un­sta­ble (aka Woo­dy) ins In­ter­net kom­me. Mit die­ser An­lei­tung hät­te es schnel­ler ge­hen kön­nen, aber Fall­stricke lau­ern über­all...

Vor­aus­set­zun­gen:

  • Ein 2.4er Ker­nel (viel­leicht geht auch ein 2.2er mit USB- und Ca­pi-Pat­ch), ich ha­be 2.4.14 bis 2.4.20 (up­da­te 2005: Ker­nel 2.6.11) er­folg­reich ge­tes­tet (neu­e­re Ker­nel je­weils mit neu­e­ren Trei­ber-Ver­sio­nen)
  • Die FritzX-USB-Trei­ber von AVM (nicht an der Be­zeich­nung stö­ren, ich ha­be zu­letzt fxusb-su­se8.1-03.10.02.tar.gz ver­wen­det)
  • Die De­bian-Pa­ke­te lib­ca­pi20, isd­nac­ti­ve­cards, ppp, pppd­ca­pi­plu­gin
    Nicht be­nö­tigt wer­den: isd­nu­tils, ipppd, usbm­gr
  • Die Fä­hig­kei­ten, ei­nen Ker­nel zu kom­pi­lie­ren und zu in­stal­lie­ren und ei­nen Edi­tor zu be­die­nen (ist ja nicht all­zu schwer und ei­gent­lich selbst­ver­ständ­lich, bei Leu­ten die tes­ting ver­wen­den)

Ker­nel kon­fi­gu­rie­ren

Mit "ma­ke me­nu­con­fig":

<*> ISDN support
[*]   Support synchronous PPP
[*]     Use VJ-compression with synchronous PPP
[ ]     Support generic MP (RFC 1717)
<M>     Support BSD compression
[ ]   Support audio via ISDN
ISDN feature submodules  --->
--- low-level hardware drivers

Passive ISDN cards  --->
< > HiSax SiemensChipSet driver support

Active ISDN cards  --->
...
<M> CAPI2.0 support
[*]   Verbose reason code reporting (kernel size +=7K)
[*]   CAPI2.0 Middleware support (EXPERIMENTAL)
<M>   CAPI2.0 /dev/capi support
[*]     CAPI2.0 filesystem support
<M>   CAPI2.0 capidrv interface support
...

"..." steht hier für mehr Op­tio­nen, die al­le nicht ak­ti­viert zu sein brau­chen. Das mit der Kom­pres­sion kann man sich viel­leicht auch spa­ren, aber es wird schon nicht scha­den.
Na­tür­lich muss der Ke­nel den ei­ge­nen USB-Con­trol­ler un­ter­stüt­zen und al­les, was sonst noch so ge­braucht wird...
Dann kom­pi­lie­ren z.B. mit

ma­ke dep clean bzI­ma­ge && ma­ke mo­du­les

Nun als root den Ker­nel in­stal­lie­ren (z. B. mit li­lo...) und auch an die Mo­du­le den­ken:

make modules_install

Kernel-Modul kompilieren

tar xzf fxusb.suse[Versionsnummer].tar.gz
cd fritz

Nun muss in der Da­tei src.drv/main.c die Zei­le "#define PRODUCT_ID 0x2000" ge­än­dert wer­den in "#define PRODUCT_ID 0x2800".

make drv

Wenn die Kom­pi­lie­rung er­folg­reich ge­lau­fen ist nun ein Ver­zeich­niss misc im Mo­dul-Ver­zeich­niss des Ker­nels er­stel­len und da­r­ein das mo­dul fxusb.o aus src.drv ko­pie­ren.

mkdir /lib/modules/[Version]/misc
cp src.drv/fxusb.o /lib/modules/[Version]/misc

Ca­pi-Pa­ke­te in­stal­lie­ren

Glück hat, wer auch oh­ne die Te­le­dat noch ei­ne In­ter­net-Ver­bin­dung hin­be­kommt (viel­leicht mit ei­nem al­ten Mo­dem), denn dann sind die not­wen­di­gen De­bian-Pa­ke­te su­per-schnell in­stal­liert:

apt-get install libcapi20 isdnactivecards ppp pppdcapiplugin

Falls wei­te­re Pa­ke­te von den oben ge­nann­ten ab­hän­gig sein soll­ten, wer­den die­se au­to­ma­tisch mit in­stal­liert.
Na­tür­lich kön­nen die Pa­ke­te auch an­ders be­sorgt wer­den, zur Not über Win­dows vom De­bian-HTTP oder -FTP-Ser­ver.

/etc/isdn/ca­pi.conf ?

Nun ist ei­ner der we­ni­gen Zeit­punk­te ge­kom­men, wo auch ein Li­nux-Sys­tem neu ge­st­ar­tet wer­den kann. Es geht si­cher auch oh­ne, aber dann muss man sich selbst mit den gan­zen Mo­du­len und init-scrip­ten her­um­schla­gen...
Ein Blick in das Ver­zeich­niss /etc/init.d emp­fielt sich aber trotz­dem. Ein even­tu­ell vor­han­de­nes isd­nu­tils-Script soll­te jetzt z.B. nicht mehr ge­braucht wer­den (ver­schie­ben, nicht lö­schen!).

Nach dem Neu­start kann das fxusb-Mo­dul mit dem in­ter­ak­ti­ven De­bian-tool mod­conf ge­la­den wer­den (ggf. vor­her dep­mod -a auf­ru­fen).
Ein Auf­ruf von lsmod soll­te jetzt un­ter an­de­rem Fol­gen­des lie­fern:

fxusb                 558168   1
capi                   17600   2
kernelcapi             28896   2  [fxusb capi]
capifs                  3424   1  [capi]
capiutil               22208   0  [kernelcapi]

Man kann auch in /proc nach­se­hen, ob al­les gut läuft:

vlado@mog:~$ cat /proc/capi/controller
1 fxusb      running  fritz-usb        A1 3.09-10 3
vlado@mog:~$ cat /proc/capi/controllers/1 
name             fritz-usb
dev              3
type             A1
ver_driver       3.09-10
ver_cardtype     fritz-usb
protocol         DSS1
linetype         point to multipoint

Das war’s!

Ver­bin­dung tes­ten/kon­fi­gu­rie­ren

Ei­ne Test­ver­bin­dung zu AVM (wie in fritz/in­stall_pas­si­ve.de be­schrie­ben) könn­te jetzt di­rekt schon klap­pen. Zur Si­cher­heit kann man die Sys­tem­nach­rich­ten mit­ver­fol­gen (mit tail -f /var/log/mes­sa­ges):

pppd call isdn/avm

Da­mit wird das script /etc/ppp/peers/isdn/avm aus­ge­führt, was ei­ne Test­ver­bin­dung zum AVM-Rech­ner in Ber­lin er­stellt.
In dem sel­ben Ver­zeich­niss kann man nun ein ei­ge­nes kur­z­es Script nach dem glei­chen Mus­ter ers­te­len. Ein Bei­spiel:

#
# PROVIDERNAME
#
debug
sync
noauth
usepeerdns
#idle 420
plugin userpass.so
username BENUTZERNAME
defaultroute
plugin capiplugin.so
#controller 1
#numberprefix 0
number TELEFONNUMMER
protocol hdlc
ipcp-accept-local
ipcp-accept-remote
/dev/null

In /etc/ppp/pap-secrets bzw. chap-secrets kommt dann noch ent­spre­chend ei­ne Zei­le:

BE­NUT­ZER­NA­ME PRO­VI­DER PASS­WORD

Wo­bei "PRO­VI­DER" auch durch "*" er­setzt wer­den kann, was be­deu­tet "für al­le pro­vi­der".

Ein großes Pro­blem war für mich noch, dass die "rou­te" nicht er­folg­reich ge­setzt wur­de (Test über tail -f /var/log/mes­sa­ges und rou­te -n). Ich hat­te zwar ei­ne Ver­bin­dung zum Pro­vi­der, konn­te aber nichts ma­chen. Da ich ziem­li­cher tcp/ip-Laie bin, konn­te ich das nur lö­sen, in­dem ich die vor­han­de­ne (aus dem ei­gent­lich nicht be­nö­tig­ten ipppd) /etc/ppp/ip-up.d/00-ipppd in ei­ne /etc/ppp/ip-up.d/00-pppd (oh­ne i) um­ge­wan­delt ha­be. Al­les, was ich in der Da­tei ge­än­dert ha­be, war wie im Na­men ein "i" weg­zu­lö­schen. Wo­bei der Na­me si­cher nicht so wich­tig ist... Hier mei­ne Da­tei­en für Leu­te, die noch wel­che brau­chen:

/etc/ppp/ip-up.d/00-pppd
/etc/ppp/ip-down.d/99-pppd

Aber Haupt­sa­che es funk­tio­niert end­lich! Nach­dem ich die Te­le­dat schon über ein Jahr hier rum­ste­hen ha­be, mir des­we­gen An­fang 2001 ei­ne Fritz!PCI ge­kauft ha­be, nur um mit Li­nux ins Netz zu kom­men...

Auch wich­tig: die Ver­bin­dung wie­der be­en­den (ISDN-Fla­tra­tes sind sel­ten ge­wor­den :-)
Un­ter De­bian gibt es da­für das Script poff (aus dem Pa­ket ppp).

poff isdn/PROVIDER

So wie ich das se­he macht es nichts an­de­res, als genau den pppd-Pro­zess zu kil­len, der für die Ver­bin­dung zu PRO­VI­DER ver­ant­wort­lich ist. Wenn man poff oh­ne Pa­ra­me­ter auf­ruft und es nur ei­nen pppd gibt, wird die­ser be­en­det.
Es gibt auch die Mög­lich­keit in das Pro­vi­der-Script ei­ne id­le-Zeit ein­zu­bau­en. Mehr In­for­ma­tio­nen zu den Mög­lich­kei­ten von pppd lie­fert

man pppd

Hilfs-Pro­gram­me

Das gu­te, al­te xisdnload fun­tio­niert mit Ca­pi2 nicht mehr, aber da­für gibt es ei­ne gan­ze Rei­he ppp-Mo­ni­tor-Pro­gram­me (De­bian-Pa­ket-Na­men): wmppp.app pppstatus (nicht-gra­phisch) procmeter gkrellm gpppkill
Auch die KDE-Sys­te­m­über­wa­chung (ksysguard) kann ir­gend­wie PPP-In­for­ma­tio­nen an­zei­gen

Quel­len / wei­te­re In­for­ma­tio­nen

Rund um USB-Ge­rä­te für Li­nux H Ze­ro Se­ven - De­ve­lop­ment Team (sin­ce 1999)- Pass­te AVM-Fritz!X-Trei­ber für Te­le­dat an und es gab dort auch ein Fo­rum, woraus mir ein Ein­trag be­son­ders ge­hol­fen hat­te. Al­ler­dings gibt es das Fo­rum nun nicht mehr und das Pro­jekt wird wo­an­ders wei­ter­ge­führt:
Nun gibt es ein Sour­ce­for­ge-Pro­jekt zu Fritz!X USB/Te­le­dat, wo auch ver­sucht wird das Kom­mu­ni­ka­ti­ons-Pro­to­koll zu ent­schlüs­seln, um ir­gend­wann rich­ti­ge Open­Sour­ce-Un­ter­stüt­zung für die­se Ge­rä­te zu be­kom­men. Zu dem Pro­jekt ge­hört außer­dem auch ein Fo­rum, in dem sich Nut­zer und Ent­wick­ler aus­tau­schen.

Kom­men­ta­re, Ver­bes­se­rungs­vor­schlä­ge, Er­folgs- und Mis­ser­folgs­mel­dun­gen zu die­ser An­lei­tung sind sehr will­kom­men!
E-Mail: vla­do <bei> gmx.net

Be­son­de­ren Dank an die­ser Stel­le an Gott­fried Schwie­ters! Er hat­te ei­ne In­stal­la­ti­ons­an­lei­tung für De­bian (un­sta­ble) in o.g. Te­le­dat-Board ge­stellt und mir zu mei­ner An­lei­tung ei­ne gan­ze Rei­he Ver­bes­se­rungs­vor­schlä­ge ge­schickt, die ich na­tür­lich so­fort ge­tes­tet und ein­ge­baut ha­be.