LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Slackware (https://www.linuxquestions.org/questions/slackware-14/)
-   -   Flaky Intel 4965 Wireless Solved! (https://www.linuxquestions.org/questions/slackware-14/flaky-intel-4965-wireless-solved-658094/)

xflow7 07-24-2008 08:19 PM

Flaky Intel 4965 Wireless Solved!
 
Hi all,

Just got a new Thinkpad T61p w/ the Intel 4965 wireless and have been getting 12.1 up and running.

I use WPA and got the card configured okay, but from the get go, the wireless has been really flaky in connecting. Sometimes it would associate and get an IP Addr successfully on boot, but many times not. However, if I executed the steps manually it would work every time.

The symptom was that it would successfully associate, but just after

Code:

Polling for DHCP server on interface wlan0:
some combination of the card driver and/or wpa_supplicant would kind of hang resulting in iwconfig showing wlan0 still associated, but clearly hung as there was no variation in signal level, etc.

After trolling through the rc.inet1 script, testing the same command sequence it uses I identified the problem.

There is a block in the script to set a timeout for DHCP that looks like this:

Code:

if [ "${DHCP_TIMEOUT[$i]}" = "" ]; then
          ifconfig ${1} up && sleep 1
          CONNSTATUS="$(cat /sys/class/net/${1}/carrier 2> /dev/null)"
          ifconfig ${1} down
          if [ "$CONNSTATUS" = "0" ]; then
            # The kernel has just told us the cable isn't even plugged in, but w
            # give any DHCP server a short chance to reply anyway:
            echo "No carrier detected on ${1}.  Reducing DHCP timeout to 10 seco
            DHCP_TIMEOUT[$i]=10
          fi
        fi

The problem was that for some reason issuing ifconfig ${1} down with the card associated would usually kill the interface association so dhcpcd was unsuccessful.

I set DHCP_TIMEOUT[i] explicitly in rc.inet1.conf to avoid this block executing, and all is well.

Not sure if that's a bug in dhcpcd, the iwl4965 module, or wpa_supplicant, (nor what the need is to take the interface down before running dhcpcd), but I thought I'd lay this out in case anyone else is beating their head against the wall.

Dave

dugan 07-24-2008 10:17 PM

That's an awesome hack.

Kernel 2.6.26 has newer iwlwifi drivers. I had similar problems with the stock Slackware kernel and an Intel Pro 3945 card, but they went away after I upgraded to 2.6.26.


All times are GMT -5. The time now is 03:30 PM.