# ISDN mit Gentoo-Dev-Sources-2.6.8-r3

## Nightfire

Hallo,

ich benutze seit kurzem Gentoo Linux. Vorher habe ich SuSE benutzt. Nun habe ich noch so einige Probleme und hoffe das mir jemand helfen kann. Zu aller erst: Ích habe nach meinem Problem gesucht, habe auch Sachen gefunden aber entweder hat es mir nichts geholfen oder ich hab einfach nicht verstanden was da geschrieben wurde. Also bitte nicht den Kopf abreissen wenn das schonmal jemand gefragt hat hier. 

Hier zuerstmal eine übersicht meiner Hardware:

Hardware:

------------

Mainboard : Gigabyte 8IK1100 rev 2.0

Chipsatz : I875P

Biosversion : FF

CPU : Intel Pentium IV 3000 mit Hyperthreadding

Internet : AVM Fritzcard PCI 

System:

----------

Kernel : gentoo-dev-sources-2.6.8-r3 (mit smt für HT)

Problem:

Mein Problem ist folgendes: 

Ich habe leider überhaupt gar keine Ahnung wie ich meine ISDN Karte unter Linux (Gentoo) ans laufen bekomme und wie ich danach eine Internet Verbindung aufbauen kann... Bei SuSE und Knoppix wird die Karte automatisch erkannt und Funktioniert einwandfrei auch mit kernel 2.6. 

Was ich bis jetzt gemacht habe:

1. isdn4k-utils installiert  \   Habe beides mal getestet

2. capi4k-utils installiert  /  

3. den Treiber von AVM (fcpci) gedownloadet (installation hat nicht funktioniert) 

4. Im Forum gelesen was zu tun ist. Dort habe ich einige beiträge gefunden unter anderem auch hier im Forum.  Allerdings haben mir die Sachen nicht geholfen. Ich bin auf ein Tutorial gestoßen wo man das mit mISDN Lösen konnte. Allerdings bin ich an der Stelle gescheitert, wo ich ein Kennwort für die CVS-Verbindung eingeben sollte. 

Jetzt meine Frage. Kann mir jemand eine Schritt für Schritt Anleitung geben? 

Das wäre echt cool.

mfg nighty

----------

## moe

Schritt-für-Schritt leider nicht, aber ich habe erst vor kurzem mit dem selben Kernel, ein Faxserver mit 2 AVM B1 realisiert. WEnn ich mich recht entsinne, waren es nur die capi4kutils, (allerdings eine neuere Version als im offiziellen Portage) die man benötigt, isdn4k-utils braucht man afaik nicht. (ist das nicht das obsolete isdn4linux Interface?)

Guck dir mal den Thread Wieder mal Verwirrung - ISDN mit Kernel 2.6.7 an, der sollte auch etwas helfen..

Gruss Maurice

----------

## Macrobiotus

Genau! Da steht auch meine Kurzanleitung drin. 

Unter 

http://ftp.uni-bayreuth.de/linux/drivers/isdn4linux/CVS-Snapshots/

findest du den CVS-Snapshot von mISDN den du brauchst.

einfach entpacken (tar -xvjf mI*), ins Verzeichnis wechseln (cd mI*), 

```
./std2kern
```

 und neuen Kernel kompilieren. 

Wenn es ab da hakt, sag nochmal Bescheid.

Ich hoffe lspci sagt auch bei dir sowas wie:

0000:00:0c.0 Network controller: AVM Audiovisuelles MKTG & Computer System GmbH Fritz!PCI v2.0 ISDN (rev 02)

ansonsten vergiss alles, was ich gesagt habe.

PS: fcpci brauchst du nicht

----------

## Nightfire

Hallo nochmal,

ich habe das mISDN Paket runter geladen und entpackt, wie beschrieben. 

In dem Ordner habe ich dann das kommando:

```

./std2kern

```

ausgeführt und bekam folgende Fehlermeldung:

```

linux mISDNuser-CVS-2004-08-29 # ./std2kern

bash: ./std2kern: Datei oder Verzeichnis nicht gefunden

```

