Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 1 | ============================================================================= |
Jiri Slaby | 729f0ed | 2008-07-25 01:48:20 -0700 | [diff] [blame] | 2 | MOXA Smartio/Industio Family Device Driver Installation Guide |
| 3 | for Linux Kernel 2.4.x, 2.6.x |
| 4 | Copyright (C) 2008, Moxa Inc. |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 5 | ============================================================================= |
Jiri Slaby | 729f0ed | 2008-07-25 01:48:20 -0700 | [diff] [blame] | 6 | Date: 01/21/2008 |
| 7 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 8 | Content |
| 9 | |
| 10 | 1. Introduction |
| 11 | 2. System Requirement |
| 12 | 3. Installation |
Jiri Slaby | 729f0ed | 2008-07-25 01:48:20 -0700 | [diff] [blame] | 13 | 3.1 Hardware installation |
| 14 | 3.2 Driver files |
| 15 | 3.3 Device naming convention |
| 16 | 3.4 Module driver configuration |
| 17 | 3.5 Static driver configuration for Linux kernel 2.4.x and 2.6.x. |
| 18 | 3.6 Custom configuration |
| 19 | 3.7 Verify driver installation |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 20 | 4. Utilities |
| 21 | 5. Setserial |
| 22 | 6. Troubleshooting |
| 23 | |
| 24 | ----------------------------------------------------------------------------- |
| 25 | 1. Introduction |
| 26 | |
Jiri Slaby | 729f0ed | 2008-07-25 01:48:20 -0700 | [diff] [blame] | 27 | The Smartio/Industio/UPCI family Linux driver supports following multiport |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 28 | boards. |
| 29 | |
Jiri Slaby | 729f0ed | 2008-07-25 01:48:20 -0700 | [diff] [blame] | 30 | - 2 ports multiport board |
| 31 | CP-102U, CP-102UL, CP-102UF |
| 32 | CP-132U-I, CP-132UL, |
| 33 | CP-132, CP-132I, CP132S, CP-132IS, |
| 34 | CI-132, CI-132I, CI-132IS, |
| 35 | (C102H, C102HI, C102HIS, C102P, CP-102, CP-102S) |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 36 | |
Jiri Slaby | 729f0ed | 2008-07-25 01:48:20 -0700 | [diff] [blame] | 37 | - 4 ports multiport board |
| 38 | CP-104EL, |
| 39 | CP-104UL, CP-104JU, |
| 40 | CP-134U, CP-134U-I, |
| 41 | C104H/PCI, C104HS/PCI, |
| 42 | CP-114, CP-114I, CP-114S, CP-114IS, CP-114UL, |
| 43 | C104H, C104HS, |
| 44 | CI-104J, CI-104JS, |
| 45 | CI-134, CI-134I, CI-134IS, |
| 46 | (C114HI, CT-114I, C104P) |
| 47 | POS-104UL, |
| 48 | CB-114, |
| 49 | CB-134I |
| 50 | |
| 51 | - 8 ports multiport board |
| 52 | CP-118EL, CP-168EL, |
| 53 | CP-118U, CP-168U, |
| 54 | C168H/PCI, |
| 55 | C168H, C168HS, |
| 56 | (C168P), |
| 57 | CB-108 |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 58 | |
| 59 | This driver and installation procedure have been developed upon Linux Kernel |
Jiri Slaby | 729f0ed | 2008-07-25 01:48:20 -0700 | [diff] [blame] | 60 | 2.4.x and 2.6.x. This driver supports Intel x86 hardware platform. In order |
| 61 | to maintain compatibility, this version has also been properly tested with |
| 62 | RedHat, Mandrake, Fedora and S.u.S.E Linux. However, if compatibility problem |
| 63 | occurs, please contact Moxa at support@moxa.com.tw. |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 64 | |
| 65 | In addition to device driver, useful utilities are also provided in this |
| 66 | version. They are |
Jiri Slaby | 729f0ed | 2008-07-25 01:48:20 -0700 | [diff] [blame] | 67 | - msdiag Diagnostic program for displaying installed Moxa |
| 68 | Smartio/Industio boards. |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 69 | - msmon Monitor program to observe data count and line status signals. |
| 70 | - msterm A simple terminal program which is useful in testing serial |
| 71 | ports. |
| 72 | - io-irq.exe Configuration program to setup ISA boards. Please note that |
| 73 | this program can only be executed under DOS. |
| 74 | |
| 75 | All the drivers and utilities are published in form of source code under |
| 76 | GNU General Public License in this version. Please refer to GNU General |
| 77 | Public License announcement in each source code file for more detail. |
| 78 | |
Jiri Slaby | 729f0ed | 2008-07-25 01:48:20 -0700 | [diff] [blame] | 79 | In Moxa's Web sites, you may always find latest driver at http://web.moxa.com. |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 80 | |
| 81 | This version of driver can be installed as Loadable Module (Module driver) |
| 82 | or built-in into kernel (Static driver). You may refer to following |
| 83 | installation procedure for suitable one. Before you install the driver, |
| 84 | please refer to hardware installation procedure in the User's Manual. |
| 85 | |
| 86 | We assume the user should be familiar with following documents. |
| 87 | - Serial-HOWTO |
| 88 | - Kernel-HOWTO |
| 89 | |
| 90 | ----------------------------------------------------------------------------- |
| 91 | 2. System Requirement |
Jiri Slaby | 729f0ed | 2008-07-25 01:48:20 -0700 | [diff] [blame] | 92 | - Hardware platform: Intel x86 machine |
| 93 | - Kernel version: 2.4.x or 2.6.x |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 94 | - gcc version 2.72 or later |
| 95 | - Maximum 4 boards can be installed in combination |
| 96 | |
| 97 | ----------------------------------------------------------------------------- |
| 98 | 3. Installation |
| 99 | |
| 100 | 3.1 Hardware installation |
Jiri Slaby | 729f0ed | 2008-07-25 01:48:20 -0700 | [diff] [blame] | 101 | 3.2 Driver files |
| 102 | 3.3 Device naming convention |
| 103 | 3.4 Module driver configuration |
| 104 | 3.5 Static driver configuration for Linux kernel 2.4.x, 2.6.x. |
| 105 | 3.6 Custom configuration |
| 106 | 3.7 Verify driver installation |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 107 | |
Jiri Slaby | 729f0ed | 2008-07-25 01:48:20 -0700 | [diff] [blame] | 108 | |
| 109 | 3.1 Hardware installation |
| 110 | |
| 111 | There are two types of buses, ISA and PCI, for Smartio/Industio |
| 112 | family multiport board. |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 113 | |
| 114 | ISA board |
| 115 | --------- |
| 116 | You'll have to configure CAP address, I/O address, Interrupt Vector |
| 117 | as well as IRQ before installing this driver. Please refer to hardware |
| 118 | installation procedure in User's Manual before proceed any further. |
| 119 | Please make sure the JP1 is open after the ISA board is set properly. |
| 120 | |
Jiri Slaby | 729f0ed | 2008-07-25 01:48:20 -0700 | [diff] [blame] | 121 | PCI/UPCI board |
| 122 | -------------- |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 123 | You may need to adjust IRQ usage in BIOS to avoid from IRQ conflict |
| 124 | with other ISA devices. Please refer to hardware installation |
| 125 | procedure in User's Manual in advance. |
| 126 | |
Jiri Slaby | 729f0ed | 2008-07-25 01:48:20 -0700 | [diff] [blame] | 127 | PCI IRQ Sharing |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 128 | ----------- |
| 129 | Each port within the same multiport board shares the same IRQ. Up to |
Jiri Slaby | 729f0ed | 2008-07-25 01:48:20 -0700 | [diff] [blame] | 130 | 4 Moxa Smartio/Industio PCI Family multiport boards can be installed |
| 131 | together on one system and they can share the same IRQ. |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 132 | |
Jiri Slaby | 729f0ed | 2008-07-25 01:48:20 -0700 | [diff] [blame] | 133 | |
| 134 | 3.2 Driver files |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 135 | |
| 136 | The driver file may be obtained from ftp, CD-ROM or floppy disk. The |
| 137 | first step, anyway, is to copy driver file "mxser.tgz" into specified |
| 138 | directory. e.g. /moxa. The execute commands as below. |
| 139 | |
Jiri Slaby | 729f0ed | 2008-07-25 01:48:20 -0700 | [diff] [blame] | 140 | # cd / |
| 141 | # mkdir moxa |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 142 | # cd /moxa |
Jiri Slaby | 729f0ed | 2008-07-25 01:48:20 -0700 | [diff] [blame] | 143 | # tar xvf /dev/fd0 |
| 144 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 145 | or |
Jiri Slaby | 729f0ed | 2008-07-25 01:48:20 -0700 | [diff] [blame] | 146 | |
| 147 | # cd / |
| 148 | # mkdir moxa |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 149 | # cd /moxa |
| 150 | # cp /mnt/cdrom/<driver directory>/mxser.tgz . |
| 151 | # tar xvfz mxser.tgz |
| 152 | |
Jiri Slaby | 729f0ed | 2008-07-25 01:48:20 -0700 | [diff] [blame] | 153 | |
| 154 | 3.3 Device naming convention |
| 155 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 156 | You may find all the driver and utilities files in /moxa/mxser. |
| 157 | Following installation procedure depends on the model you'd like to |
Jiri Slaby | 729f0ed | 2008-07-25 01:48:20 -0700 | [diff] [blame] | 158 | run the driver. If you prefer module driver, please refer to 3.4. |
| 159 | If static driver is required, please refer to 3.5. |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 160 | |
| 161 | Dialin and callout port |
| 162 | ----------------------- |
Jiri Slaby | 729f0ed | 2008-07-25 01:48:20 -0700 | [diff] [blame] | 163 | This driver remains traditional serial device properties. There are |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 164 | two special file name for each serial port. One is dial-in port |
| 165 | which is named "ttyMxx". For callout port, the naming convention |
| 166 | is "cumxx". |
| 167 | |
| 168 | Device naming when more than 2 boards installed |
| 169 | ----------------------------------------------- |
Jiri Slaby | 729f0ed | 2008-07-25 01:48:20 -0700 | [diff] [blame] | 170 | Naming convention for each Smartio/Industio multiport board is |
| 171 | pre-defined as below. |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 172 | |
| 173 | Board Num. Dial-in Port Callout port |
| 174 | 1st board ttyM0 - ttyM7 cum0 - cum7 |
| 175 | 2nd board ttyM8 - ttyM15 cum8 - cum15 |
| 176 | 3rd board ttyM16 - ttyM23 cum16 - cum23 |
| 177 | 4th board ttyM24 - ttym31 cum24 - cum31 |
| 178 | |
Jiri Slaby | 729f0ed | 2008-07-25 01:48:20 -0700 | [diff] [blame] | 179 | |
| 180 | !!!!!!!!!!!!!!!!!!!! NOTE !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! |
| 181 | Under Kernel 2.6 the cum Device is Obsolete. So use ttyM* |
| 182 | device instead. |
| 183 | !!!!!!!!!!!!!!!!!!!! NOTE !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! |
| 184 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 185 | Board sequence |
| 186 | -------------- |
| 187 | This driver will activate ISA boards according to the parameter set |
| 188 | in the driver. After all specified ISA board activated, PCI board |
| 189 | will be installed in the system automatically driven. |
| 190 | Therefore the board number is sorted by the CAP address of ISA boards. |
| 191 | For PCI boards, their sequence will be after ISA boards and C168H/PCI |
| 192 | has higher priority than C104H/PCI boards. |
| 193 | |
Jiri Slaby | 729f0ed | 2008-07-25 01:48:20 -0700 | [diff] [blame] | 194 | 3.4 Module driver configuration |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 195 | Module driver is easiest way to install. If you prefer static driver |
| 196 | installation, please skip this paragraph. |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 197 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 198 | |
Jiri Slaby | 729f0ed | 2008-07-25 01:48:20 -0700 | [diff] [blame] | 199 | ------------- Prepare to use the MOXA driver-------------------- |
| 200 | 3.4.1 Create tty device with correct major number |
| 201 | Before using MOXA driver, your system must have the tty devices |
| 202 | which are created with driver's major number. We offer one shell |
| 203 | script "msmknod" to simplify the procedure. |
| 204 | This step is only needed to be executed once. But you still |
| 205 | need to do this procedure when: |
| 206 | a. You change the driver's major number. Please refer the "3.7" |
| 207 | section. |
| 208 | b. Your total installed MOXA boards number is changed. Maybe you |
| 209 | add/delete one MOXA board. |
| 210 | c. You want to change the tty name. This needs to modify the |
| 211 | shell script "msmknod" |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 212 | |
Jiri Slaby | 729f0ed | 2008-07-25 01:48:20 -0700 | [diff] [blame] | 213 | The procedure is: |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 214 | # cd /moxa/mxser/driver |
| 215 | # ./msmknod |
| 216 | |
Jiri Slaby | 729f0ed | 2008-07-25 01:48:20 -0700 | [diff] [blame] | 217 | This shell script will require the major number for dial-in |
| 218 | device and callout device to create tty device. You also need |
| 219 | to specify the total installed MOXA board number. Default major |
| 220 | numbers for dial-in device and callout device are 30, 35. If |
| 221 | you need to change to other number, please refer section "3.7" |
| 222 | for more detailed procedure. |
| 223 | Msmknod will delete any special files occupying the same device |
| 224 | naming. |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 225 | |
Jiri Slaby | 729f0ed | 2008-07-25 01:48:20 -0700 | [diff] [blame] | 226 | 3.4.2 Build the MOXA driver and utilities |
| 227 | Before using the MOXA driver and utilities, you need compile the |
| 228 | all the source code. This step is only need to be executed once. |
| 229 | But you still re-compile the source code if you modify the source |
| 230 | code. For example, if you change the driver's major number (see |
| 231 | "3.7" section), then you need to do this step again. |
| 232 | |
| 233 | Find "Makefile" in /moxa/mxser, then run |
| 234 | |
| 235 | # make clean; make install |
| 236 | |
| 237 | !!!!!!!!!! NOTE !!!!!!!!!!!!!!!!! |
| 238 | For Red Hat 9, Red Hat Enterprise Linux AS3/ES3/WS3 & Fedora Core1: |
| 239 | # make clean; make installsp1 |
| 240 | |
| 241 | For Red Hat Enterprise Linux AS4/ES4/WS4: |
| 242 | # make clean; make installsp2 |
| 243 | !!!!!!!!!! NOTE !!!!!!!!!!!!!!!!! |
| 244 | |
| 245 | The driver files "mxser.o" and utilities will be properly compiled |
| 246 | and copied to system directories respectively. |
| 247 | |
| 248 | ------------- Load MOXA driver-------------------- |
| 249 | 3.4.3 Load the MOXA driver |
| 250 | |
| 251 | # modprobe mxser <argument> |
| 252 | |
| 253 | will activate the module driver. You may run "lsmod" to check |
| 254 | if "mxser" is activated. If the MOXA board is ISA board, the |
| 255 | <argument> is needed. Please refer to section "3.4.5" for more |
| 256 | information. |
| 257 | |
| 258 | |
| 259 | ------------- Load MOXA driver on boot -------------------- |
| 260 | 3.4.4 For the above description, you may manually execute |
| 261 | "modprobe mxser" to activate this driver and run |
| 262 | "rmmod mxser" to remove it. |
| 263 | However, it's better to have a boot time configuration to |
| 264 | eliminate manual operation. Boot time configuration can be |
| 265 | achieved by rc file. We offer one "rc.mxser" file to simplify |
| 266 | the procedure under "moxa/mxser/driver". |
| 267 | |
| 268 | But if you use ISA board, please modify the "modprobe ..." command |
| 269 | to add the argument (see "3.4.5" section). After modifying the |
| 270 | rc.mxser, please try to execute "/moxa/mxser/driver/rc.mxser" |
| 271 | manually to make sure the modification is ok. If any error |
| 272 | encountered, please try to modify again. If the modification is |
| 273 | completed, follow the below step. |
| 274 | |
| 275 | Run following command for setting rc files. |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 276 | |
| 277 | # cd /moxa/mxser/driver |
| 278 | # cp ./rc.mxser /etc/rc.d |
| 279 | # cd /etc/rc.d |
| 280 | |
Jiri Slaby | 729f0ed | 2008-07-25 01:48:20 -0700 | [diff] [blame] | 281 | Check "rc.serial" is existed or not. If "rc.serial" doesn't exist, |
| 282 | create it by vi, run "chmod 755 rc.serial" to change the permission. |
| 283 | Add "/etc/rc.d/rc.mxser" in last line, |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 284 | |
Jiri Slaby | 729f0ed | 2008-07-25 01:48:20 -0700 | [diff] [blame] | 285 | Reboot and check if moxa.o activated by "lsmod" command. |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 286 | |
Jiri Slaby | 729f0ed | 2008-07-25 01:48:20 -0700 | [diff] [blame] | 287 | 3.4.5. If you'd like to drive Smartio/Industio ISA boards in the system, |
| 288 | you'll have to add parameter to specify CAP address of given |
| 289 | board while activating "mxser.o". The format for parameters are |
| 290 | as follows. |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 291 | |
Jiri Slaby | 729f0ed | 2008-07-25 01:48:20 -0700 | [diff] [blame] | 292 | modprobe mxser ioaddr=0x???,0x???,0x???,0x??? |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 293 | | | | | |
| 294 | | | | +- 4th ISA board |
| 295 | | | +------ 3rd ISA board |
| 296 | | +------------ 2nd ISA board |
| 297 | +------------------- 1st ISA board |
| 298 | |
Jiri Slaby | 729f0ed | 2008-07-25 01:48:20 -0700 | [diff] [blame] | 299 | 3.5 Static driver configuration for Linux kernel 2.4.x and 2.6.x |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 300 | |
Jiri Slaby | 729f0ed | 2008-07-25 01:48:20 -0700 | [diff] [blame] | 301 | Note: To use static driver, you must install the linux kernel |
| 302 | source package. |
| 303 | |
| 304 | 3.5.1 Backup the built-in driver in the kernel. |
| 305 | # cd /usr/src/linux/drivers/char |
| 306 | # mv mxser.c mxser.c.old |
| 307 | |
| 308 | For Red Hat 7.x user, you need to create link: |
| 309 | # cd /usr/src |
| 310 | # ln -s linux-2.4 linux |
| 311 | |
| 312 | 3.5.2 Create link |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 313 | # cd /usr/src/linux/drivers/char |
| 314 | # ln -s /moxa/mxser/driver/mxser.c mxser.c |
| 315 | |
Jiri Slaby | 729f0ed | 2008-07-25 01:48:20 -0700 | [diff] [blame] | 316 | 3.5.3 Add CAP address list for ISA boards. For PCI boards user, |
| 317 | please skip this step. |
| 318 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 319 | In module mode, the CAP address for ISA board is given by |
| 320 | parameter. In static driver configuration, you'll have to |
| 321 | assign it within driver's source code. If you will not |
| 322 | install any ISA boards, you may skip to next portion. |
| 323 | The instructions to modify driver source code are as |
| 324 | below. |
| 325 | a. # cd /moxa/mxser/driver |
| 326 | # vi mxser.c |
| 327 | b. Find the array mxserBoardCAP[] as below. |
| 328 | |
| 329 | static int mxserBoardCAP[] |
| 330 | = {0x00, 0x00, 0x00, 0x00}; |
| 331 | |
| 332 | c. Change the address within this array using vi. For |
| 333 | example, to driver 2 ISA boards with CAP address |
| 334 | 0x280 and 0x180 as 1st and 2nd board. Just to change |
| 335 | the source code as follows. |
| 336 | |
| 337 | static int mxserBoardCAP[] |
| 338 | = {0x280, 0x180, 0x00, 0x00}; |
| 339 | |
Jiri Slaby | 729f0ed | 2008-07-25 01:48:20 -0700 | [diff] [blame] | 340 | 3.5.4 Setup kernel configuration |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 341 | |
Jiri Slaby | 729f0ed | 2008-07-25 01:48:20 -0700 | [diff] [blame] | 342 | Configure the kernel: |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 343 | |
Jiri Slaby | 729f0ed | 2008-07-25 01:48:20 -0700 | [diff] [blame] | 344 | # cd /usr/src/linux |
| 345 | # make menuconfig |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 346 | |
Jiri Slaby | 729f0ed | 2008-07-25 01:48:20 -0700 | [diff] [blame] | 347 | You will go into a menu-driven system. Please select [Character |
| 348 | devices][Non-standard serial port support], enable the [Moxa |
| 349 | SmartIO support] driver with "[*]" for built-in (not "[M]"), then |
| 350 | select [Exit] to exit this program. |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 351 | |
Jiri Slaby | 729f0ed | 2008-07-25 01:48:20 -0700 | [diff] [blame] | 352 | 3.5.5 Rebuild kernel |
| 353 | The following are for Linux kernel rebuilding, for your |
| 354 | reference only. |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 355 | For appropriate details, please refer to the Linux document. |
| 356 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 357 | a. cd /usr/src/linux |
Jiri Slaby | 729f0ed | 2008-07-25 01:48:20 -0700 | [diff] [blame] | 358 | b. make clean /* take a few minutes */ |
| 359 | c. make dep /* take a few minutes */ |
| 360 | d. make bzImage /* take probably 10-20 minutes */ |
| 361 | e. make install /* copy boot image to correct position */ |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 362 | f. Please make sure the boot kernel (vmlinuz) is in the |
Jiri Slaby | 729f0ed | 2008-07-25 01:48:20 -0700 | [diff] [blame] | 363 | correct position. |
| 364 | g. If you use 'lilo' utility, you should check /etc/lilo.conf |
| 365 | 'image' item specified the path which is the 'vmlinuz' path, |
| 366 | or you will load wrong (or old) boot kernel image (vmlinuz). |
| 367 | After checking /etc/lilo.conf, please run "lilo". |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 368 | |
Jiri Slaby | 729f0ed | 2008-07-25 01:48:20 -0700 | [diff] [blame] | 369 | Note that if the result of "make bzImage" is ERROR, then you have to |
| 370 | go back to Linux configuration Setup. Type "make menuconfig" in |
| 371 | directory /usr/src/linux. |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 372 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 373 | |
Jiri Slaby | 729f0ed | 2008-07-25 01:48:20 -0700 | [diff] [blame] | 374 | 3.5.6 Make tty device and special file |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 375 | # cd /moxa/mxser/driver |
| 376 | # ./msmknod |
| 377 | |
Jiri Slaby | 729f0ed | 2008-07-25 01:48:20 -0700 | [diff] [blame] | 378 | 3.5.7 Make utility |
| 379 | # cd /moxa/mxser/utility |
| 380 | # make clean; make install |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 381 | |
Jiri Slaby | 729f0ed | 2008-07-25 01:48:20 -0700 | [diff] [blame] | 382 | 3.5.8 Reboot |
| 383 | |
| 384 | |
| 385 | |
| 386 | 3.6 Custom configuration |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 387 | Although this driver already provides you default configuration, you |
Jiri Slaby | 729f0ed | 2008-07-25 01:48:20 -0700 | [diff] [blame] | 388 | still can change the device name and major number. The instruction to |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 389 | change these parameters are shown as below. |
| 390 | |
| 391 | Change Device name |
| 392 | ------------------ |
| 393 | If you'd like to use other device names instead of default naming |
| 394 | convention, all you have to do is to modify the internal code |
| 395 | within the shell script "msmknod". First, you have to open "msmknod" |
| 396 | by vi. Locate each line contains "ttyM" and "cum" and change them |
| 397 | to the device name you desired. "msmknod" creates the device names |
| 398 | you need next time executed. |
| 399 | |
| 400 | Change Major number |
| 401 | ------------------- |
| 402 | If major number 30 and 35 had been occupied, you may have to select |
| 403 | 2 free major numbers for this driver. There are 3 steps to change |
| 404 | major numbers. |
| 405 | |
Jiri Slaby | 729f0ed | 2008-07-25 01:48:20 -0700 | [diff] [blame] | 406 | 3.6.1 Find free major numbers |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 407 | In /proc/devices, you may find all the major numbers occupied |
| 408 | in the system. Please select 2 major numbers that are available. |
| 409 | e.g. 40, 45. |
Jiri Slaby | 729f0ed | 2008-07-25 01:48:20 -0700 | [diff] [blame] | 410 | 3.6.2 Create special files |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 411 | Run /moxa/mxser/driver/msmknod to create special files with |
| 412 | specified major numbers. |
Jiri Slaby | 729f0ed | 2008-07-25 01:48:20 -0700 | [diff] [blame] | 413 | 3.6.3 Modify driver with new major number |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 414 | Run vi to open /moxa/mxser/driver/mxser.c. Locate the line |
| 415 | contains "MXSERMAJOR". Change the content as below. |
| 416 | #define MXSERMAJOR 40 |
| 417 | #define MXSERCUMAJOR 45 |
Jiri Slaby | 729f0ed | 2008-07-25 01:48:20 -0700 | [diff] [blame] | 418 | 3.6.4 Run "make clean; make install" in /moxa/mxser/driver. |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 419 | |
Jiri Slaby | 729f0ed | 2008-07-25 01:48:20 -0700 | [diff] [blame] | 420 | 3.7 Verify driver installation |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 421 | You may refer to /var/log/messages to check the latest status |
| 422 | log reported by this driver whenever it's activated. |
Jiri Slaby | 729f0ed | 2008-07-25 01:48:20 -0700 | [diff] [blame] | 423 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 424 | ----------------------------------------------------------------------------- |
| 425 | 4. Utilities |
| 426 | There are 3 utilities contained in this driver. They are msdiag, msmon and |
| 427 | msterm. These 3 utilities are released in form of source code. They should |
| 428 | be compiled into executable file and copied into /usr/bin. |
| 429 | |
Jiri Slaby | 729f0ed | 2008-07-25 01:48:20 -0700 | [diff] [blame] | 430 | Before using these utilities, please load driver (refer 3.4 & 3.5) and |
| 431 | make sure you had run the "msmknod" utility. |
| 432 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 433 | msdiag - Diagnostic |
| 434 | -------------------- |
Jiri Slaby | 729f0ed | 2008-07-25 01:48:20 -0700 | [diff] [blame] | 435 | This utility provides the function to display what Moxa Smartio/Industio |
| 436 | board found by driver in the system. |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 437 | |
| 438 | msmon - Port Monitoring |
| 439 | ----------------------- |
| 440 | This utility gives the user a quick view about all the MOXA ports' |
| 441 | activities. One can easily learn each port's total received/transmitted |
| 442 | (Rx/Tx) character count since the time when the monitoring is started. |
| 443 | Rx/Tx throughputs per second are also reported in interval basis (e.g. |
| 444 | the last 5 seconds) and in average basis (since the time the monitoring |
| 445 | is started). You can reset all ports' count by <HOME> key. <+> <-> |
| 446 | (plus/minus) keys to change the displaying time interval. Press <ENTER> |
| 447 | on the port, that cursor stay, to view the port's communication |
| 448 | parameters, signal status, and input/output queue. |
| 449 | |
| 450 | msterm - Terminal Emulation |
| 451 | --------------------------- |
| 452 | This utility provides data sending and receiving ability of all tty ports, |
| 453 | especially for MOXA ports. It is quite useful for testing simple |
| 454 | application, for example, sending AT command to a modem connected to the |
| 455 | port or used as a terminal for login purpose. Note that this is only a |
| 456 | dumb terminal emulation without handling full screen operation. |
Jiri Slaby | 729f0ed | 2008-07-25 01:48:20 -0700 | [diff] [blame] | 457 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 458 | ----------------------------------------------------------------------------- |
| 459 | 5. Setserial |
| 460 | |
| 461 | Supported Setserial parameters are listed as below. |
| 462 | |
Jiri Slaby | 729f0ed | 2008-07-25 01:48:20 -0700 | [diff] [blame] | 463 | uart set UART type(16450-->disable FIFO, 16550A-->enable FIFO) |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 464 | close_delay set the amount of time(in 1/100 of a second) that DTR |
| 465 | should be kept low while being closed. |
| 466 | closing_wait set the amount of time(in 1/100 of a second) that the |
| 467 | serial port should wait for data to be drained while |
| 468 | being closed, before the receiver is disable. |
| 469 | spd_hi Use 57.6kb when the application requests 38.4kb. |
| 470 | spd_vhi Use 115.2kb when the application requests 38.4kb. |
Jiri Slaby | 729f0ed | 2008-07-25 01:48:20 -0700 | [diff] [blame] | 471 | spd_shi Use 230.4kb when the application requests 38.4kb. |
| 472 | spd_warp Use 460.8kb when the application requests 38.4kb. |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 473 | spd_normal Use 38.4kb when the application requests 38.4kb. |
Jiri Slaby | 729f0ed | 2008-07-25 01:48:20 -0700 | [diff] [blame] | 474 | spd_cust Use the custom divisor to set the speed when the |
| 475 | application requests 38.4kb. |
| 476 | divisor This option set the custom divison. |
| 477 | baud_base This option set the base baud rate. |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 478 | |
| 479 | ----------------------------------------------------------------------------- |
| 480 | 6. Troubleshooting |
| 481 | |
| 482 | The boot time error messages and solutions are stated as clearly as |
| 483 | possible. If all the possible solutions fail, please contact our technical |
| 484 | support team to get more help. |
| 485 | |
Jiri Slaby | 729f0ed | 2008-07-25 01:48:20 -0700 | [diff] [blame] | 486 | |
| 487 | Error msg: More than 4 Moxa Smartio/Industio family boards found. Fifth board |
| 488 | and after are ignored. |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 489 | Solution: |
| 490 | To avoid this problem, please unplug fifth and after board, because Moxa |
| 491 | driver supports up to 4 boards. |
| 492 | |
| 493 | Error msg: Request_irq fail, IRQ(?) may be conflict with another device. |
| 494 | Solution: |
| 495 | Other PCI or ISA devices occupy the assigned IRQ. If you are not sure |
Jiri Slaby | 729f0ed | 2008-07-25 01:48:20 -0700 | [diff] [blame] | 496 | which device causes the situation, please check /proc/interrupts to find |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 497 | free IRQ and simply change another free IRQ for Moxa board. |
| 498 | |
| 499 | Error msg: Board #: C1xx Series(CAP=xxx) interrupt number invalid. |
| 500 | Solution: |
| 501 | Each port within the same multiport board shares the same IRQ. Please set |
| 502 | one IRQ (IRQ doesn't equal to zero) for one Moxa board. |
| 503 | |
| 504 | Error msg: No interrupt vector be set for Moxa ISA board(CAP=xxx). |
| 505 | Solution: |
| 506 | Moxa ISA board needs an interrupt vector.Please refer to user's manual |
| 507 | "Hardware Installation" chapter to set interrupt vector. |
| 508 | |
Jiri Slaby | 729f0ed | 2008-07-25 01:48:20 -0700 | [diff] [blame] | 509 | Error msg: Couldn't install MOXA Smartio/Industio family driver! |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 510 | Solution: |
| 511 | Load Moxa driver fail, the major number may conflict with other devices. |
Jiri Slaby | 729f0ed | 2008-07-25 01:48:20 -0700 | [diff] [blame] | 512 | Please refer to previous section 3.7 to change a free major number for |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 513 | Moxa driver. |
| 514 | |
Jiri Slaby | 729f0ed | 2008-07-25 01:48:20 -0700 | [diff] [blame] | 515 | Error msg: Couldn't install MOXA Smartio/Industio family callout driver! |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 516 | Solution: |
| 517 | Load Moxa callout driver fail, the callout device major number may |
Jiri Slaby | 729f0ed | 2008-07-25 01:48:20 -0700 | [diff] [blame] | 518 | conflict with other devices. Please refer to previous section 3.7 to |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 519 | change a free callout device major number for Moxa driver. |
Jiri Slaby | 729f0ed | 2008-07-25 01:48:20 -0700 | [diff] [blame] | 520 | |
| 521 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 522 | ----------------------------------------------------------------------------- |
Jiri Slaby | 729f0ed | 2008-07-25 01:48:20 -0700 | [diff] [blame] | 523 | |