Abstract: Laurent LaBrie explains what we can learn from the debug file in RedHat Linux operating systems. Communication through the ISDN device, ippp0 and errors is recorded here. Error statements like Sorry - this system lacks PPP kernel support, Can't open /dev/isdninfo or /dev/isdn/isdninfo: No such device, and /usr/bin/xmonisdn: No such file or directory means you need to copy xmonisdn into this directory.

Laurent J. LaBrie, management and financial consultant

Who is he?

Resumé

Bio (basically the same, just more personal detail)

Awards

Recommendations

How can he benefit me as a financial advisor?

Moneywatch Advisors, Inc.

What is his perspective on investing?

Investment portfolios (.pdf format - Adobe Acrobat necessary to read)

How we are swimming in a sinking US dollar.

His stock picks and pans.

What articles has he published on management?

Investigating problems in the workplace (.pdf format)

Mentoring, correcting, and disciplining employees

An inside look at a peer evaluation system

Examples of Websites created, maintained, and promoted:


Casa Biblica: #4 Italian bookstore in its market segment


Romania's #1 site about HIV
Romania's #1 site about HIV
(Logo by LJ LaBrie)

Global Assistance
for Medical Equipment, Kosovo
Global Assistance for Medical Equipment, Kosovo (Logo by LJ LaBrie)

Romania's #3 site in its market segmentRomania's #3 site in its market segment (Logo by LJ LaBrie)

navigator for the writings of Laurent J. LaBrie

ISDN Setup using RedHat Linux 9.0


Extras and troubleshooting

Contents of the 5 page series:

Introduction
Configuration files
Execution & options files
Password files
"Bells, whistles" & Troubleshooting
Understanding your debug file
Your donations are valued. This site is advertizement-free.  We depend on your donations to continue to provide high quality information.   If I have helped you resolve your problem, please support our work.     Use check or credit card secured by PayPal.

Loading ISDN on boot-up

Having created the scripts above, it is now a simple matter to automate the loading of your ISDN configuration on booting. For a RedHat system edit the /etc/rc.d/rc.local file and add:

# Load ISDN.
/root/bin/loadhisax
/root/bin/isdnup

to the end of the file.

For other Linux distributions, add the same lines to the relevant start-up file.

usr/local/bin/isdn-off:

/usr/local/bin/isdn-off:

#!/bin/sh
exec sudo /usr/sbin/isdn-off-exec

Dial in configuration, caller ID, and toll calculations

The dial in configuration allows for remote users to access a server via ISDN. You can also identify callers and calculate how much your internet connections are costing you.  I didn't need these capabilities for my machine.  If you are interested in these capabilities, click here.


Troubleshooting:


First some ideas for quick problem solving:

Error

/usr/local/sbin/isdn-on-exec: line 109: /usr/bin/xmonisdn: No such file or directory
/usr/local/sbin/isdn-on-exec: line 112: /usr/bin/xisdnload: No such file or directory

Solution

located these files in /usr/X11R6/bin/ and copied them to /usr/bin. 

Error

However, I got the following error when I ran isdn-on.ippp0:

bash: /usr/local/bin/isdn-on.ippp0: Permission denied

Solution

That meant that the file was not executable.  Click here for resolution of Permission denied errors.


Error

Then I got the following error when I ran isdn-on.ippp0:
##################################################
Trying to set up ippp0 ...
##################################################

INTERFACE=ippp0
INTERFACE_NUMBER=0
PROVIDER=01929
OUTGOING_NUMBER=606448
DEFAULT_LOCAL_IP=192.168.1.1
NETMASK=255.255.0.0
DEFAULT_REMOTE_IP=62.104.191.241

