README Driver File Contents (7000ne.zip)

DP83820 10/100/1000 PCI Ethernet Driver for VxWorks
===================================================

This release consists of an END-style driver and necessary BSP support
routines and  configuration instructions on how to add and configure
the driver with a vxWorks (Tornado 1.0.1) pc486 BSP.

Installation Instructions
-------------------------

1. The package consists of the following files.

	a. dp83820End.zip

	    o The Driver, 
		<WIND_BASE>\target\src\drv\end\dp.c
		<WIND_BASE>\target\src\drv\end\hsm.c

	    o The Makefile,
		<WIND_BASE>\target\src\drv\end\Makefile

	    o The Driver header files,  
		<WIND_BASE>\target\h\drv\end\nsm.h
		<WIND_BASE>\target\h\drv\end\nsmtypes.h
		<WIND_BASE>\target\h\drv\end\hsm.h
		<WIND_BASE>\target\h\drv\end\dp83820.h

	    o The BSP support files, 
		<WIND_BASE>\target\config\pc486Dp\config.h
		<WIND_BASE>\target\config\pc486Dp\configNet.h.boot
		<WIND_BASE>\target\config\pc486Dp\configNet.h.vx
   
	    o The object files for the driver,
		<WIND_BASE>\target\libDp\obj80486\dp.o
		<WIND_BASE>\target\libDp\obj80486\hsm.o
		
	    o This README file
   
	b. dpTest.zip

	    o Test Utility sources
		 <WIND_BASE>\test\src\brdCastGet.c
		 <WIND_BASE>\test\src\brdCastSend.c
		 <WIND_BASE>\test\src\tcpClient.c
		 <WIND_BASE>\test\src\tcpServer.c
		 <WIND_BASE>\test\src\udpClient.c
		 <WIND_BASE>\test\src\udpServer.c
		 <WIND_BASE>\test\src\vxPing.c
		 <WIND_BASE>\test\src\mcast.c
		 <WIND_BASE>\test\src\load.c

	    o The object files for test utilities
		 <WIND_BASE>\test\bin\brdCastGet.o
		 <WIND_BASE>\test\bin\brdCastSend.o
		 <WIND_BASE>\test\bin\tcpClient.o
		 <WIND_BASE>\test\bin\tcpServer.o
		 <WIND_BASE>\test\bin\udpClient.o
		 <WIND_BASE>\test\bin\udpServer.o
		 <WIND_BASE>\test\bin\vxPing.o
		 <WIND_BASE>\test\bin\mcast.o
		 <WIND_BASE>\test\bin\load.o

	c. This README file

2.  Set your environment to the tornado environment and extract the 
    dp83820End.zip in your <WIND_BASE> directory.

3.  Make the dp.o and hsm.o file.

     $ cd <WIND_BASE>\target\src\drv\end
     $ make CPU=I80486 TOOL=gnu dp.o hsm.o
     $ ar386 d <WIND_BASE>\target\lib\libI80486gnuvx.a dp.o hsm.o
     $ ar386 crus <WIND_BASE>\target\lib\libI80486gnuvx.a dp.o hsm.o

4.  Save the original version of the BSP.

     $ cd $WIND_BASE\target\config
     $ mkdir pc486.org
     $ copy pc486\* pc486.org

5.  Copy all the files from pc486Dp to the BSP directory.
 
     $ copy pc486Dp\*  pc486\
     $ cd pc486

6. FOR MAKING BOOTROM ( bootrom_uncmp )
	 
   a. Please note that in Tornado 1.0.1, for making the bootrom ( bootrom_uncmp ) 
      a Non-END class network driver should be used, for eg: the ene driver. 

   b. Edit the bootline in config.h, with host and target IP adresses.
	...
	#elif   (CPU == I80486)
	#if 1
	#define DEFAULT_BOOT_LINE \
	"ene(0,0)host:vxWorks.st h=10.1.1.1 e=10.1.1.51 u=vxworks pw=vxworks tn=vxTgt1"
	#else
	...

   NB: Please ensure that the vxWorks image is there in the appropriate place in the 
       host machine and also that the user id and password are correct.

   c. Please note that since Tornado 1.0.1 doesn't support END class drivers for bootrom, 
      we need to undefine the INCLUDE_END when making the bootrom_uncmp. This can be done 
      before the " #ifdef INCLUDE_END "  in bootConfig.c

      eg:
		#undef INCLUDE_END
		#ifdef INCLUDE_END

   d. Create a vxWorks boot floppy as described below

	o Insert a floppy in drive A

	$ cd $WIND_BASE\target\config\pc486
	$ copy configNet.h.boot configNet.h
	$ make bootrom_uncmp 
	$ mkboot a: bootrom_uncmp

