[Fli4l_dev] [rc130.wlan] ERR: No wlan devices found, skipping initialization of wlan subsystem.

Helmut helmut_pohl at arcor.de
Mi Mai 6 11:07:11 CEST 2026


Hallo Manfred,

meine Hardware ist eine pcengines-apu2c4, mit
einem am USB angeschlosenem wlan:

Bus 001 Device 002: ID 0cf3:7015 Atheros Communications, Inc. TP-Link 
TL-WN821N v3 802.11n [Atheros AR7010+AR9287]

Wie aus dem Thread hervor geht sind die sleep Anweisungen für die 
Initialisierung des usb-wlan Moduls notwendig. Werden sie gelöscht, 
funktioniert bei meiner Hardware die usb-wlan Erkennung nicht.

Ich hänge mal meine modifizierte rc130.wlan an, dann kannst Du Dir ein 
Bild davon machen.

Gruß,
Helmut

Am 02.05.2026 um 23:08 schrieb ms1958:
> Am 13.04.2026 um 14:59 schrieb Helmut:
>> Moin,
>>
>> nachdem der Fehler (siehe Betreff) schon lange nicht mehr aufgetreten 
>> ist, ist er jetzt in den aktuellen fli4l-Versionen wieder vorhanden. 
>> Ich musste in der Datei rc130.wlan die sleep-Anweisungen wieder 
>> setzen, denn sie waren gelöscht worden.
>> Ich bitte um Aufnahme der alten Fehlerbereinigung in der "rc130.wlan" 
>> in den regulären Build.
>>
>> Gruß,
>> Helmut
>>
>>
>> Am 09.09.2015 um 12:55 schrieb Stefan Sauer:
>>> Moin,
>>>
>>> schau mal hier:
>>> http://forum.nettworks.org/index.php?t=msg&th=6421&start=0&
>>>
>>> und ändere die Zeile mit der sleep-Anweisung.
>>>
>>> Es könnte sein, dass es genau wie bei mir das Problem behebt.
>>>
>>> Gruss,
>>> gandalf
>>
> 
> Moin Helmut
> http://forum.nettworks.org/index.php?t=msg&th=6421&start=0&
> ist nicht mehr erreichbar, und meine Glaskugel verät mir jetzt nicht, 
> wofür diese Sleep anweisung gut war und wo sie in der rc130.wlan stehen 
> sollte. Zeile und codeschnipsel wären evtl hilfreich.
> Ich mutmaße nur, dass es bei Deiner mir nicht bekannten Hardware ein 
> Timing oder initialisierungsproblem gibt.
> Ich verwende selber WLAN, und bei mir läuft es .....
> 
> Wo du das sleep "wieder" eingetragen hast, ist zumindest mir
> nicht bekannt. (Bin kein entwickler, nur Tester)
> LG Manfred
-------------- nächster Teil --------------
#!/bin/sh
#------------------------------------------------------------------------------
# /etc/rc.d/rc130.wlan - write wlan-config to /var/run/wlan.conf	4.0.0
#                        and configure wlan
#
# Creation:	    05.08.2002 rresch
# Last Update:  $Id: rc130.wlan 51431 2018-02-19 20:55:15Z kristov $
#------------------------------------------------------------------------------

. /etc/rc.d/wireless-helper

begin_script WLAN
sleep 2 # neu: Versuch für wlan0

case $debug_active in
    yes) wlanconfig_debug=-x ;;
    *)   wlanconfig_debug=   ;;
esac

# setup wireless tools
for i in iwlist iwspy iwpriv iwgetid; do
    ln -s iwconfig /sbin/$i
done

# Saving complete WLAN-Config to CFG-Files
CONFIG_FILE="/var/run/wlan.conf"
CONFIG_DIR="/var/run"
case $OPT_WLAN in
  yes)
    if [ $WLAN_N -lt 1 ]
    then
      OPT_WLAN='no'
    fi
    ;;
esac