Dann habe ich mir überlegt ob ich das Paket vielleicht noch kompilieren muss. Also habe ich nach dem ./configure nicht funktioniert hat einfach mal make in dem Verzeichniss eingegeben. Dabei kam das raus:

```

linux mISDNuser-CVS-2004-08-29 # make

make TARGET=all subdirs

make[1]: Entering directory `/mISDNuser-CVS-2004-08-29'

set -e; for i in lib example i4lnet tenovis voip ; do make -C $i all; done

make[2]: Entering directory `/mISDNuser-CVS-2004-08-29/lib'

gcc -g -Wall -O2 -I /mISDNuser-CVS-2004-08-29/include   -c -o device.o device.c

gcc -g -Wall -O2 -I /mISDNuser-CVS-2004-08-29/include   -c -o layer.o layer.c

gcc -g -Wall -O2 -I /mISDNuser-CVS-2004-08-29/include   -c -o stack.o stack.c

gcc -g -Wall -O2 -I /mISDNuser-CVS-2004-08-29/include   -c -o status.o status.c

rm -f libmISDN.a

ar -r libmISDN.a device.o layer.o stack.o status.o

ar: creating libmISDN.a

ar -s libmISDN.a

make[2]: Leaving directory `/mISDNuser-CVS-2004-08-29/lib'

make[2]: Entering directory `/mISDNuser-CVS-2004-08-29/example'

gcc -g -Wall -O2 -I /mISDNuser-CVS-2004-08-29/include   -c -o testcon.o testcon.c

gcc   testcon.o /mISDNuser-CVS-2004-08-29/lib/libmISDN.a   -o testcon

gcc -g -Wall -O2 -I /mISDNuser-CVS-2004-08-29/include   -c -o testnet.o testnet.c

gcc   testnet.o /mISDNuser-CVS-2004-08-29/lib/libmISDN.a   -o testnet

gcc -g -Wall -O2 -I /mISDNuser-CVS-2004-08-29/include   -c -o testcon_l2.o testcon_l2.c

gcc   testcon_l2.o /mISDNuser-CVS-2004-08-29/lib/libmISDN.a   -o testcon_l2

gcc -g -Wall -O2 -I /mISDNuser-CVS-2004-08-29/include   -c -o loadfirm.o loadfirm.c

gcc   loadfirm.o /mISDNuser-CVS-2004-08-29/lib/libmISDN.a   -o loadfirm

gcc -g -Wall -O2 -I /mISDNuser-CVS-2004-08-29/include   -c -o logger.o logger.c

gcc   logger.o /mISDNuser-CVS-2004-08-29/lib/libmISDN.a   -o logger

make[2]: Leaving directory `/mISDNuser-CVS-2004-08-29/example'

