forked from Minki/linux
1311843c58
Existing "ethtool -s ethX wol X" command configures hostsleep parameters, but those are activated only during suspend/resume, there is no way to configure host sleep without actual suspend. This patch adds debugfs command to enable/disable host sleep based on already configured host sleep parameters using wol command. Signed-off-by: Amitkumar Karwar <akarwar@marvell.com> Signed-off-by: Kiran Divekar <dkiran@marvell.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
266 lines
8.5 KiB
Plaintext
266 lines
8.5 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 preceed 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 preceed 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
|
|
|
|
========================
|
|
IWCONFIG COMMANDS
|
|
========================
|
|
power period
|
|
|
|
This command is used to configure the station in deep sleep mode /
|
|
auto deep sleep mode.
|
|
|
|
The timer is implemented to monitor the activities (command, event,
|
|
etc.). When an activity is detected station will exit from deep
|
|
sleep mode automatically and restart the timer. At timer expiry
|
|
(no activity for defined time period) the deep sleep mode is entered
|
|
automatically.
|
|
|
|
Note: this command is for SDIO interface only.
|
|
|
|
Usage:
|
|
To enable deep sleep mode do:
|
|
iwconfig wlan0 power period 0
|
|
To enable auto deep sleep mode with idle time period 5 seconds do:
|
|
iwconfig wlan0 power period 5
|
|
To disable deep sleep/auto deep sleep mode do:
|
|
iwconfig wlan0 power period -1
|
|
|
|
==============================================================================
|