rpms/kernel/devel linux-2.6-bcm43xx-assoc-on-startup.patch, NONE, 1.1 linux-2.6-softmac-default-rate.patch, NONE, 1.1 linux-2.6-softmac-scan-channel.patch, NONE, 1.1 linux-2.6-softmac-scan-dwell-time.patch, NONE, 1.1 kernel-2.6.spec, 1.2080, 1.2081 linux-2.6-softmac-git.patch, 1.8, 1.9
fedora-cvs-commits at redhat.com
fedora-cvs-commits at redhat.com
Wed Mar 22 14:33:03 UTC 2006
Author: dwmw2
Update of /cvs/dist/rpms/kernel/devel
In directory cvs.devel.redhat.com:/tmp/cvs-serv19404
Modified Files:
kernel-2.6.spec linux-2.6-softmac-git.patch
Added Files:
linux-2.6-bcm43xx-assoc-on-startup.patch
linux-2.6-softmac-default-rate.patch
linux-2.6-softmac-scan-channel.patch
linux-2.6-softmac-scan-dwell-time.patch
Log Message:
Re-enable and fix up bcm43xx driver
linux-2.6-bcm43xx-assoc-on-startup.patch:
bcm43xx_main.c | 6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)
--- NEW FILE linux-2.6-bcm43xx-assoc-on-startup.patch ---
--- linux-2.6.16.ppc/drivers/net/wireless/bcm43xx/bcm43xx_main.c~ 2006-03-21 23:50:00.000000000 +0000
+++ linux-2.6.16.ppc/drivers/net/wireless/bcm43xx/bcm43xx_main.c 2006-03-22 10:32:11.000000000 +0000
@@ -3429,6 +3429,9 @@ static int bcm43xx_init_board(struct bcm
}
bcm43xx_periodic_tasks_setup(bcm);
+ /*FIXME: This should be handled by softmac instead. */
+ schedule_work(&bcm->softmac->associnfo.work);
+
assert(err == 0);
out:
return err;
@@ -4326,9 +4329,6 @@ static int bcm43xx_resume(struct pci_dev
netif_device_attach(net_dev);
- /*FIXME: This should be handled by softmac instead. */
- schedule_work(&bcm->softmac->associnfo.work);
-
dprintk(KERN_INFO PFX "Device resumed.\n");
return 0;
linux-2.6-softmac-default-rate.patch:
ieee80211softmac_module.c | 5 ++++-
ieee80211softmac_wx.c | 2 +-
2 files changed, 5 insertions(+), 2 deletions(-)
--- NEW FILE linux-2.6-softmac-default-rate.patch ---
--- linux-2.6.16.ppc/net/ieee80211/softmac/ieee80211softmac_module.c~ 2006-03-21 23:50:00.000000000 +0000
+++ linux-2.6.16.ppc/net/ieee80211/softmac/ieee80211softmac_module.c 2006-03-22 11:00:57.000000000 +0000
@@ -183,7 +183,10 @@ void ieee80211softmac_start(struct net_d
*/
if (mac->txrates_change)
oldrates = mac->txrates;
- if (ieee->modulation & IEEE80211_OFDM_MODULATION) {
+ /* FIXME: We don't correctly handle backing down to lower rates,
+ so start off at 11M for now. People can manually change it if
+ they really need to, but 11M is more reliable. */
+ if (0 && ieee->modulation & IEEE80211_OFDM_MODULATION) {
mac->txrates.default_rate = IEEE80211_OFDM_RATE_54MB;
change |= IEEE80211SOFTMAC_TXRATECHG_DEFAULT;
mac->txrates.default_fallback = IEEE80211_OFDM_RATE_24MB;
--- linux-2.6.16.ppc/net/ieee80211/softmac/ieee80211softmac_wx.c~ 2006-03-21 23:50:00.000000000 +0000
+++ linux-2.6.16.ppc/net/ieee80211/softmac/ieee80211softmac_wx.c 2006-03-22 12:11:58.000000000 +0000
@@ -136,7 +136,7 @@ ieee80211softmac_wx_set_rate(struct net_
if (in_rate == -1) {
/* automatic detect */
- if (ieee->modulation & IEEE80211_OFDM_MODULATION)
+ if (0 && ieee->modulation & IEEE80211_OFDM_MODULATION)
in_rate = 54000000;
else
in_rate = 11000000;
linux-2.6-softmac-scan-channel.patch:
ieee80211softmac_scan.c | 7 +++++++
1 files changed, 7 insertions(+)
--- NEW FILE linux-2.6-softmac-scan-channel.patch ---
--- linux-2.6.16.ppc/net/ieee80211/softmac/ieee80211softmac_scan.c~ 2006-03-21 23:50:00.000000000 +0000
+++ linux-2.6.16.ppc/net/ieee80211/softmac/ieee80211softmac_scan.c 2006-03-22 00:31:31.000000000 +0000
@@ -232,6 +232,13 @@ void ieee80211softmac_scan_finished(stru
sm->scanning = 0;
spin_unlock_irqrestore(&sm->lock, flags);
+ if (sm->associnfo.bssvalid) {
+ struct ieee80211softmac_network *net;
+
+ net = ieee80211softmac_get_network_by_bssid(sm, sm->associnfo.bssid);
+ if (net)
+ sm->set_channel(sm->dev, net->channel);
+ }
ieee80211softmac_call_events(sm, IEEE80211SOFTMAC_EVENT_SCAN_FINISHED, NULL);
}
EXPORT_SYMBOL_GPL(ieee80211softmac_scan_finished);
linux-2.6-softmac-scan-dwell-time.patch:
ieee80211softmac_priv.h | 2 +-
1 files changed, 1 insertion(+), 1 deletion(-)
--- NEW FILE linux-2.6-softmac-scan-dwell-time.patch ---
--- linux-2.6.16.ppc/net/ieee80211/softmac/ieee80211softmac_priv.h~ 2006-03-21 23:50:00.000000000 +0000
+++ linux-2.6.16.ppc/net/ieee80211/softmac/ieee80211softmac_priv.h 2006-03-22 11:20:26.000000000 +0000
@@ -176,7 +176,7 @@ static inline int ieee80211softmac_scan_
) || ieee80211softmac_scan_handlers_check_self(sm);
}
-#define IEEE80211SOFTMAC_PROBE_DELAY HZ/2
+#define IEEE80211SOFTMAC_PROBE_DELAY HZ/50
#define IEEE80211SOFTMAC_WORKQUEUE_NAME_LEN (17 + IFNAMSIZ)
struct ieee80211softmac_network {
Index: kernel-2.6.spec
===================================================================
RCS file: /cvs/dist/rpms/kernel/devel/kernel-2.6.spec,v
retrieving revision 1.2080
retrieving revision 1.2081
diff -u -r1.2080 -r1.2081
--- kernel-2.6.spec 21 Mar 2006 21:12:02 -0000 1.2080
+++ kernel-2.6.spec 22 Mar 2006 14:32:58 -0000 1.2081
@@ -403,6 +403,10 @@
Patch5000: linux-2.6-softmac-git.patch
Patch5001: linux-2.6-bcm43xx-git.patch
Patch5002: linux-2.6-bcm43xx-neuter.patch
+Patch5003: linux-2.6-softmac-scan-channel.patch
+Patch5004: linux-2.6-softmac-scan-dwell-time.patch
+Patch5005: linux-2.6-bcm43xx-assoc-on-startup.patch
+Patch5006: linux-2.6-softmac-default-rate.patch
#
# 10000 to 20000 is for stuff that has to come last due to the
@@ -1032,12 +1036,19 @@
#
# Import softmac code from wireless-2.6 tree
-#%patch5000 -p1
+%patch5000 -p1
# ... and bcm43xx driver too
-#%patch5001 -p1
+%patch5001 -p1
# temporarily remove bcm43xx's MODULE_DEVICE_TABLE entry
#%patch5002 -p1
-
+# Go back to the original channel when we finish scanning.
+%patch5003 -p1
+# When scanning, spend only 20ms on each channel not 500ms.
+%patch5004 -p1
+# Attempt to associate when the link is brought up
+%patch5005 -p1
+# Default to 11Mbps not 54Mbps, since we don't back down automatically yet.
+%patch5006 -p1
#
# final stuff
#
@@ -1639,6 +1650,10 @@
%endif
%changelog
+* Wed Mar 22 2006 David Woodhouse <dwmw2 at redhat.com>
+- Update the bcm43xx driver to make it work nicely with initscripts
+ and NetworkManager without user intervention.
+
* Tue Mar 21 2006 Dave Jones <davej at redhat.com>
- 2.6.16-git3
- Improve spinlock scalability on big machines.
linux-2.6-softmac-git.patch:
include/net/ieee80211softmac.h | 292 ++++++++++++++
include/net/ieee80211softmac_wx.h | 94 ++++
net/ieee80211/Kconfig | 1
net/ieee80211/Makefile | 1
net/ieee80211/softmac/Kconfig | 10
net/ieee80211/softmac/Makefile | 9
net/ieee80211/softmac/ieee80211softmac_assoc.c | 403 ++++++++++++++++++++
net/ieee80211/softmac/ieee80211softmac_auth.c | 376 +++++++++++++++++++
net/ieee80211/softmac/ieee80211softmac_event.c | 159 ++++++++
net/ieee80211/softmac/ieee80211softmac_io.c | 474 ++++++++++++++++++++++++
net/ieee80211/softmac/ieee80211softmac_module.c | 457 +++++++++++++++++++++++
net/ieee80211/softmac/ieee80211softmac_priv.h | 239 ++++++++++++
net/ieee80211/softmac/ieee80211softmac_scan.c | 237 ++++++++++++
net/ieee80211/softmac/ieee80211softmac_wx.c | 412 ++++++++++++++++++++
14 files changed, 3164 insertions(+)
Index: linux-2.6-softmac-git.patch
===================================================================
RCS file: /cvs/dist/rpms/kernel/devel/linux-2.6-softmac-git.patch,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- linux-2.6-softmac-git.patch 1 Mar 2006 16:54:12 -0000 1.8
+++ linux-2.6-softmac-git.patch 22 Mar 2006 14:32:59 -0000 1.9
@@ -95,23 +95,6 @@
+ union iwreq_data *wrqu,
+ char *extra);
+#endif /* _IEEE80211SOFTMAC_WX */
---- linux-2.6.15.noarch/include/net/ieee80211.h.orig 2006-02-15 09:58:15.000000000 -0500
-+++ linux-2.6.15.noarch/include/net/ieee80211.h 2006-02-15 09:58:21.000000000 -0500
-@@ -1122,6 +1122,14 @@ extern int ieee80211_wx_set_encodeext(st
- extern int ieee80211_wx_get_encodeext(struct ieee80211_device *ieee,
- struct iw_request_info *info,
- union iwreq_data *wrqu, char *extra);
-+extern int ieee80211_wx_set_auth(struct net_device *dev,
-+ struct iw_request_info *info,
-+ union iwreq_data *wrqu,
-+ char *extra);
-+extern int ieee80211_wx_get_auth(struct net_device *dev,
-+ struct iw_request_info *info,
-+ union iwreq_data *wrqu,
-+ char *extra);
-
- static inline void ieee80211_increment_scans(struct ieee80211_device *ieee)
- {
--- /dev/null 2006-02-15 08:17:09.135048168 -0500
+++ linux-2.6.15.noarch/include/net/ieee80211softmac.h 2006-02-15 10:04:26.000000000 -0500
@@ -0,0 +1,292 @@
@@ -407,17 +390,6 @@
+ieee80211softmac_clear_pending_work(struct ieee80211softmac_device *sm);
+
+#endif /* IEEE80211SOFTMAC_H_ */
---- linux-2.6.15.noarch/net/ieee80211/ieee80211_module.c.orig 2006-02-15 09:58:15.000000000 -0500
-+++ linux-2.6.15.noarch/net/ieee80211/ieee80211_module.c 2006-02-15 09:58:21.000000000 -0500
-@@ -195,7 +195,7 @@ void free_ieee80211(struct net_device *d
-
- static int debug = 0;
- u32 ieee80211_debug_level = 0;
--struct proc_dir_entry *ieee80211_proc = NULL;
-+static struct proc_dir_entry *ieee80211_proc = NULL;
-
- static int show_debug_level(char *page, char **start, off_t offset,
- int count, int *eof, void *data)
--- /dev/null 2006-02-15 08:17:09.135048168 -0500
+++ linux-2.6.15.noarch/net/ieee80211/softmac/ieee80211softmac_auth.c 2006-02-15 10:34:17.000000000 -0500
@@ -0,0 +1,376 @@
@@ -3231,107 +3203,6 @@
ieee80211_geo.o
+obj-$(CONFIG_IEEE80211_SOFTMAC) += softmac/
---- linux-2.6.15.noarch/net/ieee80211/ieee80211_wx.c.orig 2006-02-15 09:58:15.000000000 -0500
-+++ linux-2.6.15.noarch/net/ieee80211/ieee80211_wx.c 2006-02-15 09:58:21.000000000 -0500
-@@ -734,9 +734,98 @@ int ieee80211_wx_get_encodeext(struct ie
- return 0;
- }
-
-+int ieee80211_wx_set_auth(struct net_device *dev,
-+ struct iw_request_info *info,
-+ union iwreq_data *wrqu,
-+ char *extra)
-+{
-+ struct ieee80211_device *ieee = netdev_priv(dev);
-+ unsigned long flags;
-+ int err = 0;
-+
-+ spin_lock_irqsave(&ieee->lock, flags);
-+
-+ switch (wrqu->param.flags & IW_AUTH_INDEX) {
-+ case IW_AUTH_WPA_VERSION:
-+ case IW_AUTH_CIPHER_PAIRWISE:
-+ case IW_AUTH_CIPHER_GROUP:
-+ case IW_AUTH_KEY_MGMT:
-+ /*
-+ * Host AP driver does not use these parameters and allows
-+ * wpa_supplicant to control them internally.
-+ */
-+ break;
-+ case IW_AUTH_TKIP_COUNTERMEASURES:
-+ break; /* FIXME */
-+ case IW_AUTH_DROP_UNENCRYPTED:
-+ ieee->drop_unencrypted = !!wrqu->param.value;
-+ break;
-+ case IW_AUTH_80211_AUTH_ALG:
-+ break; /* FIXME */
-+ case IW_AUTH_WPA_ENABLED:
-+ ieee->privacy_invoked = ieee->wpa_enabled = !!wrqu->param.value;
-+ break;
-+ case IW_AUTH_RX_UNENCRYPTED_EAPOL:
-+ ieee->ieee802_1x = !!wrqu->param.value;
-+ break;
-+ case IW_AUTH_PRIVACY_INVOKED:
-+ ieee->privacy_invoked = !!wrqu->param.value;
-+ break;
-+ default:
-+ err = -EOPNOTSUPP;
-+ break;
-+ }
-+ spin_unlock_irqrestore(&ieee->lock, flags);
-+ return err;
-+}
-+
-+int ieee80211_wx_get_auth(struct net_device *dev,
-+ struct iw_request_info *info,
-+ union iwreq_data *wrqu,
-+ char *extra)
-+{
-+ struct ieee80211_device *ieee = netdev_priv(dev);
-+ unsigned long flags;
-+ int err = 0;
-+
-+ spin_lock_irqsave(&ieee->lock, flags);
-+
-+ switch (wrqu->param.flags & IW_AUTH_INDEX) {
-+ case IW_AUTH_WPA_VERSION:
-+ case IW_AUTH_CIPHER_PAIRWISE:
-+ case IW_AUTH_CIPHER_GROUP:
-+ case IW_AUTH_KEY_MGMT:
-+ case IW_AUTH_TKIP_COUNTERMEASURES: /* FIXME */
-+ case IW_AUTH_80211_AUTH_ALG: /* FIXME */
-+ /*
-+ * Host AP driver does not use these parameters and allows
-+ * wpa_supplicant to control them internally.
-+ */
-+ err = -EOPNOTSUPP;
-+ break;
-+ case IW_AUTH_DROP_UNENCRYPTED:
-+ wrqu->param.value = ieee->drop_unencrypted;
-+ break;
-+ case IW_AUTH_WPA_ENABLED:
-+ wrqu->param.value = ieee->wpa_enabled;
-+ break;
-+ case IW_AUTH_RX_UNENCRYPTED_EAPOL:
-+ wrqu->param.value = ieee->ieee802_1x;
-+ break;
-+ default:
-+ err = -EOPNOTSUPP;
-+ break;
-+ }
-+ spin_unlock_irqrestore(&ieee->lock, flags);
-+ return err;
-+}
-+
- EXPORT_SYMBOL(ieee80211_wx_set_encodeext);
- EXPORT_SYMBOL(ieee80211_wx_get_encodeext);
-
- EXPORT_SYMBOL(ieee80211_wx_get_scan);
- EXPORT_SYMBOL(ieee80211_wx_set_encode);
- EXPORT_SYMBOL(ieee80211_wx_get_encode);
-+
-+EXPORT_SYMBOL_GPL(ieee80211_wx_set_auth);
-+EXPORT_SYMBOL_GPL(ieee80211_wx_get_auth);
--- linux-2.6.15.noarch/net/ieee80211/Kconfig.orig 2006-02-15 09:58:15.000000000 -0500
+++ linux-2.6.15.noarch/net/ieee80211/Kconfig 2006-02-15 09:58:21.000000000 -0500
@@ -66,3 +66,4 @@ config IEEE80211_CRYPT_TKIP
More information about the fedora-cvs-commits
mailing list