Using /lib/modules/2.4.20-8/kernel/drivers/isdn/isdn_bsdcomp.o
/lib/modules/2.4.20-8/kernel/drivers/isdn/isdn_bsdcomp.o: unresolved symbol isdn_ppp_unregister_compressor_R4c67f2ba
/lib/modules/2.4.20-8/kernel/drivers/isdn/isdn_bsdcomp.o: unresolved symbol isdn_ppp_register_compressor_Rbd9fce54
insmod: isdn_lzscomp: no module by that name found
Using /lib/modules/2.4.20-8/kernel/drivers/isdn/hisax/hisax.o
/lib/modules/2.4.20-8/kernel/drivers/isdn/hisax/hisax.o: unresolved symbol register_isdn_Ra0f2b9e8
Can't open /dev/isdninfo or /dev/isdn/isdninfo: No such device
Can't open /dev/isdninfo or /dev/isdn/isdninfo: No such device
Can't open /dev/isdninfo or /dev/isdn/isdninfo: No such device
Can't open /dev/isdninfo or /dev/isdn/isdninfo: No such device
Can't open /dev/isdninfo or /dev/isdn/isdninfo: No such device
Can't open /dev/isdninfo or /dev/isdn/isdninfo: No such device
Can't open /dev/isdninfo or /dev/isdn/isdninfo: No such device
Can't open /dev/isdninfo or /dev/isdn/isdninfo: No such device
Can't open /dev/isdninfo or /dev/isdn/isdninfo: No such device
Can't open /dev/isdninfo or /dev/isdn/isdninfo: No such device
Can't open /dev/isdninfo or /dev/isdn/isdninfo: No such device
Can't open /dev/isdninfo or /dev/isdn/isdninfo: No such device
SIOCSIFADDR: No such device
ippp0: unknown interface: No such device
SIOCSIFNETMASK: No such device
SIOCSIFDSTADDR: No such device
ippp0: unknown interface: No such device
SIOCADDRT: No such device
Sorry - this system lacks PPP kernel support.
Check whether you configured at least the ippp0 device!
/dev/isdnctrl: No such device
/usr/local/sbin/isdn-on-exec: line 109: /usr/bin/xmonisdn: No such file or directory
/usr/local/sbin/isdn-on-exec: line 112: /usr/bin/xisdnload: No such file or directory
isdnlog: Can't open /dev/isdnctrl (No such device)
isdnlog Version 4.58 exiting
exit now 2
*****************************************************************************************************

Solution

Then, I supplemented the files not included in http://leising.freeshell.org/isdn.html with the programs from  http://www.thennion.demon.co.uk/ISDN.html. I'm sure there are extra files but they obviously didn't do any harm.


Error


I was able to log on but I couldn't ping anywhere.

Solution

Open Network Device Control.

Click on the Hardware tab.  Change to the appropriate card, the computer had probed an ASUS COM ISDNLink ISA PnP but the one that worked was ASUS COM ISDNLink PCI .
Click on the Devices tab and double click on the ISDN Type device.  Hit the edit button and a second dialog box will appear.  Click on the Callback tab and write in your phone number in the dial-in number. Selected Advanced tab and select use channel bundling.  Hit OK


Noticed that eth0 and ippp0 had same address. I changed ippp0 to 198.168.1.1


Error

There seems to be a bug in RedHat 9.0. For ISDN connections, isdnX is supposed to be assigned to "raw IP" encapsulation modes and ipppX should be assigned to "sync PPP" modes. When I try to set up a new ISDN account with Network Device Control (NDC), instead of making device ippp0, it set the connection up as isdn0 despite reading "sync PPP" mode.

Solution

This was resolved by going back into NDC under the "Advanced" tab and changing Encapsulation Mode to "raw IP", closing it, saving the configuration, opening the NDC configuration again, changing it back to "sync PPP" and then saving it again.


More detailed trouble-shooting:  Using the debug file.  Click here for:  Understanding your debug file

First - increase your debug level:

First of all, do not forget to turn up your logging. If necessary, edit /etc/syslog.conf and insert a line like

