ISDN im 2.6er Kernel (kleine Anleitung)

PuckPoltergeist

Grand Admiral Special
Mitglied seit
18.01.2002
Beiträge
16.734
Renomée
145
Standort
Ilmenau
Da in letzter Zeit doch häufiger Fragen zu dem Thema kamen, habe ich mich dazu hinreißen lassen, mein gebaltes Unwissen durch die Tasten fließen zu lassen. 8)


Zuerst einmal muss der ISDN-Teil des Kernels gepacht werden. Daran führt kein Weg vorbei. Für 2.6.2 passt der originale patch von Karsten Keil, zu finden hier. Für 2.6.1 habe ich ihn etwas angepasst. Runter laden kann man ihn sich hier.
Damit mit dem 2.6.2er PnP mit x86_64 möglich ist, habe ich den patch von Karsten etwas erweitert. Zu finden hier
Für alle weiteren Schritte gehe ich davon aus, dass sich die Kernelsourcen unter /usr/src/linux-2.6.X befinden (X bitte entsprechend ersetzen), die patches unter /usr/src. Zum patchen wechselt ihr in das Kernel-Verzeichnis. Mit

Code:
 gzip -cd ../isdn-2.6.2-rc2.diff.gz | patch -p1

appliziert ihr den patch für den 2.6.2er Kernel,

Code:
 bzip -cd ../linux-2.6.1-hisax.patch.bz2 | patch -p1

ist für 2.6.1. Damit funktionieren die hisax-Treiber wieder, wie man sie auch aus dem 2.4er Kernel gewohnt ist. Es lassen sich damit alle Spielerein wie Internet, Fax (bei aktiven Karten) oder Anrufbeantworter machen.
Wollt ihr das Neueste, Schnellste, Schönste und überhaupt Allerbeste haben, müsst ihr auf mISDN umsteigen. ;D Für Faxen mit passiven ISDN-Karten ist das Pflicht, da das mit hisax nicht funktioniert. Auch für mISDN ist der i4l-patch Pflicht. Ohne den funktioniert es nicht. Die letzte Version von mISDN ist mISDN-CVS-2004-02-06, zu bekommen hier.
Das entpackt ihr nach /usr/src und wechselt in das Verzeichnis (/usr/src/mISDN-CVS-2004-02-06). Da ist

Code:
std2kern -k /usr/src/linux-2.6.X

auszuführen, welches den Kernel mit den mISDN-sourcen patcht. Das wars dann auch schon. Jetzt noch den Kernel konfigurieren. Für mISDN benötigt man:

ISDN support
CAPI2.0 support
CAPI2.0 Middleware support
CAPI2.0 filesystem support
Support modular ISDN driver
-> und da dann die passende Karte

sowie unter Networking support
PPP (point-to-point protocol) support
PPP multilink support (EXPERIMENTAL)
PPP filtering
PPP support for async serial ports
PPP support for sync tty ports
PPP Deflate compression
PPP BSD-Compress compression

Nachdem der Rest des Kernels konfiguriert ist, bauen, installieren und neu booten. Die Module könnt ihr am Anfang einzeln laden, um zu sehen, ob das einwandfrei funktioniert. Benötigt werden:

ppp_generic
capi
mISDN_core
mISDN_l1
mISDN-l2
l3udss1
mISDN_capi
mISDN_isac
avmfritz protocol=2

Das avmfritz natürlich nur bei entsprechender Karte. Alle anderen Kartenmodule benötigen übrigens das protocol=2 nicht. Wenn das alles ordentlich funktioniert hat, muss unter /dev/capi als Verzeichnis erstellt werden. Darauf wird dann das capifs gemountet:

Code:
 mount -t capifs capifs /dev/capi

Wenn das bis hierhin geklappt hat, könnt ihr die Konfiguration festmeißeln, sprich capifs in die fstab eintragen und die Module beim booten automatisch laden lassen. Für Debian ist hierfür /etc/modules zuständig. Bei anderen Distributionen weiß ich es nicht.
Das wars soweit. Um nun damit ins Internet zu kommen, braucht es den pppd mit capiplugin und userpassplugin. Einwählen könnt ihr euch dann mit

