====== Marconi (formally Fore) PCA-200E PC nic -- Centos 6.5 ====== Work done on Centos 6.5, see this page for Ubuntu 12.04:- FIXME ===== Driver and firmware ===== Driver fore_200e is not included in stock Centos kernel, but is available in ''kernel.i686 0:2.6.32-431.23.3.el6.centos.plus'' This can be installed by enabling Centos Plus in the repo directory. After a reboot, ''# uname -a'' gives:- ''Linux neptune.rainsbrook.xxx 2.6.32-431.23.3.el6.centos.plus.i686'' lsmod shows:- fore_200e 21189 0 atm 38492 1 fore_200e But dmesg shows:- [root@neptune ~]# dmesg | grep fore fore200e: FORE Systems 200E-series ATM driver - version 0.3e fore_200e 0000:01:0b.0: PCI INT A -> GSI 21 (level, low) -> IRQ 21 fore200e: device PCA-200E found at 0xcfc00000, IRQ 21 fore200e: device PCA-200E-0 self-test passed fore_200e 0000:01:0b.0: firmware: requesting pca200e.bin fore200e: problem loading firmware image PCA-200E fore200e: removing device PCA-200E-0 at 0xcfc00000, IRQ 21 fore_200e 0000:01:0b.0: PCI INT A disabled [root@neptune ~]# Turns out that no firmware was available to load (strace is your friend to see this) [root@neptune ~]# cp /home/andrew/Downloads/atm/pca200e-0.4/pca200e.bin /lib/firmware [root@neptune ~]# rmmod fore_200e [root@neptune ~]# modprobe fore_200e [root@neptune ~]# [root@neptune ~]# dmesg -c fore200e: FORE Systems 200E-series ATM driver - version 0.3e fore_200e 0000:01:0b.0: PCI INT A -> GSI 21 (level, low) -> IRQ 21 fore200e: device PCA-200E found at 0xcfc00000, IRQ 21 fore200e: device PCA-200E-0 self-test passed fore_200e 0000:01:0b.0: firmware: requesting pca200e.bin fore200e: device PCA-200E-0 firmware started fore200e: device PCA-200E-0 initialized fore200e: device PCA-200E-0, rev. A, S/N: 2380, ESI: 00:20:48:40:09:4c fore200e: IRQ 21 reserved for device PCA-200E-0 [root@neptune ~]# Card now appears to work OK! [root@neptune ~]# cat /proc/net/atm/pca200e\:0 device: internal name: PCA-200E-0 PCI bus/slot/function: 1/11/0 interrupt line: 21 physical base address: 0xcfc00000 virtual base address: 0xfb000000 factory address (ESI): 00:20:48:40:09:4c board serial number: 2380 ===== ATM signalling and ilmi ===== Now trying to initialise the card seems to work:- [root@neptune ~]# atmsigd -u uni31+uni30 -l /var/log/atm/atmsigd.log -m user -b -d [root@neptune ~]# ilmid -b -d -v -l /var/log/atm/ilmid.log -u 3.1 gives this on a Marconi ASX200bx switch when plugged in to port 1a1:- asx200-01:signalling ilmi-> show Port VPI Organizational Scope 1A1 0 global ATM Address: 0x47.0005.80.ffe100.0000.f21a.432e.00204840094c.00 asx200-01:signalling ilmi-> At the Linux end, you see asx version of ilmidiag [root@neptune ~]# ilmidiag Ilmi Uni VPI VCI Ilmi Version Version Bits Bits State --------------------------------------------------------------------------- 4.0 3.1 0 9 Up Remote Remote Remote Remote Port Id Port Name Sysname Contact --------------------------------------------------------------------------- 0 1A1 asx200-01 Helpdesk@rainsbrook.co.uk [root@neptune ~]# Plugged in to port 17.1 on an [[networking:ibm8265|ibm8265]], the Linux end shows some stats:- [root@neptune ~]# ilmidiag Ilmi Uni VPI VCI Ilmi Version Version Bits Bits State --------------------------------------------------------------------------- 4.0 3.1 0 10 Up Remote Remote Remote Remote Port Id Port Name Sysname Contact --------------------------------------------------------------------------- 1701 at1701 ibm8265_01 [root@neptune ~]# ===== LANE Woes ===== [root@neptune ~]# zeppelin -b -e 00-20-48-40-09-4c -n BMH_MAIN -m ffff -i lec0 -F /var/log/atm/zeppelin.log Aug 25 23:47:10.450738 zeppelin:main.c: Invalid ESI format Usage: zeppelin [-c LECS_address | -s LES_address] [-e esi] [-n VLAN_name] [-m mesg_mask] [-l listen_address | selector] [-i interface_number] [-I physical_interface_number] [-t 1516|1580|4544|9234|18190] [-1] [-2] [-p] [-F logfile] [-f Fore specific name] [root@neptune ~]# [root@neptune ~]# [root@neptune ~]# zeppelin -b -e 00:20:48:40:09:4c -n BMH_MAIN -m ffff -i lec0 -F /var/log/atm/zeppelin.log Aug 25 23:47:32.619777 zeppelin:main.c: Vlan name :'BMH_MAIN' Aug 25 23:47:32.620076 zeppelin:main.c: Invalid interface number Usage: zeppelin [-c LECS_address | -s LES_address] [-e esi] [-n VLAN_name] [-m mesg_mask] [-l listen_address | selector] [-i interface_number] [-I physical_interface_number] [-t 1516|1580|4544|9234|18190] [-1] [-2] [-p] [-F logfile] [-f Fore specific name] [root@neptune ~]# [root@neptune ~]# [root@neptune ~]# zeppelin -b -e 00:20:48:40:09:4c -n BMH_MAIN -m ffff -F /var/log/atm/zeppelin.log Aug 25 23:47:42.995778 zeppelin:main.c: Vlan name :'BMH_MAIN' System locks up at this point.... log file useless:- [root@neptune ~]# tail -f /var/log/atm/zeppelin.log Aug 25 23:47:42.996184 zeppelin:main.c: logfile set to /var/log/atm/zeppelin.log This page has been accessed for:- \\ Today: {{counter|today}} \\ Yesterday: {{counter|yesterday}} \\ Until now: {{counter|total}} \\