# [solved] Isdnlog startet keine Programme (AVMFritz) mit Capi

## Minox

Hallo allerseits,

ich habe einen 2.4.27 Kernel mit eingebauten ISDN Support und modularem CAPI (+capifs). Ich habe isdn4k-utils und capi4k-utils installiert. In der /etc/callerid.conf habe ich eine MSN eingetragen, bei der eine Message verschickt werden soll bei eingehendem Anruf. Bis vor kurzem hat das unter meiner Debian Woody Büchse noch funktioniert. 

```
[MSN]

NUMBER = 863xxxxx

SI = 1

Alias = Telefon

START = {

 [FLAG]

 FLAGS = I|R

 USER = minox

 GROUP = users

 PROGRAM = echo "OK" | smbclient -M pc-2

 }
```

Meine isdn.conf schaut folgt aus:

```
[GLOBAL]

COUNTRYPREFIX   = +

COUNTRYCODE     = 49

AREAPREFIX      = 0

# EDIT THIS LINE:

AREACODE        = 089

[VARIABLES]

[ISDNLOG]

LOGFILE = /var/log/isdn.log

ILABEL  = %b %e %T %ICall to tei %t from %N2 on %n2

OLABEL  = %b %e %T %Itei %t calling %N2 with %n2

REPFMTWWW       = "%X %D %17.17H %T %-17.17F %-20.20l SI: %S %9u %U %I %O"

REPFMTSHORT     = "%X%D %8.8H %T %-14.14F%U%I %O"

REPFMT  = "  %X %D %15.15H %T %-15.15F %7u %U %I %O"

CHARGEMAX       = 50.00

CURRENCY = 0.062,EUR

COUNTRYFILE = /usr/share/isdn/country.dat

RATECONF= /etc/isdn/rate.conf

RATEFILE= /usr/share/isdn/rate-de.dat

HOLIDAYS= /usr/share/isdn/holiday-de.dat

ZONEFILE= /usr/share/isdn/zone-de-%s.cdb

DESTFILE= /usr/share/isdn/dest.cdb

# providerselect

VBN = 010:01900

VBNLEN = 2:3

PRESELECTED=33
```

Gestartet dann mit...

```
distributor isdn # /etc/init.d/capi start                   [ ok ]

distributor isdn # /etc/init.d/isdn4linux start

 * Loading isdnctrl configuration...                    [ ok ]
```

...scheint der isdnlog aber nicht zu laufen:

```
]

distributor isdn # ps aux|grep -i isdn

root      2385  0.0  0.1  1328  324 pts/7    S    11:33   0:00 cat /dev/isdnctrl

root      2468  0.0  0.1  1892  500 pts/11   S    11:42   0:00 tail -f /var/log/isdn.log
```

In der /var/log/messages ist nur folgendes zu finden:

```
Aug 31 11:57:19 distributor CAPI-driver Rev 1.1.4.1: loaded

Aug 31 11:57:19 distributor capifs: Rev 1.1.4.1

Aug 31 11:57:19 distributor capi20: started up with major 68

Aug 31 11:57:19 distributor kcapi: capi20 attached

Aug 31 11:57:19 distributor capi20: Rev 1.1.4.2: started up with major 68 (middleware+capifs)
```

Wenn diese MSN nun angerufen wird (vom Handy aus) sehe ich in der /var/log/messages den Anruf:

```
Aug 31 11:59:11 distributor isdn_net: call from 1708xxxxxx -> 0 863xxxxx ignored

Aug 31 11:59:11 distributor isdn_tty: call from 1708xxxxxx -> 863xxxxx ignored
```

Aber keine Reaktion von isdnlog. Ich bin jetzt ziemlich ratlos. Auch wenn ich den isdnlog manuell starte mit

```
isdnlog -S -f/etc/isdn/isdn.conf /dev/isdnctrl0
```

meldet er sich nur im isdn.log, dass er gestartet hat. Aber keine Reaktion bei Anrufen und auch keine Meldungen in der isdn.log. Nur die besagten in der /var/log/messages.

