Difference between revisions of "User:Piccobello/Wireless"
Piccobello (Talk | contribs) |
Piccobello (Talk | contribs) (after Dapper upgrade) |
||
(3 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
− | Initially I thought | + | My {{X31}} has an [[Intel PRO/Wireless LAN 2100 3B Mini PCI Adapter]] built in. |
+ | |||
+ | Initially I thought it did not work. | ||
I could do: | I could do: | ||
+ | |||
{{cmdroot|iwconfig eth0 essid <name> key <key>}} | {{cmdroot|iwconfig eth0 essid <name> key <key>}} | ||
Line 29: | Line 32: | ||
it gives me the correct speed, but as it's | it gives me the correct speed, but as it's | ||
working it's not really a problem.. | working it's not really a problem.. | ||
− | |||
− | |||
The reason is this ipw2100 [http://bughost.org/bugzilla/show_bug.cgi?id=305 bug], fixed in 1.1.5 (I have 1.1.2). | The reason is this ipw2100 [http://bughost.org/bugzilla/show_bug.cgi?id=305 bug], fixed in 1.1.5 (I have 1.1.2). | ||
− | My {{path|/etc/acpi/wireless.sh}} | + | I added eth0 to my [[User:Piccobello/interfaces|/etc/network/interfaces]] |
+ | file and ifup'd it manually. | ||
+ | |||
+ | My modified {{path|/etc/acpi/wireless.sh}}, taking into account the status of the software switch for ipw2100. The sw switch is turned on if necesary, but never turned off again, as I can just relay on the hw switch. | ||
#!/bin/bash | #!/bin/bash | ||
Line 42: | Line 46: | ||
if [ -d $DEVICE/wireless ]; then | if [ -d $DEVICE/wireless ]; then | ||
# $DEVICE is a wireless device. Check if it's powered on: | # $DEVICE is a wireless device. Check if it's powered on: | ||
− | |||
if [ `cat $DEVICE/device/power/state` = 0 ]; then | if [ `cat $DEVICE/device/power/state` = 0 ]; then | ||
# It's powered on. Switch it off. | # It's powered on. Switch it off. | ||
− | + | echo -n 2 > $DEVICE/device/power/state; | |
− | echo -n | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
echo 0 | echo 0 | ||
else | else | ||
# It's powered off. Switch it on. | # It's powered off. Switch it on. | ||
− | |||
echo -n 0 > $DEVICE/device/power/state; | echo -n 0 > $DEVICE/device/power/state; | ||
− | |||
#Check SW kill switch status | #Check SW kill switch status | ||
#see /usr/src/linux-source-2.6.12/Documentation/networking/README.ipw2100 | #see /usr/src/linux-source-2.6.12/Documentation/networking/README.ipw2100 | ||
if [ -e $DEVICE/device/rf_kill ]; then | if [ -e $DEVICE/device/rf_kill ]; then | ||
− | + | # echo $DEVICE rf_kill `cat $DEVICE/device/rf_kill` | |
if [ `cat $DEVICE/device/rf_kill` -gt 0 ]; then | if [ `cat $DEVICE/device/rf_kill` -gt 0 ]; then | ||
echo -n 0 > $DEVICE/device/rf_kill | echo -n 0 > $DEVICE/device/rf_kill | ||
− | + | # echo $DEVICE rf_kill `cat $DEVICE/device/rf_kill` | |
fi | fi | ||
fi | fi |
Latest revision as of 15:20, 28 November 2006
My X31 has an Intel PRO/Wireless LAN 2100 3B Mini PCI Adapter built in.
Initially I thought it did not work. I could do:
# iwconfig eth0 essid <name> key <key>
and it seemed to work fine, but no tx power:
# iwconfig
eth0 IEEE 802.11b ESSID:"rightname" Nickname:"ipw2100" Mode:Managed Frequency:2.462 GHz Access Point: 00:0F:34:D5:90:E0 Bit Rate=11 Mb/s Tx-Power:off Retry min limit:7 RTS thr:off Fragment thr:off Encryption key:XXXX-XXXX-XXXX-XXXX-XXXX-XXXX-XX Security mode:open Power Management:off Link Quality=100/100 Signal level=-58 dBm Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0 Tx excessive retries:0 Invalid misc:184 Missed beacon:0
but
# iwconfig eth0 txpower on
Error for wireless request "Set Tx Power" (8B26) : SET failed on device eth0 ; Invalid argument.
Apparently this is not a problem! I can use it and still see TxPower:off so it's just not related.. I'd like to make KWirelessManager aware of this, it still shows it as disabled even though it gives me the correct speed, but as it's working it's not really a problem..
The reason is this ipw2100 bug, fixed in 1.1.5 (I have 1.1.2).
I added eth0 to my /etc/network/interfaces file and ifup'd it manually.
My modified /etc/acpi/wireless.sh, taking into account the status of the software switch for ipw2100. The sw switch is turned on if necesary, but never turned off again, as I can just relay on the hw switch.
#!/bin/bash # Find and enable/disable wireless devices for DEVICE in /sys/class/net/*; do if [ -d $DEVICE/wireless ]; then # $DEVICE is a wireless device. Check if it's powered on: if [ `cat $DEVICE/device/power/state` = 0 ]; then # It's powered on. Switch it off. echo -n 2 > $DEVICE/device/power/state; echo 0 else # It's powered off. Switch it on. echo -n 0 > $DEVICE/device/power/state; #Check SW kill switch status #see /usr/src/linux-source-2.6.12/Documentation/networking/README.ipw2100 if [ -e $DEVICE/device/rf_kill ]; then # echo $DEVICE rf_kill `cat $DEVICE/device/rf_kill` if [ `cat $DEVICE/device/rf_kill` -gt 0 ]; then echo -n 0 > $DEVICE/device/rf_kill # echo $DEVICE rf_kill `cat $DEVICE/device/rf_kill` fi fi echo 1 fi fi done