From 3069ceb7f91acb37fde64731b8ac7eaa505b0a0e Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Wed, 16 Jun 2010 09:44:54 +0200 Subject: add webcam and wireless-tools support for lemote --- mk/build.mk | 1 - mk/modules.mk | 4 +++ package/Config.in | 1 + .../src/etc/network/if-pre-up.d/04-wireless | 24 ++++++++++---- package/wireless-tools/Makefile | 37 ++++++++++++++++++++++ target/linux/config/Config.in.multimedia | 7 ++++ 6 files changed, 66 insertions(+), 8 deletions(-) create mode 100644 package/wireless-tools/Makefile diff --git a/mk/build.mk b/mk/build.mk index 0d807076a..3d2b69537 100644 --- a/mk/build.mk +++ b/mk/build.mk @@ -20,7 +20,6 @@ DEFCONFIG= ADK_DEVELSYSTEM=n \ ADK_PACKAGE_XORG_SERVER_WITH_DRI=n \ ADK_PACKAGE_AUFS2_UTIL=n \ ADK_PACKAGE_BASE_FILES=y \ - ADK_PACKAGE_GCC=n \ ADK_PACKAGE_MGETTY=n \ ADK_COMPILE_HEIMDAL=n \ ADK_PACKAGE_HEIMDAL_PKINIT=n \ diff --git a/mk/modules.mk b/mk/modules.mk index 7322870c8..a53438928 100644 --- a/mk/modules.mk +++ b/mk/modules.mk @@ -1044,6 +1044,10 @@ $(eval $(call KMOD_template,VIDEODEV,videodev,\ $(MODULES_DIR)/kernel/drivers/media/video/videodev \ ,65)) +$(eval $(call KMOD_template,USB_VIDEO_CLASS,usb-video-class,\ + $(MODULES_DIR)/kernel/drivers/media/video/uvc/uvcvideo \ +,70)) + $(eval $(call KMOD_template,PWC,pwc,\ $(MODULES_DIR)/kernel/drivers/usb/pwc \ ,70)) diff --git a/package/Config.in b/package/Config.in index 581eab25e..2f7aecaa4 100644 --- a/package/Config.in +++ b/package/Config.in @@ -607,6 +607,7 @@ 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-tools/Config.in" source "package/wpa_supplicant/Config.in" endmenu 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 index 1898de4d4..1ccc4d823 100755 --- 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 @@ -74,13 +74,23 @@ case "$IF_WIRELESS_MODE" in } ;; sta) - [ -x /usr/sbin/iw ] || { - logger -t wireless "No iw utility found" - exit 1 - } ip link set up dev ${IFACE} - iw dev ${IFACE} set channel $IF_WIRELESS_CHANNEL - iw dev ${IFACE} connect $IF_WIRELESS_SSID + [ $IF_WIRELESS_EXTENSION -eq 1 ] && { + [ -x /usr/sbin/iwconfig ] || { + logger -t wireless "No wireless-tools found" + exit 1 + } + driver=wext + iwconfig ${IFACE} essid $IF_WIRELESS_SSID + } || { + [ -x /usr/sbin/iw ] || { + logger -t wireless "No iw utility found" + exit 1 + } + driver=nl80211 + iw dev ${IFACE} set channel $IF_WIRELESS_CHANNEL + iw dev ${IFACE} connect $IF_WIRELESS_SSID + } [ $wpa2 -eq 1 ] && { [ -x /usr/sbin/wpa_supplicant ] || { logger -t wireless "No wpa_supplicant found" @@ -93,7 +103,7 @@ case "$IF_WIRELESS_MODE" in echo " psk=\"$IF_WIRELESS_PASSPHRASE\"" >> /tmp/wpa_supplicant.conf echo " priority=5" >> /tmp/wpa_supplicant.conf echo "}" >> /tmp/wpa_supplicant.conf - wpa_supplicant -B -Dnl80211 -i${IFACE} -c/tmp/wpa_supplicant.conf + wpa_supplicant -B -D${driver} -i${IFACE} -c/tmp/wpa_supplicant.conf } ;; *) diff --git a/package/wireless-tools/Makefile b/package/wireless-tools/Makefile new file mode 100644 index 000000000..ca9a84809 --- /dev/null +++ b/package/wireless-tools/Makefile @@ -0,0 +1,37 @@ +# 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:= wireless-tools +PKG_VERSION:= 29 +PKG_RELEASE:= 1 +PKG_MD5SUM:= e06c222e186f7cc013fd272d023710cb +PKG_DESCR:= Linux wireless tools (for older wireless drivers) +PKG_SECTION:= base +PKG_SITES:= http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/ + +DISTFILES:= wireless_tools.${PKG_VERSION}.tar.gz +WRKDIST= ${WRKDIR}/wireless_tools.29 + +include ${TOPDIR}/mk/package.mk + +$(eval $(call PKG_template,WIRELESS_TOOLS,$(PKG_NAME),$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION})) + +CONFIG_STYLE:= manual +MAKE_FLAGS+= CC="${TARGET_CC}" CFLAGS="${TARGET_CFLAGS} -I." +ALL_TARGET:= libiw.so.29 iwmulticall +FAKE_FLAGS:= INSTALL_DIR="${WRKINST}/usr/sbin" \ + INSTALL_LIB="${WRKINST}/usr/lib" \ + INSTALL_INC="${WRKINST}/usr/include" +INSTALL_TARGET:= install-iwmulticall install-hdr install-dynamic + +post-install: + ${INSTALL_DIR} ${IDIR_WIRELESS_TOOLS}/usr/sbin + ${INSTALL_DIR} ${IDIR_WIRELESS_TOOLS}/usr/lib + ${INSTALL_DATA} ${WRKINST}/usr/lib/libiw.so.* \ + ${IDIR_WIRELESS_TOOLS}/usr/lib/ + ${CP} ${WRKINST}/usr/sbin/iw* ${IDIR_WIRELESS_TOOLS}/usr/sbin/ + +include ${TOPDIR}/mk/pkg-bottom.mk + diff --git a/target/linux/config/Config.in.multimedia b/target/linux/config/Config.in.multimedia index ef10e4832..75a2b3780 100644 --- a/target/linux/config/Config.in.multimedia +++ b/target/linux/config/Config.in.multimedia @@ -124,6 +124,13 @@ config ADK_KPACKAGE_KMOD_VIDEO_V4L1 Enables a compatibility API used by most V4L2 devices to allow its usage with legacy applications that supports only V4L1 api. +config ADK_KPACKAGE_KMOD_USB_VIDEO_CLASS + prompt "kmod-usb-video-class............ Kernel driver for USB video webcams" + tristate + depends on ADK_KPACKAGE_KMOD_USB + default n + help + config ADK_KPACKAGE_KMOD_USB_PWC prompt "kmod-usb-pwc.................... Kernel driver for USB Philips Cameras" tristate -- cgit v1.2.3