mirror of
https://github.com/torvalds/linux.git
synced 2024-12-22 02:52:56 +00:00
[PATCH] libertas: Purge non-mesh ioctls
Signed-off-by: Dan Williams <dcbw@redhat.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
3ce4023275
commit
4b19fcc363
@ -40,64 +40,11 @@ NAME
|
||||
SYNOPSIS
|
||||
iwpriv <ethX> <command> [sub-command] ...
|
||||
|
||||
iwpriv ethX version
|
||||
iwpriv ethX scantype [sub-command]
|
||||
iwpriv ethX getSNR <n>
|
||||
iwpriv ethX getNF <n>
|
||||
iwpriv ethX getRSSI <n>
|
||||
iwpriv ethX setrxant <n>
|
||||
iwpriv ethX getrxant
|
||||
iwpriv ethX settxant <n>
|
||||
iwpriv ethX gettxant
|
||||
iwpriv ethX authalgs <n>
|
||||
iwpriv ethX pre-TBTT <n>
|
||||
iwpriv ethX 8021xauthalgs <n>
|
||||
iwpriv ethX encryptionmode <n>
|
||||
iwpriv ethX setregioncode <n>
|
||||
iwpriv ethX getregioncode
|
||||
iwpriv ethX setbcnavg <n>
|
||||
iwpriv ethX getbcnavg
|
||||
iwpriv ethX setdataavg <n>
|
||||
iwpriv ethX setlisteninter <n>
|
||||
iwpriv ethX getlisteninter
|
||||
iwpriv ethX setmultipledtim <n>
|
||||
iwpriv ethX getmultipledtim
|
||||
iwpriv ethX atimwindow <n>
|
||||
iwpriv ethX deauth
|
||||
iwpriv ethX adhocstop
|
||||
iwpriv ethX radioon
|
||||
iwpriv ethX radiooff
|
||||
iwpriv ethX reasso-on
|
||||
iwpriv ethX reasso-off
|
||||
iwpriv ethX scanmode [sub-command]
|
||||
iwpriv ethX setwpaie <n>
|
||||
iwpriv ethX wlanidle-off
|
||||
iwpriv ethX wlanidle-on
|
||||
iwpriv ethX getcis
|
||||
iwpriv ethX getlog
|
||||
iwpriv ethX getadhocstatus
|
||||
iwpriv ethX adhocgrate <n>
|
||||
|
||||
Version 4 Command:
|
||||
iwpriv ethX inactvityto <n>
|
||||
iwpriv ethX sleeppd <n>
|
||||
iwpriv ethX enable11d <n>
|
||||
iwpriv ethX tpccfg <n>
|
||||
iwpriv ethX powercfg <n>
|
||||
iwpriv ethX setafc <n>
|
||||
iwpriv ethX getafc
|
||||
|
||||
Version 5 Command:
|
||||
iwpriv ethX ledgpio <n>
|
||||
iwpriv ethX scanprobes <n>
|
||||
iwpriv ethX lolisteninter <n>
|
||||
iwpriv ethX rateadapt <n> <m>
|
||||
iwpriv ethX txcontrol <n>
|
||||
iwpriv ethX psnullinterval <n>
|
||||
iwpriv ethX prescan <n>
|
||||
iwpriv ethX getrxinfo
|
||||
iwpriv ethX gettxrate
|
||||
iwpriv ethX beaconinterval
|
||||
|
||||
BT Commands:
|
||||
The blinding table (BT) contains a list of mac addresses that should be
|
||||
@ -150,114 +97,6 @@ DESCRIPTION
|
||||
The ethX parameter specifies the network device that is to be used to
|
||||
perform this command on. it could be eth0, eth1 etc.
|
||||
|
||||
version
|
||||
This is used to get the current version of the driver and the firmware.
|
||||
|
||||
scantype
|
||||
This command is used to set the scan type to be used by the driver in
|
||||
the scan command. This setting will not be used while performing a scan
|
||||
for a specific SSID, as it is always done with scan type being active.
|
||||
|
||||
where the sub-commands are: -
|
||||
active -- to set the scan type to active
|
||||
passive -- to set the scan type to passive
|
||||
get -- to get the scan type set in the driver
|
||||
|
||||
getSNR
|
||||
This command gets the average and non average value of Signal to Noise
|
||||
Ratio of Beacon and Data.
|
||||
|
||||
where value is:-
|
||||
0 -- Beacon non-average.
|
||||
1 -- Beacon average.
|
||||
2 -- Data non-average.
|
||||
3 -- Data average.
|
||||
|
||||
If no value is given, all four values are returned in the order mentioned
|
||||
above.
|
||||
|
||||
Note: This command is available only when STA is connected.
|
||||
|
||||
getRSSI
|
||||
This command gets the average and non average value os Receive Signal
|
||||
Strength of Beacon and Data.
|
||||
|
||||
where value is:-
|
||||
0 -- Beacon non-average.
|
||||
1 -- Beacon average.
|
||||
2 -- Data non-average.
|
||||
3 -- Data average.
|
||||
|
||||
Note: This command is available only when STA is connected.
|
||||
|
||||
getNF
|
||||
This command gets the average and non average value of Noise Floor of
|
||||
Beacon and Data.
|
||||
|
||||
where value is:-
|
||||
0 -- Beacon non-average.
|
||||
1 -- Beacon average.
|
||||
2 -- Data non-average.
|
||||
3 -- Data average.
|
||||
|
||||
Note: This command is available only when STA is connected.
|
||||
|
||||
setrxant
|
||||
This command is used to set the mode for Rx antenna.
|
||||
|
||||
The options that can be sent are:-
|
||||
1 -- Antenna 1.
|
||||
2 -- Antenna 2.
|
||||
0xFFFF -- Diversity.
|
||||
|
||||
Usage:
|
||||
iwpriv ethX setrxant 0x01: select Antenna 1.
|
||||
|
||||
getrxant
|
||||
This command is used to get the mode for Rx antenna.
|
||||
|
||||
|
||||
settxant
|
||||
This command is used to set the mode for Tx antenna.
|
||||
The options that can be sent are:-
|
||||
1 -- Antenna 1.
|
||||
2 -- Antenna 2.
|
||||
0xFFFF -- Diversity.
|
||||
Usage:
|
||||
iwpriv ethX settxant 0x01: select Antenna 1.
|
||||
|
||||
gettxant
|
||||
This command is used to get the mode for Tx antenna.
|
||||
|
||||
authalgs
|
||||
This command is used by the WPA supplicant to set the authentication
|
||||
algorithms in the station.
|
||||
|
||||
8021xauthalgs
|
||||
This command is used by the WPA supplicant to set the 8021.x authentication algorithm type
|
||||
station.
|
||||
|
||||
where values can be:-
|
||||
1 -- None
|
||||
2 -- LEAP
|
||||
4 -- TLS
|
||||
8 -- TTLs
|
||||
16 -- MD5
|
||||
|
||||
|
||||
encryptionmode
|
||||
This command is used by the WPA supplicant to set the encryption algorithm.
|
||||
|
||||
where values can be:-
|
||||
0 -- NONE
|
||||
1 -- WEP40
|
||||
2 -- TKIP
|
||||
3 -- CCMP
|
||||
4 -- WEP104
|
||||
|
||||
pre-TBTT
|
||||
This command is used to set pre-TBTT time period where value is in microseconds.
|
||||
|
||||
setregioncode
|
||||
This command is used to set the region code in the station.
|
||||
where value is 'region code' for various regions like
|
||||
@ -270,114 +109,6 @@ getregioncode
|
||||
This command is used to get the region code information set in the
|
||||
station.
|
||||
|
||||
setbcnavg
|
||||
Set the weighting factor for calculating RSSI.
|
||||
|
||||
getbcnavg
|
||||
Get weighting factor for calculating RSSI.
|
||||
|
||||
setdataavg
|
||||
Set the weighting factor for calculating SNR.
|
||||
|
||||
setlisteninter
|
||||
This command is used to set the listen interval in the
|
||||
station.
|
||||
|
||||
where the value ranges between 1 - 255
|
||||
|
||||
getlisteninter
|
||||
This command is used to get the listen interval value set in the
|
||||
station.
|
||||
|
||||
setmultipledtim
|
||||
This command is used to set the multiple dtim value in the
|
||||
station.
|
||||
where the value is 1,2,3,4,5,0xfffe
|
||||
0xfffe means the firmware will use listen interval in association
|
||||
command for waking up
|
||||
|
||||
getmultipledtim
|
||||
This command is used to get the multiple dtim value set in the station.
|
||||
|
||||
atimwindow
|
||||
This command is used to set the atim value in the
|
||||
station.
|
||||
|
||||
where the value ranges between 0 - 50
|
||||
|
||||
deauth
|
||||
This command is used to send the de-authentication to the AP with which
|
||||
the station is associated. This command is valid only when
|
||||
station is in Infrastructure mode.
|
||||
|
||||
Note: This command is available only when STA is connected.
|
||||
|
||||
adhocstop
|
||||
This command is used to stop beacon transmission from the station and
|
||||
go into idle state in ad-hoc mode.
|
||||
|
||||
Note: This command is available only when STA is connected.
|
||||
|
||||
radioon
|
||||
This command is used to turn on the RF antenna.
|
||||
|
||||
radiooff
|
||||
This command is sued to turn off the RF antenna.
|
||||
|
||||
scanmode
|
||||
This command is used to set the station to scan for either IBSS
|
||||
networks or BSS networks or both BSS and IBSS networks. This
|
||||
command can be used with sub commands,
|
||||
|
||||
where the value for
|
||||
bss -- Scan All the BSS networks.
|
||||
ibss -- Scan All the IBSS networks.
|
||||
any -- Scan both BSS and IBSS networks.
|
||||
|
||||
|
||||
|
||||
setwpaie
|
||||
This command is used by WPA supplicant to send the WPA-IE to the driver.
|
||||
|
||||
wlanidle-off
|
||||
This command is used to get into idle state.
|
||||
|
||||
Note: This command is available only when STA is connected.
|
||||
|
||||
wlanidle-on
|
||||
This command is used to get off the idle state.
|
||||
|
||||
Note: This command is available only when STA is connected.
|
||||
|
||||
|
||||
getlog
|
||||
This command is used to get the 802.11 statistics available in the
|
||||
station.
|
||||
|
||||
Note: This command is available only when STA is connected.
|
||||
|
||||
getadhocstatus
|
||||
This command is used to get the ad-hoc Network Status.
|
||||
|
||||
The various status codes are:
|
||||
AdhocStarted
|
||||
AdhocJoined
|
||||
AdhocIdle
|
||||
InfraMode
|
||||
AutoUnknownMode
|
||||
|
||||
Note: This command is available only when STA is connected.
|
||||
|
||||
adhocgrate
|
||||
This command is used to enable(1) g_rate, Disable(0) g_rate
|
||||
and request(2) the status which g_rate is disabled/enabled,
|
||||
for Ad-hoc creator.
|
||||
|
||||
where value is:-
|
||||
0 -- Disabled
|
||||
1 -- Enabled
|
||||
2 -- Get
|
||||
|
||||
ledgpio
|
||||
This command is used to set/get LEDs.
|
||||
|
||||
@ -400,253 +131,6 @@ ledgpio
|
||||
Note: LED0 is invalid
|
||||
Note: Maximum Number of LEDs are 16.
|
||||
|
||||
inactivityto
|
||||
This command is used by the host to set/get the inactivity timeout value,
|
||||
which specifies when WLAN device is put to sleep.
|
||||
|
||||
Usage:
|
||||
iwpriv ethX inactivityto [<timeout>]
|
||||
|
||||
where the parameter are:
|
||||
timeout: timeout value in milliseconds.
|
||||
|
||||
Example:
|
||||
iwpriv eth1 inactivityto
|
||||
"get the timeout value"
|
||||
|
||||
iwpriv eth1 inactivityto X
|
||||
"set timeout value to X ms"
|
||||
|
||||
|
||||
sleeppd
|
||||
This command is used to configure the sleep period of the WLAN device.
|
||||
|
||||
Usage:
|
||||
iwpriv ethX sleeppd [<sleep period>]
|
||||
|
||||
where the parameter are:
|
||||
Period: sleep period in milliseconds. Range 10~60.
|
||||
|
||||
Example:
|
||||
iwpriv eth1 sleeppd 10
|
||||
"set period as 10 ms"
|
||||
iwpriv eth1 sleeppd
|
||||
"get the sleep period configuration"
|
||||
|
||||
enable11d
|
||||
This command is used to control 11d
|
||||
where value is:-
|
||||
1 -- Enabled
|
||||
0 -- Disabled
|
||||
2 -- Get
|
||||
|
||||
|
||||
|
||||
|
||||
tpccfg
|
||||
Enables or disables automatic transmit power control.
|
||||
|
||||
The first parameter turns this feature on (1) or off (0). When turning
|
||||
on, the user must also supply four more parameters in the following
|
||||
order:
|
||||
-UseSNR (Use SNR (in addition to PER) for TPC algorithm),
|
||||
-P0 (P0 power level for TPC),
|
||||
-P1 (P1 power level for TPC),
|
||||
-P2 (P2 power level for TPC).
|
||||
|
||||
Usage:
|
||||
iwpriv ethX tpccfg: Get current configuration
|
||||
iwpriv ethX tpccfg 0: disable auto TPC
|
||||
iwpriv ethX tpccfg 0x01 0x00 0x05 0x0a 0x0d: enable auto TPC; do not use SNR;
|
||||
P0=0x05; P1=0x0a; P2=0x0d;
|
||||
iwpriv ethX tpccfg 0x01 0x01 0x05 0x0a 0x0d: enable auto TPC; use SNR;
|
||||
P0=0x05; P1=0x0a; P2=0x0d.
|
||||
|
||||
powercfg
|
||||
Enables or disables power adaptation.
|
||||
|
||||
The first parameter turns this feature on (1) or off (0). When turning
|
||||
on, the user must also supply three more parameters in the following
|
||||
order:
|
||||
-P0 (P0 power level for Power Adaptation),
|
||||
-P1 (P1 power level for Power Adaptation),
|
||||
-P2 (P2 power level for Power Adaptation).
|
||||
|
||||
Usage:
|
||||
iwpriv ethX powercfg: Get current configuration
|
||||
iwpriv ethX powercfg 0: disable power adaptation
|
||||
iwpriv ethX powercfg 1 0x0d 0x0f 0x12: enable power adaptation;
|
||||
P0=0x0d; P1=0x0f; P2=0x12.
|
||||
|
||||
getafc
|
||||
This command returns automatic frequency control parameters. It returns
|
||||
three integers:
|
||||
-P0: automatic is on (1), or off (0),
|
||||
-P1: current timing offset in PPM (part per million), and
|
||||
-P2: current frequency offset in PPM.
|
||||
|
||||
setafc
|
||||
Set automatic frequency control options.
|
||||
|
||||
The first parameter turns automatic on (1) or off (0).
|
||||
The user must supply two more parameters in either case, in the following
|
||||
order:
|
||||
|
||||
When auto is on:
|
||||
|
||||
-P0 (automatic adjustment frequency threshold in PPM),
|
||||
-P1 (automatic adjustment period in beacon period),
|
||||
|
||||
When auto is off:
|
||||
|
||||
-P0 (manual adjustment timing offset in PPM), and
|
||||
-P1 (manual adjustment frequency offset in PPM).
|
||||
|
||||
Usage:
|
||||
iwpriv ethX setafc 0 10 10: manual adjustment, both timing and frequcncy
|
||||
offset are 10 PPM.
|
||||
|
||||
iwpriv ethX setafc 1 10 10 enable afc, automatic adjustment,
|
||||
frequency threshold 10 PPM, for every 10 beacon periods.
|
||||
|
||||
|
||||
|
||||
scanprobes
|
||||
This command sets number of probe requests per channel.
|
||||
|
||||
Usage:
|
||||
iwpriv ethX scanprobes 3 (set scan probes to 3)
|
||||
iwpriv ethX scanprobes (get scan probes)
|
||||
|
||||
lolisteninter
|
||||
This command sets the value of listen interval.
|
||||
|
||||
Usage:
|
||||
iwpriv ethX lolisteninter 234 (set the lolisteninter to 234)
|
||||
iwpriv ethX lolisteninter (get the lolisteninter value)
|
||||
|
||||
rateadapt
|
||||
This command sets the data rates bitmap.
|
||||
Where <n>
|
||||
0: Disable auto rate adapt
|
||||
1: Enable auto rate adapt
|
||||
|
||||
<m>
|
||||
data rate bitmap
|
||||
Bit Data rate
|
||||
0 1 Mbps
|
||||
1 2 Mbps
|
||||
2 5.5 Mbps
|
||||
3 11 Mbps
|
||||
4 Reserved
|
||||
5 6 Mbps
|
||||
6 9 Mbps
|
||||
7 12 Mbps
|
||||
8 18 Mbps
|
||||
9 24 Mbps
|
||||
10 36 Mbps
|
||||
11 48 Mbps
|
||||
12 54 Mbps
|
||||
12-15 Reserved
|
||||
|
||||
Usage:
|
||||
iwpriv ethX rateadapt
|
||||
read the currect data rate setting
|
||||
iwpriv ethX rateadapt 1 0x07
|
||||
enable auto data rate adapt and
|
||||
data rates are 1Mbps, 2Mbsp and 5.5Mbps
|
||||
|
||||
|
||||
txcontrol
|
||||
This command is used to set the Tx rate, ack policy, and retry limit on a per packet basis.
|
||||
|
||||
Where value <n> is:
|
||||
if bit[4] == 1:
|
||||
bit[3:0] -- 0 1 2 3 4 5 6 7 8 9 10 11 12 13-16
|
||||
Data Rate(Mbps) -- 1 2 5.5 11 Rsv 6 9 12 18 24 36 48 54 Rsv
|
||||
|
||||
bit[12:8]
|
||||
if bit[12] == 1, bit[11:8] specifies the Tx retry limit.
|
||||
|
||||
bit[14:13] specifies per packet ack policy:
|
||||
bit[14:13]
|
||||
1 0 use immediate ack policy for this packet
|
||||
1 1 use no ack policy for this packet
|
||||
0 x use the per-packet ack policy setting
|
||||
|
||||
Usage:
|
||||
iwpriv ethX txcontrol 0x7513
|
||||
Use no-ack policy, 5 retires for Tx, 11Mbps rate
|
||||
|
||||
|
||||
|
||||
psnullinterval
|
||||
This command is used to set/request NULL package interval for Power Save
|
||||
under infrastructure mode.
|
||||
|
||||
where value is:-
|
||||
-1 -- Disabled
|
||||
n>0 -- Set interval as n (seconds)
|
||||
|
||||
prescan
|
||||
This command is used to enable (1)/disable(0) auto prescan before assoicate to the ap
|
||||
|
||||
where value is:-
|
||||
0 -- Disabled
|
||||
1 -- Enabled
|
||||
2 -- Get
|
||||
|
||||
getrxinfo
|
||||
This command gets non average value of Signal to Noise Ratio of Data and rate index.
|
||||
|
||||
The following table shows RateIndex and Rate
|
||||
|
||||
RateIndex Data rate
|
||||
0 1 Mbps
|
||||
1 2 Mbps
|
||||
2 5.5 Mbps
|
||||
3 11 Mbps
|
||||
4 Reserved
|
||||
5 6 Mbps
|
||||
6 9 Mbps
|
||||
7 12 Mbps
|
||||
8 18 Mbps
|
||||
9 24 Mbps
|
||||
10 36 Mbps
|
||||
11 48 Mbps
|
||||
12 54 Mbps
|
||||
13-15 Reserved
|
||||
|
||||
gettxrate
|
||||
This command gets current Tx rate index of the first packet associated with Rate Adaptation.
|
||||
|
||||
The following table shows RateIndex and Rate
|
||||
|
||||
RateIndex Data rate
|
||||
0 1 Mbps
|
||||
1 2 Mbps
|
||||
2 5.5 Mbps
|
||||
3 11 Mbps
|
||||
4 Reserved
|
||||
5 6 Mbps
|
||||
6 9 Mbps
|
||||
7 12 Mbps
|
||||
8 18 Mbps
|
||||
9 24 Mbps
|
||||
10 36 Mbps
|
||||
11 48 Mbps
|
||||
12 54 Mbps
|
||||
13-15 Reserved
|
||||
|
||||
bcninterval
|
||||
This command is used to sets beacon interval in adhoc mode when an argument is given, and gets current adhoc
|
||||
beacon interval when no argument is given. The valid beacon interval is between 20 - 1000,
|
||||
default beacon interval is 100.
|
||||
|
||||
Usage:
|
||||
iwpriv ethX bcninterval 100 (set adhoc beacon interval to 100)
|
||||
iwpriv ethX bcninterval (get adhoc beacon interval)
|
||||
|
||||
fwt_add
|
||||
This command is used to insert an entry into the FWT table. The list of
|
||||
parameters must follow the following structure:
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -96,20 +96,6 @@ int libertas_send_deauth(wlan_private * priv)
|
||||
return ret;
|
||||
}
|
||||
|
||||
int libertas_do_adhocstop_ioctl(wlan_private * priv)
|
||||
{
|
||||
wlan_adapter *adapter = priv->adapter;
|
||||
int ret = 0;
|
||||
|
||||
if (adapter->mode == IW_MODE_ADHOC &&
|
||||
adapter->connect_status == libertas_connected)
|
||||
ret = libertas_stop_adhoc_network(priv);
|
||||
else
|
||||
ret = -ENOTSUPP;
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Associate to a specific BSS discovered in a scan
|
||||
*
|
||||
@ -261,127 +247,6 @@ int libertas_send_deauthentication(wlan_private * priv)
|
||||
0, cmd_option_waitforrsp, 0, NULL);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Set Idle Off
|
||||
*
|
||||
* @param priv A pointer to wlan_private structure
|
||||
* @return 0 --success, otherwise fail
|
||||
*/
|
||||
int libertas_idle_off(wlan_private * priv)
|
||||
{
|
||||
wlan_adapter *adapter = priv->adapter;
|
||||
int ret = 0;
|
||||
const u8 zeromac[] = { 0, 0, 0, 0, 0, 0 };
|
||||
int i;
|
||||
|
||||
ENTER();
|
||||
|
||||
if (adapter->connect_status == libertas_disconnected) {
|
||||
if (adapter->mode == IW_MODE_INFRA) {
|
||||
if (memcmp(adapter->previousbssid, zeromac,
|
||||
sizeof(zeromac)) != 0) {
|
||||
|
||||
lbs_pr_debug(1, "Previous SSID = %s\n",
|
||||
adapter->previousssid.ssid);
|
||||
lbs_pr_debug(1, "Previous BSSID = "
|
||||
"%02x:%02x:%02x:%02x:%02x:%02x:\n",
|
||||
adapter->previousbssid[0],
|
||||
adapter->previousbssid[1],
|
||||
adapter->previousbssid[2],
|
||||
adapter->previousbssid[3],
|
||||
adapter->previousbssid[4],
|
||||
adapter->previousbssid[5]);
|
||||
|
||||
i = libertas_find_SSID_in_list(adapter,
|
||||
&adapter->previousssid,
|
||||
adapter->previousbssid,
|
||||
adapter->mode);
|
||||
|
||||
if (i < 0) {
|
||||
libertas_send_specific_BSSID_scan(priv,
|
||||
adapter->
|
||||
previousbssid,
|
||||
1);
|
||||
i = libertas_find_SSID_in_list(adapter,
|
||||
&adapter->
|
||||
previousssid,
|
||||
adapter->
|
||||
previousbssid,
|
||||
adapter->mode);
|
||||
}
|
||||
|
||||
if (i < 0) {
|
||||
/* If the BSSID could not be found, try just the SSID */
|
||||
i = libertas_find_SSID_in_list(adapter,
|
||||
&adapter->
|
||||
previousssid, NULL,
|
||||
adapter->mode);
|
||||
}
|
||||
|
||||
if (i < 0) {
|
||||
libertas_send_specific_SSID_scan(priv,
|
||||
&adapter->
|
||||
previousssid,
|
||||
1);
|
||||
i = libertas_find_SSID_in_list(adapter,
|
||||
&adapter->
|
||||
previousssid, NULL,
|
||||
adapter->mode);
|
||||
}
|
||||
|
||||
if (i >= 0) {
|
||||
ret =
|
||||
wlan_associate(priv,
|
||||
&adapter->
|
||||
scantable[i]);
|
||||
}
|
||||
}
|
||||
} else if (adapter->mode == IW_MODE_ADHOC) {
|
||||
ret = libertas_prepare_and_send_command(priv,
|
||||
cmd_802_11_ad_hoc_start,
|
||||
0,
|
||||
cmd_option_waitforrsp,
|
||||
0, &adapter->previousssid);
|
||||
}
|
||||
}
|
||||
/* else it is connected */
|
||||
|
||||
lbs_pr_debug(1, "\nwlanidle is off");
|
||||
LEAVE();
|
||||
return ret;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Set Idle On
|
||||
*
|
||||
* @param priv A pointer to wlan_private structure
|
||||
* @return 0 --success, otherwise fail
|
||||
*/
|
||||
int libertas_idle_on(wlan_private * priv)
|
||||
{
|
||||
wlan_adapter *adapter = priv->adapter;
|
||||
int ret = 0;
|
||||
|
||||
if (adapter->connect_status == libertas_connected) {
|
||||
if (adapter->mode == IW_MODE_INFRA) {
|
||||
lbs_pr_debug(1, "Previous SSID = %s\n",
|
||||
adapter->previousssid.ssid);
|
||||
memmove(&adapter->previousssid,
|
||||
&adapter->curbssparams.ssid,
|
||||
sizeof(struct WLAN_802_11_SSID));
|
||||
libertas_send_deauth(priv);
|
||||
|
||||
} else if (adapter->mode == IW_MODE_ADHOC) {
|
||||
ret = libertas_stop_adhoc_network(priv);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
lbs_pr_debug(1, "\nwlanidle is on");
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief This function prepares command of authenticate.
|
||||
*
|
||||
|
@ -37,10 +37,6 @@ extern int libertas_ret_80211_disassociate(wlan_private * priv,
|
||||
extern int libertas_ret_80211_associate(wlan_private * priv,
|
||||
struct cmd_ds_command *resp);
|
||||
|
||||
extern int libertas_idle_on(wlan_private * priv);
|
||||
extern int libertas_idle_off(wlan_private * priv);
|
||||
|
||||
extern int libertas_do_adhocstop_ioctl(wlan_private * priv);
|
||||
extern int libertas_reassociation_thread(void *data);
|
||||
|
||||
struct WLAN_802_11_SSID;
|
||||
|
@ -986,136 +986,17 @@ static const struct iw_priv_args wlan_private_args[] = {
|
||||
/*
|
||||
* { cmd, set_args, get_args, name }
|
||||
*/
|
||||
{
|
||||
WLANSCAN_TYPE,
|
||||
IW_PRIV_TYPE_CHAR | 8,
|
||||
IW_PRIV_TYPE_CHAR | 8,
|
||||
"scantype"},
|
||||
|
||||
{
|
||||
WLAN_SETINT_GETINT,
|
||||
IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1,
|
||||
IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1,
|
||||
""},
|
||||
{
|
||||
WLANNF,
|
||||
IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1,
|
||||
IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1,
|
||||
"getNF"},
|
||||
{
|
||||
WLANRSSI,
|
||||
IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1,
|
||||
IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1,
|
||||
"getRSSI"},
|
||||
{
|
||||
WLANENABLE11D,
|
||||
IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1,
|
||||
IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1,
|
||||
"enable11d"},
|
||||
{
|
||||
WLANADHOCGRATE,
|
||||
IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1,
|
||||
IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1,
|
||||
"adhocgrate"},
|
||||
|
||||
{
|
||||
WLAN_SUBCMD_SET_PRESCAN,
|
||||
IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1,
|
||||
IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1,
|
||||
"prescan"},
|
||||
{
|
||||
WLAN_SETONEINT_GETONEINT,
|
||||
IW_PRIV_TYPE_INT | 1,
|
||||
IW_PRIV_TYPE_INT | 1,
|
||||
""},
|
||||
{
|
||||
WLAN_BEACON_INTERVAL,
|
||||
IW_PRIV_TYPE_INT | 1,
|
||||
IW_PRIV_TYPE_INT | 1,
|
||||
"bcninterval"},
|
||||
{
|
||||
WLAN_LISTENINTRVL,
|
||||
IW_PRIV_TYPE_INT | 1,
|
||||
IW_PRIV_TYPE_INT | 1,
|
||||
"lolisteninter"},
|
||||
{
|
||||
WLAN_TXCONTROL,
|
||||
IW_PRIV_TYPE_INT | 1,
|
||||
IW_PRIV_TYPE_INT | 1,
|
||||
"txcontrol"},
|
||||
{
|
||||
WLAN_NULLPKTINTERVAL,
|
||||
IW_PRIV_TYPE_INT | 1,
|
||||
IW_PRIV_TYPE_INT | 1,
|
||||
"psnullinterval"},
|
||||
/* Using iwpriv sub-command feature */
|
||||
{
|
||||
WLAN_SETONEINT_GETNONE, /* IOCTL: 24 */
|
||||
IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1,
|
||||
IW_PRIV_TYPE_NONE,
|
||||
""},
|
||||
|
||||
{
|
||||
WLAN_SUBCMD_SETRXANTENNA,
|
||||
IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1,
|
||||
IW_PRIV_TYPE_NONE,
|
||||
"setrxant"},
|
||||
{
|
||||
WLAN_SUBCMD_SETTXANTENNA,
|
||||
IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1,
|
||||
IW_PRIV_TYPE_NONE,
|
||||
"settxant"},
|
||||
{
|
||||
WLANSETENCRYPTIONMODE,
|
||||
IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1,
|
||||
IW_PRIV_TYPE_NONE,
|
||||
"encryptionmode",
|
||||
},
|
||||
{
|
||||
WLANSETREGION,
|
||||
IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1,
|
||||
IW_PRIV_TYPE_NONE,
|
||||
"setregioncode"},
|
||||
{
|
||||
WLAN_SET_LISTEN_INTERVAL,
|
||||
IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1,
|
||||
IW_PRIV_TYPE_NONE,
|
||||
"setlisteninter"},
|
||||
{
|
||||
WLAN_SET_MULTIPLE_DTIM,
|
||||
IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1,
|
||||
IW_PRIV_TYPE_NONE,
|
||||
"setmultipledtim"},
|
||||
{
|
||||
WLAN_SET_ATIM_WINDOW,
|
||||
IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1,
|
||||
IW_PRIV_TYPE_NONE,
|
||||
"atimwindow"},
|
||||
{
|
||||
WLANSETBCNAVG,
|
||||
IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1,
|
||||
IW_PRIV_TYPE_NONE,
|
||||
"setbcnavg"},
|
||||
{
|
||||
WLANSETDATAAVG,
|
||||
IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1,
|
||||
IW_PRIV_TYPE_NONE,
|
||||
"setdataavg"},
|
||||
{
|
||||
WLAN_SET_LINKMODE,
|
||||
IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1,
|
||||
IW_PRIV_TYPE_NONE,
|
||||
"linkmode"},
|
||||
{
|
||||
WLAN_SET_RADIOMODE,
|
||||
IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1,
|
||||
IW_PRIV_TYPE_NONE,
|
||||
"radiomode"},
|
||||
{
|
||||
WLAN_SET_DEBUGMODE,
|
||||
IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1,
|
||||
IW_PRIV_TYPE_NONE,
|
||||
"debugmode"},
|
||||
{
|
||||
WLAN_SUBCMD_MESH_SET_TTL,
|
||||
IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1,
|
||||
@ -1131,41 +1012,6 @@ static const struct iw_priv_args wlan_private_args[] = {
|
||||
IW_PRIV_TYPE_NONE,
|
||||
IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1,
|
||||
"getregioncode"},
|
||||
{
|
||||
WLAN_GET_LISTEN_INTERVAL,
|
||||
IW_PRIV_TYPE_NONE,
|
||||
IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1,
|
||||
"getlisteninter"},
|
||||
{
|
||||
WLAN_GET_MULTIPLE_DTIM,
|
||||
IW_PRIV_TYPE_NONE,
|
||||
IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1,
|
||||
"getmultipledtim"},
|
||||
{
|
||||
WLAN_GET_TX_RATE,
|
||||
IW_PRIV_TYPE_NONE,
|
||||
IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1,
|
||||
"gettxrate"},
|
||||
{
|
||||
WLANGETBCNAVG,
|
||||
IW_PRIV_TYPE_NONE,
|
||||
IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1,
|
||||
"getbcnavg"},
|
||||
{
|
||||
WLAN_GET_LINKMODE,
|
||||
IW_PRIV_TYPE_NONE,
|
||||
IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1,
|
||||
"get_linkmode"},
|
||||
{
|
||||
WLAN_GET_RADIOMODE,
|
||||
IW_PRIV_TYPE_NONE,
|
||||
IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1,
|
||||
"get_radiomode"},
|
||||
{
|
||||
WLAN_GET_DEBUGMODE,
|
||||
IW_PRIV_TYPE_NONE,
|
||||
IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1,
|
||||
"get_debugmode"},
|
||||
{
|
||||
WLAN_SUBCMD_FWT_CLEANUP,
|
||||
IW_PRIV_TYPE_NONE,
|
||||
@ -1181,61 +1027,11 @@ static const struct iw_priv_args wlan_private_args[] = {
|
||||
IW_PRIV_TYPE_NONE,
|
||||
IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1,
|
||||
"mesh_get_ttl"},
|
||||
{
|
||||
WLAN_SETNONE_GETTWELVE_CHAR,
|
||||
IW_PRIV_TYPE_NONE,
|
||||
IW_PRIV_TYPE_CHAR | 12,
|
||||
""},
|
||||
{
|
||||
WLAN_SUBCMD_GETRXANTENNA,
|
||||
IW_PRIV_TYPE_NONE,
|
||||
IW_PRIV_TYPE_CHAR | 12,
|
||||
"getrxant"},
|
||||
{
|
||||
WLAN_SUBCMD_GETTXANTENNA,
|
||||
IW_PRIV_TYPE_NONE,
|
||||
IW_PRIV_TYPE_CHAR | 12,
|
||||
"gettxant"},
|
||||
{
|
||||
WLAN_GET_TSF,
|
||||
IW_PRIV_TYPE_NONE,
|
||||
IW_PRIV_TYPE_CHAR | 12,
|
||||
"gettsf"},
|
||||
{
|
||||
WLAN_SETNONE_GETNONE,
|
||||
IW_PRIV_TYPE_NONE,
|
||||
IW_PRIV_TYPE_NONE,
|
||||
""},
|
||||
{
|
||||
WLANDEAUTH,
|
||||
IW_PRIV_TYPE_NONE,
|
||||
IW_PRIV_TYPE_NONE,
|
||||
"deauth"},
|
||||
{
|
||||
WLANADHOCSTOP,
|
||||
IW_PRIV_TYPE_NONE,
|
||||
IW_PRIV_TYPE_NONE,
|
||||
"adhocstop"},
|
||||
{
|
||||
WLANRADIOON,
|
||||
IW_PRIV_TYPE_NONE,
|
||||
IW_PRIV_TYPE_NONE,
|
||||
"radioon"},
|
||||
{
|
||||
WLANRADIOOFF,
|
||||
IW_PRIV_TYPE_NONE,
|
||||
IW_PRIV_TYPE_NONE,
|
||||
"radiooff"},
|
||||
{
|
||||
WLANWLANIDLEON,
|
||||
IW_PRIV_TYPE_NONE,
|
||||
IW_PRIV_TYPE_NONE,
|
||||
"wlanidle-on"},
|
||||
{
|
||||
WLANWLANIDLEOFF,
|
||||
IW_PRIV_TYPE_NONE,
|
||||
IW_PRIV_TYPE_NONE,
|
||||
"wlanidle-off"},
|
||||
{
|
||||
WLAN_SUBCMD_FWT_RESET,
|
||||
IW_PRIV_TYPE_NONE,
|
||||
@ -1298,86 +1094,16 @@ static const struct iw_priv_args wlan_private_args[] = {
|
||||
IW_PRIV_TYPE_CHAR | 128,
|
||||
IW_PRIV_TYPE_CHAR | 128,
|
||||
"fwt_list_route"},
|
||||
{
|
||||
WLANSCAN_MODE,
|
||||
IW_PRIV_TYPE_CHAR | 128,
|
||||
IW_PRIV_TYPE_CHAR | 128,
|
||||
"scanmode"},
|
||||
{
|
||||
WLAN_GET_ADHOC_STATUS,
|
||||
IW_PRIV_TYPE_CHAR | 128,
|
||||
IW_PRIV_TYPE_CHAR | 128,
|
||||
"getadhocstatus"},
|
||||
{
|
||||
WLAN_SETNONE_GETWORDCHAR,
|
||||
IW_PRIV_TYPE_NONE,
|
||||
IW_PRIV_TYPE_CHAR | 128,
|
||||
""},
|
||||
{
|
||||
WLANGETLOG,
|
||||
IW_PRIV_TYPE_NONE,
|
||||
IW_PRIV_TYPE_CHAR | GETLOG_BUFSIZE,
|
||||
"getlog"},
|
||||
{
|
||||
WLAN_SET_GET_SIXTEEN_INT,
|
||||
IW_PRIV_TYPE_INT | 16,
|
||||
IW_PRIV_TYPE_INT | 16,
|
||||
""},
|
||||
{
|
||||
WLAN_TPCCFG,
|
||||
IW_PRIV_TYPE_INT | 16,
|
||||
IW_PRIV_TYPE_INT | 16,
|
||||
"tpccfg"},
|
||||
{
|
||||
WLAN_POWERCFG,
|
||||
IW_PRIV_TYPE_INT | 16,
|
||||
IW_PRIV_TYPE_INT | 16,
|
||||
"powercfg"},
|
||||
{
|
||||
WLAN_AUTO_FREQ_SET,
|
||||
IW_PRIV_TYPE_INT | 16,
|
||||
IW_PRIV_TYPE_INT | 16,
|
||||
"setafc"},
|
||||
{
|
||||
WLAN_AUTO_FREQ_GET,
|
||||
IW_PRIV_TYPE_INT | 16,
|
||||
IW_PRIV_TYPE_INT | 16,
|
||||
"getafc"},
|
||||
{
|
||||
WLAN_SCANPROBES,
|
||||
IW_PRIV_TYPE_INT | 16,
|
||||
IW_PRIV_TYPE_INT | 16,
|
||||
"scanprobes"},
|
||||
{
|
||||
WLAN_LED_GPIO_CTRL,
|
||||
IW_PRIV_TYPE_INT | 16,
|
||||
IW_PRIV_TYPE_INT | 16,
|
||||
"ledgpio"},
|
||||
{
|
||||
WLAN_ADAPT_RATESET,
|
||||
IW_PRIV_TYPE_INT | 16,
|
||||
IW_PRIV_TYPE_INT | 16,
|
||||
"rateadapt"},
|
||||
{
|
||||
WLAN_INACTIVITY_TIMEOUT,
|
||||
IW_PRIV_TYPE_INT | 16,
|
||||
IW_PRIV_TYPE_INT | 16,
|
||||
"inactivityto"},
|
||||
{
|
||||
WLANSNR,
|
||||
IW_PRIV_TYPE_INT | 16,
|
||||
IW_PRIV_TYPE_INT | 16,
|
||||
"getSNR"},
|
||||
{
|
||||
WLAN_GET_RATE,
|
||||
IW_PRIV_TYPE_INT | 16,
|
||||
IW_PRIV_TYPE_INT | 16,
|
||||
"getrate"},
|
||||
{
|
||||
WLAN_GET_RXINFO,
|
||||
IW_PRIV_TYPE_INT | 16,
|
||||
IW_PRIV_TYPE_INT | 16,
|
||||
"getrxinfo"},
|
||||
};
|
||||
|
||||
static struct iw_statistics *wlan_get_wireless_stats(struct net_device *dev)
|
||||
|
@ -10,88 +10,22 @@
|
||||
/** PRIVATE CMD ID */
|
||||
#define WLANIOCTL SIOCIWFIRSTPRIV
|
||||
|
||||
#define WLANSETWPAIE (WLANIOCTL + 0)
|
||||
|
||||
#define WLAN_SETINT_GETINT (WLANIOCTL + 7)
|
||||
#define WLANNF 1
|
||||
#define WLANRSSI 2
|
||||
#define WLANENABLE11D 5
|
||||
#define WLANADHOCGRATE 6
|
||||
#define WLAN_SUBCMD_SET_PRESCAN 11
|
||||
|
||||
#define WLAN_SETNONE_GETNONE (WLANIOCTL + 8)
|
||||
#define WLANDEAUTH 1
|
||||
#define WLANRADIOON 2
|
||||
#define WLANRADIOOFF 3
|
||||
#define WLANREMOVEADHOCAES 4
|
||||
#define WLANADHOCSTOP 5
|
||||
#define WLANCIPHERTEST 6
|
||||
#define WLANCRYPTOTEST 7
|
||||
|
||||
#define WLANWLANIDLEON 10
|
||||
#define WLANWLANIDLEOFF 11
|
||||
#define WLAN_SUBCMD_BT_RESET 13
|
||||
#define WLAN_SUBCMD_FWT_RESET 14
|
||||
|
||||
#define WLANGETLOG (WLANIOCTL + 9)
|
||||
#define GETLOG_BUFSIZE 300
|
||||
|
||||
#define WLANSCAN_TYPE (WLANIOCTL + 11)
|
||||
|
||||
#define WLAN_SETNONE_GETONEINT (WLANIOCTL + 15)
|
||||
#define WLANGETREGION 1
|
||||
#define WLAN_GET_LISTEN_INTERVAL 2
|
||||
#define WLAN_GET_MULTIPLE_DTIM 3
|
||||
#define WLAN_GET_TX_RATE 4
|
||||
#define WLANGETBCNAVG 5
|
||||
|
||||
#define WLAN_GET_LINKMODE 6
|
||||
#define WLAN_GET_RADIOMODE 7
|
||||
#define WLAN_GET_DEBUGMODE 8
|
||||
#define WLAN_SUBCMD_FWT_CLEANUP 15
|
||||
#define WLAN_SUBCMD_FWT_TIME 16
|
||||
#define WLAN_SUBCMD_MESH_GET_TTL 17
|
||||
|
||||
#define WLANREGCFRDWR (WLANIOCTL + 18)
|
||||
|
||||
#define WLAN_SETNONE_GETTWELVE_CHAR (WLANIOCTL + 19)
|
||||
#define WLAN_SUBCMD_GETRXANTENNA 1
|
||||
#define WLAN_SUBCMD_GETTXANTENNA 2
|
||||
#define WLAN_GET_TSF 3
|
||||
|
||||
#define WLAN_SETNONE_GETWORDCHAR (WLANIOCTL + 21)
|
||||
#define WLANGETADHOCAES 1
|
||||
|
||||
#define WLAN_SETONEINT_GETONEINT (WLANIOCTL + 23)
|
||||
#define WLAN_BEACON_INTERVAL 1
|
||||
#define WLAN_LISTENINTRVL 4
|
||||
|
||||
#define WLAN_TXCONTROL 6
|
||||
#define WLAN_NULLPKTINTERVAL 7
|
||||
|
||||
#define WLAN_SETONEINT_GETNONE (WLANIOCTL + 24)
|
||||
#define WLAN_SUBCMD_SETRXANTENNA 1
|
||||
#define WLAN_SUBCMD_SETTXANTENNA 2
|
||||
#define WLANSETAUTHALG 5
|
||||
#define WLANSET8021XAUTHALG 6
|
||||
#define WLANSETENCRYPTIONMODE 7
|
||||
#define WLANSETREGION 8
|
||||
#define WLAN_SET_LISTEN_INTERVAL 9
|
||||
|
||||
#define WLAN_SET_MULTIPLE_DTIM 10
|
||||
#define WLAN_SET_ATIM_WINDOW 11
|
||||
#define WLANSETBCNAVG 13
|
||||
#define WLANSETDATAAVG 14
|
||||
#define WLAN_SET_LINKMODE 15
|
||||
#define WLAN_SET_RADIOMODE 16
|
||||
#define WLAN_SET_DEBUGMODE 17
|
||||
#define WLAN_SUBCMD_MESH_SET_TTL 18
|
||||
|
||||
#define WLAN_SET128CHAR_GET128CHAR (WLANIOCTL + 25)
|
||||
#define WLANSCAN_MODE 6
|
||||
|
||||
#define WLAN_GET_ADHOC_STATUS 9
|
||||
|
||||
#define WLAN_SUBCMD_BT_ADD 18
|
||||
#define WLAN_SUBCMD_BT_DEL 19
|
||||
#define WLAN_SUBCMD_BT_LIST 20
|
||||
@ -103,27 +37,8 @@
|
||||
#define WLAN_SUBCMD_FWT_LIST_ROUTE 26
|
||||
|
||||
#define WLAN_SET_GET_SIXTEEN_INT (WLANIOCTL + 29)
|
||||
#define WLAN_TPCCFG 1
|
||||
#define WLAN_POWERCFG 2
|
||||
|
||||
#define WLAN_AUTO_FREQ_SET 3
|
||||
#define WLAN_AUTO_FREQ_GET 4
|
||||
#define WLAN_LED_GPIO_CTRL 5
|
||||
#define WLAN_SCANPROBES 6
|
||||
#define WLAN_ADAPT_RATESET 8
|
||||
#define WLAN_INACTIVITY_TIMEOUT 9
|
||||
#define WLANSNR 10
|
||||
#define WLAN_GET_RATE 11
|
||||
#define WLAN_GET_RXINFO 12
|
||||
|
||||
#define WLANCMD52RDWR (WLANIOCTL + 30)
|
||||
#define WLANCMD53RDWR (WLANIOCTL + 31)
|
||||
#define CMD53BUFLEN 32
|
||||
|
||||
#define REG_MAC 0x19
|
||||
#define REG_BBP 0x1a
|
||||
#define REG_RF 0x1b
|
||||
#define REG_EEPROM 0x59
|
||||
#define WLAN_LINKMODE_802_3 0
|
||||
#define WLAN_LINKMODE_802_11 2
|
||||
#define WLAN_RADIOMODE_NONE 0
|
||||
|
Loading…
Reference in New Issue
Block a user