Marvell Libertas 8388 802.11b/g USB driver
Subsystems (2)
PATCH 1/1 Marvell Libertas 8388 802.11b/g USB driver
Hi,
Marvell released a GPL driver for their 8388 wireless chip for USB interface back in April.
The 8388 is the device being used by the OLPC laptop.
We have been working on cleaning it up for mainline inclusion. I think the moment for wider review has arrived.
Since the diff is pretty large (700K) I've put it on the web at:
http://dev.laptop.org/~marcelo/libertas-8388-15122006.patch
And its GIT tree resides at:
http://git.infradead.org/?p=libertas-2.6.git;a=log
Comments are welcome
Quoted 29 lines · Marcelo Tosatti
include/net/ieee80211_radiotap.h +17
-0@@ -168,6 +168,23 @@ struct ieee80211_radiotap_header {* Unitless indication of the Rx/Tx antenna for this packet. * The first antenna is antenna 0. * +* IEEE80211_RADIOTAP_RX_FLAGS u_int16_t bitmap +* +* Properties of received frames. See flags defined below. +* +* IEEE80211_RADIOTAP_TX_FLAGS u_int16_t bitmap +* +* Properties of transmitted frames. See flags defined below. +* +* IEEE80211_RADIOTAP_RTS_RETRIES u_int8_t data +* +* Number of rts retries a transmitted frame used. +* +* IEEE80211_RADIOTAP_DATA_RETRIES u_int8_t data +* +* Number of unicast retries a transmitted frame used. +* +* * IEEE80211_RADIOTAP_FCS u32 data * * FCS from frame in network byte order. @@ -187,7 +204,11 @@ enum ieee80211_radiotap_type {IEEE80211_RADIOTAP_ANTENNA =11 , IEEE80211_RADIOTAP_DB_ANTSIGNAL = 12,
include/net/ieee80211_radiotap.h enum ieee80211_radiotap_type { · line 214
Quoted 10 lines
include/net/ieee80211_radiotap.h +5
-1IEEE80211_RADIOTAP_DB_ANTNOISE =13 , - IEEE80211_RADIOTAP_EXT = 31, +IEEE80211_RADIOTAP_RX_FLAGS =14 , +IEEE80211_RADIOTAP_TX_FLAGS =15 , +IEEE80211_RADIOTAP_RTS_RETRIES =16 , +IEEE80211_RADIOTAP_DATA_RETRIES =17 , + IEEE80211_RADIOTAP_EXT = 31 };/* Channel flags. */
Did you send this part to netbsd also? We really don't want to fork radiotap. ;) Also, this should be in a separate patch, but I'm guessing it's all rolled together for convenience.
-Michael Wu
Quoted 39 lines · Michael Wu
Quoted 38 lines · Marcelo Tosatti
include/net/ieee80211_radiotap.h +22
-1@@ -168,6 +168,23 @@ struct ieee80211_radiotap_header {* Unitless indication of the Rx/Tx antenna for this packet. * The first antenna is antenna 0. * +* IEEE80211_RADIOTAP_RX_FLAGS u_int16_t bitmap +* +* Properties of received frames. See flags defined below. +* +* IEEE80211_RADIOTAP_TX_FLAGS u_int16_t bitmap +* +* Properties of transmitted frames. See flags defined below. +* +* IEEE80211_RADIOTAP_RTS_RETRIES u_int8_t data +* +* Number of rts retries a transmitted frame used. +* +* IEEE80211_RADIOTAP_DATA_RETRIES u_int8_t data +* +* Number of unicast retries a transmitted frame used. +* +* * IEEE80211_RADIOTAP_FCS u32 data * * FCS from frame in network byte order. @@ -187,7 +204,11 @@ enum ieee80211_radiotap_type {IEEE80211_RADIOTAP_ANTENNA =11 ,IEEE80211_RADIOTAP_DB_ANTSIGNAL =12 ,IEEE80211_RADIOTAP_DB_ANTNOISE =13 , - IEEE80211_RADIOTAP_EXT = 31, +IEEE80211_RADIOTAP_RX_FLAGS =14 , +IEEE80211_RADIOTAP_TX_FLAGS =15 , +IEEE80211_RADIOTAP_RTS_RETRIES =16 , +IEEE80211_RADIOTAP_DATA_RETRIES =17 , + IEEE80211_RADIOTAP_EXT = 31 };
Quoted 4 lines
include/net/ieee80211_radiotap.h enum ieee80211_radiotap_type { · line 214
Quoted 1 line
include/net/ieee80211_radiotap.h +0
-0/* Channel flags. */ Did you send this part to netbsd also? We really don't want to fork radiotap. ;) Also, this should be in a separate patch, but I'm guessing it's all rolled together for convenience.
No, especially since NetBSD is where I keep the authoritative definitions.
How have you defined RX_FLAGS and TX_FLAGS?
BTW, IEEE80211_RADIOTAP_FCS (above) never made it into radiotap. No bit is reserved.
Dave
Signature · 2 lines
David Young OJC Technologies [email protected] Urbana, IL * (217) 278-3933
Quoted 45 lines · David Young
Quoted 39 lines · Michael Wu
Quoted 38 lines · Marcelo Tosatti
include/net/ieee80211_radiotap.h +22
-1@@ -168,6 +168,23 @@ struct ieee80211_radiotap_header {* Unitless indication of the Rx/Tx antenna for this packet. * The first antenna is antenna 0. * +* IEEE80211_RADIOTAP_RX_FLAGS u_int16_t bitmap +* +* Properties of received frames. See flags defined below. +* +* IEEE80211_RADIOTAP_TX_FLAGS u_int16_t bitmap +* +* Properties of transmitted frames. See flags defined below. +* +* IEEE80211_RADIOTAP_RTS_RETRIES u_int8_t data +* +* Number of rts retries a transmitted frame used. +* +* IEEE80211_RADIOTAP_DATA_RETRIES u_int8_t data +* +* Number of unicast retries a transmitted frame used. +* +* * IEEE80211_RADIOTAP_FCS u32 data * * FCS from frame in network byte order. @@ -187,7 +204,11 @@ enum ieee80211_radiotap_type {IEEE80211_RADIOTAP_ANTENNA =11 ,IEEE80211_RADIOTAP_DB_ANTSIGNAL =12 ,IEEE80211_RADIOTAP_DB_ANTNOISE =13 , - IEEE80211_RADIOTAP_EXT = 31, +IEEE80211_RADIOTAP_RX_FLAGS =14 , +IEEE80211_RADIOTAP_TX_FLAGS =15 , +IEEE80211_RADIOTAP_RTS_RETRIES =16 , +IEEE80211_RADIOTAP_DATA_RETRIES =17 , + IEEE80211_RADIOTAP_EXT = 31 };Quoted 4 lines
include/net/ieee80211_radiotap.h enum ieee80211_radiotap_type { · line 214
Quoted 1 line
include/net/ieee80211_radiotap.h +0
-0/* Channel flags. */ Did you send this part to netbsd also? We really don't want to fork radiotap. ;) Also, this should be in a separate patch, but I'm guessing it's all rolled together for convenience.
Quoted 6 lines
No, especially since NetBSD is where I keep the authoritative definitions.
How have you defined
RX_FLAGSandTX_FLAGS?BTW,
IEEE80211_RADIOTAP_FCS(above) never made it into radiotap. No bit is reserved.
Tell that to everyone that implements it.
Sam
Quoted 45 lines · Sam Leffler
Quoted 44 lines · David Young
Quoted 43 lines · Michael Wu
Quoted 29 lines · Marcelo Tosatti
include/net/ieee80211_radiotap.h +17
-0@@ -168,6 +168,23 @@ struct ieee80211_radiotap_header {* Unitless indication of the Rx/Tx antenna for this packet. * The first antenna is antenna 0. * +* IEEE80211_RADIOTAP_RX_FLAGS u_int16_t bitmap +* +* Properties of received frames. See flags defined below. +* +* IEEE80211_RADIOTAP_TX_FLAGS u_int16_t bitmap +* +* Properties of transmitted frames. See flags defined below. +* +* IEEE80211_RADIOTAP_RTS_RETRIES u_int8_t data +* +* Number of rts retries a transmitted frame used. +* +* IEEE80211_RADIOTAP_DATA_RETRIES u_int8_t data +* +* Number of unicast retries a transmitted frame used. +* +* * IEEE80211_RADIOTAP_FCS u32 data * * FCS from frame in network byte order. @@ -187,7 +204,11 @@ enum ieee80211_radiotap_type {IEEE80211_RADIOTAP_ANTENNA =11 , IEEE80211_RADIOTAP_DB_ANTSIGNAL = 12,include/net/ieee80211_radiotap.h enum ieee80211_radiotap_type { · line 214
Quoted 10 lines
include/net/ieee80211_radiotap.h +5
-1IEEE80211_RADIOTAP_DB_ANTNOISE =13 , - IEEE80211_RADIOTAP_EXT = 31, +IEEE80211_RADIOTAP_RX_FLAGS =14 , +IEEE80211_RADIOTAP_TX_FLAGS =15 , +IEEE80211_RADIOTAP_RTS_RETRIES =16 , +IEEE80211_RADIOTAP_DATA_RETRIES =17 , + IEEE80211_RADIOTAP_EXT = 31 };/* Channel flags. */ Did you send this part to netbsd also? We really don't want to fork radiotap. ;) Also, this should be in a separate patch, but I'm guessing it's all rolled together for convenience.
Quoted 9 lines
Quoted 6 lines
No, especially since NetBSD is where I keep the authoritative definitions.
How have you defined
RX_FLAGSandTX_FLAGS?BTW,
IEEE80211_RADIOTAP_FCS(above) never made it into radiotap. No bit is reserved.Tell that to everyone that implements it.
My mistake. David pointed out correctly that the mechanism for adding the FCS out-of-line (IEEE80211_RADIOTAP_FCS) was not used. Instead there is a flag bit that tells whether or not FCS is present (inline) in the data. This flag bit is what I was thinking of--it's honored by ethereal (aka wireshark), kismet, tcpdump, etc.
Sam
A message that is not in the archive (sent off-list or not yet received): 20061218195723.GB7260@dmt
Quoted 11 lines · Marcelo Tosatti
Quoted 9 lines
Quoted 5 lines
Quoted 2 lines
/* Channel flags. */
Did you send this part to netbsd also? We really don't want to fork radiotap. ;) Also, this should be in a separate patch, but I'm guessing it's all rolled together for convenience.
No, especially since NetBSD is where I keep the authoritative definitions.
How have you defined
RX_FLAGSandTX_FLAGS?Oh yes, missed that part of the patch. Sorry.
Sorry for the delayed response, it's been a busy couple of months.
There is now a mailing list for discussing radiotap. Subscribe at
<http://mail.ojctech.com/mailman/listinfo/radiotap>. I ask that you send proposals for new fields to the mailing list for discussion. I am interested to see proposals for 802.11n. A couple of people have already promised me proposals, but they never sent them.
A couple words about the fields you mention:
Quoted 27 lines
include/net/ieee80211_radiotap.h +17
-0@@ -168,6 +168,23 @@ struct ieee80211_radiotap_header {* Unitless indication of the Rx/Tx antenna for this packet. * The first antenna is antenna 0. * +* IEEE80211_RADIOTAP_RX_FLAGS u_int16_t bitmap +* +* Properties of received frames. See flags defined below. +* +* IEEE80211_RADIOTAP_TX_FLAGS u_int16_t bitmap +* +* Properties of transmitted frames. See flags defined below. +* +* IEEE80211_RADIOTAP_RTS_RETRIES u_int8_t data +* +* Number of rts retries a transmitted frame used. +* +* IEEE80211_RADIOTAP_DATA_RETRIES u_int8_t data +* +* Number of unicast retries a transmitted frame used. +* +* * IEEE80211_RADIOTAP_FCS u32 data * * FCS from frame in network byte order.
include/net/ieee80211_radiotap.h enum ieee80211_radiotap_type { · line 212
Quoted 10 lines
include/net/ieee80211_radiotap.h +5
-1@@ -187,7 +204,11 @@ enum ieee80211_radiotap_type {IEEE80211_RADIOTAP_ANTENNA =11 ,IEEE80211_RADIOTAP_DB_ANTSIGNAL =12 ,IEEE80211_RADIOTAP_DB_ANTNOISE =13 , - IEEE80211_RADIOTAP_EXT = 31, +IEEE80211_RADIOTAP_RX_FLAGS =14 , +IEEE80211_RADIOTAP_TX_FLAGS =15 , +IEEE80211_RADIOTAP_RTS_RETRIES =16 , +IEEE80211_RADIOTAP_DATA_RETRIES =17 , + IEEE80211_RADIOTAP_EXT = 31 };
I remember discussing these fields, but they were for somebody's experimental use. All of the fields are acceptable to me, but this flag is questionable; it duplicates the function of another flag:
include/net/ieee80211_radiotap.h enum ieee80211_radiotap_type { · line 213
Quoted 1 line
include/net/ieee80211_radiotap.h +1
-0+#define IEEE80211_RADIOTAP_F_RX_BADFCS 0x0001/* frame failed crc check */
If it is important to people that I add this flag, let's discuss on the mailing list.
Dave
Signature · 2 lines
David Young OJC Technologies [email protected] Urbana, IL * (217) 278-3933