Installation Notes for END GE Driver ------------------------------------- Version : 1.2 Release date : 2007-09-25 To build into kernel: ===================== See vxWorks documentation to build driver into kernel. Please use the ccGeEndxxx.a Lib file for this. Where xxx=X86 for X86 HCC xxx=18x for SVME/DMV-181/182/183 HCC xxx=Mv5100 for Motorola MVME-5100 HCC 1. Copy ccGeEndxxx.a to your BSP library directory (eg /tornado/target/config/svme179/lib). 2. Edit the Makefile in the BSP directory (eg /tornado/target/config/mvme). Find the line MACH_EXTRA = and replace with MACH_EXTRA = ./lib/ccGeEndxxx.a 3. Add the following code fragment to config.h (before "#define DEFAULT_BOOT_LINE"): /*Added by CCII for GE driver*/ #define INCLUDE_CCGE_END /* CCII GE END DRIVER */ /* CCII Modification */ #ifdef INCLUDE_CCGE_END #ifndef INCLUDE_PCI #define INCLUDE_PCI #endif #ifdef INCLUDE_BSD #undef INCLUDE_BSD #endif #ifndef INCLUDE_END #define INCLUDE_END #endif #endif /*End CCII Modification */ 4. In config.h, change the DEFAULT_BOOT_LINE to use the CCII GE driver. 5. Add the following to configNet.h (Before the start of the endDevTbl[] declaration.) IMPORT END_OBJ * geLoad (char *initString); (Add the following segment to the endDevTbl[] , before the default last entry.) #ifdef INCLUDE_CCGE_END { 0, geLoad, "", NULL, NULL, FALSE}, #endif /* INCLUDE_CCGE_END */ 6. Rebuild all vxWorks images. To load separately: =================== From the vxWorks shell type: ld < ccGeEndxxx.a Starting the driver manually: ============================ The driver is started with the muxDevLoad and muxDevStart commands. The syntax is as follows: muxDevStart ( muxDevLoad ( unit, geLoad, "", 0, 0 )) where: unit must be 0 for first adaptor and 1 for second adaptor.(Only one adapter is supported per Host Carrier Card) This is only necessary if the driver was not include in the configNet.h file. Type 'muxShow' to see if the driver was installed. To attach the driver to the TCP/IP protocol: ipAttach ( unit, "ccge" ) To set the IP address use ifAddrSet eg ifAddrSet "ccge0" , "10.0.0.5" Adding support for large UDP packets: ===================================== In order to transmit large UDP packets, the VxWorks "Network Stack Memory Pool Configuration" has to be changed to add larger data clusters. The procedure for doing this differs between VxWorks 5.5 and VxWorks 6.x . 1. Procedure for VxWorks 5.5 (if building target images using Tornado): This configuration change can't be performed from the Tornado Project GUI itself. The file {tornado}/target/config/comps/src/net/usrNetLib.c needs to be changed as in the following example: ======== /* OVS: added these lines to add larger Network Data Pool clusters to the VxWorks image */ /* OVS: To restore file to original config, simply delete all lines marked "OVS" */ /* OVS */ #undef NUM_CL_BLKS /* OVS */ #define NUM_CL_BLKS (NUM_64 + NUM_128 + NUM_256 + NUM_512 + NUM_1024 + NUM_2048 + NUM_4096 + NUM_8192 + NUM_16384 + NUM_32768 + NUM_65536) /* OVS */ #undef NUM_64 /* OVS */ #define NUM_64 100 /* OVS */ #undef NUM_128 /* OVS */ #define NUM_128 100 /* OVS */ #undef NUM_256 /* OVS */ #define NUM_256 40 /* OVS */ #undef NUM_512 /* OVS */ #define NUM_512 40 /* OVS */ #undef NUM_1024 /* OVS */ #define NUM_1024 25 /* OVS */ #undef NUM_2048 /* OVS */ #define NUM_2048 25 /* OVS */ #define NUM_4096 10 /* OVS */ #define NUM_8192 10 /* OVS */ #define NUM_16384 10 /* OVS */ #define NUM_32768 10 /* OVS */ #define NUM_65536 10 /* OVS */ #undef NUM_NET_MBLKS /* OVS */ #define NUM_NET_MBLKS (2* NUM_CL_BLKS) CL_DESC clDescTbl [] = { /* clusterSize num memArea memSize ----------- ---- ------- ------- */ {64, NUM_64, NULL, 0}, {128, NUM_128, NULL, 0}, {256, NUM_256, NULL, 0}, {512, NUM_512, NULL, 0}, {1024, NUM_1024, NULL, 0}, {2048, NUM_2048, NULL, 0}, /* OVS */ {4096, NUM_4096, NULL, 0}, /* OVS */ {8192, NUM_8192, NULL, 0}, /* OVS */ {16384, NUM_16384, NULL, 0}, /* OVS */ {32768, NUM_32768, NULL, 0}, /* OVS */ {65536, NUM_65536, NULL, 0} }; ======= In the example above we've added 10 clusters each of 4096, 8192, 16384, 32768 and 65536 bytes. Depending on the availability of memory resources, the number of clusters can be adjusted. A new VxWorks target image has to be built for these changes to take effect. 2. Procedure for VxWorks 5.5 (if building target images using the command line): If you are using the command line to build your VxWorks target images, the relevant file to edit will be {tornado}/target/src/config/usrNetwork.c (not usrNetLib.c). The basic procedure and changes are the same as in the previous example. A new VxWorks target image has to be built for these changes to take effect. 3. Procedure for VxWorks 6.x (if building target images using the Workbench IDE): The Network Stack Memory Configuration can be reconfigured in the Workbench IDE for your VxWorks 6.x target images. Under the Project Navigator tab, double click on Kernel Configuration for the current VxWorks image project. In the Component configuration window, expand and select the "Network Components > Network Core Components > Network Stack Memory Pool Configuration" branch and change the relevant Property Values to include additional (larger than 2048 bytes) clusters. A new VxWorks target image has to be built for these changes to take effect.