Next Previous Contents

19. trouble: Troubleshooting

19.1 trouble: General

19.2 trouble: My isdn4linux doesn't work! How do I best go about finding the problem?

The following steps are recommended:

  1. Check everything is working when booting. Are there unusual error messages in /var/log/messages? Are all programs active that should be started at boot (check with ps, or fuser /dev/xxx)? HiSax won't start if something isn't right. The old Teles driver, on the other hand, will appear to start even if it is not working. See the questions under Troubleshooting Teles.
  2. Try calling with a telephone. The number should be shown in /var/log/messages. Otherwise, perhaps the driver was incorrectly started?!
  3. As a next step weŽll try to get the telephone or fax to ring by dialing ourself using a ttyI device with minicom. First we have to change the service recognition with the ATS18=1 command to audio. Now you can get the telephone to ring by dialing ATDxxxxxx, where xxxxxx is your own MSN.
  4. Next we try to transmit data via ISDN. Open 2 different consoles as root, and on each run "minicom -s"... in the first set "Serial Port Setup Serial Device" to /dev/ttyI0, and the other to /dev/ttyI1. Then choose "Exit" and start the modem emulation with "ATZ" and "AT&Exxxxxx" (where xxxxxx is your own MSN without the area code). Then you can start. On the first console you can dial your own number with ATDxxxxxx. On the second console you should now see "CALLER NUMBER: xxxxxxx" and "RING". Accept the call on the second console with "ATA", and you should then see the message "CONNECT 64000/X.75" on both consoles. You can then send characters to the other console by typing (to see the characters on your own console, turn on local echo).
  5. Next, try calling a known ISDN BBS. If you don't know of any, try Gernot (see "Are there sites that offer guest access where I can test my isdn4linux setup?"). If you have problems with the modem emulation, see "Troubleshooting Modem Emulation"
  6. Fifth, try configuring the network interface or ipppd. Experience shows that they cause beginners (and not only beginners!) the most problems. To make things easier and you're happy with asyncPPP (to see what asyncPPP means, see the question "pppd, ipppd, syncPPP, asyncPPP - what is that? What should I use?"), you can use the normal pppd with modem emulation (i.e. /dev/ttyI*).
Otherwise, it is highly recommended that use an example script form the HowTo (see the question "Where can I find scripts and other information on configuring i4l?"). For testing you can try your own provider or of the guest accounts (see "Are there sites that offer guest access where I can test my isdn4linux setup?"). The latter have the advantage of being able to see the log files as well as a stable, working configuration. For example, if accessing via ipppd doesn't work, you can log in via modem or modem emulation to find out what happened on the other side. Not all providers are so cooperative.... :-)

19.3 trouble: Neither my telephone nor my fax machine ring when I call them with isdn4linux?

Isdn4linux sets "digital data" as it's own service when it calls out. The switching station will not route such calls to analog devices like a telephone or a fax machine.

19.4 trouble: Are there sites that offer guest access where I can test my isdn4linux setup?

Yes, the following sites offer guest access for modem emulation or IP:

19.5 trouble: My pppd or ipppd has problems with PAP/CHAP authentication.

See question trouble_pap .

19.6 trouble: I closed all ISDN applications. Why can't I unload my ISDN modules ("isdn: Device or resource busy")?

In this case "fuser -v /dev/isdn* /dev/ippp* /dev/cui* /dev/ttyI*" is very helpful. This helpful program shows, which processes are using those devices.

Sporadic errors of this type can be fixed by inserting sleep commands between the unloading commands. As a very, very last resort, there are two secret telesctrl commands to adjust the module counter:
telesctrl id 3 1  --- dec module_count
telesctrl id 4 1  --- inc module_count

Please use with appropriate caution and on your own risk!

19.7 trouble: i4l is working on the internal bus of a PBX. Any problem?

Many PBX run non-standard ISDN protocolls on their internal bus. This may cause i4l to print warnings when it encounters unexpected frames (some old versions even crash). Also, they may run 1TR6 protocoll by default, instead of Euro ISDN on their internal bus. You have to configure i4l (or the PBX) accordingly, best is you try both on the same or similar protocolls.

Also the MSN may be different than you expect. Check several versions, one digit, or two digits, or whole MSN. Best is you call some device (e.g. ISDN telephone) on the internal bus and check what i4l writes into the log file.

