[Fli4l_dev] [rc130.wlan] ERR: No wlan devices found, skipping initialization of wlan subsystem.
Harvey
hw234 at gmx.de
Mi Mai 13 20:11:41 CEST 2026
Helmut,
Bitte teste mal die rc130.wlan im Anhang und berichte. Die wartet jetzt
bis zu 10 Sekunden auf das 'auftauchen' des devices, bricht aber sofort
ab, wenn es erscheint und macht dann weiter.
Das wäre eine bessere Lösung, so es denn funktioniert.
Gruß
Harvey
-------------- nächster Teil --------------
#!/bin/sh
#------------------------------------------------------------------------------
# /etc/rc.d/rc130.wlan - write wlan-config to /var/run/wlan.conf 4.1.0--2026-05-13
# and configure wlan
#
# Creation: 05.08.2002 rresch
#------------------------------------------------------------------------------
. /etc/rc.d/wireless-helper
begin_script WLAN
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
# wait a bit for slow devices to appear
devices=
for _try in 1 2 3 4 5 6 7 8 9 10
do
# get device list by using iw, fallback to iwconfig (deprecated) only for really old hardware
devices="$(iw dev 2>/dev/null | sed -n 's/^[[:space:]]*Interface \(wlan[0-9]\+\)$/\1/p')"
if [ -z "$devices" ]; then
devices="$(iwconfig 2>/dev/null | sed -n '/^wlan[0-9]/s/ .*$//p')"
fi
done
[ "$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 $dev down
fi
fi
sleep 2
done
echo >/var/run/wlanconfig.done
end_script
Mehr Informationen über die Mailingliste Fli4l_dev