From 6f740356845dd072368f1b1f8b82f47dea4834e2 Mon Sep 17 00:00:00 2001 From: Florian Boor Date: Mon, 10 Jul 2006 23:22:53 +0200 Subject: [PATCH] wireless-tools: Add updated script by Stefan Tomanek to fix dhcp problems with devices which need some time for association. Author: florian@openembedded.org Branch: org.openembedded.oz354fam083 Revision: 92cab509119c1daa124bc806a14a580163841dba Signed-off-by: Rene Wagner --- .../wireless-tools/zzz-wireless.if-pre-up | 34 +++++++++++++++++++ .../wireless-tools/wireless-tools_28-pre13.bb | 6 ++-- 2 files changed, 38 insertions(+), 2 deletions(-) create mode 100644 org.handhelds.familiar/packages/wireless-tools/wireless-tools/zzz-wireless.if-pre-up diff --git a/org.handhelds.familiar/packages/wireless-tools/wireless-tools/zzz-wireless.if-pre-up b/org.handhelds.familiar/packages/wireless-tools/wireless-tools/zzz-wireless.if-pre-up new file mode 100644 index 0000000..221622e --- /dev/null +++ b/org.handhelds.familiar/packages/wireless-tools/wireless-tools/zzz-wireless.if-pre-up @@ -0,0 +1,34 @@ +#!/bin/sh +# +# /etc/network/if-pre-up.d/zzz-wireless +# by Stefan Tomanek (stefan@pico.ruhr.de) + + +IWCONFIG=/sbin/iwconfig +IFCONFIG=/sbin/ifconfig +GREP=/bin/grep +LOGGER=/usr/bin/logger +SLEEP=/bin/sleep + +# How long do we wait for association? +RETRIES=15 +SLEEPTIME=1 + +# Only sleep if we use DHCP (add others methods seperated by spaces) +ONLY_FOR="static dhcp" + +if [ -z "$IF_WIRELESS_TYPE" ] && echo "$ONLY_FOR" | grep -q "$METHOD" ; then + $IFCONFIG $IFACE up + $LOGGER Checking for WLAN association... + while ( [ $RETRIES -gt 0 ] && ($IWCONFIG "$IFACE" | $GREP -q "Access Point: Not-Associated") ); do + $LOGGER No association yet, $RETRIES retries until timeout + RETRIES=$(($RETRIES-1)) + $SLEEP $SLEEPTIME + done + + if [ $RETRIES -eq 0 ]; then + $LOGGER Timeout waiting for association, continuing anyway... + else + $LOGGER Found association! + fi +fi diff --git a/org.handhelds.familiar/packages/wireless-tools/wireless-tools_28-pre13.bb b/org.handhelds.familiar/packages/wireless-tools/wireless-tools_28-pre13.bb index 0888646..be146e0 100644 --- a/org.handhelds.familiar/packages/wireless-tools/wireless-tools_28-pre13.bb +++ b/org.handhelds.familiar/packages/wireless-tools/wireless-tools_28-pre13.bb @@ -4,11 +4,12 @@ SECTION = "base" PRIORITY = "optional" MAINTAINER = "Michael 'Mickey' Lauer " LICENSE = "GPL" -PR = "r0" +PR = "r1" SRC_URI = "http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/wireless_tools.28.pre13.tar.gz \ file://man.patch;patch=1 \ - file://wireless-tools.if-pre-up" + file://wireless-tools.if-pre-up \ + file://zzz-wireless.if-pre-up" S = "${WORKDIR}/wireless_tools.28" CFLAGS =+ "-I${S}" @@ -32,6 +33,7 @@ do_install() { oe_runmake PREFIX=${D} install-iwmulticall install-dynamic install -d ${D}${sysconfdir}/network/if-pre-up.d install ${WORKDIR}/wireless-tools.if-pre-up ${D}${sysconfdir}/network/if-pre-up.d/wireless-tools + install ${WORKDIR}/zzz-wireless.if-pre-up ${D}${sysconfdir}/network/if-pre-up.d/zzz-wireless } PACKAGES = "libiw libiw-dev libiw-doc ${PN} ${PN}-doc" -- 2.41.1