7. CREATING VXWORKS IMAGE

	$ cd $WIND_BASE\target\config\pc486
	$ copy configNet.h.vx configNet.h
	$ The utilities like load.o tcpClient.o tcpServer.o vxPing.o etc can be linked 
	  with the VxWorks image similarly by putting the paths to the binaries 
	  in the makefile.

	  eg:

		   MACH_EXTRA  = <WIND_BASE>\test\bin\load.o  \
				<WIND_BASE>\test\bin\vxPing.o
		   RELEASE = vxWorks vxWorks.st bootrom_uncmp mkboot.o 

	$ make vxWorks.st

    Note: Since our dp83820 card is END class device, we need to define the INCLUDE_END 
          if undefined, when making the vxWorks Image in bootConfig.c. 

8. Boot up the vxWorks OS image using the new vxWorks boot floppy.

9. You can now connect Tornado to the target and launch target
   shells, load modules, and debug the system.


PROCEDURE FOR LOADING THE DRIVER AND CONFIGURING IP
===================================================

1. Get the device and corresponding unit number, execute

   -> muxShow. 

2. Attach the protocol to the driver, execute

   ->ipAttach(0, "dp")   

   Where, dp is the device name and '0' is the unit number.

3. To set an IP address to the interface, execute,

  
   -> ifAddrSet("dp0","10.10.10.1")

   Where, "10.10.10.1" is the IP address of the interface.


4. Once IP address has been configured the interface is ready for the 
   data transfer.


TESTING THE INTERFACE
=====================

Different utility programs are provided to test the functionality of the 
driver. 

(a) TCP tests (tcpServer.o tcpClient.o )
(b) UDP tests (udpServer.o udpClient.o )
(c) PING      ( vxPing.o ) 
(d) Multicast ( mcast.o )
(e) Broadcast ( brdCastGet.o brdCastSend.o )

The procedure for using these utilities are explained in the comments of 
the corresponding files, except for Multicast.

For Multicast,

1. Get the 2 targets ready for the multicast testing.

2. Load the driver on both the targets, t1 and t2.

3. Configure ip address for both the targets, say 10.10.10.1 and 10.10.10.2 

4. Run "mcR" on t2.

   -> mcR

5. On t1, add the route to the multicast address "224.1.0.1" through the 
   IP address of t1.

  
   -> routeAdd("224.1.0.1","10.10.10.1")

6. On t1, execute mcS

   -> mcS

For Jumbo frames,

1. The #define called NUM_OF_JUMBO_CLUSTERS in the nsm.h file should be 
   given an appropriate value, by default it has a value of 0. If jumbo 
   frames have to be enabled, then this should have a non-zero value. 

2. The value of the DEV_MTU_SIZE in the nsm.h file should be changed to 
   reflect the desired MTU size, for sane operation, this can be raised up 
   to 8000 bytes. By default it has a value of ETHERMTU which is equal to 
   1500.


TUNABLES 
========
 
1. TX_QUEUE_SZ in nsm.h represent the transmit queue size or the number 
   of descriptors. By default this is 100. 

2. RX_QUEUE_SZ in nsm.h represent the receive queue size or the number 
   of descriptors on the receive side. By default this is 100. 

THE SUPPORTED FEATURES
======================

(a) Jumbo frames - upto 8000 bytes for sane operation
(b) Multicast
(c) Multicard - Supported in the driver, but will not be supported by 
    Tornado 1.0.1, so will have to go for a upgrade to Tornado 2.0

FUNCTIONALITY TESTING DONE FOR
==============================

(a) TCP
(b) UDP
(c) Ping ( ICMP )
(d) Routing
(e) Multicasting
(f) Jumbo frames
Download Driver Pack

How To Update Drivers Manually

After your driver has been downloaded, follow these simple steps to install it.

  • Expand the archive file (if the download file is in zip or rar format).

  • If the expanded file has an .exe extension, double click it and follow the installation instructions.

  • Otherwise, open Device Manager by right-clicking the Start menu and selecting Device Manager.

  • Find the device and model you want to update in the device list.

  • Double-click on it to open the Properties dialog box.

  • From the Properties dialog box, select the Driver tab.

  • Click the Update Driver button, then follow the instructions.

Very important: You must reboot your system to ensure that any driver updates have taken effect.

For more help, visit our Driver Support section for step-by-step videos on how to install drivers for every file type.

server: web3, load: 1.95