Anfang
Über
Dortmund
Auſtralien
Fotos
Verweiſe
Rechner
Geld
Krieg
Frieden
Menü verſtecken ⇒
⇐ Menü zeigen
Letzte Aktualisierung: 2016-02-22

Linux-Tipps

Die An­lei­tung zur In­ſtal­la­tion des USB-ISDN-Ad­ap­ters, die den Haupt­teil die­ſer Tipp-Sei­te aus­macht, iſt ſchon recht alt und bei der heu­ti­gen Ver­brei­tung von DSL nicht mehr ſo re­le­vant.

Ei­nen klei­nen neu­en (An­fän­ger-/Um­ſtei­ger-)Tipp ge­be ich an­läſſ­lich des Ju­bi­lä­ums-Um­baus 2008: Man ſoll­te, um flüſ­ſi­ger zu ar­bei­ten, bzw. über­haupt ver­nünf­tig mit dem viel­fenſt­ri­gen GIMP ar­bei­ten zu kön­nen, in der ver­wen­de­ten Fenſ­ter-Ver­wal­tung (KDE, Gno­me oder an­de­re) die Ein­ſtel­lung für Fenſ­ter-Ak­ti­vie­rung auf fo­cuſ-fol­lowſ-mou­ſe ſtel­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­beitſ­flä­chen zu ha­ben, wie es bei GNU/Li­nux-Ober­flä­chen ſeit je­her der Fall iſt und bei MacOSX im Jahr 2007 (in Ver­sion 10.5) mit „Spaces“ mög­lich wur­de.


hoch

Beſ­ſe­re Taſ­ta­tur­be­le­gung mit deut­ſchen Um­lau­ten

brennende Tastatur

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

xmodmap -e "keycode 94 = dead_diaeresis"

Da­mit wird (bei mir zu­min­deſt) die nicht be­nutz­te Klei­ner-/Grö­ßer-Taſ­te (bei deutschen und britischen Tastaturen zwi­ſchen linker Um­ſchalt­taſ­te und Y bzw. Z) zu ei­ner Art Ac­cent-Taſ­te (wie die, mit de­nen man bei deut­ſcher Taſ­ta­tur­be­le­gung nor­ma­ler­wei­ſe "à", "è" uſw. er­zeu­gen kann), ſo daß Fol­gen­des paſ­ſiert:

<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­ſer kann z.B. mit

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

auf die "an­de­res Be­triebſ­ſyſ­tem"-Me­nue-Taſ­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 Taſ­ta­tur­co­des der Taſ­ten kön­nen leicht mit xev er­mit­telt wer­den.
Mehr In­for­ma­tio­nen zum Com­po­ſe-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 /uſr/X11R6/lib/X11/lo­ca­le/iſo8859-1/Com­po­ſe nach­ge­ſe­hen und ver­än­dert wer­den. Bei­ſpie­le:

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

Ei­ne wei­te­re Ver­beſ­ſe­rung iſt es (zu­min­deſt bei mei­ner klei­nen Strg-Taſ­te), ein­fach die Um­ſchalt­feſt­ſtell­taſ­te auch zur Strg-Taſ­te zu ma­chen. Das funk­tio­niert wie oben be­ſchrie­ben, al­ſo mit xmod­map -e "key­co­de 66 = Con­trol_L".
Oder mit fol­gen­dem Ein­trag im Key­board-Ab­ſchnitt der /etc/X11/XF86­Con­fig-4:

    Option "XkbOptions"  "ctrl:nocaps"