19.8 trouble: I get messages like "HSCX RME out of buffers", "HSCX RFP out of buffers", "HSCX B EXIR 10" in thesyslog?

These errors happen when i4l is not able to process its buffers fast enough. They are often caused by bad sound cards or their drivers when they disable the interrupts too long! It may also happen on old hardware (happened to the author of this FAQ when using vbox on an old 386-25 with only 4MB RAM). You may be able to work around it by increasing the number and size of the buffers. Check the source code header files for definitions like:


#define HSCX_RBUF_ORDER 1 
#define HSCX_RBUF_BPPS 2 
#define HSCX_RBUF_MAXPAGES 3 

The first two influence the size, the last one the maximum number of buffers.

19.9 trouble: My isdn driver crashes my machine! Since I've configured it as a module, the addresses change each time it's loaded. How can I find out where thedriver is crashing?

The driver should be loaded with the command "insmod -m". The output has to be transformed somewhat to be a form similar to System.map.

Fritz Elfert fritz@wuemaus.franken.de wrote on 17 Oct 1996:


insmod -m isdn.o | sort | sed -e 's/   / T /g' |
egrep '.* T (a-z,A-Z,_)+'  /etc/isdn/isdn.map
cat /System.map /etc/isdn/isdn.map  /iSystem.map

(The lines ending with "|" have to have the following text on the same line!) iSystem.map should then be used instead of System.map for finding the error.

19.10 trouble: My hard disk becomes very active when isdn4linux run. How can I turn this off?

Check whether the reason for the hard disk activity is caused by the amount of messages written into the logfile. If this is the case, you can reduce the output by:


isdnctrl verbose 0

and/or by removing the "debug" option for ipppd.

19.11 trouble: After a reset, my card does not initialize correctly.

Andreas M. Kirchwitz isdn4linux-mlist@zikzak.snafu.de wrote:

Instead of a "reboot" command or pressing "Ctrl-Alt-Del" try a "Hard Reset" with the reset button. With some motherboards (which is not necessarily the motherboard's fault) the cards are not completely reset with a "Soft Reset" so that some drivers will have problems finding the cards.
Of course, before the hard reset you have to bring the system down correctly ("reboot" command or press "Ctrl-Alt-Del")! Only then can you hit the reset button.

19.12 trouble: How can I tell whether my ISDN card has been corrected recognized by the HiSax driver?

When booting, a message like this will appear in the log file:

HiSax: Teles 16.3 found,irq:5 isac:a80 cfg:e80
HiSax: hscx A:280 hscx B:680
Teles3: HSCX version A: V2.1 B: V2.1
HiSax is loaded if the hardware can be found and the appropriate interrupts can be generated. If not, the module is not loaded. That doesn't mean that everything will then work (e.g. twisted cables, broken cables, terminators), but that card is installed correctly in the computer and there are no hardware conflicts.

19.13 trouble: On bootup I get "HSCX version A:5 B:5" but I still have the impression that my card is not used correctly. What else can I check?

Wilhelm Schulte schulte@wrds1.urz.uni-wuppertal.de wrote about this:

Best is you check that the interrupt is registered correctly. Check it with "cat /proc/interrupts". The following entry indicates an error: 11: 0 + hisax The 11 is correct when the card is configured on interrupt 11. However, the 0 means that the card does not accept interrupts, so it does not work. That's the well known "busy bug". Often it can be worked around by loading, unloading, and reloading the ISDN modules on bootup. The IRQ counter does have to be 0; low values also point to the same problem. You can test for it quite easily: 1. cat /proc/interrupts, note the count 2. Call the card with a telephone. 3. Again cat /proc/interrupts, the count should be quite different from the first value.
See also "I always get BUSY when dialing into my ISDN mailbox". You can also check the io ports with "cat /proc/ioports".

19.14 trouble: My ELSA Quickstep 1000 ISA card produces very many interrupts with the HiSax driver. Is this normal or a problem with the HiSax driver?

This is normal. The ELSA Quickstep 1000 ISA card has a hardware timer on the card which can not be disabled by software. You have to modify the card hardware to get rid of it. Check with Karsten Keil for this: keil@isdn4linux.de

19.15 trouble: The PNP tools done work with my Teles 16.3 PNP card!

It's probably not a Plug 'n Play card at all - even though Teles now prints PNP on all their card and packaging. The difference is easy to recognize: a real Teles PNP card no longer has the (tiny) Dip switches on the card to set the IO addresses.


Next Previous Contents