241 lines
		
	
	
		
			7.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			241 lines
		
	
	
		
			7.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| ================================================================================
 | |
| 			README for Libertas
 | |
| 
 | |
|  (c) Copyright © 2003-2006, Marvell International Ltd.
 | |
|  All Rights Reserved
 | |
| 
 | |
|  This software file (the "File") is distributed by Marvell International
 | |
|  Ltd. under the terms of the GNU General Public License Version 2, June 1991
 | |
|  (the "License").  You may use, redistribute and/or modify this File in
 | |
|  accordance with the terms and conditions of the License, a copy of which
 | |
|  is available along with the File in the license.txt file or by writing to
 | |
|  the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
 | |
|  02111-1307 or on the worldwide web at http://www.gnu.org/licenses/gpl.txt.
 | |
| 
 | |
|  THE FILE IS DISTRIBUTED AS-IS, WITHOUT WARRANTY OF ANY KIND, AND THE
 | |
|  IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE
 | |
|  ARE EXPRESSLY DISCLAIMED.  The License provides additional details about
 | |
|  this warranty disclaimer.
 | |
| ================================================================================
 | |
| 
 | |
| =====================
 | |
| DRIVER LOADING
 | |
| =====================
 | |
| 
 | |
| 	o. Copy the firmware image (e.g. usb8388.bin) to /lib/firmware/
 | |
| 
 | |
| 	o. Load driver by using the following command:
 | |
| 
 | |
| 		insmod usb8388.ko [fw_name=usb8388.bin]
 | |
| 
 | |
| =========================
 | |
| ETHTOOL
 | |
| =========================
 | |
| 
 | |
| 
 | |
| Use the -i option to retrieve version information from the driver.
 | |
| 
 | |
| # ethtool -i eth0
 | |
| driver: libertas
 | |
| version: COMM-USB8388-318.p4
 | |
| firmware-version: 5.110.7
 | |
| bus-info:
 | |
| 
 | |
| Use the -e option to read the EEPROM contents of the card.
 | |
| 
 | |
| 	Usage:
 | |
| 	ethtool -e ethX [raw on|off] [offset N] [length N]
 | |
| 
 | |
|        -e     retrieves and prints an EEPROM dump for the  specified  ethernet
 | |
|               device.   When raw is enabled, then it dumps the raw EEPROM data
 | |
|               to stdout. The length and offset parameters allow  dumping  cer-
 | |
|               tain portions of the EEPROM.  Default is to dump the entire EEP-
 | |
|               ROM.
 | |
| 
 | |
| # ethtool -e eth0 offset 0 length 16
 | |
| Offset          Values
 | |
| ------          ------
 | |
| 0x0000          38 33 30 58 00 00 34 f4 00 00 10 00 00 c4 17 00
 | |
| 
 | |
| ========================
 | |
| DEBUGFS COMMANDS
 | |
| ========================
 | |
| 
 | |
| those commands are used via debugfs interface
 | |
| 
 | |
| ===========
 | |
| rdmac
 | |
| rdbbp
 | |
| rdrf
 | |
| 	These commands are used to read the MAC, BBP and RF registers from the
 | |
| 	card.  These commands take one parameter that specifies the offset
 | |
| 	location that is to be read.  This parameter must be specified in
 | |
| 	hexadecimal (its possible to precede preceding the number with a "0x").
 | |
| 
 | |
| 	Path: /sys/kernel/debug/libertas_wireless/ethX/registers/
 | |
| 
 | |
| 	Usage:
 | |
| 		echo "0xa123" > rdmac ; cat rdmac
 | |
| 		echo "0xa123" > rdbbp ; cat rdbbp
 | |
| 		echo "0xa123" > rdrf ; cat rdrf
 | |
| wrmac
 | |
| wrbbp
 | |
| wrrf
 | |
| 	These commands are used to write the MAC, BBP and RF registers in the
 | |
| 	card.  These commands take two parameters that specify the offset
 | |
| 	location and the value that is to be written. This parameters must
 | |
| 	be specified in hexadecimal (its possible to precede the number
 | |
| 	with a "0x").
 | |
| 
 | |
| 	Usage:
 | |
| 		echo "0xa123 0xaa" > wrmac
 | |
| 		echo "0xa123 0xaa" > wrbbp
 | |
| 		echo "0xa123 0xaa" > wrrf
 | |
| 
 | |
| sleepparams
 | |
| 	This command is used to set the sleepclock configurations
 | |
| 
 | |
| 	Path: /sys/kernel/debug/libertas_wireless/ethX/
 | |
| 
 | |
| 	Usage:
 | |
| 		cat sleepparams: reads the current sleepclock configuration
 | |
| 
 | |
| 		echo "p1 p2 p3 p4 p5 p6" > sleepparams: writes the sleepclock configuration.
 | |
| 
 | |
| 		where:
 | |
| 			p1 is Sleep clock error in ppm (0-65535)
 | |
| 			p2 is Wakeup offset in usec (0-65535)
 | |
| 			p3 is Clock stabilization time in usec (0-65535)
 | |
| 			p4 is Control periodic calibration (0-2)
 | |
| 			p5 is Control the use of external sleep clock (0-2)
 | |
| 			p6 is reserved for debug (0-65535)
 | |
| 
 | |
| subscribed_events
 | |
| 
 | |
| 	The subscribed_events directory contains the interface for the
 | |
| 	subscribed events API.
 | |
| 
 | |
| 	Path: /sys/kernel/debug/libertas_wireless/ethX/subscribed_events/
 | |
| 
 | |
| 	Each event is represented by a filename. Each filename consists of the
 | |
