summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWaldemar Brodkorb <wbx@openadk.org>2010-02-13 13:58:07 +0100
committerWaldemar Brodkorb <wbx@openadk.org>2010-02-13 13:58:07 +0100
commit011eae436ef9c42ffeae570d10964ab1265c081d (patch)
treec04e93dcf1c61874ea7fcf36dcc1ee605ff3ce14
parentf513a8a7eb9fd3ec28bfcb773ace28d49b61c0e7 (diff)
add support for wireless access point with p54usb stick
-rw-r--r--mk/modules.mk8
-rw-r--r--mk/vars.mk2
-rw-r--r--package/Config.in3
-rw-r--r--package/aufs2-util/Makefile4
-rwxr-xr-xpackage/base-files/src/etc/network/if-post-down.d/03-wireless15
-rwxr-xr-xpackage/base-files/src/etc/network/if-pre-up.d/04-wireless86
-rw-r--r--package/hostapd/files/hostapd.conf15
-rw-r--r--package/iw/Makefile6
-rw-r--r--package/p54-firmware/Makefile30
-rw-r--r--package/rt61-firmware/Makefile (renamed from package/wireless-firmware/Makefile)8
-rw-r--r--target/Config.in1
-rw-r--r--target/linux/config/Config.in.netdevice36
12 files changed, 175 insertions, 39 deletions
diff --git a/mk/modules.mk b/mk/modules.mk
index 5048384b9..481071261 100644
--- a/mk/modules.mk
+++ b/mk/modules.mk
@@ -66,6 +66,14 @@ $(eval $(call KMOD_template,ATH5K,ath5k,\
$(MODULES_DIR)/kernel/drivers/net/wireless/ath/ath5k/ath5k \
,20, kmod-led-class))
+$(eval $(call KMOD_template,P54_COMMON,p54-common,\
+ $(MODULES_DIR)/kernel/drivers/net/wireless/p54/p54common \
+,68))
+
+$(eval $(call KMOD_template,P54_USB,p54-usb,\
+ $(MODULES_DIR)/kernel/drivers/net/wireless/p54/p54usb \
+,70))
+
$(eval $(call KMOD_template,RT2X00,rt2x00,\
$(MODULES_DIR)/kernel/drivers/net/wireless/rt2x00/rt2x00lib \
$(MODULES_DIR)/kernel/drivers/net/wireless/rt2x00/rt2x00pci \
diff --git a/mk/vars.mk b/mk/vars.mk
index 3f8f86884..995b179ca 100644
--- a/mk/vars.mk
+++ b/mk/vars.mk
@@ -112,6 +112,8 @@ EXTRACT_CMD= mkdir -p ${WRKDIR}; \
bzip2 -dc $$file | tar -xf - ;; \
*.zip) \
unzip -qd ${WRKDIR} $$file ;; \
+ *.arm) \
+ cp $$file ${WRKDIR} ;; \
*) \
echo "Cannot extract '$$file'" >&2; \
false ;; \
diff --git a/package/Config.in b/package/Config.in
index 70565cb36..784f0a51f 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -567,8 +567,9 @@ source "package/hostapd/Config.in"
source "package/iw/Config.in"
#source "package/kismet/Config.in"
source "package/olsrd/Config.in"
+source "package/p54-firmware/Config.in"
+source "package/rt61-firmware/Config.in"
source "package/wifidog/Config.in"
-source "package/wireless-firmware/Config.in"
source "package/wpa_supplicant/Config.in"
endmenu
diff --git a/package/aufs2-util/Makefile b/package/aufs2-util/Makefile
index 2534a47af..c414a1ca2 100644
--- a/package/aufs2-util/Makefile
+++ b/package/aufs2-util/Makefile
@@ -20,10 +20,6 @@ $(eval $(call PKG_template,AUFS_UTIL,${PKG_NAME},${PKG_VERSION}-${PKG_RELEASE},$
CONFIG_STYLE:= manual
MAKE_FLAGS+= KDIR=${LINUX_DIR}
-do-extract:
- mkdir -p ${WRKBUILD}
- ${CP} ./src/* ${WRKBUILD}/
-
post-install:
$(INSTALL_DIR) $(IDIR_AUFS_UTIL)/sbin
$(INSTALL_BIN) ${WRKINST}/sbin/{u,}mount.aufs \
diff --git a/package/base-files/src/etc/network/if-post-down.d/03-wireless b/package/base-files/src/etc/network/if-post-down.d/03-wireless
new file mode 100755
index 000000000..66e92639b
--- /dev/null
+++ b/package/base-files/src/etc/network/if-post-down.d/03-wireless
@@ -0,0 +1,15 @@
+#!/bin/sh
+set -e
+
+[ "${IFACE%%[0-9]*}" = "wlan" ] || exit 0
+
+case "$IF_WIRELESS_MODE" in
+ ap)
+ logger -t hostap "Killing hostapd"
+ pkill hostapd
+ ;;
+ *)
+ exit 0
+ ;;
+esac
+exit 0
diff --git a/package/base-files/src/etc/network/if-pre-up.d/04-wireless b/package/base-files/src/etc/network/if-pre-up.d/04-wireless
new file mode 100755
index 000000000..54864ba78
--- /dev/null
+++ b/package/base-files/src/etc/network/if-pre-up.d/04-wireless
@@ -0,0 +1,86 @@
+#!/bin/sh
+#set -x
+set -e
+
+[ -x /usr/sbin/iw ] || exit 0
+
+[ "${IFACE%%[0-9]*}" = "wlan" ] || exit 0
+
+[ "$IF_WIRELESS_SSID" ] || exit 1
+[ "$IF_WIRELESS_CHANNEL" ] || exit 1
+[ "$IF_WIRELESS_HWMODE" ] || IF_WIRELESS_HWMODE=g
+
+wpa=0
+wpa1=0
+wpa2=0
+
+case "$IF_WIRELESS_SECURITY" in
+ none)
+ sec=1
+ ;;
+ wep)
+ sec=2
+ ;;
+ wpa)
+ sec=1
+ wpa1=1
+ ;;
+ wpa2)
+ sec=1
+ wpa2=1
+ ;;
+ wpa+wpa2)
+ sec=1
+ wpa=1
+ ;;
+ *)
+ sec=1
+ ;;
+esac
+
+case "$IF_WIRELESS_MODE" in
+ ap)
+ [ -x /usr/sbin/hostapd ] || {
+ logger -t hostap "No hostapd program found"
+ exit 1
+ }
+ logger -t hostap "Creating hostapd configuration"
+ cat /etc/hostapd.conf > /tmp/hostapd.conf
+ chmod 600 /tmp/hostapd.conf
+ echo "interface=${IFACE}" >> /tmp/hostapd.conf
+ echo "ssid=$IF_WIRELESS_SSID" >> /tmp/hostapd.conf
+ echo "channel=$IF_WIRELESS_CHANNEL" >> /tmp/hostapd.conf
+ echo "hw_mode=$IF_WIRELESS_HWMODE" >> /tmp/hostapd.conf
+ echo "auth_algs=$sec" >> /tmp/hostapd.conf
+ [ $wpa1 -eq 1 ] && {
+ logger -t hostap "using WPA for security"
+ echo "wpa=1" >> /tmp/hostapd.conf
+ echo "wpa_key_mgmt=WPA-PSK" >> /tmp/hostapd.conf
+ echo "wpa_pairwise=TKIP" >> /tmp/hostapd.conf
+ echo "wpa_passphrase=$IF_WIRELESS_PASSPHRASE" >> /tmp/hostapd.conf
+ }
+ [ $wpa2 -eq 1 ] && {
+ logger -t hostap "using WPA2 for security"
+ echo "wpa=2" >> /tmp/hostapd.conf
+ echo "wpa_key_mgmt=WPA-PSK" >> /tmp/hostapd.conf
+ echo "rsn_pairwise=CCMP" >> /tmp/hostapd.conf
+ echo "wpa_passphrase=$IF_WIRELESS_PASSPHRASE" >> /tmp/hostapd.conf
+ }
+ [ $wpa -eq 1 ] && {
+ logger -t hostap "using WPA and WPA2 for security"
+ echo "wpa=3" >> /tmp/hostapd.conf
+ echo "wpa_key_mgmt=WPA-PSK" >> /tmp/hostapd.conf
+ echo "wpa_pairwise=TKIP" >> /tmp/hostapd.conf
+ echo "rsn_pairwise=CCMP" >> /tmp/hostapd.conf
+ echo "wpa_passphrase=$IF_WIRELESS_PASSPHRASE" >> /tmp/hostapd.conf
+ }
+ logger -t hostap "Starting hostapd"
+ hostapd -B /tmp/hostapd.conf
+ ;;
+ *)
+ echo "Unknown operation mode $IF_WIRELESS_MODE given!"
+ exit 1
+ ;;
+esac
+
+exit 0
diff --git a/package/hostapd/files/hostapd.conf b/package/hostapd/files/hostapd.conf
index 8676e96a6..94bd1f2bc 100644
--- a/package/hostapd/files/hostapd.conf
+++ b/package/hostapd/files/hostapd.conf
@@ -1,6 +1,4 @@
##### hostapd configuration file #####
-interface=wlan0
-#bridge=br0
driver=nl80211
logger_syslog=-1
logger_syslog_level=0
@@ -8,16 +6,3 @@ logger_stdout=-1
logger_stdout_level=0
ctrl_interface=/var/run/hostapd
ctrl_interface_group=0
-# set ssid, channel and mode
-ssid=openadk
-hw_mode=g
-channel=1
-# enable WPA2 (WEP/WPA disabled)
-macaddr_acl=0
-auth_algs=1
-ignore_broadcast_ssid=0
-wpa=2
-wpa_passphrase=secret123
-wpa_key_mgmt=WPA-PSK
-wpa_pairwise=TKIP
-rsn_pairwise=CCMP
diff --git a/package/iw/Makefile b/package/iw/Makefile
index d2ea171a6..4d55ffd28 100644
--- a/package/iw/Makefile
+++ b/package/iw/Makefile
@@ -4,9 +4,9 @@
include ${TOPDIR}/rules.mk
PKG_NAME:= iw
-PKG_VERSION:= 0.9.18
+PKG_VERSION:= 0.9.19
PKG_RELEASE:= 1
-PKG_MD5SUM:= 9734080d8a5c4b768c5e0da665a48950
+PKG_MD5SUM:= 3b88743f9c6ce8a7e2f5fd7d18fdea42
PKG_DESCR:= Tools for setting up WiFi cards via netlink (nl80211)
PKG_SECTION:= net
PKG_DEPENDS:= libnl
@@ -22,8 +22,6 @@ $(eval $(call PKG_template,IW,${PKG_NAME},${PKG_VERSION}-${PKG_RELEASE},${PKG_DE
CONFIG_STYLE:= manual
-XAKE_FLAGS:= V=1
-
post-install:
${INSTALL_DIR} ${IDIR_IW}/usr/sbin
${INSTALL_BIN} ${WRKINST}/usr/sbin/iw ${IDIR_IW}/usr/sbin
diff --git a/package/p54-firmware/Makefile b/package/p54-firmware/Makefile
new file mode 100644
index 000000000..b845174a6
--- /dev/null
+++ b/package/p54-firmware/Makefile
@@ -0,0 +1,30 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include ${TOPDIR}/rules.mk
+
+PKG_NAME:= p54-firmware
+PKG_VERSION:= 1
+PKG_RELEASE:= 1
+PKG_MD5SUM:= 8e8ab005a4f8f0123bcdc51bc25b47f6
+PKG_DESCR:= firmware for USB prism54 wireless cards (isl3887)
+PKG_SECTION:= sys
+PKG_SITES:= http://daemonizer.de/prism54/prism54-fw/fw-usb/
+
+DISTFILES:= 2.13.24.0.lm87.arm
+WRKDIST= ${WRKDIR}
+
+include ${TOPDIR}/mk/package.mk
+
+$(eval $(call PKG_template,P54_FIRMWARE,p54-firmware,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
+
+CONFIG_STYLE:= manual
+BUILD_STYLE:= manual
+INSTALL_STYLE:= manual
+
+do-install:
+ ${INSTALL_DIR} ${IDIR_P54_FIRMWARE}/lib/firmware
+ ${CP} ${WRKBUILD}/*.arm \
+ ${IDIR_P54_FIRMWARE}/lib/firmware/isl3887usb
+
+include ${TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/wireless-firmware/Makefile b/package/rt61-firmware/Makefile
index 25de67aff..650dd9f30 100644
--- a/package/wireless-firmware/Makefile
+++ b/package/rt61-firmware/Makefile
@@ -3,7 +3,7 @@
include ${TOPDIR}/rules.mk
-PKG_NAME:= wireless-firmware
+PKG_NAME:= rt61-firmware
PKG_VERSION:= 1
PKG_RELEASE:= 1
PKG_MD5SUM:= d4c690c93b470bc9a681297c2adc6281
@@ -16,15 +16,15 @@ WRKDIST= ${WRKDIR}/RT61_Firmware_V1.2
include ${TOPDIR}/mk/package.mk
-$(eval $(call PKG_template,WIRELESS_FIRMWARE_RT61,wireless-firmware-rt61,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
+$(eval $(call PKG_template,RT61_FIRMWARE,rt61-firmware,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
CONFIG_STYLE:= manual
BUILD_STYLE:= manual
INSTALL_STYLE:= manual
do-install:
- ${INSTALL_DIR} ${IDIR_WIRELESS_FIRMWARE_RT61}/lib/firmware
+ ${INSTALL_DIR} ${IDIR_RT61_FIRMWARE}/lib/firmware
${CP} ${WRKBUILD}/rt2*.bin \
- ${IDIR_WIRELESS_FIRMWARE_RT61}/lib/firmware
+ ${IDIR_RT61_FIRMWARE}/lib/firmware
include ${TOPDIR}/mk/pkg-bottom.mk
diff --git a/target/Config.in b/target/Config.in
index 54024e752..059270e61 100644
--- a/target/Config.in
+++ b/target/Config.in
@@ -490,6 +490,7 @@ config ADK_LINUX_X86_ALIX2D
select ADK_TARGET_WITH_USB
select ADK_TARGET_WITH_MINIPCI
select ADK_TARGET_WITH_LEDS
+ select ADK_TARGET_WITH_WATCHDOG
help
Support for ALIX2D boards.
http://www.pcengines.ch/
diff --git a/target/linux/config/Config.in.netdevice b/target/linux/config/Config.in.netdevice
index 81aecf53e..e0dd123fe 100644
--- a/target/linux/config/Config.in.netdevice
+++ b/target/linux/config/Config.in.netdevice
@@ -120,6 +120,10 @@ config ADK_KERNEL_WLAN_80211
boolean
default n
+config ADK_KPACKAGE_KMOD_RT2X00
+ tristate
+ default n
+
config ADK_KERNEL_RT2X00
boolean
select ADK_KPACKAGE_KMOD_RT2X00
@@ -139,6 +143,10 @@ config ADK_KERNEL_ATH_COMMON
tristate
default n
+config ADK_KPACKAGE_KMOD_P54_COMMON
+ tristate
+ default n
+
config ADK_MOD_KERNEL_MAC80211
tristate
select ADK_MOD_KERNEL_CFG80211
@@ -148,7 +156,6 @@ config ADK_MOD_KERNEL_MAC80211
select ADK_KPACKAGE_KMOD_CRYPTO_ARC4
select ADK_KERNEL_CRC32
select ADK_KERNEL_WIRELESS
- select ADK_KERNEL_WIRELESS_EXT
select ADK_KERNEL_WLAN_80211
select ADK_KERNEL_MAC80211_LEDS
default n
@@ -157,7 +164,7 @@ menu "Wireless card support"
depends on ADK_TARGET_WITH_MINIPCI || ADK_TARGET_WITH_PCI
config ADK_KPACKAGE_KMOD_MAC80211
- prompt "kmod-mac80211................... mac80211 softmac"
+ prompt "kmod-mac80211.................. mac80211 softmac"
tristate
select ADK_MOD_KERNEL_CFG80211
select ADK_MOD_KERNEL_LIB80211
@@ -165,13 +172,12 @@ config ADK_KPACKAGE_KMOD_MAC80211
select ADK_KPACKAGE_KMOD_CRYPTO_ECB
select ADK_KPACKAGE_KMOD_CRYPTO_ARC4
select ADK_KERNEL_WIRELESS
- select ADK_KERNEL_WIRELESS_EXT
select ADK_KERNEL_WLAN_80211
select ADK_KERNEL_CRC32
default n
config ADK_KPACKAGE_KMOD_ATH5K
- prompt "kmod-mac80211-ath5k............ Atheros 5xxx wireless cards"
+ prompt "kmod-ath5k................... Atheros 5xxx wireless cards"
tristate
select ADK_KERNEL_MAC80211_LEDS
select ADK_KERNEL_ATH_COMMON
@@ -198,12 +204,20 @@ config ADK_KERNEL_ATH5K_DEBUG
parameter. For example:
insmod ath5k.ko debug=0x00000400
-config ADK_KPACKAGE_KMOD_RT2X00
+config ADK_KPACKAGE_KMOD_P54_USB
+ prompt "kmod-p54-usb................. Prism54 USB support"
tristate
+ depends on ADK_KPACKAGE_KMOD_MAC80211
+ depends on ADK_PACKAGE_KMOD_USB_CONTROLLER
+ select ADK_KPACKAGE_KMOD_P54_COMMON
+ select ADK_KPACKAGE_KMOD_FW_LOADER
+ select ADK_PACKAGE_P54_FIRMWARE
default n
+ help
+ Driver for Prism54 USB adaptors.
config ADK_KPACKAGE_KMOD_RT2400PCI
- prompt "kmod-mac80211-rt2400........... Ralink rt2400"
+ prompt "kmod-rt2400pci............... Ralink rt2400"
tristate
default n
select ADK_KERNEL_RT2X00
@@ -214,7 +228,7 @@ config ADK_KPACKAGE_KMOD_RT2400PCI
Supported chips: RT2460.
config ADK_KPACKAGE_KMOD_RT2500PCI
- prompt "kmod-mac80211-rt2500........... Ralink rt2500"
+ prompt "kmod-rt2500pci............... Ralink rt2500"
tristate
default n
select ADK_KERNEL_RT2X00
@@ -225,13 +239,13 @@ config ADK_KPACKAGE_KMOD_RT2500PCI
Supported chips: RT2560.
config ADK_KPACKAGE_KMOD_RT61PCI
- prompt "kmod-mac80211-rt2501........... Ralink rt2501/rt61"
+ prompt "kmod-rt61pci................. Ralink rt2501/rt61"
tristate
default n
select ADK_KERNEL_RT2X00
select ADK_KERNEL_MAC80211_LEDS
select ADK_KPACKAGE_KMOD_CRC_ITU_T
- select ADK_PACKAGE_WIRELESS_FIRMWARE_RT61
+ select ADK_PACKAGE_RT61_FIRMWARE
depends on ADK_KPACKAGE_KMOD_MAC80211
help
This adds support for rt2501 wireless chipset family.
@@ -240,7 +254,8 @@ config ADK_KPACKAGE_KMOD_RT61PCI
config ADK_KERNEL_RT2X00_DEBUG
prompt "enable debugging info"
depends on ADK_KPACKAGE_KMOD_RT61PCI || \
- ADK_KPACKAGE_KMOD_RT2500PCI || ADK_KPACKAGE_KMOD_RT2400PCI
+ ADK_KPACKAGE_KMOD_RT2500PCI || \
+ ADK_KPACKAGE_KMOD_RT2400PCI
default n
boolean
help
@@ -253,5 +268,4 @@ source package/sangam-atm/Config.in
source package/sangam-atm/Config.in.fw
endmenu
-
endmenu