| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 1 | $Id: README.icn,v 1.7 2000/08/06 09:22:51 armin Exp $ | 
 | 2 |  | 
 | 3 | You can get the ICN-ISDN-card from: | 
 | 4 |  | 
 | 5 | Thinking Objects Software GmbH | 
| John Anthony Kazos Jr | be2a608 | 2007-05-09 08:50:42 +0200 | [diff] [blame] | 6 | Versbacher Röthe 159 | 
 | 7 | 97078 Würzburg | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 8 | Tel: +49 931 2877950 | 
 | 9 | Fax: +49 931 2877951 | 
 | 10 |  | 
 | 11 | email info@think.de | 
 | 12 | WWW   http:/www.think.de | 
 | 13 |  | 
 | 14 |  | 
 | 15 | The card communicates with the PC by two interfaces: | 
 | 16 |   1. A range of 4 successive port-addresses, whose base address can be  | 
 | 17 |      configured with the switches. | 
 | 18 |   2. A memory window with 16KB-256KB size, which can be setup in 16k steps | 
 | 19 |      over the whole range of 16MB. Isdn4linux only uses a 16k window. | 
 | 20 |      The base address of the window can be configured when loading | 
 | 21 |      the lowlevel-module (see README). If using more than one card, | 
 | 22 |      all cards are mapped to the same window and activated as needed. | 
 | 23 |  | 
 | 24 | Setting up the IO-address dipswitches for the ICN-ISDN-card: | 
 | 25 |  | 
 | 26 |   Two types of cards exist, one with dip-switches and one with | 
 | 27 |   hook-switches. | 
 | 28 |  | 
 | 29 |   1. Setting for the card with hook-switches: | 
 | 30 |  | 
 | 31 |      (0 = switch closed, 1 = switch open) | 
 | 32 |  | 
 | 33 |      S3 S2 S1  Base-address | 
 | 34 |       0  0  0  0x300 | 
 | 35 |       0  0  1  0x310 | 
 | 36 |       0  1  0  0x320 (Default for isdn4linux) | 
 | 37 |       0  1  1  0x330 | 
 | 38 |       1  0  0  0x340 | 
 | 39 |       1  0  1  0x350 | 
 | 40 |       1  1  0  0x360 | 
 | 41 |       1  1  1  NOT ALLOWED! | 
 | 42 |      | 
 | 43 |   2. Setting for the card with dip-switches: | 
 | 44 |  | 
 | 45 |      (0 = switch closed, 1 = switch open) | 
 | 46 |  | 
 | 47 |      S1 S2 S3 S4  Base-Address | 
 | 48 |       0  0  0  0  0x300 | 
 | 49 |       0  0  0  1  0x310 | 
 | 50 |       0  0  1  0  0x320 (Default for isdn4linux) | 
 | 51 |       0  0  1  1  0x330 | 
 | 52 |       0  1  0  0  0x340 | 
 | 53 |       0  1  0  1  0x350 | 
 | 54 |       0  1  1  0  0x360 | 
 | 55 |       0  1  1  1  NOT ALLOWED! | 
 | 56 |       1  0  0  0  0x308 | 
 | 57 |       1  0  0  1  0x318 | 
 | 58 |       1  0  1  0  0x328 | 
 | 59 |       1  0  1  1  0x338 | 
 | 60 |       1  1  0  0  0x348 | 
 | 61 |       1  1  0  1  0x358 | 
 | 62 |       1  1  1  0  0x368 | 
 | 63 |       1  1  1  1  NOT ALLOWED! | 
 | 64 |  | 
 | 65 | The ICN driver may be built into the kernel or as a module. Initialization | 
 | 66 | depends on how the driver is built: | 
 | 67 |  | 
 | 68 | Driver built into the kernel: | 
 | 69 |  | 
 | 70 |   The ICN driver can be configured using the commandline-feature while | 
 | 71 |   loading the kernel with LILO or LOADLIN. It accepts the following syntax: | 
 | 72 |  | 
 | 73 |   icn=p,m[,idstring1[,idstring2]] | 
 | 74 |  | 
 | 75 |   where | 
 | 76 |  | 
 | 77 |     p = portbase      (default: 0x320) | 
 | 78 |     m = shared memory (default: 0xd0000) | 
 | 79 |  | 
 | 80 |   When using the ICN double card (4B), you MUST define TWO idstrings. | 
 | 81 |   idstring must start with a character! There is no way for the driver | 
 | 82 |   to distinguish between a 2B and 4B type card. Therefore, by supplying | 
 | 83 |   TWO idstrings, you tell the driver that you have a 4B installed. | 
 | 84 |    | 
 | 85 |   If you like to use more than one card, you can use the program | 
 | 86 |   "icnctrl" from the utility-package to configure additional cards. | 
 | 87 |   You need to configure shared memory only once, since the icn-driver | 
 | 88 |   maps all cards into the same address-space. | 
 | 89 |  | 
 | 90 |   Using the "icnctrl"-utility, portbase and shared memory can also be | 
 | 91 |   changed during runtime. | 
 | 92 |  | 
 | 93 |   The D-channel protocol is configured by loading different firmware | 
 | 94 |   into the card's memory using the "icnctrl"-utility. | 
 | 95 |  | 
 | 96 |  | 
 | 97 | Driver built as module: | 
 | 98 |  | 
 | 99 |   The module icn.o can be configured during "insmod'ing" it by | 
 | 100 |   appending its parameters to the insmod-commandline. The following | 
 | 101 |   syntax is accepted: | 
 | 102 |  | 
 | 103 |     portbase=p membase=m icn_id=idstring [icn_id2=idstring2] | 
 | 104 |  | 
 | 105 |   where p, m, idstring1 and idstring2 have the same meanings as the | 
 | 106 |   parameters described for the kernel-version above. | 
 | 107 |        | 
 | 108 |   When using the ICN double card (4B), you MUST define TWO idstrings. | 
 | 109 |   idstring must start with a character! There is no way for the driver | 
 | 110 |   to distinguish between a 2B and 4B type card. Therefore, by supplying | 
 | 111 |   TWO idstrings, you tell the driver that you have a 4B installed. | 
 | 112 |    | 
 | 113 |   Using the "icnctrl"-utility, the same features apply to the modularized | 
 | 114 |   version like to the kernel-builtin one. | 
 | 115 |  | 
 | 116 |   The D-channel protocol is configured by loading different firmware | 
 | 117 |   into the card's memory using the "icnctrl"-utility. | 
 | 118 |  | 
 | 119 | Loading the firmware into the card: | 
 | 120 |  | 
 | 121 |   The firmware is supplied together with the isdn4k-utils package. It | 
 | 122 |   can be found in the subdirectory icnctrl/firmware/ | 
 | 123 |  | 
 | 124 |   There are 3 files: | 
 | 125 |  | 
 | 126 |     loadpg.bin   - Image of the bootstrap loader. | 
 | 127 |     pc_1t_ca.bin - Image of firmware for german 1TR6 protocol. | 
 | 128 |     pc_eu_ca.bin - Image if firmware for EDSS1 (Euro-ISDN) protocol. | 
 | 129 |  | 
 | 130 |   Assuming you have installed the utility-package correctly, the firmware | 
 | 131 |   will be downloaded into the 2B-card using the following command: | 
 | 132 |  | 
 | 133 |     icnctrl -d Idstring load /etc/isdn/loadpg.bin /etc/isdn/pc_XX_ca.bin | 
 | 134 |  | 
 | 135 |   where XX is either "1t" or "eu", depending on the D-Channel protocol | 
 | 136 |   used on your S0-bus and Idstring is the Name of the card, given during | 
 | 137 |   insmod-time or (for kernel-builtin driver) on the kernel commandline. | 
 | 138 |  | 
 | 139 |   To load a 4B-card, the same command is used, except a second firmware | 
 | 140 |   file is appended to the commandline of icnctrl. | 
 | 141 |  | 
 | 142 |   -> After downloading firmware, the two LEDs at the back cover of the card | 
 | 143 |      (ICN-4B: 4 LEDs) must be blinking intermittently now. If a connection | 
 | 144 |      is up, the corresponding led is lit continuously. | 
 | 145 |  | 
 | 146 |   For further documentation (adding more ICN-cards), refer to the manpage | 
 | 147 |   icnctrl.8 which is included in the isdn4k-utils package. | 
 | 148 |  |