---
name: "icnctrl"
section: "8"
platform: "linux"
package: "isdnactivecards"
version: "1:3.12.2007-11-27-1+b1"
release: "Debian 10 (Buster)"
platforms: ["linux"]
url: "https://new.carta.tech/icnctrl"
---

# icnctrl(8)

configure ICN ISDN adaptor

## NAME

icnctrl - configure ICN ISDN adaptor

## SYNOPSIS

**icnctrl \[-d** *Driver-Id***\]** *action options* **...**

## DESCRIPTION

**icnctrl** is used to setup the ICN ISDN device driver and for downloading the firmware into the ISDN card.

The use of *icnctrl* makes sense, if you are using an ICN card only.

## OPTIONS

- **-d** *Driver-Id*

  selects the S0 interface named by *Driver-Id*. Driver-Ids are defined during driver initialisation. See **icn**(4) for a description of the syntax to be used for modularised and monolithic driver versions. This option **must** be used to identify the S0 interface if more than one S0 interface is existent. If a single ICN-2B is used, it may be omitted. If using more than one card, support for the other cards is enabled with the **add** action of icnctrl. Ids may **not** start with **digits** or small **x**, because these values are misinterpreted as numeric parameters by **insmod**. For loading the module, always the newest **modutils** package should be used to avoid problems during load.

The following  *actions* may be given to **icnctrl**.

- **add port \[***id1* **\[***id2***\]\]**

  enables support for an additional card in the driver. If *id1* and *id2* are missing, adds an ICN-2B with an id given by the system. with *id2* missing, adds an ICN-2B with an Id given by the user. With both Ids given, adds an ICN-4B with both Ids given by the user. There is **no checking** against port-conflicts. Ports are checked later during first activation while downloading the firmware and can be changed at runtime. Ids are checked against conflicts, and if a conflict happens, replaced by the system in the same manner as if no Id was supplied. It is **not allowed,** to add cards, **after** a **load** was done.

- **io \[***base-address port***\]**

  sets the address of the memory-mapped IO-region and the port-base. After loading the icn-module into kernel-space, this command should be used as the very first setup, if the hardware settings are different from the default settings below. If both parameters are omitted, prints out current settings. The default memory address is *0xD0000*, the default port-base is *0x320*. An ICN card uses 4 port-addresses. The memory address is globally used for all cards (cards are mapped on demand), while each card has its own port range. Memory range is *16k*.

- **leased on\|1\|2\|off**

  switches between normal (dialup) and leased-line mode. Leased-line mode is intended for usage with S64K-lines or - if both channels are used - for S02. If the second parameter is **1** , only one channel is enabled. If the second parameter is **2** or **on** both channels are enabled. Leased lines do not have a D-channel. When leased-line mode is enabled, the driver simulates incoming calls using special "phone-numbers" for calling and called address which are generated as follows:

  Calling number:

  **LEASED***x*

  where *x* is the internal slot-number of the S0 interface. This number starts with *0* for the first S0 interface and is incremented by one for every S0 interface configured using the **add** action.

  Called number:

  *x*

  where *x* is equal to the channel number of the calling S0 interface starting with *1*.

- **load** *boot-code* *firmware* **\[***firmware2***\]**

  downloads the firmware into the card and starts operation. Using this command, after loading the icn-module into kernel-space the first real access to the hardware is done. Therefore the **io** action above, should be used before, if the hardware settings are different from the default settings. Usually the images are located in *@DATADIR@*. The boot-code is named *loadpg.bin*. The firmware depends on the D-channel protocol of the ISDN line. For German 1TR6-lines, the firmware is named *pc\_1t\_ca.bin*. For Euro-ISDN-lines, it is named *pc\_eu\_ca.bin*. When loading an ICN-4B, **two** firmware parameters have to be supplied. The first firmware is used for the upper S0 connector, the second firmware is used for the lower S0 connector (towards the card's slot connector).

- **dump**

  is available if the program is configured using the **--enable-dump** option only. The contents of internal driver variables is dumped on stdout.

## FILES

- *@DATADIR@/loadpg.bin*

  This is the image of the bootstrap loader, which is loaded first, then loads the firmware into the card's memory and starts execution.

- *@DATADIR@/pc\_1t\_ca.bin*

  This is the image of the firmware designed for the German 1TR6 protocol.

- *@DATADIR@/pc\_eu\_ca.bin*

  This is the image of the firmware, designed for Euro ISDN.

## DIAGNOSTICS

The following diagnostics may be issued on stderr:

- Read error on *boot-code*

  The file supplied as *boot-code* has less than 4096 bytes length or could not be read.

- Read error on *firmware*

  The file supplied as *firmware* has less than 65536 bytes length or could not be read.

## BUGS

No bugs so far.

## AUTHOR

© 1997 by Fritz Elfert \<fritz@isdn4linux.de\>

## SEE ALSO

[**isdnctrl**(8)](/isdnctrl/8.md), **icn**(4), [**isdnctrl**(4)](/isdnctrl/4.md), [**ttyI**(4)](/ttyI/4.md).