Ich hoffe und wäre euch sehr dankbar, wenn jemand eine Idee hat.

Mit freundlichen Grüßen,

----------

## Minox

Ich bin jetzt schon seit einer ganzen Woche an der Geschichte dran. Googeln und probieren bringt mich nicht mehr weiter.

Hat denn wirklich niemand eine Idee?

----------

## kannX

hmm, kernel-2.4.25, fcpci, isdn4linux capi4kutils und isdnlog lief bei mir schon immer einwandfrei

```
majestix ppp # ps axuw|grep isdn

root     19600  0.0  0.3  2588 1376 ?        S    17:52   0:00 isdnlog -f/etc/isdn/isdnlog.isdnctrl0.options /dev/isdn/isdnctrl -D

root      6857  0.0  0.1  3876  668 pts/0    R    18:10   0:00 grep isdn
```

die "isdnlog.isdnctrl0.options" sieht bei mir so aus:

```

[options]

daemon=yes

syslog=1015

xisdn=4087

monitor=yes

stdout=2048

newline=yes

width=80

start=yes

port=20011

time=1

hangup=5:3

ciInterval=300:600

abclcr=0

logfile = /var/log/isdn.log

ilabel  = %b %e %T %ICall to tei %t from %N2 on %n2

olabel  = %b %e %T %Itei %t calling %N2 with %n2

repfmtwww       = "%X %D %17.17H %T %-17.17F %-20.20l SI: %S %9u %U %I %O"

repfmtshort     = "%X%D %8.8H %T %-14.14F%U%I %O"

repfmt  = "  %X %D %15.15H %T %-15.15F %7u %U %I %O"

chargemax       = 50.00

ucrrency = 0.062,EUR

countryfile = /usr/share/isdn/country.dat

ratefile= /usr/share/isdn/rate-de.dat

rateconf= /etc/isdn/rate.conf

holidays= /usr/share/isdn/holiday-de.dat

zonefile= /usr/share/isdn/zone-de-dtag.cdb

destfile= /usr/share/isdn/dest.cdb

```

besonders auf die letzen Zeilen würde ich mal achten - per default sind die Pfade falsch und isdnlog findet die Files nicht

----------

## Minox

Danke für deine Antwort. 

Also du kannst auch einwandfrei Programme von isdnlog ausführen lassen? 

Das fcpci Modul kann ich nicht laden. Da gibt es Probleme:

```
[root@distributor] (~) # modprobe fcpci

Warning: loading /lib/modules/2.4.27/misc/fcpci.o will taint the kernel: non-GPL license - Proprietary

  See http://www.tux.org/lkml/#export-tainted for information about tainted modules

/lib/modules/2.4.27/misc/fcpci.o: init_module: Input/output error

Hint: insmod errors can be caused by incorrect module parameters, including invalid IO or IRQ parameters.

      You may find more information in syslog or the output from dmesg

/lib/modules/2.4.27/misc/fcpci.o: insmod /lib/modules/2.4.27/misc/fcpci.o failed

/lib/modules/2.4.27/misc/fcpci.o: insmod fcpci failed
```

Aber die Karte scheint ja auch ohne das Modul zu funktionieren (unter Debian ging es übrigens auch ohne Modul), wie in meinem ersten Post zu sehen. 

Könnte mir jemand vielleicht seine isdn.conf zeigen? Oder bzw. was seht ihr denn im syslog bei einem eingehenden Anruf? Ich finde bei mir ist das ein bisschen wenig.

MfG,

----------

## kannX

Ausgabe von isdnlog bei einem eingehenden Anruf:

```

Sep 11 18:33:14 majestix isdnlog: Sep 11 18:33:14 * Call to tei 127 from <gelöscht> on UNKNOWN  RING (Speech)

Sep 11 18:33:14 majestix isdnlog: Sep 11 18:33:14 * Call to tei 127 from <gelöscht> on UNKNOWN  HLC: CCITT, Telefonie

```

wichtig ist das isdnlog mit der Option -S läuft.

zu der FritzCard

/etc/isdn/isdn.conf