*.*    /var/log/debug
and restart syslogd, for example under redhat 7.2 by
service syslog restart
in order to get e. g. ipppd's <sent> and <rcvd> messages. Maybe you simply have misspelled user names and/or passwords provoking authentification errors. Scrutinizing /var/log/messages resp. /var/log/debug is really essential in any case.
The computer gave the following error and did not start up ippp0
at the # command prompt.



    If the only line written in the debug file is:

    Sep 21 00:16:44 localhost kernel: isdn_ppp_bind: Can't find a (free) connection to the ipppd daemon.

    It is probable that you have tried to activate a connection which didn't work completely and you tried to activate another.  Remember to deactivate with the script above:

    isdn-off-exec

    Then retry your new connection.


    Cause Codes:

    Often you will face messages like "E0022". That's a "cause code". Cause codes are error messages stated by the isdn card, the telephone company or the peer's isdn device. As far as the German DSS1 protocol is concerned they begin with the capital letter E, followed by two hexadecimal digits pointing to the device that has caused the error message and followed by additional two digits reporting the error itself. Usually isdnlog will translate the numbers in canonical words, if not, then confer

    man isdn_cause
    But this usually won't help you at all; so I want to try to give a brief summary on at least those cause codes I myself was confronted with:




    Cause Code: Problem/solution:
    E001B: Line unavailable
    It is probable that your ISDN line is not active.  Check to see if the line is plugged into the correct jack and that the phone line works.  Otherwise, your cable may be bad.
    E0066: Recovery on timer expiry Your peer doesn't handle a part of the DSS1 protocol correctly - its reactions upon sending-complete-requests are faulty; solution: Recompile your kernel with the option "Disable sending complete"
    E0058: Incompatible destination It is true that you chose the right telephone number, but your peer has not loaded his ISDN-subsystem correctly or even not at all; this can happen even if the peer has misconfigured the incoming telephone numbers. Mind:
    addphone out 123456 or
    addphone out 089123456
    BUT:
    addphone in 89123456 - this is the ONLY possibility: Include area code even for local calls, but without leading zero.
    E0201: Unassigned number Your dial out telephone number is wrong; if an areacode is necessary you must include a leading zero. Check out the telephone number syntax described under E0058.
    E0222: No circuit or channel available (public network) This is what you usually call "BUSY".
    E0022: No circuit or channel available (user) This may occur, when the physical connection to the peer is broken; it happened to me that the peer's telephone lines got broken, so I didnt get an answer from the telephone company, but instead my own ISDN card refused to put my call through to the peer.
    E023f: Service or option not available The server you want to connect to is down. This one I got only one time when I tried to connect to SUSE's ISDN server.
    E0211: User Busy The peer is busy; this is the 'normal' message everybody expects if the peer is actually busy. But unfortunately a different cause code is possible for exactly the same situation: For example E0222.
    E0 x
    E0 x

    Compression

    If you find lines like

    LZS (hists 1 check 3/hists 1 check 4) compression enabled
    rcvd [0][CCP ConfReq id=0x2 <LZS (RFC) hists 1 check 4]>
    rcvd [0][CCP ConfAck id=0x2 <LZS (RFC) hists 1 check 3]>
    lzsDecomp: rcvd seq# 160 exp seq# 129 (sync lost)
    ippp: decomp wants reset with params
    [...]
    Received ResetAck from peer

    in your syslog, and tcp/ip communication seems to fail without any further error messages, and if you have a line like "lzs 1" in your relevant /etc/ppp/ioptions.ipppX, change this file as follows:

    lzs 1:4
    mtu 1496


e-mail:  e-mail address   Y!messenger ID: laurent_labrie



"A good manager is a man who isn't worried about his own career but rather the careers of those who work for him... Don't worry about yourself! Take care of those who work for you and you'll float to greatness on their achievements."---HSM Burns

Copyright Laurent J. LaBrie 2004-2006