Bug 143716 - net.ethX not working for wireless
|
Bug#:
143716
|
Product: Gentoo Linux
|
Version: unspecified
|
Platform: All
|
|
OS/Version: Linux
|
Status: RESOLVED
|
Severity: normal
|
Priority: P2
|
|
Resolution: FIXED
|
Assigned To: uberlord@gentoo.org
|
Reported By: damage@rooties.de
|
|
Component: baselayout
|
|
|
URL:
|
|
Summary: net.ethX not working for wireless
|
|
Keywords:
|
|
Status Whiteboard:
|
|
Opened: 2006-08-12 14:21 0000
|
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