```

[GLOBAL]

COUNTRYPREFIX   = +

COUNTRYCODE     = 49

AREAPREFIX      = 0

# EDIT THIS LINE:

AREACODE        = <geändert>

[VARIABLES]

[ISDNLOG]

LOGFILE = /var/log/isdn.log

ILABEL  = %b %e %T %ICall to tei %t from %N2 on %n2

OLABEL  = %b %e %T %Itei %t calling %N2 with %n2

REPFMTWWW       = "%X %D %17.17H %T %-17.17F %-20.20l SI: %S %9u %U %I %O"

REPFMTSHORT     = "%X%D %8.8H %T %-14.14F%U%I %O"

REPFMT  = "  %X %D %15.15H %T %-15.15F %7u %U %I %O"

CHARGEMAX       = 50.00

CURRENCY = 0.062,EUR

COUNTRYFILE = /usr/lib/isdn/country.dat

RATECONF= /etc/isdn/rate.conf

RATEFILE= /usr/lib/isdn/rate-de.dat

HOLIDAYS= /usr/lib/isdn/holiday-de.dat

ZONEFILE= /usr/lib/isdn/zone-de-%s.cdb

DESTFILE= /usr/lib/isdn/dest.cdb

# providerselect

VBN = 010:01900

VBNLEN = 2:3

PRESELECTED=33

```

/etc/capi.conf

```

fcpci          -       -       -       -       -       -

```

Also ich habe den ganzen ISDN Stuff fest in den Kernel gepackt und die avmb1 als Modul (braucht man nicht, aber dann werden die Ordner automatisch angelegt). Nach jedem mal Kernel kompilieren das fcpci neu emergen sonst gehts eh net.

Kannst du mir ein "lsmod" und ein "dmesg" schicken nachdem du versucht hast das Modul zu laden?

----------

## Minox

Auszug aus meiner dmesg nach dem Boot:

```
ISDN subsystem Rev: 1.1.4.1/1.1.4.1/1.1.4.1/none/none/1.1.4.1

HiSax: Linux Driver for passive ISDN cards

HiSax: Version 3.5 (kernel)

HiSax: Layer1 Revision 1.1.4.1

HiSax: Layer2 Revision 1.1.4.1

HiSax: TeiMgr Revision 1.1.4.1

HiSax: Layer3 Revision 1.1.4.1

HiSax: LinkLayer Revision 1.1.4.1

HiSax: Approval certification failed because of

HiSax: unauthorized source code changes

HiSax: Total 1 card defined

HiSax: Card 1 Protocol EDSS1 Id=HiSax (0)

HiSax: AVM PCI driver Rev. 1.1.4.1

FritzPnP: no ISA PnP present

PCI: Found IRQ 11 for device 02:05.0

PCI: Sharing IRQ 11 with 02:01.0

AVM PCI: stat 0x3020a

AVM PCI: Class A Rev 2

HiSax: AVM Fritz!PCI config irq:11 base:0xA000

AVM PCI: ISAC version (0): 2086/2186 V1.1

AVM Fritz PnP/PCI: IRQ 11 count 16

AVM Fritz PnP/PCI: IRQ 11 count 19

HiSax: DSS1 Rev. 1.1.4.1

HiSax: 2 channels added

HiSax: MAX_WAITING_CALLS added

...

CAPI-driver Rev 1.1.4.1: loaded

capifs: Rev 1.1.4.1

capi20: started up with major 68

kcapi: capi20 attached

capi20: Rev 1.1.4.2: started up with major 68 (middleware+capifs)

fcpci: AVM FRITZ!Card PCI driver, revision 0.4

fcpci: (fcpci built on Sep 11 2004 at 19:25:13)

fcpci: Loading...

fcpci: Driver 'fcpci' attached to stack

kcapi: driver fcpci attached

fcpci: Auto-attaching...

PCI: Found IRQ 11 for device 02:05.0

PCI: Sharing IRQ 11 with 02:01.0

fcpci: Error: Invalid parameters (base=0xa000, irq=11)

fcpci: Not loaded.

kcapi: driver fcpci detached

fcpci: Driver 'fcpci' detached

```