Code:
pppd call isdn/arcor

als Beispiel. Soll sich der Rechner automatisch einwählen können und nach einer gewissen Zeit Inaktivität wieder
trennen, kann man das so erreichen:

Code:
 pppd call isdn/arcor demand connect "" idle 150

Der Anrufbeantworter funktioniert mit mISDN noch nicht, AFAIK. Auch beim faxen bin ich mir nicht wirklich sicher. Benötigt werden dafür die capi-utils, auch zu finden hier. Bei mir haben die aber nicht durchcompiliert, als ich es das letzte mal probiert habe.

Das wars eigentlich soweit. Wenn noch Problem auftreten, ich etwas
vergessen habe oder sonst etwas unklar ist, fragt. Ich werde euch dann
geflissentlich ignorieren. ;D
 
Zuletzt bearbeitet:
VIELEN DANK !!!

Ich werde mich sogleich auf den Weg begeben....

To follow the path:
Look to the master,
follow the master
walk with the master

weiter geht's dann:
see through the master
and become the master

--- aber da muss man scho verdammt gut sein ;)

In diesem Sinne nochmal herzlichen Dank
 
@Anubis:
Dauert wohl noch ein Weilchen :) aber hast schonmal gute Aussichten ;)


Danke für das Tut, wenn auf den 2.6er Kernel umsteige dann kann ich das sicherlich gebrauchen. ISDN war ja schon mit dem 2.4er bei mir eine längere Geschichte :)
 
Original geschrieben von Diablo
@Anubis:
Dauert wohl noch ein Weilchen :) aber hast schonmal gute Aussichten ;)

Da hast du wohl recht - ich hab's von ihm gelesen... und "kürzen" wollt ich den Spruch nicht... Aber ergänzend (von mir) : And if I wont become a master, then at least I tried not to die as Microsoft's slave *buck*
 
Sehr schön, das kann bestimmt ich gebrauchen wenn ich meinen RedHat9 Router auf Debian 2.6.x umstelle.
 
Ach ja, habe ich doch was vergessen. Zumindest für das AVM-Modul braucht es PnP-Unterstützung im Kernel. Wie das bei den anderen Karten ist, kann ich mangels entsprechender Hardware nicht testen.
 
Hi,
ich habe folgendes Problem:
Bei meinem Athlon64 unter Mandrake 9.2 (32Bit) funktioniert mISDN mit meiner Fritz-Card schon seit längerem problemlos, momentan unter Kernel-2.6.2-rc2. Es gab allerdings eine kleine Anfangsschwierigkeiten: Zuerst lies sich das Modul nicht laden, nach einigem suchen fand ich die Lösung: PnP muß im Kernel aktiviert sein (wie hier ja auch geschrieben steht). Unter der 64-Bit-Version von Mandrake erhalte ich beim Laden des Moduls die gleiche Fehlermeldung, allerdings gibt es unter amd64 keine Möglichkeit, den PnP-Support im Kernel einzuschalten. Ich bin hier mittlerweile ratlos, so wie es aussieht werde ich wohl entweder auf Kernel 2.6 oder auf 64-Bit-Linux verzichten müssen. Hat jemand von euch eine Idee, woran das liegen könnte?

Vielen Dank schonmal!

mfg

Blub

P.S.: Habe ich das richtig verstanden wurde, was hier geschrieben wurde, funktioniert hisax mittlerweile auch unter Kernel 2.6? Hisax läuft unter Kernel 2.4 sehr gut, auch in der 64-Bit-Version, aber ich war fest davon überzeugt, daß Hisax unter 2.6 nicht mehr funktioniert. Hat man sich da anders entschieden und entwickelt das doch wieder weiter? Das könnte ja dann auch eine Lösung meines Problem sein, ob ich hisax oder mISDN verwende ist mir ziemlich egal, es sollte nur unter Kernel 2.6 und amd64 laufen..
 
