From owner-freebsd-net@FreeBSD.ORG Sat Mar 13 16:17:25 2010 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id AB41F106564A; Sat, 13 Mar 2010 16:17:25 +0000 (UTC) (envelope-from egorenar@googlemail.com) Received: from mail-ew0-f228.google.com (mail-ew0-f228.google.com [209.85.219.228]) by mx1.freebsd.org (Postfix) with ESMTP id 0B2878FC20; Sat, 13 Mar 2010 16:17:24 +0000 (UTC) Received: by ewy28 with SMTP id 28so369516ewy.13 for ; Sat, 13 Mar 2010 08:17:23 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:message-id:subject:from:to:cc:content-type; bh=bTJ8iWm2kWpRnO7hbV18EyMvBS/FThj0RV9MnCWylRY=; b=VSrSR4Z5Ymc1uYUZRUhN03oQ5V0hphErCahrYRYNNOejxbAibUqCc0Pyv9nW3ycI/7 i4vqHJhCxpej1nKwlaNfTMRKEku4RXb0H/eGnBj9rIUrLmizsuiU3MFEEOZXFHWs8l6c NKVdejAjHLYIbP+UL/2SepOz+EhVFrTMjUuYY= DomainKey-Signature: a=rsa-sha1; c=nofws; d=googlemail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; b=qyjZqOmk+Dwp3hnL9ipm+wBHQQhabpMIzXeEB+9EAvlIvto7SeMbPYtpxmNwpTkZ5/ UppHjsA8V0ie74t4J5Ssyf/xjHuX2JQXErUC9PoBNe/G+bUd2FE3dcOpoRNXryAtHBrS hLH0DgYQnAOl7honW1VlkBi+OVaVZqceCp+Hk= MIME-Version: 1.0 Received: by 10.213.104.74 with SMTP id n10mr1303778ebo.64.1268497042040; Sat, 13 Mar 2010 08:17:22 -0800 (PST) In-Reply-To: <6A317237-60A2-440A-9DBC-511545C34B36@FreeBSD.org> References: <2d3b7e441003042348h2150de3eub5a7af5248b5e947@mail.gmail.com> <4B92F057.9080508@errno.com> <2d3b7e441003070004r74646cdci268a5101056c50e2@mail.gmail.com> <2d3b7e441003102332l1cc9b9ddh1e62fce61129248@mail.gmail.com> <6A317237-60A2-440A-9DBC-511545C34B36@FreeBSD.org> Date: Sat, 13 Mar 2010 17:17:21 +0100 Message-ID: <2d3b7e441003130817y1210508fycb3cb22a9a7198d1@mail.gmail.com> From: Alexander Egorenkov To: Rui Paulo Content-Type: multipart/mixed; boundary=001636c5bc0296e6e50481b0fb48 X-Content-Filtered-By: Mailman/MimeDel 2.1.5 Cc: freebsd-net@freebsd.org Subject: Re: Setting HT capabilities in net80211 X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 13 Mar 2010 16:17:25 -0000 --001636c5bc0296e6e50481b0fb48 Content-Type: text/plain; charset=ISO-8859-1 I have finally patched net80211 on my system and added HT extended capabilities support. Here are the patches. I added a new variable to ieee80211com struct. It seems that only the lowest 16 bit of ic_htcaps are used, an alternative to a new variable would be to use the highest 16 bit of ic_htcaps. Here is a code snippet from my driver which sets ic_htextcaps: ic->ic_htextcaps = IEEE80211_HTCAP_MCSFBACK_UNSOL | IEEE80211_HTCAP_HTC | IEEE80211_HTCAP_RDR; I also captured an association process with 802.11n AP and it seems the capabilities were set right. Alex. On Thu, Mar 11, 2010 at 8:44 AM, Rui Paulo wrote: > > On 11 Mar 2010, at 16:32, Alexander Egorenkov wrote: > > There are already constants defined in iee80211.h. >> E.g. IEEE80211_HTCAP_MCSFBACK_UNSOL. >> >> But the problem is that e.g. IEEE80211_HTCAP_MCSFBACK_UNSOL is equal to >> 0x0200 >> and the capabilty constant IEEE80211_HTCAP_RXSTBC_2STREAM has the same >> value. >> So we cannot use ic_htcap field for both capabilities because they will >> overwrite each other. >> >> But we can add a new field to ieee80211com struct like ic_htextcaps where >> all the extended >> HT capabilities can be set. And this new field can be checked in function >> ieee80211_add_htcap_body. >> > > I'm okay with this route. > > > Another option is to change the value of IEEE80211_HTCAP_MCSFBACK_UNSOL >> and all other extended capability constant which conflict with normal HT >> capability constants. >> > > I think you don't want to do this because sooner or later you'll need > ic_htextcaps. > > -- > Rui Paulo > > --001636c5bc0296e6e50481b0fb48 Content-Type: application/octet-stream; name="ieee80211_var.h.patch" Content-Disposition: attachment; filename="ieee80211_var.h.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_g6qm8zm20 LS0tIGllZWU4MDIxMV92YXIuaC5vcmlnCTIwMTAtMDMtMTMgMTA6MzY6MzMuMDAwMDAwMDAwICsw MTAwCisrKyBpZWVlODAyMTFfdmFyLmgJMjAxMC0wMy0xMyAxMToyMjo0MC4wMDAwMDAwMDAgKzAx MDAKQEAgLTEzNyw2ICsxMzcsNyBAQAogCXVpbnQzMl90CQlpY19mbGFnc192ZW47CS8qIHZlbmRv ciBzdGF0ZSBmbGFncyAqLwogCXVpbnQzMl90CQlpY19jYXBzOwkvKiBjYXBhYmlsaXRpZXMgKi8K IAl1aW50MzJfdAkJaWNfaHRjYXBzOwkvKiBIVCBjYXBhYmlsaXRpZXMgKi8KKwl1aW50MzJfdAkJ aWNfaHRleHRjYXBzOwkvKiBIVCBleHRlbmRlZCBjYXBhYmlsaXRpZXMgKi8KIAl1aW50MzJfdAkJ aWNfY3J5cHRvY2FwczsJLyogY3J5cHRvIGNhcGFiaWxpdGllcyAqLwogCXVpbnQ4X3QJCQlpY19t b2RlY2Fwc1syXTsJLyogc2V0IG9mIG1vZGUgY2FwYWJpbGl0aWVzICovCiAJdWludDhfdAkJCWlj X3Byb21pc2M7CS8qIHZhcCdzIG5lZWRpbmcgcHJvbWlzYyBtb2RlICovCkBAIC0zNDAsNiArMzQx LDcgQEAKIAl1aW50MzJfdAkJaXZfZmxhZ3NfdmVuOwkvKiB2ZW5kb3Igc3RhdGUgZmxhZ3MgKi8K IAl1aW50MzJfdAkJaXZfY2FwczsJLyogY2FwYWJpbGl0aWVzICovCiAJdWludDMyX3QJCWl2X2h0 Y2FwczsJLyogSFQgY2FwYWJpbGl0aWVzICovCisJdWludDMyX3QJCWl2X2h0ZXh0Y2FwczsJLyog SFQgZXh0ZW5kZWQgY2FwYWJpbGl0aWVzICovCiAJZW51bSBpZWVlODAyMTFfb3Btb2RlCWl2X29w bW9kZTsJLyogb3BlcmF0aW9uIG1vZGUgKi8KIAllbnVtIGllZWU4MDIxMV9zdGF0ZQlpdl9zdGF0 ZTsJLyogc3RhdGUgbWFjaGluZSBzdGF0ZSAqLwogCWVudW0gaWVlZTgwMjExX3N0YXRlCWl2X25z dGF0ZTsJLyogcGVuZGluZyBzdGF0ZSAqLwo= --001636c5bc0296e6e50481b0fb48 Content-Type: application/octet-stream; name="ieee80211.c.patch" Content-Disposition: attachment; filename="ieee80211.c.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_g6qm950c1 LS0tIGllZWU4MDIxMS5jLm9yaWcJMjAxMC0wMy0xMyAxMDozODo1NC4wMDAwMDAwMDAgKzAxMDAK KysrIGllZWU4MDIxMS5jCTIwMTAtMDMtMTMgMTA6Mzk6MjEuMDAwMDAwMDAwICswMTAwCkBAIC00 MDUsNiArNDA1LDcgQEAKIAl2YXAtPml2X2ZsYWdzX3ZlbiA9IGljLT5pY19mbGFnc192ZW47CiAJ dmFwLT5pdl9jYXBzID0gaWMtPmljX2NhcHMgJn4gSUVFRTgwMjExX0NfT1BNT0RFOwogCXZhcC0+ aXZfaHRjYXBzID0gaWMtPmljX2h0Y2FwczsKKwl2YXAtPml2X2h0ZXh0Y2FwcyA9IGljLT5pY19o dGV4dGNhcHM7CiAJdmFwLT5pdl9vcG1vZGUgPSBvcG1vZGU7CiAJdmFwLT5pdl9jYXBzIHw9IGll ZWU4MDIxMV9vcGNhcFtvcG1vZGVdOwogCXN3aXRjaCAob3Btb2RlKSB7Cg== --001636c5bc0296e6e50481b0fb48 Content-Type: application/octet-stream; name="ieee80211_ht.c.patch" Content-Disposition: attachment; filename="ieee80211_ht.c.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_g6qm99o72 LS0tIGllZWU4MDIxMV9odC5jLm9yaWcJMjAxMC0wMy0xMyAxMDozNjo0Mi4wMDAwMDAwMDAgKzAx MDAKKysrIGllZWU4MDIxMV9odC5jCTIwMTAtMDMtMTMgMTA6NDk6MTguMDAwMDAwMDAwICswMTAw CkBAIC0yMzA0LDcgKzIzMDQsNyBAQAogCWZybSArPSAyOwkJCQlcCiB9IHdoaWxlICgwKQogCXN0 cnVjdCBpZWVlODAyMTF2YXAgKnZhcCA9IG5pLT5uaV92YXA7Ci0JdWludDE2X3QgY2FwczsKKwl1 aW50MTZfdCBjYXBzLCBleHRjYXBzOwogCWludCByeG1heCwgZGVuc2l0eTsKIAogCS8qIEhUIGNh cGFiaWxpdGllcyAqLwpAQCAtMjM2Miw4ICsyMzYyLDE3IEBACiAJICovCiAJaWVlZTgwMjExX3Nl dF9odHJhdGVzKGZybSwgJmllZWU4MDIxMV9yYXRlc2V0XzExbik7CiAKLQlmcm0gKz0gc2l6ZW9m KHN0cnVjdCBpZWVlODAyMTFfaWVfaHRjYXApIC0KKwlmcm0gKz0gX19vZmZzZXRvZihzdHJ1Y3Qg aWVlZTgwMjExX2llX2h0Y2FwLCBoY19leHRjYXApIC0KIAkJX19vZmZzZXRvZihzdHJ1Y3QgaWVl ZTgwMjExX2llX2h0Y2FwLCBoY19tY3NzZXQpOworCisJLyogSFQgZXh0ZW5kZWQgY2FwYWJpbGl0 aWVzICovCisJZXh0Y2FwcyA9IHZhcC0+aXZfaHRleHRjYXBzICYgMHhmZmZmOworCisJQUREU0hP UlQoZnJtLCBleHRjYXBzKTsKKworCWZybSArPSBzaXplb2Yoc3RydWN0IGllZWU4MDIxMV9pZV9o dGNhcCkgLQorCQlfX29mZnNldG9mKHN0cnVjdCBpZWVlODAyMTFfaWVfaHRjYXAsIGhjX3R4YmYp OworCiAJcmV0dXJuIGZybTsKICN1bmRlZiBBRERTSE9SVAogfQo= --001636c5bc0296e6e50481b0fb48--