Comment 19 for bug 293946

Revision history for this message
afeasfaerw23231233 (afeasfaerw23231233) wrote :

I think I finally get the solution. The fixed rate work for me so far. I am quite sure my connection hangs because the driver (either the native or the ndiswrapper win 98 one) doesn't know how to do the auto-negotiation with the router. For example, in Windows XP the transfer rate would drop as the signal is decreasing accordingly. But in Ubuntu the transfer rate always stucks at 54mb/s even though the signal is decreasing.

According to the man page of iwconfig
[code]

rate/bit[rate]
    For cards supporting multiple bit rates, set the bit-rate in b/s. The bit-rate is the speed at which bits are transmitted over the medium, the user speed of the link is lower due to medium sharing and various overhead.
    You may append the suffix k, M or G to the value (decimal multiplier : 10^3, 10^6 and 10^9 b/s), or add enough '0'. Values below 1000 are card specific, usually an index in the bit-rate list. Use auto to select automatic bit-rate mode (fallback to lower rate on noisy channels), which is the default for most cards, and fixed to revert back to fixed setting. If you specify a bit-rate value and append auto, the driver will use all bit-rates lower and equal than this value.
    Examples :
    iwconfig eth0 rate 11M
    iwconfig eth0 rate auto
    iwconfig eth0 rate 5.5M auto

[/code]

I don't know what's the default setting of the rate parameter of Ubuntu native driver/ ndiswrapper. But even though I set it as "iwconfig wlan0 rate 5.5M auto" I notice that the transfer rate is always 54mb/s from the command "iwconfig" after the connection is established. And it will always stuck at 54mb/s, no matter the signal is greatly weaken as I walk away from the router. So I think the "auto" option cannot be used, probably it's a bug.

And once I fixed the rate (the lower the better, but you will be penalized by decreasing connection speed), everything becomes fine. The driver doesn't know how to auto-negotiate with the router so you must fixed the rate for it, or it will just hold at 54mb/s and doesn't let me be 3 metres away from it.

I set it as 12mb/s and now the notebook can access the internet in any place at home.

I find out another interesting bug. The "Link quality" and "Signal level" behave strangely. When the router is very near the notebook, the Link quality shows 90/100 but the Signal level shows 3/65. When the router is very far from the notebook, the Link quality shows 10/100 and Signal level shows 65/65! Maybe it's the cause of the failure of auto-negotiation?

I haven't done the stability test, but if this native driver doesn't work I can simply switch back to ndiswrapper. But ndiswrapper sometimes hangs my computer at bootup.

Hope that it can help any people who have a wireless lan card with Realtek 8187 chipset.

I am using Realtek 8187 ID 0bda:8187 (note 8197). Ubuntu 8.10 i686 2.6.27-11.

Here's my post in ubuntuforums
http://ubuntuforums.org/showthread.php?p=6878345#post6878345