Wenn man ſich nun mit xmod­map -e... ei­ne in­di­vi­du­el­le Taſ­ta­tur­be­le­gung er­ſtellt hat, kann man ſie auch mit xmod­map -pke [Da­tei] in ei­ner Da­tei ſpei­chern und mit xmod­map [Da­tei] wie­der her­ſtel­len. Normalerweise wird ~/.Xmodmap automatisch beim Systemstart geladen. Die­ſe Me­tho­de funk­tio­niert auch, wenn man die XF86­Con­fig-4 des Syſ­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 Taſ­ta­tur­be­le­gung nicht je­des Mal per Hand auſ­füh­ren zu müſ­ſen, ſoll­te man ſie in die Au­to­ſtart-Da­tei des ver­wen­de­ten Win­dow- bzw. Lo­gin-Ma­na­gers ſchrei­ben. Beim Win­dow­Ma­na­ger WMa­ker iſt das z.B. ­/GNU­ſtep/Li­bra­ry/Win­dow­Ma­ker/au­to­ſtart, beim Lo­gin-Ma­na­ger XDM müſſ­te ­/.xſeſ­ſion 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, daß 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­ſtal­lie­ren

Zu­nächſt ei­ne War­nung: die­ſe An­lei­tung iſt im We­ſent­li­chen ein Ge­däch­niſſ­pro­to­koll. Sie ſoll es dem Le­ſer leich­ter ma­chen, als ich es hat­te, bei der In­ſtal­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­ſchied­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­ſchafft hät­te, deſ­halb mein Dank an al­le Au­to­ren!) er­reicht, daß 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 teſ­ting/un­ſta­ble (aka Woo­dy) ins In­ter­net kom­me. Mit die­ſer An­lei­tung hät­te es ſchnel­ler ge­hen kön­nen, aber Fall­ſtricke lau­ern über­all...

