Wireless disconnects automatically

I recently set up a new desktop with openSUSE 11.3 64-bit GNOME, and I’m having some trouble getting the wireless to behave.

I’m using a D-Link wireless USB, which uses a Ralink chipset. According to dmesg, the firmware is rt2870.bin.

I can connect to the network, but it automatically disconnects after a while. Here’s what I think the relevant information from dmesg is:

  806.434598] ADDRCONF(NETDEV_UP): wlan0: link is not ready
  815.836060] eth0: no IPv6 routers present
  817.760104] wlan0: authenticate with 00:25:9c:6a:41:76 (try 1)
  817.761867] wlan0: authenticated
  817.761908] wlan0: associate with 00:25:9c:6a:41:76 (try 1)
  817.764238] wlan0: RX AssocResp from 00:25:9c:6a:41:76 (capab=0x411 status=0 aid=4)
  817.764246] wlan0: associated
  817.773847] ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
  828.504057] wlan0: no IPv6 routers present
 2434.113087] No probe response from AP 00:25:9c:6a:41:76 after 500ms, disconnecting.
 2434.141111] cfg80211: Calling CRDA to update world regulatory domain
 2434.146172] cfg80211: World regulatory domain updated:
 2434.146174]     (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp)
 2434.146176]     (2402000 KHz - 2472000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
 2434.146177]     (2457000 KHz - 2482000 KHz @ 20000 KHz), (300 mBi, 2000 mBm)
 2434.146179]     (2474000 KHz - 2494000 KHz @ 20000 KHz), (300 mBi, 2000 mBm)
 2434.146180]     (5170000 KHz - 5250000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
 2434.146182]     (5735000 KHz - 5835000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)

I’m pretty sure it’s the line about the probe disconnecting that points to the problem, but I have no idea what’s causing it.

Any ideas?

On 02/27/2011 03:06 PM, kog13 wrote:
> 2434.113087] No probe response from AP 00:25:9c:6a:41:76 after 500ms, disconnecting.
>
> I’m pretty sure it’s the line about the probe disconnecting that points
> to the problem, but I have no idea what’s causing it.
>
> Any ideas?

Yes, that is what is causing the disconnect. The MAC layer is probing the AP and
is getting no response. The problem may be in the driver, the AP, or an
incompatibility between them. Usually, one must set up wireshark and capture the
traffic on the air. It is best if done from a second computer.

The workaround is probably to “/sbin/modprobe -rv rt2870 && /sbin/modprobe -v
rt2870”.

That driver is in the staging directory, which means the quality is unknown. The
problem is likely in the driver, but you might have trouble getting anyone to
fix it.

According to hardware information, there are two drivers loaded: rt2870sta and rt2800usb. Reloading rt2800usb fixes the connection problem, but again, only for a little bit. It looks like the rt2800usb module loads the rt2870 module; I guess both of them are needed for it to work.

I’m going to look into getting the driver directly from Ralink and compiling it.

No luck. Compiling it from source makes it work even less than the one that comes with the kernel.

Is there any hope for this driver, then?

On 02/27/2011 06:36 PM, kog13 wrote:
>
> No luck. Compiling it from source makes it work even less than the one
> that comes with the kernel.
>
> Is there any hope for this driver, then?

I do not know.

What is the USB Id for the device as shown by ‘lsusb’?

Bus 002 Device 003: ID 07d1:3c09 D-Link System DWA-140 802.11n Adapter [ralink rt2870]

On 02/27/2011 11:06 PM, kog13 wrote:
>
>
> Code:
> --------------------
> Bus 002 Device 003: ID 07d1:3c09 D-Link System DWA-140 802.11n Adapter [ralink rt2870]
> --------------------

As you saw in the loaded driver list, there are two drivers that claim this
device. You should blacklist rt2870sta as it comes from staging. Driver
rt2800usb has undergone much more rigorous review and testing.