make[2]: Entering directory `/mISDNuser-CVS-2004-08-29/i4lnet'

gcc -g -Wall -O2 -I /mISDNuser-CVS-2004-08-29/include   -c -o net_if.o net_if.c

gcc -g -Wall -O2 -I /mISDNuser-CVS-2004-08-29/include   -c -o isdn_debug.o isdn_debug.c

gcc -g -Wall -O2 -I /mISDNuser-CVS-2004-08-29/include   -c -o isdn_msg.o isdn_msg.c

gcc -g -Wall -O2 -I /mISDNuser-CVS-2004-08-29/include   -c -o fsm.o fsm.c

gcc -g -Wall -O2 -I /mISDNuser-CVS-2004-08-29/include   -c -o net_l2.o net_l2.c

gcc -g -Wall -O2 -I /mISDNuser-CVS-2004-08-29/include   -c -o tei.o tei.c

gcc -g -Wall -O2 -I /mISDNuser-CVS-2004-08-29/include   -c -o net_l3.o net_l3.c

net_l3.c:1056:2: Warnung: #warning TODO: global mask for supported none mandatory services, like HOLD

net_l3.c:1661:2: Warnung: #warning ETSI 300286-1 only define USER_USER for USER_INFORMATION SETUP ALERTING PROGRESS CONNECT DISCONNECT RELEASE*

net_l3.c:2108:2: Warnung: #warning bitte beachte folgendes:

net_l3.c:2121:2: Warnung: #warning noch ein bug: wenn ein CC_DISCONNECT gesendet wird (state 7 = klingeling), dann bekommt man nur einen RELEASE_CR, aber keinen vorherigen RELEASE

net_l3.c:2187:2: Warnung: #warning TODO: save cause

net_l3.c:2188:2: Warnung: #warning bedenke auch, dass vielleicht overlap sending mit information-messages praktisch w?e (sp?er PTP)

net_l3.c:2633:2: Warnung: #warning du musst alle processe releasen CC_RELEASE!!! dies geschieht z.b. wenn man das telefon vom s0-bus abnimmt und der layer-2 dadurch zusammen bricht.

net_l3.c:2634:2: Warnung: #warning geschieht dies auch im TE-mode?

net_l3.c:2635:2: Warnung: #warning TODO DL_RELEASE | INDICATION handling; inclusiv special state 10 (T309)

gcc -g -Wall -O2 -I /mISDNuser-CVS-2004-08-29/include   -c -o manager.o manager.c

gcc -g -Wall -O2 -I /mISDNuser-CVS-2004-08-29/include   -c -o tone.o tone.c

gcc -g -Wall -O2 -I /mISDNuser-CVS-2004-08-29/include   -c -o bchannel.o bchannel.c

gcc -g -Wall -O2 -I /mISDNuser-CVS-2004-08-29/include   -c -o g711.o g711.c

rm -f libisdnnet.a

ar cr libisdnnet.a net_if.o isdn_debug.o isdn_msg.o fsm.o net_l2.o tei.o net_l3.o manager.o tone.o bchannel.o g711.o

make[2]: Leaving directory `/mISDNuser-CVS-2004-08-29/i4lnet'

make[2]: Entering directory `/mISDNuser-CVS-2004-08-29/tenovis'

make -C lib lib

make[3]: Entering directory `/mISDNuser-CVS-2004-08-29/tenovis/lib'

gcc -g -Wall -O2 -I /mISDNuser-CVS-2004-08-29/include   -c -o tenovis_device.o tenovis_device.c

gcc -g -Wall -O2 -I /mISDNuser-CVS-2004-08-29/include   -c -o tenovis_intern.o tenovis_intern.c

rm -f libtenovis.a

ar -r libtenovis.a tenovis_device.o tenovis_intern.o

ar: creating libtenovis.a

ar -s libtenovis.a

make[3]: Leaving directory `/mISDNuser-CVS-2004-08-29/tenovis/lib'

gcc -g -Wall -O2 -I /mISDNuser-CVS-2004-08-29/include   -c -o testlib.o testlib.c

gcc   testlib.o lib/libtenovis.a /mISDNuser-CVS-2004-08-29/lib/libmISDN.a   -o testlib

gcc -g -Wall -O2 -I /mISDNuser-CVS-2004-08-29/include   -c -o tstlib.o tstlib.c

gcc   tstlib.o lib/libtenovis.a /mISDNuser-CVS-2004-08-29/lib/libmISDN.a   -o tstlib

make[2]: Leaving directory `/mISDNuser-CVS-2004-08-29/tenovis'

make[2]: Entering directory `/mISDNuser-CVS-2004-08-29/voip'

gcc -g -Wall -O2 -I /mISDNuser-CVS-2004-08-29/include -g -DHEXDUMP  -I../../gsm-1.0-pl6/inc -DInternet_Port=2074  -O3 -DLINUX -DM_LITTLE_ENDIAN   -DGSM_COMPRESSION   -c -o voip_isdn.o voip_isdn.c

In Datei, eingefügt von voip_isdn.c:24:

iapplication.h:6:17: gsm.h: Datei oder Verzeichnis nicht gefunden

In file included from voip_isdn.c:24:

iapplication.h:106: error: Syntaxfehler before "gsm"

iapplication.h:106: Warnung: kein Semikolon am Ende von »struct« oder »union«

iapplication.h:107: Warnung: type defaults to `int' in declaration of `s_gsm'

