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

-- 
realtek rtl8187 weak signal, occasional slow performance
https://bugs.launchpad.net/bugs/293946
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.

-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to