Vor­aus­ſet­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­teſ­tet (neu­e­re Ker­nel je­weils mit neu­e­ren Trei­ber-Ver­ſio­nen)
  • Die FritzX-USB-Trei­ber von AVM (nicht an der Be­zeich­nung ſtö­ren, ich ha­be zu­letzt fxuſb-ſu­ſe8.1-03.10.02.tar.gz ver­wen­det)
  • Die De­bian-Pa­ke­te lib­ca­pi20, iſd­nac­ti­ve­cards, ppp, pppd­ca­pi­plu­gin
    Nicht be­nö­tigt wer­den: iſd­nu­tils, ipppd, uſbm­gr
  • Die Fä­hig­kei­ten, ei­nen Ker­nel zu kom­pi­lie­ren und zu in­ſtal­lie­ren und ei­nen Edi­tor zu be­die­nen (iſt ja nicht all­zu ſchwer und ei­gent­lich ſelbſt­ver­ſtänd­lich, bei Leu­ten die teſ­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
...

"..." ſteht hier für mehr Op­tio­nen, die al­le nicht ak­ti­viert zu ſein brau­chen. Das mit der Kom­preſ­ſion kann man ſich viel­leicht auch ſpa­ren, aber es wird ſchon nicht ſcha­den.
Na­tür­lich muß der Ke­nel den ei­ge­nen USB-Con­trol­ler un­ter­ſtüt­zen und al­les, was ſonſt noch ſo 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­ſtal­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 muß 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 iſt nun ein Ver­zeich­niſs miſc im Mo­dul-Ver­zeich­niſs des Ker­nels er­ſtel­len und da­r­ein das mo­dul fxuſb.o aus ſrc.drv ko­pie­ren.

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

Ca­pi-Pa­ke­te in­ſtal­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 ſind die not­wen­di­gen De­bian-Pa­ke­te ſu­per-ſchnell in­ſtal­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 ſein ſoll­ten, wer­den die­ſe au­to­ma­tiſch mit in­ſtal­liert.
Na­tür­lich kön­nen die Pa­ke­te auch an­ders be­ſorgt wer­den, zur Not über Win­dows vom De­bian-HTTP oder -FTP-Ser­ver.

/etc/iſdn/ca­pi.conf ?

Nun iſt ei­ner der we­ni­gen Zeit­punk­te ge­kom­men, wo auch ein Li­nux-Syſ­tem neu ge­ſt­ar­tet wer­den kann. Es geht ſi­cher auch oh­ne, aber dann muß man ſich ſelbſt mit den gan­zen Mo­du­len und init-ſcrip­ten her­um­ſchla­gen...
Ein Blick in das Ver­zeich­niſs /etc/init.d emp­fielt ſich aber trotz­dem. Ein even­tu­ell vor­han­de­nes iſd­nu­tils-Script ſoll­te jetzt z.B. nicht mehr ge­braucht wer­den (ver­ſchie­ben, nicht lö­ſchen!).

Nach dem Neu­ſtart kann das fxuſb-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 ſoll­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­ſe­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 teſ­ten/kon­fi­gu­rie­ren

Ei­ne Teſt­ver­bin­dung zu AVM (wie in fritz/in­ſtall_paſ­ſi­ve.de be­ſchrie­ben) könn­te jetzt di­rekt ſchon klap­pen. Zur Si­cher­heit kann man die Syſ­tem­nach­rich­ten mit­ver­fol­gen (mit tail -f /var/log/meſ­ſa­ges):

pppd call iſdn/avm

Da­mit wird das ſcript /etc/ppp/peerſ/iſdn/avm auſ­ge­führt, was ei­ne Teſt­ver­bin­dung zum AVM-Rech­ner in Ber­lin er­ſtellt.
In dem ſel­ben Ver­zeich­niſs kann man nun ein ei­ge­nes kur­z­es Script nach dem glei­chen Muſ­ter erſ­te­len. Ein Bei­ſpiel:

#
# 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­ſpre­chend ei­ne Zei­le:

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

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

Ein großes Pro­blem war für mich noch, daß die "rou­te" nicht er­folg­reich ge­ſetzt wur­de (Teſt über tail -f /var/log/meſ­ſa­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ö­ſen, 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ö­ſchen. Wo­bei der Na­me ſi­cher nicht ſo wich­tig iſt... 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­ſa­che es funk­tio­niert end­lich! Nach­dem ich die Te­le­dat ſchon über ein Jahr hier rum­ſte­hen ha­be, mir deſ­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 ſind ſel­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 ſe­he macht es nichts an­de­res, als genau den pppd-Pro­zeſs zu kil­len, der für die Ver­bin­dung zu PRO­VI­DER ver­ant­wort­lich iſt. Wenn man poff oh­ne Pa­ra­me­ter auf­ruft und es nur ei­nen pppd gibt, wird die­ſer 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

Hilfſ-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­phiſch) procmeter gkrellm gpppkill
Auch die KDE-Syſ­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 (ſin­ce 1999)- Paſſ­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­ſon­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­ſucht wird das Kom­mu­ni­ka­ti­onſ-Pro­to­koll zu ent­ſchlüſ­ſeln, um ir­gend­wann rich­ti­ge Open­Sour­ce-Un­ter­ſtüt­zung für die­ſe Ge­rä­te zu be­kom­men. Zu dem Pro­jekt ge­hört außer­dem auch ein Fo­rum, in dem ſich Nut­zer und Ent­wick­ler aus­tau­ſchen.

Kom­men­ta­re, Ver­beſ­ſe­rungſ­vor­ſchlä­ge, Er­folgſ- und Miſ­ſer­folgſ­mel­dun­gen zu die­ſer An­lei­tung ſind ſehr will­kom­men!
E-Mail: vla­do <bei> gmx.net

Be­ſon­de­ren Dank an die­ſer Stel­le an Gott­fried Schwie­ters! Er hat­te ei­ne In­ſtal­la­ti­ons­an­lei­tung für De­bian (un­ſta­ble) in o.g. Te­le­dat-Board ge­ſtellt und mir zu mei­ner An­lei­tung ei­ne gan­ze Rei­he Ver­beſ­ſe­rungſ­vor­ſchlä­ge ge­ſchickt, die ich na­tür­lich ſo­fort ge­teſ­tet und ein­ge­baut ha­be.