| $Id: README.icn,v 1.7 2000/08/06 09:22:51 armin Exp $ | 
 |  | 
 | You can get the ICN-ISDN-card from: | 
 |  | 
 | Thinking Objects Software GmbH | 
 | Versbacher Röthe 159 | 
 | 97078 Würzburg | 
 | Tel: +49 931 2877950 | 
 | Fax: +49 931 2877951 | 
 |  | 
 | email info@think.de | 
 | WWW   http:/www.think.de | 
 |  | 
 |  | 
 | The card communicates with the PC by two interfaces: | 
 |   1. A range of 4 successive port-addresses, whose base address can be  | 
 |      configured with the switches. | 
 |   2. A memory window with 16KB-256KB size, which can be setup in 16k steps | 
 |      over the whole range of 16MB. Isdn4linux only uses a 16k window. | 
 |      The base address of the window can be configured when loading | 
 |      the lowlevel-module (see README). If using more than one card, | 
 |      all cards are mapped to the same window and activated as needed. | 
 |  | 
 | Setting up the IO-address dipswitches for the ICN-ISDN-card: | 
 |  | 
 |   Two types of cards exist, one with dip-switches and one with | 
 |   hook-switches. | 
 |  | 
 |   1. Setting for the card with hook-switches: | 
 |  | 
 |      (0 = switch closed, 1 = switch open) | 
 |  | 
 |      S3 S2 S1  Base-address | 
 |       0  0  0  0x300 | 
 |       0  0  1  0x310 | 
 |       0  1  0  0x320 (Default for isdn4linux) | 
 |       0  1  1  0x330 | 
 |       1  0  0  0x340 | 
 |       1  0  1  0x350 | 
 |       1  1  0  0x360 | 
 |       1  1  1  NOT ALLOWED! | 
 |      | 
 |   2. Setting for the card with dip-switches: | 
 |  | 
 |      (0 = switch closed, 1 = switch open) | 
 |  | 
 |      S1 S2 S3 S4  Base-Address | 
 |       0  0  0  0  0x300 | 
 |       0  0  0  1  0x310 | 
 |       0  0  1  0  0x320 (Default for isdn4linux) | 
 |       0  0  1  1  0x330 | 
 |       0  1  0  0  0x340 | 
 |       0  1  0  1  0x350 | 
 |       0  1  1  0  0x360 | 
 |       0  1  1  1  NOT ALLOWED! | 
 |       1  0  0  0  0x308 | 
 |       1  0  0  1  0x318 | 
 |       1  0  1  0  0x328 | 
 |       1  0  1  1  0x338 | 
 |       1  1  0  0  0x348 | 
 |       1  1  0  1  0x358 | 
 |       1  1  1  0  0x368 | 
 |       1  1  1  1  NOT ALLOWED! | 
 |  | 
 | The ICN driver may be built into the kernel or as a module. Initialization | 
 | depends on how the driver is built: | 
 |  | 
 | Driver built into the kernel: | 
 |  | 
 |   The ICN driver can be configured using the commandline-feature while | 
 |   loading the kernel with LILO or LOADLIN. It accepts the following syntax: | 
 |  | 
 |   icn=p,m[,idstring1[,idstring2]] | 
 |  | 
 |   where | 
 |  | 
 |     p = portbase      (default: 0x320) | 
 |     m = shared memory (default: 0xd0000) | 
 |  | 
 |   When using the ICN double card (4B), you MUST define TWO idstrings. | 
 |   idstring must start with a character! There is no way for the driver | 
 |   to distinguish between a 2B and 4B type card. Therefore, by supplying | 
 |   TWO idstrings, you tell the driver that you have a 4B installed. | 
 |    | 
 |   If you like to use more than one card, you can use the program | 
 |   "icnctrl" from the utility-package to configure additional cards. | 
 |   You need to configure shared memory only once, since the icn-driver | 
 |   maps all cards into the same address-space. | 
 |  | 
 |   Using the "icnctrl"-utility, portbase and shared memory can also be | 
 |   changed during runtime. | 
 |  | 
 |   The D-channel protocol is configured by loading different firmware | 
 |   into the card's memory using the "icnctrl"-utility. | 
 |  | 
 |  | 
 | Driver built as module: | 
 |  | 
 |   The module icn.o can be configured during "insmod'ing" it by | 
 |   appending its parameters to the insmod-commandline. The following | 
 |   syntax is accepted: | 
 |  | 
 |     portbase=p membase=m icn_id=idstring [icn_id2=idstring2] | 
 |  | 
 |   where p, m, idstring1 and idstring2 have the same meanings as the | 
 |   parameters described for the kernel-version above. | 
 |        | 
 |   When using the ICN double card (4B), you MUST define TWO idstrings. | 
 |   idstring must start with a character! There is no way for the driver | 
 |   to distinguish between a 2B and 4B type card. Therefore, by supplying | 
 |   TWO idstrings, you tell the driver that you have a 4B installed. | 
 |    | 
 |   Using the "icnctrl"-utility, the same features apply to the modularized | 
 |   version like to the kernel-builtin one. | 
 |  | 
 |   The D-channel protocol is configured by loading different firmware | 
 |   into the card's memory using the "icnctrl"-utility. | 
 |  | 
 | Loading the firmware into the card: | 
 |  | 
 |   The firmware is supplied together with the isdn4k-utils package. It | 
 |   can be found in the subdirectory icnctrl/firmware/ | 
 |  | 
 |   There are 3 files: | 
 |  | 
 |     loadpg.bin   - Image of the bootstrap loader. | 
 |     pc_1t_ca.bin - Image of firmware for german 1TR6 protocol. | 
 |     pc_eu_ca.bin - Image if firmware for EDSS1 (Euro-ISDN) protocol. | 
 |  | 
 |   Assuming you have installed the utility-package correctly, the firmware | 
 |   will be downloaded into the 2B-card using the following command: | 
 |  | 
 |     icnctrl -d Idstring load /etc/isdn/loadpg.bin /etc/isdn/pc_XX_ca.bin | 
 |  | 
 |   where XX is either "1t" or "eu", depending on the D-Channel protocol | 
 |   used on your S0-bus and Idstring is the Name of the card, given during | 
 |   insmod-time or (for kernel-builtin driver) on the kernel commandline. | 
 |  | 
 |   To load a 4B-card, the same command is used, except a second firmware | 
 |   file is appended to the commandline of icnctrl. | 
 |  | 
 |   -> After downloading firmware, the two LEDs at the back cover of the card | 
 |      (ICN-4B: 4 LEDs) must be blinking intermittently now. If a connection | 
 |      is up, the corresponding led is lit continuously. | 
 |  | 
 |   For further documentation (adding more ICN-cards), refer to the manpage | 
 |   icnctrl.8 which is included in the isdn4k-utils package. | 
 |  |