bd4c8fa0c8a0f825a6d9f37fe0830e36c099ee15
[infodrom.org/oldenburg.linux.de] / src / Service / isdn.wml
1 #include "LUGO.style"
2
3 <PAGE name="ISDN und GNU/Linux">
4
5 Ein paar Anmerkungen zum Thema ISDN (IS Doch Nonsense) und GNU/Linux in
6 Verbindung mit einer Teles 16/3 ISDN-Karte. <p>
7
8 <em>Von Wolfgang Nowak</em> <p>
9
10 Kernelversion: 2.0.27 oder neuer, HiSax_1.3.patch_for_2.0.26.gz
11 Der Patch funktioniert auch mit 2.0.28. <p>
12
13
14    Der normale I4L-Treiber kann weiterhin mit einkomplimiert werden,
15    die /dev/ttyIx Mimik funktioniert damit ganz wunderbar, mit mgetty
16    kann so die ISDN-Karte wie ein Modem bedient werden. Mgetty ab 0.99 .
17 <P>
18
19 Beim Konfigurieren des Kernels sind die gewuenschten Optionen, wie
20 SYNC-PPP etc bei den I4L-Optionen einzutragen. Dringend anzuraten ist
21 die Verwendung als Modul, da das feste Einbinden noch Probleme mit sich
22 bringt. Ich hab's garnicht erst anders ausprobiert. Ausserdem laesst sich's
23 so besser experimentieren ;-)
24 <P>
25
26 In /usr/src/linux/drivers/isdn/teles/config.c sind die Spezialitaeten der
27 Karte, IRQ und Protokoll (DSS1 oder 1TR6, in Zweifel DSS1) einzutragen,
28 bei einer Teles16/3 ist MEMBASE=0. Sinnvoll ist es, die Karte in einem
29 Dos-Rechner mit dem mitgelieferten Konfig-Tool auf in die Hardware
30 passende Werte zu konfigurieren.
31 <P>
32
33 Bei mir haben nach dem Umstellen auf den HiSax die ISDNutils nicht mehr
34 funktioniert, wen wunderts, also: Neu Kompilieren. ISDNLog nimmt sehr viel
35 Systemlast, bei einem 486/66/32 ca 80Prozent, irgendetwas hakt da
36 noch, besser nicht verwenden. Schade eigentlich. Wer tcpdump benutzt,
37 sollte es mit dem Patch aus den ISDN4k-utils.2.0 neu bauen, sonst knallt
38 ein laufendes tcpdump bei startender ISDNVerbindung mit einem Seg-Fault
39 durch.
40 <P>
41
42 Die Hardware wird initialisiert mit
43 <BR>
44
45 <PRE>
46 /sbin/modprobe -v hisax HiSax_id=Tel0 io=3,2,5,0xd80
47 </PRE>
48
49 <BR>
50 wobei io=$TELES_Modell,$PROTOKOLL,$IRQ,$PORT
51
52 <BR>
53 und wieder abgeklemmt mit
54 <BR>
55
56 <PRE>
57 modprobe -r hisax
58 </PRE>
59
60 <BR>
61 Das ist eigentlich alles, was fuer die Einstellung der Hardware notwendig
62 ist. Karsten Keil (der Programmierer)  hat es einem da einfach gemacht.
63 <P>
64
65
66 Die Netzwerkeinstellungen haengen sehr davon ab, was Du machen moechtes.
67 Bei mir baumelt eine grosse Wohngemeinschaft mit 4 Rechnern
68 am "zurbel", der Adressraum ist 192.168.0.x mit einer Netzmaske
69 von (local) ff:ff:ff:00
70 Die Verbindung nach Aussen geschieht &uuml;ber
71 <P>
72
73 <OL>
74 <LI>News- und Mail ueber UUCP, never change a running System ;-)
75 <LI>Einwaehlen per Modem (tty) fuer Freunde und Bekannte
76 <LI>Dialup-IP via ISDN mit synchronenm PPP auf den Livingstone Portmaster
77    bei Familie NorthNet, Adressraum 192.109.226.x
78 </OL>
79
80 <P>
81 <PRE>
82 #Interface einrichten:
83 /sbin/isdnctrl addif ippp0
84 /sbin/isdnctrl eaz ippp0 MEINE_TELEFONNUMMER
85
86 #Die angerufenen Nummern:
87 /sbin/isdnctrl addphone ippp0 out PROVIDER_TELEFON_1
88 /sbin/isdnctrl addphone ippp0 out PROVIDER_TELEFON_2
89 usw. usw.
90
91 #Layer-2 Protokoll:
92 /sbin/isdnctrl l2_prot ippp0 hdlc
93
94
95 #Layer-3 Protokoll ist zur Zeit immer "Trans":
96 /sbin/isdnctrl l3_prot ippp0 trans
97
98
99 #Wir wollen ja Sync-PPP:
100 /sbin/isdnctrl encap ippp0 syncppp
101
102
103 #Sicherheitslevel, darf uns jeder anrufen oder nur wenige:
104 /sbin/isdnctrl secure ippp0 off|on
105
106 #Nach welcher Inaktivitaetszeit (Sekunden) soll die Leitung gesprengt werden:
107 /sbin/isdnctrl huptimeout ippp0 300
108
109 #Wenn das mit den Gebuehreninfos mal klappen wuerde:
110 /sbin/isdnctrl chargehup ippp0 on|off
111
112 #Zeige, welches Paket die Verbindung ausloest
113 # 0=Halt die Klappe, 31 (?) = Ich bin eine Parkuhr, laber mich voll.
114 # Bei 1 wird gerade noch angezeigt, welcher Request die
115 # Verbindung herstellen will
116 /sbin/isdnctrl verbose 1
117
118
119 # Maximale Anzahl der Waehlversuche pro Telefonnummer
120 /sbin/isdnctrl dialmax ippp0 4
121
122 # Callback Optionen, nicht getestet...
123 /sbin/isdnctrl callback ippp0 off|on
124 /sbin/isdnctrl cbdelay ippp0 5
125 /sbin/isdnctrl cbhup ippp0 on|off
126
127 # Der iprofd sorgt dafuer, dass ISDN"Modem"-Settings nicht verlustig gehen.
128 /sbin/iprofd /etc/isdnlog/modemsettings
129
130 # Debugging
131 /sbin/telesctrl Tel0 1 4
132
133 # ...und ab geht die Post, wir bauen uns ein Interface,
134 # 0.0.0.0 sind wir, 192.109.226.2 der Einwaehlknoten.
135 ifconfig ippp0 0.0.0.0 pointopoint 192.109.226.2
136
137 # Der normale pppd tut sowas nicht
138 /sbin/ipppd
139
140 </PRE>
141
142 <P>
143 <PRE>
144 # Das folgende Scriptchen setzt die Route, wehe dem, der vergisst, sie
145 # spaeter wieder zu loeschen:
146
147 #!/bin/sh
148 # /usr/sbin/pon
149 ifconfig ippp0 up
150 route add  192.109.226.2 metric 1 dev ippp0
151 route add  default gw 192.109.226.2 metric 1
152
153
154 Dem Unfug ein Ende bereiten wir mit
155
156 #!/bin/sh
157 #/usr/sbin/poff
158 /sbin/isdnctrl hangup ippp0
159 route del  default
160 route del  192.109.226.2
161 route add  default 192.168.0.0
162 ifconfig ippp0 down
163 </PRE>
164 <P>
165
166 Es ist definitiv nicht sinnvoll, die Route auf ippp0 zu belassen,
167 da nicht nur Nameserver gerne mal ein Paeckchen nach draussen verschicken.
168 Wenn Windowsrechner im Netz haengen, kommt die Leitung nie zur Ruhe, das
169 wird dann teuer.
170 Wenn jemand einen Tip hat, wie isdnlog ordentlich zu handhaben ist,
171 immer her mit den Infos. So jedenfalls nicht:
172 <P>
173
174 <PRE>
175 ##/sbin/isdnlog -vw2 -m2048 -D /dev/isdnctrl0
176 ##/sbin/isdnlog -D -v7 -l1015 -x4087 -M -n -W80 /dev/isdnctrl0
177 </PRE>
178
179 <P><PRE>
180
181
182 #/etc/ppp/options
183
184 /dev/ippp0
185 0.0.0.0:
186 # my user name
187 user    wuffel
188 # my system name
189 name zurbel
190 defaultroute
191 lock
192 # no CHAP authentification
193 #-chap
194 #-pap
195 #
196 # accept IP addresses from peer
197 ipcp-accept-local
198 ipcp-accept-remote
199 #noipdefault
200 #
201 # try to get IP address from interface
202 # option specific to ipppd (as opposed to pppd)
203 #useifip
204 #
205 # disable header-compression
206 # Seh ich nicht ein , das klappt ganz prima auch so.
207 #-vj
208 #-vjccomp
209 -ac
210 -pc
211 -bsdcomp
212 #
213 # max receive unit
214 mru 1500
215 # max transmit unit
216 mtu 1500
217
218
219 # ... und damit wir auch reingelassen werden:
220 # Bitte Tabulatoren verwenden.
221
222 # example for /etc/ppp/pap-secrets
223
224 # client        server  pw              iplist
225 wuffel  *       MEIN_PASSWORT
226 *                       *               ""
227 </PRE>
228
229 <P>
230 Dieses Paper ist sehr knapp und wahrscheinlich laesst sich
231 vieles besser einrichten, ich uebernehme keine Funktionsgarantie,
232 bei mir klappt so alles wunderbar. Kommentare bitte an
233 wuffel@zurbel.infodrom.north.de.
234 Wenn experimentierfreudige ISDNler Lust haben, ich moechte
235 gerne rausbekommen, wie ich ISDN-Dial-IN hinbekomme, da fehlen mir bis
236 jetzt entsprechende Mitbastler.
237
238 </PAGE>
239
240 # Local variables:
241 # mode: html
242 # mode: auto-fill
243 # mode: iso-accents
244 # end: