2011-01-19 13:38:06

by Alexander Simon

[permalink] [raw]
Subject: [RFC] mac80211: support for IEEE80211N in IBSS

Hey list,

finally i got my (in ath9ks list announced) patch for HT rates in ad-hoc
networks ready that has been requested quite often.
I took the initial patches from Beno?t Papillault and worked on them.
Beno?t already implemented setting the HT mode with iw, building and
receiving IEs.

I added processing of the IEs when a new station joins the network into the
internal station capabilities (struct sta_cap). This is necessary for eg. the
rate algo to choose HT rates.

I had to change packet aggretation code to also work in ADHOC iftype.

As already said, the interface mode is set with iw. That mode will also be
advertised in the IEs, the additional HT capabilities are taken from the
interface capabilities. So there is no option to disable single capabilities
as in hostapd yet.

If a station is added through main receive path (ie. a third station sending
data to another station), HT is not threat yet. So there may be a initial
delay of maximum 100ms (beacon interval) running in legacy. It would
require disproportionally much work to implement this.

I tested this with with ath9k and iwlagn cards. Note that for ath9k i worked
with minstrel_ht.

You will also need Beno?t's patch for iw to set HT mode.
http://ns3.spinics.net/lists/linux-wireless/msg50200.html
You would then be able to setup an IBSS with eg.:
iw wlan0 ibss join my_ht_ibss 2412 HT40+

Alex

Signed-off-by: Alexander Simon <[email protected]>


Attachments:
enable_ieee80211_n_for_ibss.patch (13.40 kB)

2011-01-19 14:35:10

by Johannes Berg

[permalink] [raw]
Subject: Re: [RFC] mac80211: support for IEEE80211N in IBSS

On Wed, 2011-01-19 at 14:38 +0100, Alexander Simon wrote:
> Hey list,
>
> finally i got my (in ath9ks list announced) patch for HT rates in ad-hoc
> networks ready that has been requested quite often.
> I took the initial patches from BenoƮt Papillault and worked on them.

Didn't he have versions that refactored more, like the IE building?
That'd be good in any case.

Can you split this up into a few patches and repost inline (not
attached) so we can review it more easily?

johannes


2011-02-03 10:59:30

by Baldomero Coll

[permalink] [raw]
Subject: Re: [RFC] mac80211: support for IEEE80211N in IBSS


I have sacesfully installed the IBSS HT support patches [1] [2], but something
wrong happends when the network is created. Any idea why this happens?

[1]
# iw --debug dev wlan0 ibss join "uwicoreHT" 2412 HT20
-- Debug: Received Message:
-------------------------- BEGIN NETLINK MESSAGE ---------------------------
[HEADER] 16 octets
.nlmsg_len = 36
.nlmsg_type = 2 <ERROR>
.nlmsg_flags = 0 <>
.nlmsg_seq = 1296727732
.nlmsg_pid = 2350
[ERRORMSG] 20 octets
.error = 0 "Success"
[ORIGINAL MESSAGE] 16 octets
.nlmsg_len = 16
.nlmsg_type = 23 <0x17>
.nlmsg_flags = 5 <REQUEST,ACK>
.nlmsg_seq = 1296727732
.nlmsg_pid = 2350
--------------------------- END NETLINK MESSAGE ---------------------------

[2]
iw --debug dev wlan0 ibss join "uwicoreHT" 2412 HT40-
-- Debug: Received Message:
-------------------------- BEGIN NETLINK MESSAGE ---------------------------
[HEADER] 16 octets
.nlmsg_len = 36
.nlmsg_type = 2 <ERROR>
.nlmsg_flags = 0 <>
.nlmsg_seq = 1296727811
.nlmsg_pid = 2354
[ERRORMSG] 20 octets
.error = 0 "Success"
[ORIGINAL MESSAGE] 16 octets
.nlmsg_len = 16
.nlmsg_type = 23 <0x17>
.nlmsg_flags = 5 <REQUEST,ACK>
.nlmsg_seq = 1296727811
.nlmsg_pid = 2354
--------------------------- END NETLINK MESSAGE ---------------------------

[3]
As a result, the iwconfig shows the following:

wlan0 IEEE 802.11abgn ESSID:"uwicoreHT"
Mode:Ad-Hoc Frequency:2.412 GHz Cell: Not-Associated
Tx-Power=30 dBm
Retry long limit:7 RTS thr:off Fragment thr:off
Encryption key:off
Power Management:off
Link Quality:0 Signal level:0 Noise level:0
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0

(After few seconds the ESSID disappear)

wlan0 IEEE 802.11abgn Mode:Ad-Hoc Frequency:2.412 GHz
Cell: Not-Associated Tx-Power=27 dBm
Retry long limit:7 RTS thr:off Fragment thr:off
Encryption key:off
Power Management:off
Link Quality:0 Signal level:0 Noise level:0
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0




2011-02-04 17:22:50

by Brian Prodoehl

[permalink] [raw]
Subject: Re: [RFC] mac80211: support for IEEE80211N in IBSS

On Fri, Feb 4, 2011 at 12:10 PM, Baldomero Coll <[email protected]> wrote:
>
> 1)When I join/create the HT IBSS network (iw dev wlan0 ibss join baldoHT 2412
> HT20),my wireless card tries to scan and create several network with different
> BSSID. [1]
>
> This command [*] should create it.
>
> 2)And if I join/create the HT IBSS network adding fixed-freq and fixed-BSSID it
> happends the same! [2].
>
> Based on the command [*], why it tries to create new BSSIDs?
>
> [*]
> Join the IBSS cell with the given SSID, if it doesn't exist create it on the
> given frequency. When fixed frequency is requested, don't join/create a cell on
> a different frequency. When a fixed BSSID is requested use that BSSID and do not
> adopt another cell's BSSID even if it has higher TSF and the same SSID.
>
> [1]
> Feb ?4 17:47:29 uwicore-desktop kernel: [ 3618.354382] wlan0: Creating new IBSS
> network, BSSID 5a:48:a7:db:3d:e5
> Feb ?4 17:47:30 uwicore-desktop wpa_supplicant[900]: No network configuration
> found for the current AP
> ...
> Feb ?4 17:49:31 uwicore-desktop kernel: [ 3739.988024] wlan0: Trigger new scan
> to find an IBSS to join
> Feb ?4 17:49:41 uwicore-desktop kernel: [ 3750.263484] wlan0: Creating new IBSS
> network, BSSID 52:89:c5:d0:53:19
> Feb ?4 17:49:42 uwicore-desktop wpa_supplicant[900]: No network configuration
> found for the current AP
> Feb ?4 17:49:44 uwicore-desktop kernel: [ 3753.000025] wlan0: Trigger new scan
> to find an IBSS to join
>
> [2]
> Feb ?4 17:55:17 uwicore-desktop kernel: [ 4085.420015] wlan0: Creating new IBSS
> network, BSSID 11:11:11:11:11:11
> Feb ?4 17:55:17 uwicore-desktop wpa_supplicant[900]: No network configuration
> found for the current AP
> Feb ?4 17:55:19 uwicore-desktop kernel: [ 4087.988026] wlan0: Trigger new scan
> to find an IBSS to join
> Feb ?4 17:55:29 uwicore-desktop kernel: [ 4098.274430] wlan0: Creating new IBSS
> network, BSSID 8a:28:f2:8f:0f:b4
> Feb ?4 17:55:30 uwicore-desktop wpa_supplicant[900]: No network configuration
> found for the current AP
> Feb ?4 17:55:32 uwicore-desktop kernel: [ 4101.000037] wlan0: Trigger new scan
> to find an IBSS to join
> Feb ?4 17:55:42 uwicore-desktop kernel: [ 4111.282690] wlan0: Creating new IBSS
> network, BSSID ee:35:37:46:4c:66
>
>
> Baldomero Coll

So, are you using iw, or are you using wpa_supplicant? Your previous
email had the iw command, but now this email has a warning message
coming out of wpa_supplicant. Do you have NetworkManager running? I
have no problems setting up an 802.11n IBSS network using iw.

-Brian

2011-02-04 17:11:05

by Baldomero Coll

[permalink] [raw]
Subject: Re: [RFC] mac80211: support for IEEE80211N in IBSS


1)When I join/create the HT IBSS network (iw dev wlan0 ibss join baldoHT 2412
HT20),my wireless card tries to scan and create several network with different
BSSID. [1]

This command [*] should create it.

2)And if I join/create the HT IBSS network adding fixed-freq and fixed-BSSID it
happends the same! [2].

Based on the command [*], why it tries to create new BSSIDs?

[*]
Join the IBSS cell with the given SSID, if it doesn't exist create it on the
given frequency. When fixed frequency is requested, don't join/create a cell on
a different frequency. When a fixed BSSID is requested use that BSSID and do not
adopt another cell's BSSID even if it has higher TSF and the same SSID.

[1]
Feb 4 17:47:29 uwicore-desktop kernel: [ 3618.354382] wlan0: Creating new IBSS
network, BSSID 5a:48:a7:db:3d:e5
Feb 4 17:47:30 uwicore-desktop wpa_supplicant[900]: No network configuration
found for the current AP
...
Feb 4 17:49:31 uwicore-desktop kernel: [ 3739.988024] wlan0: Trigger new scan
to find an IBSS to join
Feb 4 17:49:41 uwicore-desktop kernel: [ 3750.263484] wlan0: Creating new IBSS
network, BSSID 52:89:c5:d0:53:19
Feb 4 17:49:42 uwicore-desktop wpa_supplicant[900]: No network configuration
found for the current AP
Feb 4 17:49:44 uwicore-desktop kernel: [ 3753.000025] wlan0: Trigger new scan
to find an IBSS to join

[2]
Feb 4 17:55:17 uwicore-desktop kernel: [ 4085.420015] wlan0: Creating new IBSS
network, BSSID 11:11:11:11:11:11
Feb 4 17:55:17 uwicore-desktop wpa_supplicant[900]: No network configuration
found for the current AP
Feb 4 17:55:19 uwicore-desktop kernel: [ 4087.988026] wlan0: Trigger new scan
to find an IBSS to join
Feb 4 17:55:29 uwicore-desktop kernel: [ 4098.274430] wlan0: Creating new IBSS
network, BSSID 8a:28:f2:8f:0f:b4
Feb 4 17:55:30 uwicore-desktop wpa_supplicant[900]: No network configuration
found for the current AP
Feb 4 17:55:32 uwicore-desktop kernel: [ 4101.000037] wlan0: Trigger new scan
to find an IBSS to join
Feb 4 17:55:42 uwicore-desktop kernel: [ 4111.282690] wlan0: Creating new IBSS
network, BSSID ee:35:37:46:4c:66


Baldomero Coll