Kernel versions supported are 2.6.39 and above . Build the driver source using 'make'. The build process will produce cti_serial_core.ko, cti_8250.ko and cti_8250_pci.ko. cti_serial_core.ko is the driver core that manages the main method functions, it does not access hardware; cti_8250.ko talks to the hardware directly and cti_8250_pci.ko detects CTI's PCI and PCI Express based boards. The driver is a standalone module and can be loaded by insmod or modprobe (run 'make install' after build). CTI boards are also detected by standard '8250_pci' driver, therefore, make sure standard '8250_pci' driver does NOT install them. You may have to restrict the number of ports the standard driver maps to achieve this by passing it the 'nr_uarts=' option. Although the modprobe tool should resolve load time module dependencies, the modules are dependent on being loaded in the following order: cti_serial_core.ko cti_8250.ko cti_8250_pci.ko For example to load the modules in a system that has multiple CTI boards, some of which are PCI or PCI-Express, and the total number of ports is 24. 'modprobe cti_8250 nr_uarts=24' The module cti_8250.ko accepts a few parameter such as: nr_uarts: Number of ports to install at runtime cti_tty_major: CTI UART TTY Major number (default is 234) disable_msr_int: Flag to disable Modem Status Interrupt. Any value greater than 0 will disable the modem signal interrupt. The driver will produce device files prefixed with 'ttyCTI', whereas the standard driver uses 'ttyS' as the prefix. Note that on Ubuntu systems (and possibly others too) it is observed that the 'make install' phase does not complete all operations as expected. If at this point modprobe complains that it cannot find the module you will need to execute the following additional command as root: 'depmod -a' Due to the behaviour of the standard serial driver PCI detection, you will need to ensure that the ports of your CTI board are not already taken by the standard serial driver before you load the CTI driver. To check for a conflict please verify that none of the MMIO listed in /proc/tty/driver/serial are found in /proc/tty/driver/ctipu. In the case where the standard serial driver is built into your kernel image you will need to append an "8250.nr_uarts=??" to your kernel command-line in order to limit the number of ports that it will map to less than the number that would cause it to map any of the ports on the CTI board. When there is no conflict over port resources, the ports will function correctly. To install Xtreme/104 boards (NOT PC/104-Plus, PCI-104, PCI/104-Express, or PCIe/104) use 'setserial' to assign resources to unassigned ports. The following is a template that can be changed for use by direct invocation of setserial, or a setserial configuration file as used by your distribution. /dev/ttyCTI[[port_index]] port [[io]] baud_base [[baud_base]] auto_irq ^skip_test autoconfig A specific example for one port will look like this for direct invocation: setserial /dev/ttyCTI0 port 0x300 baud_base 480600 auto_irq ^skip_test autoconfig or this for use in a configuration file: /dev/ttyCTI0 port 0x300 baud_base 480600 auto_irq ^skip_test autoconfig The driver will log useful information to /proc/tty/driver/ctipu. RECENT RELEASES and ENHANCEMENTS TO THE DRIVER: Revision 1.01 July 12, 2010 The following is a summary of the changes in this release: 1. 1st release. Revision 1.02 July 16, 2010 The following is a summary of the changes in this release: 1. Documentation update about conflict with standard serial driver. 2. Tweak certain printk() messages. 3. Updates to support future products. Revision 1.03 August 09, 2010 1. tweaks to support down to 2.6.26 2. Makefile tweaks Revision 1.04 September 24, 2010 1. Update driver to support XIG family Revision 1.04b September 28, 2010 1. Documentation updates. Revision 1.05 October 05, 2010 1. Further accomodations for configurations with XR16V79x UARTs. 2. Clean up certain code that deals with port indices for boards where they matter. Revision 1.06 January 28, 2011 1. Ported back to 2.6.18 Revision 1.07 March 3, 2011 1. Modified Readme example Revision 1.08 March 14, 2011 1. Set485 fixed for 64 bit. Revision 1.09 March 24, 2011 1. lock acquisition in 485 settings fixed. Revision 1.11 April 08, 2011 1. Upgraded to 2.6.37 Revision 1.12 April 14, 2011 1. Fixed Xtreme/104 for default clock prescaler CONTACTING TECHNICAL SUPPORT. If you have any problems, questions or suggestions regarding this driver and the products it supports please feel free to contact Connect Tech Inc. Connect Tech can be reached in a variety of ways: MAIL: Connect Tech Inc. 42 Arrow Road Guelph, Ontario, Canada N1K 1S6 TEL 1 519 836 1291 or 1-800-426-8979 in North America FAX 1 519 836 4878 INTERNET: Sales: firstname.lastname@example.org Tech Support: email@example.com WWW: http://www.connecttech.com Be sure to check the support section of our home page for answers to technical questions at http://www.connecttech.com. Also be sure to browse the knowledge data base. If you do not find what you are looking for, please contact the support department and let us know. We will be glad to help you.