$Id$ 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.