diff --git a/packages/network/connman/init.d/21_network b/packages/network/connman/init.d/21_network index ba51932e8f..04fd72937d 100644 --- a/packages/network/connman/init.d/21_network +++ b/packages/network/connman/init.d/21_network @@ -63,10 +63,17 @@ fi mkdir -p /var/lib/connman # NETWORK: ( LAN / WLAN ) - usleep 2000000 # TODO: wait on udev to load all drivers - [ -f /sys/class/net/$IFACE/address ] && \ - IFACE=`cat /sys/class/net/$IFACE/address | sed 's/://g'` + for i in 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19; do + if [ ! -f /sys/class/net/$IFACE/address ]; then + logger -t Connman "### [$i] cannot find /sys/class/net/$IFACE/address ###" + else + logger -t Connman "### [$i] found /sys/class/net/$IFACE/address, continue ###" + IFACE=`cat /sys/class/net/$IFACE/address | sed 's/://g'` + break + fi + usleep 500000 + done if [ "$NETWORK" = "WLAN" -a -n "$SSID" ]; then SSID_HEX=`echo -n "$SSID" | od -tx1 | cut -c8-| tr -d ' \n'`