iapplication.h:107: Warnung: data definition has no type or storage class

iapplication.h:112: error: Syntaxfehler before '}' token

make[2]: *** [voip_isdn.o] Fehler 1

make[2]: Leaving directory `/mISDNuser-CVS-2004-08-29/voip'

make[1]: *** [subdirs] Fehler 2

make[1]: Leaving directory `/mISDNuser-CVS-2004-08-29'

make: *** [all] Fehler 2

linux mISDNuser-CVS-2004-08-29 #

```

Hat jemand eine Idee was ich falsch gemacht habe.

Danke schonmal 

nighty

P.S.

linux mISDNuser-CVS-2004-08-29 # lspci

pcilib: Cannot open /sys/bus/pci/devices

pcilib: Cannot open /proc/bus/pci

0000:00:00.0 Host bridge: Intel Corp.: Unknown device 2578 (rev 02)

0000:00:01.0 PCI bridge: Intel Corp.: Unknown device 2579 (rev 02)

0000:00:1d.0 USB Controller: Intel Corp.: Unknown device 24d2 (rev 02)

0000:00:1d.1 USB Controller: Intel Corp.: Unknown device 24d4 (rev 02)

0000:00:1d.2 USB Controller: Intel Corp.: Unknown device 24d7 (rev 02)

0000:00:1d.3 USB Controller: Intel Corp.: Unknown device 24de (rev 02)

0000:00:1d.7 USB Controller: Intel Corp.: Unknown device 24dd (rev 02)

0000:00:1e.0 PCI bridge: Intel Corp. 82801BA/CA/DB PCI Bridge (rev c2)

0000:00:1f.0 ISA bridge: Intel Corp.: Unknown device 24d0 (rev 02)

0000:00:1f.1 IDE interface: Intel Corp.: Unknown device 24db (rev 02)

0000:00:1f.3 SMBus: Intel Corp.: Unknown device 24d3 (rev 02)

0000:01:00.0 VGA compatible controller: nVidia Corporation: Unknown device 0041 (rev a1)

0000:02:00.0 Ethernet controller: Galileo Technology Ltd.: Unknown device 4320 (rev 12)

0000:02:01.0 Multimedia audio controller: Creative Labs SB Audigy (rev 04)

0000:02:01.1 Input device controller: Creative Labs SB Audigy MIDI/Game port (rev 04)

0000:02:01.2 FireWire (IEEE 1394): Creative Labs SB Audigy FireWire Port (rev 04)

0000:02:02.0 Multimedia controller: Philips Semiconductors SAA7146 (rev 01)

0000:02:03.0 Network controller: AVM Audiovisuelles MKTG & Computer System GmbH A1 ISDN [Fritz] (rev 02)

0000:02:08.0 Ethernet controller: Intel Corp.: Unknown device 1050 (rev 02)

0000:02:0a.0 FireWire (IEEE 1394): Texas Instruments TSB43AB23 IEEE-1394a-2000 Controller (PHY/Link)

linux mISDNuser-CVS-2004-08-29 #

----------

## Macrobiotus

In dem Ordner sollte eine Datei namens std2kern sein

Guckst du:

```
[lutz@star3](~/mISDN-CVS-2004-08-29) $ ls

add.config  drivers  km_mISDN.spec    Makefile.standalone  std2kern

CVS         include  Makefile.module  Rules.make.ext       stddiff