| 	following three fields:
 | |
| 	Value Frequency Subscribed
 | |
| 
 | |
| 	To read the current values for a given event, do:
 | |
| 		cat event
 | |
| 	To set the current values, do:
 | |
| 		echo "60 2 1" > event
 | |
| 
 | |
| 	Frequency field specifies the reporting frequency for this event.
 | |
| 	If it is set to 0, then the event is reported only once, and then
 | |
| 	automatically unsubscribed. If it is set to 1, then the event is
 | |
| 	reported every time it occurs. If it is set to N, then the event is
 | |
| 	reported every Nth time it occurs.
 | |
| 
 | |
| 	beacon_missed
 | |
| 	Value field specifies the number of consecutive missing beacons which
 | |
| 	triggers the LINK_LOSS event. This event is generated only once after
 | |
| 	which the firmware resets its state. At initialization, the LINK_LOSS
 | |
| 	event is subscribed by default. The default value of MissedBeacons is
 | |
| 	60.
 | |
| 
 | |
| 	failure_count
 | |
| 	Value field specifies the consecutive failure count threshold which
 | |
| 	triggers the generation of the MAX_FAIL event. Once this event is
 | |
| 	generated, the consecutive failure count is reset to 0.
 | |
| 	At initialization, the MAX_FAIL event is NOT subscribed by
 | |
| 	default.
 | |
| 
 | |
| 	high_rssi
 | |
| 	This event is generated when the average received RSSI in beacons goes
 | |
| 	above a threshold, specified by Value.
 | |
| 
 | |
| 	low_rssi
 | |
| 	This event is generated when the average received RSSI in beacons goes
 | |
| 	below a threshold, specified by Value.
 | |
| 
 | |
| 	high_snr
 | |
| 	This event is generated when the average received SNR in beacons goes
 | |
| 	above a threshold, specified by Value.
 | |
| 
 | |
| 	low_snr
 | |
| 	This event is generated when the average received SNR in beacons goes
 | |
| 	below a threshold, specified by Value.
 | |
| 
 | |
| extscan
 | |
| 	This command is used to do a specific scan.
 | |
| 
 | |
| 	Path: /sys/kernel/debug/libertas_wireless/ethX/
 | |
| 
 | |
| 	Usage: echo "SSID" > extscan
 | |
| 
 | |
| 	Example:
 | |
| 		echo "LINKSYS-AP" > extscan
 | |
| 
 | |
| 	To see the results of use getscantable command.
 | |
| 
 | |
| getscantable
 | |
| 
 | |
| 	Display the current contents of the driver scan table (ie. get the
 | |
| 	scan results).
 | |
| 
 | |
| 	Path: /sys/kernel/debug/libertas_wireless/ethX/
 | |
| 
 | |
| 	Usage:
 | |
| 		cat getscantable
 | |
| 
 | |
| setuserscan
 | |
| 	Initiate a customized scan and retrieve the results
 | |
| 
 | |
| 
 | |
| 	Path: /sys/kernel/debug/libertas_wireless/ethX/
 | |
| 
 | |
|     Usage:
 | |
|        echo "[ARGS]" > setuserscan
 | |
| 
 | |
|          where [ARGS]:
 | |
| 
 | |
|       bssid=xx:xx:xx:xx:xx:xx  specify a BSSID filter for the scan
 | |
|       ssid="[SSID]"            specify a SSID filter for the scan
 | |
|       keep=[0 or 1]            keep the previous scan results (1), discard (0)
 | |
|       dur=[scan time]          time to scan for each channel in milliseconds
 | |
|       type=[1,2,3]             BSS type: 1 (Infra), 2(Adhoc), 3(Any)
 | |
| 
 | |
|     Any combination of the above arguments can be supplied on the command
 | |
|     line. If dur tokens are absent, the driver default setting will be used.
 | |
|     The bssid and ssid fields, if blank, will produce an unfiltered scan.
 | |
|     The type field will default to 3 (Any) and the keep field will default
 | |
|     to 0 (Discard).
 | |
| 
 | |
|     Examples:
 | |
|     1) Perform a passive scan on all channels for 20 ms per channel:
 | |
|             echo "dur=20" > setuserscan
 | |
| 
 | |
|     2) Perform an active scan for a specific SSID:
 | |
|             echo "ssid="TestAP"" > setuserscan
 | |
| 
 | |
|     3) Scan all available channels (B/G, A bands) for a specific BSSID, keep
 | |
|        the current scan table intact, update existing or append new scan data:
 | |
|             echo "bssid=00:50:43:20:12:82 keep=1" > setuserscan
 | |
| 
 | |
|     4) Scan for all infrastructure networks.
 | |
|        Keep the previous scan table intact. Update any duplicate BSSID/SSID
 | |
|        matches with the new scan data:
 | |
|             echo "type=1 keep=1" > setuserscan
 | |
| 
 | |
|     All entries in the scan table (not just the new scan data when keep=1)
 | |
|     will be displayed upon completion by use of the getscantable ioctl.
 | |
| 
 | |
| hostsleep
 | |
| 	This command is used to enable/disable host sleep.
 | |
| 	Note: Host sleep parameters should be configured using
 | |
| 	"ethtool -s ethX wol X" command before enabling host sleep.
 | |
| 
 | |
| 	Path: /sys/kernel/debug/libertas_wireless/ethX/
 | |
| 
 | |
| 	Usage:
 | |
| 		cat hostsleep: reads the current hostsleep state
 | |
| 		echo "1" > hostsleep : enable host sleep.
 | |
| 		echo "0" > hostsleep : disable host sleep
 | |
| 
 |