[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