Auszug aus lsmod:

```
capi                   18240   0

capifs                  3792   0  [capi]

kernelcapi             29504   1  [capi]

capiutil               20960   0  [kernelcapi]
```

Ich habe meinen Kernel neu kompiliert und den fcpci emerged (unter vielen vielen warnings).  Dann System neu gebootet und hier das dmesg gepostet. Beim modprobe fcpci erscheint das:

```
Warning: loading /lib/modules/2.4.27/misc/fcpci.o will taint the kernel: non-GPL license - Proprietary

  See http://www.tux.org/lkml/#export-tainted for information about tainted modules

/lib/modules/2.4.27/misc/fcpci.o: init_module: Input/output error

Hint: insmod errors can be caused by incorrect module parameters, including invalid IO or IRQ parameters.

      You may find more information in syslog or the output from dmesg

/lib/modules/2.4.27/misc/fcpci.o: insmod /lib/modules/2.4.27/misc/fcpci.o failed

/lib/modules/2.4.27/misc/fcpci.o: insmod fcpci failed
```

Und zu guter letzt noch ein Auszug von lspci:

```
0000:00:00.0 Host bridge: Intel 

0000:00:01.0 PCI bridge: Intel 

0000:00:1e.0 PCI bridge: Intel 

0000:00:1f.0 ISA bridge: Intel 

0000:00:1f.1 IDE interface: Intel 

0000:00:1f.3 SMBus: Intel 

0000:02:00.0 VGA compatible controller

0000:02:01.0 Unknown mass storage controller: Promise Technology, Inc. 20269 (rev 02)

0000:02:02.0 Ethernet controller: 3Com Corporation 3c905B 100BaseTX [Cyclone] (rev 24)

0000:02:03.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev 10)

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

Also das ganze macht mir schon deutlich, dass es nicht am isdnlog liegt. Die Optionen werden wohl stimmen. Aber was das Problem wirklich ist kann ich nicht herausfinden.

MfG

----------

## kannX

Das Problem ist wol das sich der Hisax Treiber schon die Karte gekrallt hat. Versuch mal in der Kernel Config die ganze Hisax-Klamotte unter "isdn subsystem"->"passive isdn cards" rauszuschmeisen, dann erst mal "make clean"  und dann den Kernel neu kompilieren. Dann dürfte fcpci auch richtig laden.

----------

## Minox

Jetzt lädt zwar das fcpci Modul, jedoch existiert das /dev/isdntctrl0 nicht mehr. Ich hab mal alles bezüglich Hisax raus genommen und probiere jetzt nur den Hisax Chipsatz Support. Zuvor ohne jeglichen Hisax gibt es das isdnctrl0 nicht. Mal sehen ob das nun existiert, wenn der Kernel wieder durch ist. 

Scheint es nicht so, als ob die ISDN Karte sich einen IRQ mit meinem IDE Controller teilt? Oder würde das im Normalfall kein Problem geben?

----------

## Minox

Ahhh! Ich bin so froh es geht nun.

Also ich habe nun das Hisax Zeugs komplett rausgenommen. Dafür aber wie du auch empfohlen hast das Capi fest in den Kernel und das avmb1pci modular dazu (wobei ich mir jetzt nicht sicher bin, ob das nötig ist, aber zumindest ist nun auch /dev/isdnctrl wieder vorhanden).

Nun noch isdnlog Konfigurationsdateien noch ein wenig mit Hilfe dieses Posts bearbeitet und nun funktioniert auch wieder die Anruferkennung mit dem angebundenen MySQL Script.

Vielen Dank.

----------

## EXS

Meinen bisherigen Recherchen zufolge benötigt man isdn4linux nixht, wenn man CAPI benutzt.

Will man das trotzdem benutzen, dann man man ein Modul mit der Bezeichnung capidrv laden. Dieses stellt dann einen Dummy für isdn4linux bereit.

Also sollte es auch ohne das b1 Modul funktionieren, sofern capidrv geladen ist.

----------

