19633a0e9SJakub Kicinski.. SPDX-License-Identifier: GPL-2.0
29633a0e9SJakub Kicinski
39633a0e9SJakub Kicinski==================================
49633a0e9SJakub KicinskiATM (i)Chip IA Linux Driver Source
59633a0e9SJakub Kicinski==================================
69633a0e9SJakub Kicinski
7*a266ef69SRandy Dunlap			      READ ME FIRST
89633a0e9SJakub Kicinski
99633a0e9SJakub Kicinski--------------------------------------------------------------------------------
109633a0e9SJakub Kicinski
119633a0e9SJakub Kicinski		     Read This Before You Begin!
129633a0e9SJakub Kicinski
139633a0e9SJakub Kicinski--------------------------------------------------------------------------------
149633a0e9SJakub Kicinski
159633a0e9SJakub KicinskiDescription
169633a0e9SJakub Kicinski===========
179633a0e9SJakub Kicinski
189633a0e9SJakub KicinskiThis is the README file for the Interphase PCI ATM (i)Chip IA Linux driver
199633a0e9SJakub Kicinskisource release.
209633a0e9SJakub Kicinski
219633a0e9SJakub KicinskiThe features and limitations of this driver are as follows:
229633a0e9SJakub Kicinski
239633a0e9SJakub Kicinski    - A single VPI (VPI value of 0) is supported.
249633a0e9SJakub Kicinski    - Supports 4K VCs for the server board (with 512K control memory) and 1K
259633a0e9SJakub Kicinski      VCs for the client board (with 128K control memory).
269633a0e9SJakub Kicinski    - UBR, ABR and CBR service categories are supported.
279633a0e9SJakub Kicinski    - Only AAL5 is supported.
289633a0e9SJakub Kicinski    - Supports setting of PCR on the VCs.
299633a0e9SJakub Kicinski    - Multiple adapters in a system are supported.
309633a0e9SJakub Kicinski    - All variants of Interphase ATM PCI (i)Chip adapter cards are supported,
319633a0e9SJakub Kicinski      including x575 (OC3, control memory 128K , 512K and packet memory 128K,
329633a0e9SJakub Kicinski      512K and 1M), x525 (UTP25) and x531 (DS3 and E3). See
339633a0e9SJakub Kicinski      http://www.iphase.com/
349633a0e9SJakub Kicinski      for details.
359633a0e9SJakub Kicinski    - Only x86 platforms are supported.
369633a0e9SJakub Kicinski    - SMP is supported.
379633a0e9SJakub Kicinski
389633a0e9SJakub Kicinski
399633a0e9SJakub KicinskiBefore You Start
409633a0e9SJakub Kicinski================
419633a0e9SJakub Kicinski
429633a0e9SJakub Kicinski
439633a0e9SJakub KicinskiInstallation
449633a0e9SJakub Kicinski------------
459633a0e9SJakub Kicinski
469633a0e9SJakub Kicinski1. Installing the adapters in the system
479633a0e9SJakub Kicinski
489633a0e9SJakub Kicinski   To install the ATM adapters in the system, follow the steps below.
499633a0e9SJakub Kicinski
509633a0e9SJakub Kicinski       a. Login as root.
519633a0e9SJakub Kicinski       b. Shut down the system and power off the system.
529633a0e9SJakub Kicinski       c. Install one or more ATM adapters in the system.
539633a0e9SJakub Kicinski       d. Connect each adapter to a port on an ATM switch. The green 'Link'
549633a0e9SJakub Kicinski	  LED on the front panel of the adapter will be on if the adapter is
559633a0e9SJakub Kicinski	  connected to the switch properly when the system is powered up.
569633a0e9SJakub Kicinski       e. Power on and boot the system.
579633a0e9SJakub Kicinski
589633a0e9SJakub Kicinski2. [ Removed ]
599633a0e9SJakub Kicinski
609633a0e9SJakub Kicinski3. Rebuild kernel with ABR support
619633a0e9SJakub Kicinski
629633a0e9SJakub Kicinski   [ a. and b. removed ]
639633a0e9SJakub Kicinski
649633a0e9SJakub Kicinski    c. Reconfigure the kernel, choose the Interphase ia driver through "make
659633a0e9SJakub Kicinski       menuconfig" or "make xconfig".
669633a0e9SJakub Kicinski    d. Rebuild the kernel, loadable modules and the atm tools.
679633a0e9SJakub Kicinski    e. Install the new built kernel and modules and reboot.
689633a0e9SJakub Kicinski
699633a0e9SJakub Kicinski4. Load the adapter hardware driver (ia driver) if it is built as a module
709633a0e9SJakub Kicinski
719633a0e9SJakub Kicinski       a. Login as root.
729633a0e9SJakub Kicinski       b. Change directory to /lib/modules/<kernel-version>/atm.
739633a0e9SJakub Kicinski       c. Run "insmod suni.o;insmod iphase.o"
749633a0e9SJakub Kicinski	  The yellow 'status' LED on the front panel of the adapter will blink
759633a0e9SJakub Kicinski	  while the driver is loaded in the system.
769633a0e9SJakub Kicinski       d. To verify that the 'ia' driver is loaded successfully, run the
779633a0e9SJakub Kicinski	  following command::
789633a0e9SJakub Kicinski
799633a0e9SJakub Kicinski	      cat /proc/atm/devices
809633a0e9SJakub Kicinski
819633a0e9SJakub Kicinski	  If the driver is loaded successfully, the output of the command will
829633a0e9SJakub Kicinski	  be similar to the following lines::
839633a0e9SJakub Kicinski
849633a0e9SJakub Kicinski	      Itf Type    ESI/"MAC"addr AAL(TX,err,RX,err,drop) ...
859633a0e9SJakub Kicinski	      0   ia      xxxxxxxxx  0 ( 0 0 0 0 0 )  5 ( 0 0 0 0 0 )
869633a0e9SJakub Kicinski
879633a0e9SJakub Kicinski	  You can also check the system log file /var/log/messages for messages
889633a0e9SJakub Kicinski	  related to the ATM driver.
899633a0e9SJakub Kicinski
909633a0e9SJakub Kicinski5. Ia Driver Configuration
919633a0e9SJakub Kicinski
929633a0e9SJakub Kicinski5.1 Configuration of adapter buffers
939633a0e9SJakub Kicinski    The (i)Chip boards have 3 different packet RAM size variants: 128K, 512K and
949633a0e9SJakub Kicinski    1M. The RAM size decides the number of buffers and buffer size. The default
959633a0e9SJakub Kicinski    size and number of buffers are set as following:
969633a0e9SJakub Kicinski
979633a0e9SJakub Kicinski	=========  =======  ======   ======   ======   ======   ======
989633a0e9SJakub Kicinski	 Total     Rx RAM   Tx RAM   Rx Buf   Tx Buf   Rx buf   Tx buf
999633a0e9SJakub Kicinski	 RAM size  size     size     size     size     cnt      cnt
1009633a0e9SJakub Kicinski	=========  =======  ======   ======   ======   ======   ======
1019633a0e9SJakub Kicinski	   128K      64K      64K      10K      10K       6        6
1029633a0e9SJakub Kicinski	   512K     256K     256K      10K      10K      25       25
1039633a0e9SJakub Kicinski	     1M     512K     512K      10K      10K      51       51
1049633a0e9SJakub Kicinski	=========  =======  ======   ======   ======   ======   ======
1059633a0e9SJakub Kicinski
1069633a0e9SJakub Kicinski       These setting should work well in most environments, but can be
1079633a0e9SJakub Kicinski       changed by typing the following command::
1089633a0e9SJakub Kicinski
1099633a0e9SJakub Kicinski	   insmod <IA_DIR>/ia.o IA_RX_BUF=<RX_CNT> IA_RX_BUF_SZ=<RX_SIZE> \
1109633a0e9SJakub Kicinski		   IA_TX_BUF=<TX_CNT> IA_TX_BUF_SZ=<TX_SIZE>
1119633a0e9SJakub Kicinski
1129633a0e9SJakub Kicinski       Where:
1139633a0e9SJakub Kicinski
1149633a0e9SJakub Kicinski	    - RX_CNT = number of receive buffers in the range (1-128)
1159633a0e9SJakub Kicinski	    - RX_SIZE = size of receive buffers in the range (48-64K)
1169633a0e9SJakub Kicinski	    - TX_CNT = number of transmit buffers in the range (1-128)
1179633a0e9SJakub Kicinski	    - TX_SIZE = size of transmit buffers in the range (48-64K)
1189633a0e9SJakub Kicinski
1199633a0e9SJakub Kicinski	    1. Transmit and receive buffer size must be a multiple of 4.
1209633a0e9SJakub Kicinski	    2. Care should be taken so that the memory required for the
1219633a0e9SJakub Kicinski	       transmit and receive buffers is less than or equal to the
1229633a0e9SJakub Kicinski	       total adapter packet memory.
1239633a0e9SJakub Kicinski
1249633a0e9SJakub Kicinski5.2 Turn on ia debug trace
1259633a0e9SJakub Kicinski
1269633a0e9SJakub Kicinski    When the ia driver is built with the CONFIG_ATM_IA_DEBUG flag, the driver
1279633a0e9SJakub Kicinski    can provide more debug trace if needed. There is a bit mask variable,
1289633a0e9SJakub Kicinski    IADebugFlag, which controls the output of the traces. You can find the bit
1299633a0e9SJakub Kicinski    map of the IADebugFlag in iphase.h.
1309633a0e9SJakub Kicinski    The debug trace can be turn on through the insmod command line option, for
1319633a0e9SJakub Kicinski    example, "insmod iphase.o IADebugFlag=0xffffffff" can turn on all the debug
1329633a0e9SJakub Kicinski    traces together with loading the driver.
1339633a0e9SJakub Kicinski
1349633a0e9SJakub Kicinski6. Ia Driver Test Using ttcp_atm and PVC
1359633a0e9SJakub Kicinski
1369633a0e9SJakub Kicinski   For the PVC setup, the test machines can either be connected back-to-back or
1379633a0e9SJakub Kicinski   through a switch. If connected through the switch, the switch must be
1389633a0e9SJakub Kicinski   configured for the PVC(s).
1399633a0e9SJakub Kicinski
1409633a0e9SJakub Kicinski   a. For UBR test:
1419633a0e9SJakub Kicinski
1429633a0e9SJakub Kicinski      At the test machine intended to receive data, type::
1439633a0e9SJakub Kicinski
1449633a0e9SJakub Kicinski	 ttcp_atm -r -a -s 0.100
1459633a0e9SJakub Kicinski
1469633a0e9SJakub Kicinski      At the other test machine, type::
1479633a0e9SJakub Kicinski
1489633a0e9SJakub Kicinski	 ttcp_atm -t -a -s 0.100 -n 10000
1499633a0e9SJakub Kicinski
1509633a0e9SJakub Kicinski      Run "ttcp_atm -h" to display more options of the ttcp_atm tool.
1519633a0e9SJakub Kicinski   b. For ABR test:
1529633a0e9SJakub Kicinski
1539633a0e9SJakub Kicinski      It is the same as the UBR testing, but with an extra command option::
1549633a0e9SJakub Kicinski
1559633a0e9SJakub Kicinski	 -Pabr:max_pcr=<xxx>
1569633a0e9SJakub Kicinski
1579633a0e9SJakub Kicinski      where:
1589633a0e9SJakub Kicinski
1599633a0e9SJakub Kicinski	     xxx = the maximum peak cell rate, from 170 - 353207.
1609633a0e9SJakub Kicinski
1619633a0e9SJakub Kicinski      This option must be set on both the machines.
1629633a0e9SJakub Kicinski
1639633a0e9SJakub Kicinski   c. For CBR test:
1649633a0e9SJakub Kicinski
1659633a0e9SJakub Kicinski      It is the same as the UBR testing, but with an extra command option::
1669633a0e9SJakub Kicinski
1679633a0e9SJakub Kicinski	 -Pcbr:max_pcr=<xxx>
1689633a0e9SJakub Kicinski
1699633a0e9SJakub Kicinski      where:
1709633a0e9SJakub Kicinski
1719633a0e9SJakub Kicinski	     xxx = the maximum peak cell rate, from 170 - 353207.
1729633a0e9SJakub Kicinski
1739633a0e9SJakub Kicinski      This option may only be set on the transmit machine.
1749633a0e9SJakub Kicinski
1759633a0e9SJakub Kicinski
1769633a0e9SJakub KicinskiOutstanding Issues
1779633a0e9SJakub Kicinski==================
1789633a0e9SJakub Kicinski
1799633a0e9SJakub Kicinski
1809633a0e9SJakub Kicinski
1819633a0e9SJakub KicinskiContact Information
1829633a0e9SJakub Kicinski-------------------
1839633a0e9SJakub Kicinski
1849633a0e9SJakub Kicinski::
1859633a0e9SJakub Kicinski
1869633a0e9SJakub Kicinski     Customer Support:
1879633a0e9SJakub Kicinski	 United States:	Telephone:	(214) 654-5555
1889633a0e9SJakub Kicinski			Fax:		(214) 654-5500
1899633a0e9SJakub Kicinski			E-Mail:		intouch@iphase.com
1909633a0e9SJakub Kicinski	 Europe:	Telephone:	33 (0)1 41 15 44 00
1919633a0e9SJakub Kicinski			Fax:		33 (0)1 41 15 12 13
1929633a0e9SJakub Kicinski     World Wide Web:	http://www.iphase.com
1939633a0e9SJakub Kicinski     Anonymous FTP:	ftp.iphase.com
194