Hallo Puck

Danke für die Anleitung ! :)

Mal sehen ob das mit mISDN auch für meine Elsa Quickstep 1000 hinhaut, hab da noch so meine Zweifel, da ich im Kernel bei mISDN nirgends meine Karte wählen kann.

MFG
 
Original geschrieben von Blub
allerdings gibt es unter amd64 keine Möglichkeit, den PnP-Support im Kernel einzuschalten.

Das wurde zum 2.6er via Kernelconfig abgeschalten, da der Hammer eigentlich legacy-free ist, sprich auch kein ISA mehr kennt. Damit wurde dummerweise mISDN das Wasser abgegraben (hoffe mal Karsten fixt das irgendwann). Auch haben die Kernelentwickler übersehen, dass immer noch diverse Monitoring-Chips darüber (ISA) angesprochen werden. Der Winbond auf meinem Board gibt via amd8111-Modul keinen Mucks von sich.
Ich habe jetzt den Patch von Karsten (i4l) soweit verändert, dass auch wieder sowohl ISA, als auch PnP ohne ISA möglich sind. Ob mISDN damit aber läuft, kann ich nicht garantieren. Ich weiß nicht, ob das schon 64bit sicher ist. Da hilft nur ausprobieren.

P.S.: Habe ich das richtig verstanden wurde, was hier geschrieben wurde, funktioniert hisax mittlerweile auch unter Kernel 2.6? Hisax läuft unter Kernel 2.4 sehr gut, auch in der 64-Bit-Version, aber ich war fest davon überzeugt, daß Hisax unter 2.6 nicht mehr funktioniert. Hat man sich da anders entschieden und entwickelt das doch wieder weiter? Das könnte ja dann auch eine Lösung meines Problem sein, ob ich hisax oder mISDN verwende ist mir ziemlich egal, es sollte nur unter Kernel 2.6 und amd64 laufen..

Hisax wird nicht weiter entwickelt. Es wurde nur "repariert", damit es auch mit dem 2.6er funktioniert.
 
Hi Puck

Also mit den alten HiSax scheint es jetzt zu klappen wenigstens die ISDN-Karte zum laufen zu kriegen. Hast Du vielleicht ein gutes Skripte (2-3) für Arcor+Hisax (ippp0), den damit hatte ich auch immer Probleme. Ich bräuchte eins was die Devices ippp0 macht und eins das dann nur noch fürs Ein und Aus.

Wäre echt super.

MFG
 
Erst einmal isdnutils, mit welchem ISDN grundsätzlich gestarte/gestoppt wird (gehört nach /etc/init.d/).

edit:

device.ippp0
ipppd.ippp0

gehören bei Debian nach /etc/isdn;
vergiss die /etc/ppp/chap-secrets nicht, pap-secrets kann ein link darauf sein
 
Zuletzt bearbeitet:
Hi Puck

Danke für die Skripte!

Also ich hab die alle kopiert und nach einer Anleitung habe ich dann folgendes gemacht.

1- isdn.conf -> AREACODE eingestellt (meine Vorwahl ohne 0).

2- Dann steht in der Anleitung was von einer ipppd.conf die unter /etc/isdn sein soll, diese hab ich allerdings nicht

3- jetzt habe ich in der device.ippp0 LOCALMSN=meine nummer ohne 0 und REMOTEMSN=192076.

4- in pap-secrets und cap-secrets habe ich arcor-spar und internet

5- jetzt soll ich mit /etc/init.d/isdnutils start ISDN starten, wenn ich das mache kommt keine Fehlermeldung oder so, aber auch keine andere Meldung

6- jetzt soll man isdnctrl dial ippp0 machen, kommt bei mir die Meldung /dev/isdn/isdninfo oder so gibt es nicht

7 unter /dev/ habe ich keine isdn verzeichnis oder ippp0 device, das muss ich wohl jetzt noch machen, früher hatte ich diese aber

dmesg | grep HiSax zeigt mir zweri Channels an, also hat das mit der ISDN Karte alles geklappt.


