| 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 |  |