Next Previous Contents

6. config: General information about Configuration

6.1 config_msn: How should I set up isdn4linux with my MSNs?

See section msn.

6.2 config_hardware: How should I configure my hardware? Is there something special I should know about my ISDN card?

Have a look in section hardware.

6.3 config_suse: I can not select my card in yast?

If you have a SuSE distribution, and you can not find your card in yast, then select card generic and enter the exact parameters in the special case line, like: type=27 protocol=2 for Fritz!PCI and Euro ISDN. Get a newer kernel if the desired type is not yet supported.

6.4 config_dialmode: When an IP packet should go over the link (which usually triggers a dialout), all I see in the log is: "dial rejected: interface not in dialmode `auto'"?

The new ISDN drivers in 2.0.36 defaults to manual dialmode, not autodial. This is done to prevent unexpected (and unnoticed) dialouts.

To enable autodial for a given interface e.g. ippp0, use


isdnctrl dialmode ippp0 auto

The meaning of the values for dialmode is:

off

means that you (or the system) cannot make any connection (neither incoming nor outgoing connections are possible). Use this if you want to be sure that no connections will be made.

auto

means that the interface is in auto-dial mode, and will attempt to make a connection whenever a network data packet needs the interface's link. Note that this can cause unexpected dialouts, and lead to a high phone bill! Some daemons or other pc's that use this interface can cause this. Incoming connections are also possible.

manual

(DEFAULT) is a dial mode created to prevent the unexpected dialouts. In this mode, the interface will never make any connections on its own. You must explicitly initiate a connection with:


isdnctrl dial ippp0

Please note that the huptimeout may still end the connection automatically! To ensure that you have to hang up manually, you have to switch this off:
isdnctrl huptimeout ippp0 0

To end the connection, use:
isdnctrl hangup ippp0

To allow a normal user to initiate a dialout, have a look at question config_permission.

6.5 config_permission: How can I allow a normal user to initiate dialouts?