MFG
 
ll /dev/isdn*
crw-rw---- 1 root dialout 45, 0 2004-01-29 11:09 /dev/isdn0
crw-rw---- 1 root dialout 45, 1 2004-01-29 11:09 /dev/isdn1
crw-rw---- 1 root dialout 45, 2 2004-01-29 11:09 /dev/isdn2
crw-rw---- 1 root dialout 45, 3 2004-01-29 11:09 /dev/isdn3
crw-rw---- 1 root dialout 45, 4 2004-01-29 11:09 /dev/isdn4
crw-rw---- 1 root dialout 45, 5 2004-01-29 11:09 /dev/isdn5
crw-rw---- 1 root dialout 45, 6 2004-01-29 11:09 /dev/isdn6
crw-rw---- 1 root dialout 45, 7 2004-01-29 11:09 /dev/isdn7
lrwxrwxrwx 1 root root 9 2004-01-29 11:09 /dev/isdnctrl -> isdnctrl0
crw-rw---- 1 root dialout 45, 64 2004-01-29 11:09 /dev/isdnctrl0
crw-rw---- 1 root dialout 45, 65 2004-01-29 11:09 /dev/isdnctrl1
crw-rw---- 1 root dialout 45, 66 2004-01-29 11:09 /dev/isdnctrl2
crw-rw---- 1 root dialout 45, 67 2004-01-29 11:09 /dev/isdnctrl3
crw-rw---- 1 root dialout 45, 68 2004-01-29 11:09 /dev/isdnctrl4
crw-rw---- 1 root dialout 45, 69 2004-01-29 11:09 /dev/isdnctrl5
crw-rw---- 1 root dialout 45, 70 2004-01-29 11:09 /dev/isdnctrl6
crw-rw---- 1 root dialout 45, 71 2004-01-29 11:09 /dev/isdnctrl7
crw-rw---- 1 root dialout 45, 255 2004-01-29 11:09 /dev/isdninfo
 
Hi
also so siehts bei mir aus, also hatte ich die doch alle. Bei mir kam aber immer ein Fehler mit /dev/isdn/isdninfo. Wie man sieht habe ich die untrr /dev/. Also muss ich irgendwo Pfad ändern?

crw-r--r-- 1 root root 45, 128 11. Feb 22:00 /dev/ippp0 ->mit mknod c 45 128
crw-r--r-- 1 root root 45, 128 11. Feb 22:00 /dev/ippp1 ->*
crw-rw---- 1 root dialout 45, 130 6. Feb 16:23 /dev/ippp2
crw-rw---- 1 root dialout 45, 131 6. Feb 16:23 /dev/ippp3
crw-rw---- 1 root dialout 45, 132 6. Feb 16:23 /dev/ippp4
crw-rw---- 1 root dialout 45, 133 6. Feb 16:23 /dev/ippp5
crw-rw---- 1 root dialout 45, 134 6. Feb 16:23 /dev/ippp6
crw-rw---- 1 root dialout 45, 135 6. Feb 16:23 /dev/ippp7

crw-rw---- 1 root dialout 45, 0 6. Feb 16:23 /dev/isdn0
crw-rw---- 1 root dialout 45, 1 6. Feb 16:23 /dev/isdn1
crw-rw---- 1 root dialout 45, 2 6. Feb 16:23 /dev/isdn2
crw-rw---- 1 root dialout 45, 3 6. Feb 16:23 /dev/isdn3
crw-rw---- 1 root dialout 45, 4 6. Feb 16:23 /dev/isdn4
crw-rw---- 1 root dialout 45, 5 6. Feb 16:23 /dev/isdn5
crw-rw---- 1 root dialout 45, 6 6. Feb 16:23 /dev/isdn6
crw-rw---- 1 root dialout 45, 7 6. Feb 16:23 /dev/isdn7
crw-rw---- 1 root dialout 45, 64 6. Feb 16:23 /dev/isdnctrl0
crw-rw---- 1 root dialout 45, 65 6. Feb 16:23 /dev/isdnctrl1
crw-rw---- 1 root dialout 45, 66 6. Feb 16:23 /dev/isdnctrl2
crw-rw---- 1 root dialout 45, 67 6. Feb 16:23 /dev/isdnctrl3
crw-rw---- 1 root dialout 45, 68 6. Feb 16:23 /dev/isdnctrl4
crw-rw---- 1 root dialout 45, 69 6. Feb 16:23 /dev/isdnctrl5
crw-rw---- 1 root dialout 45, 70 6. Feb 16:23 /dev/isdnctrl6
crw-rw---- 1 root dialout 45, 71 6. Feb 16:23 /dev/isdnctrl7
crw-rw---- 1 root dialout 45, 255 6. Feb 16:23 /dev/isdninfo

