============================================================================
ASIX AX88179_178A USB 3.0/2.0 Gigabit Ethernet Network Adapter
Driver Compilation & Configuration on the Linux
============================================================================

==================
Revision History :
==================
Version 1.8.0		Oct. 24, 2013
 * Fixed Half-Duplex mode initialzation setting

Version 1.7.0		Oct. 21, 2013
 * Add VID:DID for Samsung USB Ethernet Adapter
 * Fixed the "link message" issue in force mode.

Version 1.6.0		Oct. 8, 2013
 * Fixed the definition of RX header error
 * Rename asix.h to ax88179_178a.h

Version 1.5.0		Aug. 5, 2013
 * Disable TSO and SG network features in default setting.
   The "Large Send" function can be enabled by the following command.
   ~/ethtool -K ethX sg on tso on
 * Added Lenovo VID:DID 17ef:304b.
 * Added Toshiba VID:DID 0930:0a13.

Version 1.4.0		Feb. 26, 2013
 * Fixed RX checksum errors issue
 * Fixed RX hungup issue during long time iperf heavy traffic test
 * Support Big-endian systems
 * Fixed the default MTU to 1500
 * Added the ax88179_change_mtu function to support Jumbo Frame
 * Removed linkup variable from the driver private data structure.
 * Added netif_carrier_on function in ax88179_status.
 * Added bsize and ifg driver parameters. 
 * Removed AX_Suspend and AX_Resume

Version 1.3.0		Dec. 13, 2012
 * Modified bulk in parameter to improve the throughput on ARM.
 * Fixed suspend/resume issue on ARM.
 * Fixed down/up network interface issue on ARM.
 * Added Sitecom VID:DID 0df6:0072.
 * Removed checking mii_err in rx_fixup function to 
   avoid packet loss under some circumstances.
 * Modified the ax88179_link_reset function.

Version 1.2.0		Aug. 28, 2012
 * Modified the ax88179_link_reset function.
 * Implemented the auto detach function.
 * Supported the AX88178A device.
 * Fixed the media change issue.
 * Fixed the wakeup issue by modified the clock select register.

Version 1.1.0		Jun. 06, 2012
 * Modified the ax88179_led_setting function.
 * Fixups the ethtool_ops struct for compilation issues in newest kernel version 3.3.0. 
 * Fixups the net_device_ops struct for compilation issues in newest kernel version 3.2.0. 
 * Implemented the Rx Bulk In Queue size parameter.

Version	1.0.0 Beta	Jan. 4, 2012
 * Initial release.

================
Prerequisites
================

Prepare to build the driver, you need the Linux kernel sources installed on the
build machine, and make sure that the version of the running kernel must match
the installed kernel sources. If you don't have the kernel sources, you can get
it from www.kernel.org or contact to your Linux distributor. If you don't know
how to do, please refer to KERNEL-HOWTO.

Note: Please make sure the kernel is built with one of the "Support for
       Host-side, EHCI, OHCI, or UHCI" option support.

================
File Description
================
README		This file
ax88179_178a.c	AX88179_178A Linux driver main file
axix.h		AX88179_178A Linux driver header file
Makefile	AX88179_178A driver make file
COPYING	GNU GERNERAL LICENSE

===========================
Conditional Compilation Flag
===========================

================
Getting Start
================

1. Extract the compressed driver source file to your template directory by the
   following command:

	[root@localhost template]# tar -xf DRIVER_SOURCE_PACKAGE.tar.bz2

2. Now, the driver source files should be extracted under the current directory.
   Executing the following command to compile the driver:
 
	[root@localhost template]# make
			
3. If the compilation is well, the ax88179_178a.ko will be created under the current
   directory.
 
4. If you want to use modprobe command to mount the driver, executing the
   following command to install the driver into your Linux:

	[root@localhost template]# make install


================
Usage
================

1. If you want to load the driver manually, go to the driver directory and
   execute the following commands:

	[root@localhost template]# modprobe usbnet
	[root@localhost template]# insmod ax88179_178a.ko

If you want to unload the driver, just executing the following command:

	[root@localhost anywhere]# rmmod axax88179_178a

===============
DRIVER PARAMETERS
===============
The following parameters can be set when using insmod.

msg_enable=0xNNNNNNN
	specifies the msg_enable of usbnet.

example: insmod ax88179_178a.ko msg_enable=0x00000000


bszie=xx (0~24)
	specifies the the Rx Bulk In Queue size(KB).
	The maximum value for this parameters is 24. 
	The default value is 0 that will use the driver default setting.

ifg=xxx (0~255)
	specifies the the Rx Bulk In Queue Inter-Frame-Gap timer. (The timer's unit is 0.25us)
	The maximum value for this parameters is 255.
	The default value is 0 that will use the driver default setting.
		
example: insmod ax88179_178a.ko bszie=12