ISDN usage depends on the permissions to the devices /dev/ttyI* and /dev/cui*. You have several choices to selectively allow users to do ISDN transactions.

  1. You can establish the group `isdn' in /etc/group, and do:
    chgrp isdn /dev/ttyI* /dev/cui*
    chmod o-rw /dev/ttyI* /dev/cui*
    

    Then all users not in the group 'isdn' have no reading or writing privileges for the ISDN ttys. Those allowed to use ISDN have to be explicitly added to the group 'isdn'.
  2. You can allow only root to log out, but set up exceptions for other users with the su1 functionality (see man su1). As root edit /etc/su1.priv. Add these lines if they (or similar ones) are not yet there, to allow users XXXX and YYYY to initiate dialups/hangups:
    # log all dialouts in syslog
    syslog all
    define PPPUSER XXXX YYYY
    alias dial /sbin/isdnctrl dial ippp0
    alias hangup /sbin/isdnctrl hangup ippp0
    ask never
    allow PPPUSER prefix dial
    allow PPPUSER prefix hangup
    

    Then create two links for dial and hangup:
    ln -s /usr/bin/su1 /usr/local/bin/dial
    ln -s /usr/bin/su1 /usr/local/bin/hangup
    

    Now the users XXXX and YYYY can dial out by typing dial, and hangup with hangup.
  3. If you only have one user that you use for ISDN interactions, you can make him owner of the ISDN interface.

6.6 config_pnp: How do I configure a PNP (Plug and Play) card?

For PCI cards Plug and Play works automatically, they don't need any manual configuration if the correct card type is provided. ISA PNP cards will require some manual configuration:

  1. With "make menuconfig" (or "make config") set the following kernel options:
  2. Compile and install kernel and modules, depmod. (Reboot!)
  3. Read the configuration of the PNP card with:
    pnpdump > /etc/isapnp.conf
    

  4. The configuration file /etc/isapnp.conf has to be set by hand. Set the following values:
  5. Activate the configuration with:
    isapnp /etc/isapnp.conf
    

    (must be started at every boot)
  6. Now the HiSax module can be started for Euro-ISDN with:
    modprobe hisax io=4,2,INT,IO0,IO1
    

    (Replace INT, IO0, and IO1 with the your values in isapnp.conf.)

6.7 config_kerneld: Why shouldn't I use kerneld to load the ISDN modules in the kernel as needed?

kerneld does not work well with the ISDN modules, since the ISDN modules can not store their status, and could miss important messages on the D channel. Newer versions of i4l ensure that they won't be unloaded by kerneld, but you should not try to use kerneld with any version of i4l.

6.8 config_runlevel: How can I boot Linux sometimes with ISDN, and sometimes without?

Yes, you can define two different run level for this (under SysVInit) in /etc/inittab. One run level includes the ISDN processes, where the other one does not.

6.9 config_manychannels: How can I increase i4l's maximum number of channels?

Increase the parameter ISDN_MAX_CHANNELS in /usr/src/linux/include/linux/isdn.h and rebuild the isdn stuff. Don't forget to create the additional devices with makedev.sh (part of isdn4k-utils) or by hand.

6.10 config_gsmv110: How do I connect my PalmPilot via GSM over V.110 to my computer?

Set up async PPP with a normal pppd on a ttyI* device. Additionally to setting the msn, you have to initialize the ttyI* device with ATS19=0 for V.110. The rate should be set to 9600 with AT&R9600. pppd needs to be called with noccp and require-pap. For a mini-howto see: http://www.oltom.com/Linux/Docs/GSM%20over%20V.110%20Mini-HOWTO.txt

6.11 config_links: What helpful links are there about isdn4linux?

These are helpful links that are currently available on how to configure isdn4linux:

Please note: the following link list may be outdated, they have not been checked for a long while.

6.12 trouble_tcpdump: Why does my tcpdump not work for ip packets going over ISDN? How can I get a tcpdump patched for ISDN?

The reason is that tcpdump does not always understand the special encapsulations that are possible with isdn4linux, especially syncppp. To change this, you need to patch tcpdump.

Michael Stiller michael@toyland.ping.de wrote on 23 Oct 1996:

Tip for ftp:

ftp://ftp.gwdg.de/pub/misc/isdn/linux/isdn4linux-gwdg

There is the patch: "tcpdump-3.0.4-1-isdn.dif.gz"

and the rest is at:

/pub/linux/mirrors/funet/PEOPLE/Linus/net-source/tools/tcpdump-3.0.4-1.tar.gz

You might need to hack some, depending on the name of your ISDN interface (mine is bri0). By default, it recognizes only isdn* and isdnY* as interface names.

Henning Schmiedehausen henning@pong.iconsult.com further wrote on 30 Oct 1996:

After finding the patch from Eberhard Moenkeberg at ftp.gwdg.de cannot dump cisco HDLC, I made my own patch for tcpdump-3.0.4 that asks the interface which encapsulation it used and sets itself accordingly. The patch is against a tcpdump-3.0.4-1.tar.gz distribution, for example at
ftp://ftp.funet.fi/pub/Linux/PEOPLE/Linus/tools
This patch recognizes rawIP, ISDN-IP and CISCO-HDLC and can dump these packets.
(The patch was attached to the message - it should be easy to find in the mailing list archive - Ed.)

Sascha Ottolski sascha@alzhimer.isdn.cs.tu-berlin.de gave the following tip on 5 Nov 1996:

This is a isdn4k-utils-2.0/tcpdump-3.0.3-isdn.diff ! It work, if one makes some changes: In the file tcpdump-3.0.3-isdn/libpcap-0.0/pcap-linux.c after patching you find the following: else if (strncmp("ppp", device, 3) == 0) Either you name your ppp devices pppX instead of ipppX, or change this line, e.g. else if (strncmp("ippp", device, 4) == 0) ^^^^ ^^ Then tcpdump will also recognize syncPPP. At least it does for me.


Next Previous Contents