Die ippp0 und ippp1 sehen jetzt komisch aus.

MFG
 
/dev/ippp1 hat die falsche minor-number bei dir.

Warum er bei dir isdninfo unter /dev/isdn habe will weiß ich nun auch nicht. Das Verzeichnis existiert bei mir gar nicht. Du kannst es spasseshalber mal anlegen und schauen was passiert.
Im Zweifelsfall nimm i4k aus Debian.
 
Hi Puck

Also das die Devs ippp* und isdn da waren lag an Knoppix *verlegen ist :). Hab mit mount -t proc proc /mnt/gentoo/proc. Also ich muss deine ganze Liste jetzt an Devices anlegen unter Gentoo. Mal sehen was dann kommt.

Die Fehlermeldung war allerdings doch etwas anders: Can't open /dev/isdninfo or /dev/isdn/isdninfo. Also sucht er.

MFG
 
Hi Puck

langsam wirds :)

Also alle devices erstellt. Ich kann jetzt sogar IMON 2.2 starten ohne Fehlermeldung, da sehe ich zwei grüne HiSax-Kanäle. Wenn ich jetzt allerdings isdnctrl dial ippp0 wähle steht noch da no ippp0 device, sonst nix. Sowas ähnliches hatte ich schon früher. Ich hab noch ein fehlerhaftes anderes ArcorSkript, in dem die Providernummer und addif ippp0 etc drin ist. Wenn ich diese aufrufe kommt tiggered und ich kann bei imon kurz sehen wie er wählt. Allerdings kommt keine Verbindung und er legt auf.

Muss ich bei Deiner Konfiguration noch irgendwas starten, er hat anscheinden ippp0 nich angelegt für ISDN. Ich hab nur isdnutils beim booten immer drin.

MFG
 
Läuft der ipppd bei dir? Nein, wahrscheinlich nicht, bzw. nicht mit den richtigen Optionen, da ich eine Datei vergessen habe.

init.d.functions gehört nach /etc/isdn

Nochwas, ip-up, ip-up.d, ip-down und ip-down.d existieren bei dir unter /etc/ppp?
 
Hallo

Meine /etc/ppp/

-rw------- 1 root root 102 10. Feb 20:24 chap-secrets
-rw-r--r-- 1 root root 344 6. Feb 18:26 chat-default
-rw-r--r-- 1 root root 938 6. Feb 18:26 firewall-masq
-rw-r--r-- 1 root root 836 6. Feb 18:26 firewall-standalone
-rw-r--r-- 1 root root 86 11. Feb 17:27 ioptions
lrwxrwxrwx 1 root root 5 11. Feb 17:27 ip-down -> ip-up
-rw-r--r-- 1 root root 228 11. Feb 17:27 ip-down.ippp0
-rwxr-xr-x 1 root root 115 11. Feb 17:27 ip-up
-rw-r--r-- 1 root root 5 6. Feb 18:26 options
-rw-r--r-- 1 root root 455 11. Feb 21:56 options.ippp0
-rw------- 1 root root 101 10. Feb 20:23 pap-secrets
drwxr-xr-x 3 root root 72 6. Feb 18:25 peers
drwxr-xr-x 2 root root 72 6. Feb 18:26 plugins
-rw-r--r-- 1 root root 4562 6. Feb 18:26 pppoe.conf
-rw-r--r-- 1 root root 104 6. Feb 18:26 pppoe-server-options
drwxr-xr-x 2 root root 48 10. Feb 15:29 resolv


