summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--openwrt/target/linux/brcm-2.4/patches/001-bcm47xx.patch7
-rw-r--r--openwrt/target/linux/package/base-files/files/brcm-2.4/etc/hotplug.d/net/09-net6
-rw-r--r--openwrt/target/linux/package/wlcompat/wlcompat.c4
3 files changed, 12 insertions, 5 deletions
diff --git a/openwrt/target/linux/brcm-2.4/patches/001-bcm47xx.patch b/openwrt/target/linux/brcm-2.4/patches/001-bcm47xx.patch
index b83db35043..8ed9f0b43b 100644
--- a/openwrt/target/linux/brcm-2.4/patches/001-bcm47xx.patch
+++ b/openwrt/target/linux/brcm-2.4/patches/001-bcm47xx.patch
@@ -16339,7 +16339,7 @@ diff -urN linux.old/drivers/net/wireless/Config.in linux.dev/drivers/net/wireles
diff -urN linux.old/drivers/net/wl/Makefile linux.dev/drivers/net/wl/Makefile
--- linux.old/drivers/net/wl/Makefile 1970-01-01 01:00:00.000000000 +0100
+++ linux.dev/drivers/net/wl/Makefile 2006-04-28 01:33:52.000000000 +0200
-@@ -0,0 +1,23 @@
+@@ -0,0 +1,26 @@
+#
+# Makefile for the Broadcom wl driver
+#
@@ -16357,11 +16357,14 @@ diff -urN linux.old/drivers/net/wl/Makefile linux.dev/drivers/net/wl/Makefile
+
+O_TARGET := wl.o
+
-+obj-y := wl_apsta.o
++obj-y := wl_mod.o
+obj-y += bcmutils.o hnddma.o linux_osl.o
+
+obj-m := $(O_TARGET)
+
++wl_mod.o: wl_apsta.o
++ sed -e 's,eth%d,wl%d\x00,g' < $< > $@
++
+include $(TOPDIR)/Rules.make
diff -urN linux.old/drivers/net/wl/bcmip.h linux.dev/drivers/net/wl/bcmip.h
--- linux.old/drivers/net/wl/bcmip.h 1970-01-01 01:00:00.000000000 +0100
diff --git a/openwrt/target/linux/package/base-files/files/brcm-2.4/etc/hotplug.d/net/09-net b/openwrt/target/linux/package/base-files/files/brcm-2.4/etc/hotplug.d/net/09-net
index 856d26b653..9dd77963ba 100644
--- a/openwrt/target/linux/package/base-files/files/brcm-2.4/etc/hotplug.d/net/09-net
+++ b/openwrt/target/linux/package/base-files/files/brcm-2.4/etc/hotplug.d/net/09-net
@@ -1,5 +1,5 @@
#!/bin/sh
-setup_eth()
+setup_wl()
{
[ -f /proc/net/wl0 ] && {
lsmod | grep wlcompat >&- || insmod wlcompat
@@ -7,6 +7,9 @@ setup_eth()
iwconfig "$INTERFACE" 2>&- | grep -v 'no wireless' >&- && {
/sbin/wifi
}
+}
+setup_eth()
+{
[ -d /proc/switch ] || {
insmod switch-core
insmod switch-robo || insmod switch-adm
@@ -30,6 +33,7 @@ do_register()
{
case "${INTERFACE%%[0-9]*}" in
eth) setup_eth;;
+ wl) setup_wl;;
esac
}
diff --git a/openwrt/target/linux/package/wlcompat/wlcompat.c b/openwrt/target/linux/package/wlcompat/wlcompat.c
index 7063c809a6..1540a21167 100644
--- a/openwrt/target/linux/package/wlcompat/wlcompat.c
+++ b/openwrt/target/linux/package/wlcompat/wlcompat.c
@@ -980,13 +980,13 @@ static int new_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd) {
static int __init wlcompat_init()
{
int found = 0, i;
- char *devname = "eth0";
+ char devname[4] = "wl0";
bss_force = 0;
while (!found && (dev = dev_get_by_name(devname))) {
if ((dev->wireless_handlers == NULL) && ((wl_ioctl(dev, WLC_GET_MAGIC, &i, sizeof(i)) == 0) && i == WLC_IOCTL_MAGIC))
found = 1;
- devname[3]++;
+ devname[2]++;
}
if (!found) {