[lutz@star3](~/mISDN-CVS-2004-08-29) $ 
```

Irgendwo sollte sie sein.

----------

## Nightfire

dann habe ich wohl eine unkomplette oder falsche Version erwischt. Lade mir mal eine andere runter.

----------

## Nightfire

Tatsächlich, in der anderen Version war die Datei drin. Kernel kompiliere ich grade mal sehen ob das klappt  :Wink: . Gibt es eigentlich so ein einwahl tool für gentoo, wie es das für SuSE oder KNOPPIX auch gibt? Ich weiss nämlich nicht wo ich was eintragen muss und was ich wo laden muss ?

----------

## Macrobiotus

Mein Einwahlprogramm ist das gnome-panel-aplett Modemlämpchen  :Cool: 

Um dich weiter zu verwirren:

Das hier steht in meiner /etc/conf.d/local.start

```
/usr/local/bin/isdninitialize 
```

und dahinter verbirgt sich das Skript aus dem HowTo (siehe alter Link)

```
  #!/bin/sh

  if [ $# -ge 1 ]; then

        DEBUG=$1

  else

        DEBUG=0

  fi

  #INSMOD_PARA=-m

  MEXT=.ko

  cd /lib/modules/`uname -r`/kernel/drivers/isdn/hardware/mISDN

  #modprobe capidrv

  modprobe capi

  insmod ${INSMOD_PARA} mISDN_core${MEXT} debug=${DEBUG} >/tmp/m_core.mod

  insmod ${INSMOD_PARA} mISDN_l1${MEXT} debug=${DEBUG} >/tmp/m_l1.mod

  insmod ${INSMOD_PARA} mISDN_l2${MEXT} debug=${DEBUG} >/tmp/m_l2.mod

  insmod ${INSMOD_PARA} l3udss1${MEXT} debug=${DEBUG} >/tmp/m_l3u.mod

  insmod ${INSMOD_PARA} mISDN_capi${MEXT} debug=${DEBUG} >/tmp/m_capi.mod

  insmod ${INSMOD_PARA} mISDN_isac${MEXT} >/tmp/m_isac.mod

  insmod ${INSMOD_PARA} avmfritz${MEXT} debug=${DEBUG} protocol=2 > /tmp/avmfritz.mod
```

Dann noch

```
 rc-update add local default
```

und du musst nurnoch die Dateien unter /etc/ppp/peers bearbeiten (siehe HowTo)

----------

## Nightfire

Hi,

ich glaube bald geht es  :Smile:  Kann nicht mehr viel sein. Aber beim wählen scheint noch eine kleinigkeit nicht zu funktionieren. Wenn ich den befehl dazu eingebe kommt dies :

```

bash-2.05b# pppd call isdn/arcor

Plugin userpass.so loaded.

userpass: $Revision: 1.4 $

Plugin capiplugin.so loaded.

capiplugin: $Revision: 1.32 $

capiconn:  1.7

capiplugin: phase serialconn.

capiplugin: contr=1

controller 1: listen_change_state 0 -> 1

contr 1: listenconf Info=0x0000 (No additional information) infomask=0x144 cipmask=0x0 capimask2=0x0

controller 1: listen_change_state 1 -> 0

plci_change_state:0x0 0 -> 1 event=1

capiplugin: dialing 0191011 (hdlc)

plci_change_state:0x101 1 -> 2 event=3

plci_change_state:0x101 2 -> 3 event=6

ncci_change_state:0x101 0 -> 1 event=1

ncci_change_state:0x10101 1 -> 3 event=3

ncci_change_state:0x10101 3 -> 4 event=7

ncci 0x10101 up

capiplugin: connected: "" -> "0191011" outgoing (pcli=0x101/ncci=0x10101)

capiplugin: using /dev/capi/0: "" -> "0191011" outgoing (pcli=0x101/ncci=0x10101)

Couldn't set tty to PPP discipline: Invalid argument

capiplugin: phase disconnect (was serialconn).

controller 1: listen_change_state 0 -> 1

ncci_change_state:0x10101 4 -> 6 event=12

contr 1: listenconf Info=0x0000 (No additional information) infomask=0x144 cipmask=0x0 capimask2=0x0

controller 1: listen_change_state 1 -> 0

ncci_change_state:0x10101 6 -> 7 event=10

ncci_change_state:0x10101 7 -> 0 event=13

plci_change_state:0x101 3 -> 7 event=8

plci_change_state:0x101 7 -> 8 event=9

plci_change_state:0x101 8 -> 0 event=11

capiplugin: disconnect(local): "" -> "0191011" outgoing (pcli=0x101/ncci=0x10101) 0x0000 (0x0000) - No additional information

capiplugin: exit

```

Hast Du vielleicht noch eine Idee was das noch sein könnte ?

----------

## rblock

Hi,

vergiss mISDN! Damit kannst Du nicht faxen!

Karsten Keil von SuSE und für mISDN verantwortlich, schrieb mir

 *Karsten Keil von SuSE wrote:*   

> > mISDN hat keine Faxprotokolle (siehe auch die unterstützten Protokolle bei
> 
> > capiinfo).

 

Weiterhin schrieb er, dass auch zuzeit keine Planungen dahingehend sind diese zu implementieren.

Benutze den fcpci Treiber von AVM. Du must nur darauf achten, dass Du vor "make install" unter "/lib/modules/`uname -r/` ein Verzeichnis "extra" anlegst. Denn in dieses wird "fcpci.ko" kopiert. Vergisst Du es, wird "fcpci.ko" unter dem Namen "extra" dort hin kopiert.  :Wink: 

Dann muss in der "/etc/modules.autoload.d/kernel-2.6" folgendes eintragen:

```
capi

capifs

fcpci

capidrv
```

Weiterhin sollte ein Link "ls -s /dev/isdn/capi20 /dev/capi20" angelegt werden. Ich habe festgestellt, dass manche Programme das Device unter "/dev/isdn" und andere unter "/dev" suchen.  :Sad: 

Dann solltest Du die Capisuite 0.4.4 in "/etc/portage/package.keywords" mit "~net-dialup/capisuite-0.4.4 ~x86", in "/etc/portage/package.mask" mit "<net-dialup/capisuite-0.4.4" und in "/etc/portage/package.unmask" mit ">=net-dialup/capisuite-0.4.4" eintragen.

Die Capisuite Konfiguration ist recht einfach. Ich selbst habe die Phyton-Scripte bereits erweitert. Leider komme ich zurzeit nicht weiter, da ich zurzeit keinen ISDN-Anschluss mehr habe.  :Sad: 

Auf jeden Fall funktionierten Anrufbeantworter und Fax problemlos.  :Smile: 

Unterstützende Grüße

----------

## Nightfire

Ich brauche ISDN ausschliesslich um ins Internet zu kommen. Hier gibts kein dsl. Faxen musste ich noch nie. Ich habe schon etliche wege ausprobiert. Ich will doch nur ins internet.

----------

## Stefan1801

also ich habe letztens versucht, meinen router von debian auf gentoo umzustellen, und bin bei isdn kläglich gescheitert. ich kann davon nur abraten. die isdnutilities sind bei gentoo miserabel dokumentiert, es gibt keine ordentlichen scripte usw. das ist bei debian sehr gut gelöst, alles funktioniert auf anhieb, und ist trotzdem sehr anpassungsfähig. (da ich keine flat habe, gehe ich über ein selbstgeschriebenes online counter script ins netz, welches auf php und mysql aufbaut). naja, jedenfalls hab ich wieder debian drauf gemacht, und nu auch noch sarge, und dabei bleibe ich auch mindestens solange, bis ich irgendwann mal dsl hab.

----------

## Nightfire

Juuuhuuuuu,

also mein isdn läuft. Ich weiss nicht genau was ich alles gemacht habe, weil ich soviele dinge getan habe aber es läuft. Irgendwie muss ich das noch reproduzieren. 

Danke an alle die mir geholfen haben 

mfg nighty

----------

## Reppy

Hi

wie binde ich das ganze jetz so ein, dass er mir automatisch die /etc/ppp/peers/isdn/t-online mit dial-on-demand öffnet bzw ich die /etc/ppp/ip-up und /etc/ppp/ip-down scripte noch nutzen kann ??

Hab da jetzt nach ewigen hin und her zwischen den Kernels und isdn4linux / capi4k-utils und total den Überblick verloren   :Laughing: 

----------

