Hi, I currently switched to ~x86. As I tried to start my wireless device (prism54 chipset) with # /etc/init.d/net.eth2 start I got: Error for wireless request "Set Frequency" (8B04) : SET failed on device eth2 ; Input/output error. According to the kernel-maillinglist this is a problem of the fireware uploading and some kernel internas - I don't know the exact reason. But I patched my /lib/rcscripts/net/iwconfig.sh as followed: drunken net # diff -c iwconfig.sh.bak iwconfig.sh *** iwconfig.sh.bak 2006-08-12 23:09:43.000000000 +0200 --- iwconfig.sh 2006-08-12 23:18:44.000000000 +0200 *************** *** 211,216 **** --- 211,221 ---- local iface="$1" mode="$2" channel= key= dessid= local ifvar=$(bash_variable "$1") + if ! ifconfig "${iface}" up ; then + ewarn "can not bringing up ${iface} before setting wireless options" + ewarn "some wireless cards are unable to change channel etc. before they are up" + fi + if [[ -z ${ESSID} ]]; then eerror "${iface} requires an ESSID to be set to operate in ${mode} mode" eerror "adjust the essid_${iface} setting in /etc/conf.d/wireless" It works fine for me. regards Daniel
Nope, no bug. It allows the driver to be built non-modular. When non-modular, the resources are not available, at boot time, to load the firmware. I just got this answer from kernel maillinglist. So this problem should occur on more wlan cards.
Damn, as I notice my patch does not work perfectly. I will work on it.
Ah, the problem is that you can not set the channel before setting an essid. The device gets allready up by iwconfig_set_mode so my last patch is useless. But I have moved the set of the essid between the set of the mode and the set of the channel. regards Daniel drunken net # diff -c ~/iwconfig.sh.bak iwconfig.sh *** /home/root/iwconfig.sh.bak 2006-08-12 23:09:43.000000000 +0200 --- iwconfig.sh 2006-08-13 10:02:49.000000000 +0200 *************** *** 222,227 **** --- 222,233 ---- iwconfig_set_mode "${iface}" "${mode}" + # Then set the ESSID + if ! iwconfig "${iface}" essid "${ESSID}" ; then + eerror "${iface} does not support setting ESSID to \"${dessid}\"" + return 1 + fi + channel="channel_${ifvar}" # We default the channel to 3 channel="${!channel:-3}" *************** *** 238,249 **** fi fi - # Then set the ESSID - if ! iwconfig "${iface}" essid "${ESSID}" ; then - eerror "${iface} does not support setting ESSID to \"${dessid}\"" - return 1 - fi - # Finally apply the user Config iwconfig_user_config "${iface}" "${ESSIDVAR}" --- 244,249 ----
Thanks for the patch :) Fixed in 1.12.4-r4
Hi, I've changed the summary for easier searching. greez Daniel