# Saving WLAN-Options to $CONFIG_FILE
case $OPT_WLAN in
  yes)
    # generate /var/run/wlanphy.conf
    for dev in $(wlan_get_wireless_devices)
    do
      phy=$(wlan_map_wireless_device_to_phy_device "$dev")
      macaddr=$(get_mac_address_from_ethernet_interface "$dev" | sed 'y/abcdef/ABCDEF/')
      if [ -n "$phy" -a -n "$macaddr" ]
      then
        echo "$phy=$macaddr"
      fi
    done > /var/run/wlanphy.conf
  
    # Add wlan to the right place
    if [ "$OPT_HTTPD" = "yes" ]
    then 
        httpd-menu.sh add -p 200 status_wlan.cgi "WLAN" '$_MT_stat' wlan
    fi
    # Simplify useage of hostapd_cli on fli4l with only one ap.
    if [ "$WLAN_1_MODE" = "master" -a "$WLAN_N" -eq 1 ]
    then
      ln -s /var/run/hostapd.wlan0 /var/run/hostapd
    fi

    cat <<EOF >$CONFIG_FILE
MAC_ADD=\`ip link show \$device | sed -n 'y/abcdef/ABCDEF/;s/.*\(\([0-9A-F]\{2\}:\)\{5\}[0-9A-F]\{2\}\).\+/\1/p'\`
MAC_ADDR=\`echo \$MAC_ADD | sed 's/://g'\`
case \$MAC_ADDR in
EOF

    for idx in `seq 1 $WLAN_N`
    do
      eval MAC=\$WLAN_${idx}_MAC
      MAC=`echo $MAC | tr abcdef ABCDEF`
      if [ ! -f $CONFIG_DIR/wlan_$MAC.conf ]
      then
        {
          echo "    $MAC)" | sed 's/[:-]//g'
          echo "      . $CONFIG_DIR/wlan_$MAC.conf"
          echo "      if [ -f $CONFIG_DIR/wlan_\${device}_idx.conf ]; then rm $CONFIG_DIR/wlan_\${device}_idx.conf; fi"
          echo "      ln -s $CONFIG_DIR/wlan_${MAC}_idx.conf $CONFIG_DIR/wlan_\${device}_idx.conf"
          echo "      if [ -f $CONFIG_DIR/wlan_\${device}.conf ]; then rm $CONFIG_DIR/wlan_\${device}.conf; fi"
          echo "      ln -s $CONFIG_DIR/wlan_${MAC}.conf $CONFIG_DIR/wlan_\${device}.conf"
          echo '      ;;'
        } >>$CONFIG_FILE
        echo "OPT_WLAN='yes'" >$CONFIG_DIR/wlan_$MAC.conf
        set | sed -n "/WLAN_${idx}_/s/WLAN_${idx}_/WLAN_/p" |\
          sed '/^WLAN_MAC=/y/abcdef/ABCDEF/' |\
          sed '/^WLAN_ACL_MAC_/y/abcdef/ABCDEF/'   >>$CONFIG_DIR/wlan_$MAC.conf
        echo "WLAN_IDX='$CONFIG_DIR/wlan_${MAC}_idx.conf'" >>$CONFIG_DIR/wlan_$MAC.conf
        if [ ! -f $CONFIG_DIR/wlan_${MAC}_idx.conf ]
        then
          >$CONFIG_DIR/wlan_${MAC}_idx.conf
        fi
        echo $CONFIG_DIR/wlan_${MAC}.conf >>$CONFIG_DIR/wlan_${MAC}_idx.conf
        if [ $idx -eq 1 ]
        then
          ln -s $CONFIG_DIR/wlan_$MAC.conf $CONFIG_DIR/wlan_default.conf
        fi
      else
        num=`sed -n '$=' $CONFIG_DIR/wlan_${MAC}_idx.conf`
        num=`expr $num + 1`
        case $num in
          2) mf='06' ;;
          3) mf='0A' ;;
          4) mf='0E' ;;
          5) mf='12' ;;
          6) mf='16' ;;
          7) mf='1A' ;;
          8) mf='1E' ;;
          *) mf='00' ;;
        esac
        MACN=`echo $MAC | sed "s/..\(.*\)/$mf\1/"`
        {
          echo "    $MACN)" | sed 's/[:-]//g'
          echo "      log_warn \"Cannot configure VAP-Interface directly - Please use device \`ls -l /var/run/ | sed -n \"s/.*\(wlan[0-9]\+\)\.conf.*$MAC.*/\1/p\"\`"\"
          echo '      exit 1'
          echo '      ;;'
        } >>$CONFIG_FILE
        set | sed -n "/WLAN_${idx}_/s/WLAN_${idx}_/WLAN_/p" |\
            sed "s/\(WLAN_MAC=\).*/\1\'$MACN\'/" |\
            sed '/^WLAN_ACL_MAC_/y/abcdef/ABCDEF/' >>$CONFIG_DIR/wlan_${MACN}.conf
        echo "WLAN_IDX='$CONFIG_DIR/wlan_${MAC}_idx.conf'" >>$CONFIG_DIR/wlan_$MACN.conf
        echo $CONFIG_DIR/wlan_${MACN}.conf >>$CONFIG_DIR/wlan_${MAC}_idx.conf
        echo "WLAN_REGDOMAIN='$WLAN_REGDOMAIN'" >>$CONFIG_DIR/wlan_${MAC}.conf
      fi
    done
    {
      cat <<EOF
    *)
      log_warn "Unknown mac address \$MAC_ADD, using WLAN_1_* as default configuration for device \$device"
      log_warn "Change your Config to: WLAN_x_MAC='\$MAC_ADD' for device \$device"
      if [ -f $CONFIG_DIR/wlan_\${device}.conf ]; then rm $CONFIG_DIR/wlan_\${device}.conf; fi
      ln -s $CONFIG_DIR/wlan_default.conf $CONFIG_DIR/wlan_\${device}.conf
      if [ -f $CONFIG_DIR/wlan_\${device}_idx.conf ]; then rm $CONFIG_DIR/wlan_\${device}_idx.conf; fi
      echo /var/run/wlan_default.conf >$CONFIG_DIR/wlan_\${MAC_ADD}_idx.conf
      ln -s $CONFIG_DIR/wlan_\${MAC_ADD}_idx.conf $CONFIG_DIR/wlan_\${device}_idx.conf
      . $CONFIG_DIR/wlan_default.conf
      ;;
esac
EOF
    } >>$CONFIG_FILE
    ;;
  *)
    echo "OPT_WLAN='no'" >$CONFIG_FILE
    ;;
esac

sleep 2 # neu: Versuch für wlan0
devices="`iwconfig 2>/dev/null | sed -n '/^wlan[0-9]/s/ .*$//p'`"
[ "$devices" ] || log_error "No wlan devices found, skipping initialization of wlan subsystem."

if type -p iw >/dev/null
then
  if [ -n "$WLAN_REGDOMAIN" ]
  then
    iw reg set $WLAN_REGDOMAIN
  else
    iw reg set DE
  fi
fi

for dev in $devices
do
  # if use bridge with wlan interface then add bridge-devname 
  case $OPT_BRIDGE_DEV in
    yes)
      [ 0"$BRIDGE_DEV_N" -eq 0 ] || for bridge_idx in `seq 1 $BRIDGE_DEV_N`
      do
        eval bridge_devname='$BRIDGE_DEV_'$bridge_idx'_DEVNAME'
        eval bridge_devn='$BRIDGE_DEV_'$bridge_idx'_DEV_N'
        for bridge_ddx in `seq 1 $bridge_devn`
        do
          eval bridge_dev_dev='$BRIDGE_DEV_'$bridge_idx'_DEV_'$bridge_ddx'_DEV'
          [ "$bridge_dev_dev" = "$dev" ] && echo "BRIDGE_DEVNAME_${dev}='$bridge_devname'" >>$CONFIG_FILE
        done
      done
      ;;
  esac

  # Calling /usr/sbin/wlanconfig.sh for each wlan-device found
  log_info "configuring wlan on $dev ..."
  /usr/sbin/wlanconfig.sh $wlanconfig_debug $dev
  errorcode=$?
  if [ $errorcode -ne 0 ]
  then
    log_error "Error $errorcode while setting up $dev"
    case $errorcode in
      42) log_error "Could not start hostapd - disabling device for safety reasons"
          ;;
      43) log_error "Could not start wpa_supplicant - disabling device for safety reasons"
          ;;
    esac
    # error-codes 17 and above are fatal - skip this device
    if [ $errorcode -ge 17 ]
    then
        if [ ! -f /var/run/wlan.dontuse ]; then > /var/run/wlan.dontuse; fi
        echo $dev >>/var/run/wlan.dontuse
        ip link set dev $device down
    fi
  fi
  sleep 3 # neu: Aenderung von sleep 2 auf sleep 3 # neu: Versuch für wlan0
done

echo >/var/run/wlanconfig.done
end_script


Mehr Informationen über die Mailingliste Fli4l_dev