Meine /etc/isdn/

-rw-r--r-- 1 root root 603 11. Feb 17:27 callerid.conf
-rw-r--r-- 1 root root 0 12. Feb 00:03 charge.dat
-rw-r--r-- 1 root root 0 11. Feb 23:59 charge.dat.old
-rwxrwxrwx 1 root root 13921 11. Feb 22:10 device.ippp0
-rwxrwxrwx 1 root root 16784 12. Feb 08:46 init.d
-rwxrwxrwx 1 root root 4413 11. Feb 22:09 ipppd.ippp0
-rw-r--r-- 1 root root 8967 11. Feb 22:18 isdn.conf
-rw-r--r-- 1 root root 4903 11. Feb 17:27 isdnlog.isdnctrl0.options
-rw-r--r-- 1 root root 418 11. Feb 17:27 isdnlog.users
-rw-r--r-- 1 root root 6098 11. Feb 17:27 rate.conf
-rwxr-xr-x 1 root root 1202 11. Feb 17:27 stop
-rw-r----- 1 root root 492 11. Feb 17:27 vboxd.conf
-rw-r----- 1 root root 781 11. Feb 17:27 vboxgetty.conf


ifconfig

lo Protokoll:Lokale Schleife
inet Adresse:127.0.0.1 Maske:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:6 errors:0 dropped:0 overruns:0 frame:0
TX packets:6 errors:0 dropped:0 overruns:0 carrier:0
Kollisionen:0 Sendewarteschlangenlänge:0
RX bytes:300 (300.0 b) TX bytes:300 (300.0 b)

pap-secrets

# Secrets for authentication using PAP
# client server secret IP addresses
arcor-spar * internet -

device.ippp0, Teile davon

#
# EXCEPTION:
# In countries where there are NO areacodes, this leading zero must NOT be
# added. In that case, change the value of LEADINGZERO below to ''
# LEADINGZERO could conceivably need to be something else in certian
# situations, so it is configurable.

LOCALMSN=meine Nummer # XXX_
REMOTEMSN=192076 # XXX_

# DIALMODE:
# New with kernel 2.0.36 is the `dialmode' setting.
# dialmode=auto is compatible with the old behaviour (dial-on-demand enabled).
# Read the isdnctrl manpage for more info.
# Change the value below if you want a different setting when the interface is
# started.
# For slave devices (channel bundling) dialmode _must_ be auto,
# so for slave devices this setting is ignored.

DIALMODE=auto # XXX_ other values can be 'on' and 'off'

ipppd.ippp0


# AUTHENTICATION

name # set local name for auth XXX_
name arcor-spar <- MUSS HIER arcor-spar stehen?
#user X # set name for auth with peer; default is value for name
#usehostname # use hostname for auth
remotename # set remote name for auth
#noauth # (dont) require peer (the other) to auth
#require-pap # allow only pap authentication (dialin only)
#require-chap # allow only chap authentication (dialin only)
#login # use system password database for pap
#papcrypt # pap passwords are encrypted


Wie muss ich isdn nun starten? Ich meine init.d alle hab ich zwar jetzt in /etc/isdn, aber wie ersteltl man nun ipppd.

MFG
 
Sachte, ich kenne Gentoo nicht. Soll heißen, ich muss mich auch erst durch den ganzen ISDN-Part durchwurschteln. Bei Debian kann ich mich aufs Paketmanagement verlassen. Gentoo kennt das ja so nicht, weshalb ich mich da Schritt für Schritt vor arbeiten muss.
 
Hi

war ja nicht so gemeint, hab mich nur an Deine 10min Antwortverzögerung gewöhnt.:)

Kannste kurz erklären was die einzelnen Skripte eigentlich machen.

MFG
 
Zurück
Oben Unten