LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Laptop and Netbook (https://www.linuxquestions.org/questions/linux-laptop-and-netbook-25/)
-   -   Wireless - RTL 8187b + wicd + wpa_supplicant - naughty behaviour (https://www.linuxquestions.org/questions/linux-laptop-and-netbook-25/wireless-rtl-8187b-wicd-wpa_supplicant-naughty-behaviour-799377/)

CoolRabit 04-01-2010 09:07 AM

Wireless - RTL 8187b + wicd + wpa_supplicant - naughty behaviour
 
[SOLVED]

So I got as a present a Laptop, the giver was aware that I donīt use M$ anymore for some time now (about 5years) and she (my wife) did this as a surprise in the coming of our new baby girl (she took pity at my old Laptop - witch Toshiba should buy me up for historical purposes). This means she baught me a Linux running box (!!). But it also means that I did not choose the hardware, and have no heart to tell her it is CRAP!

It all started when I booted the thing and it started a Mandriva 2008.0 (2008? - you got to be kidding me) It took me about 10 minutes to download the latest Debian Testing no.1 CD and start what would be my first 64bit OS :)))

After installing the screen resolution sucked (800x600 in 16bit) this is when I started to look at the box with that "donīt you go naughty on me boy" look I learned from my mother ;-)

I quickly switched to xorg.conf edited some Modeline and was up and running a 1280x768 24bit X (about 2 hours work - I tried first to install my SiS driver from source, but it wouldnīt compile on Testing -- seems the missing file is Sid only)

Ok now I installed all my necessary packages and took out the net cable - I wanted to go upstairs and see my daughter, but was downloading a movie. Suddenly the wireless stops.

Tried to reconnect and it gave me a "wrong password" error in ' wicd '.

Weird, must be a coincidence and started checking my router ... everything fine there all other wireless gadgets running smoothly (including old dinosaur laptop - Debian Testing updated in a i386 kernel).

Then I discovered that wireless WAS working, but in a very peculiar way: when I am 2-3 meters form router it connects at normal speed and very easily, but farther form this distance it just doesnīt seem able to CONNECT, but it still correcly scans and finds the wireless networks. Sometimes I can "take the connection with me" upstairs, but itīs not reproductable enough to make it a pseudo-fix.

I thought it maybe the card, but then would it connect when I am standing besides the router? Thought it to be wpa-supplicant but the same holds true as with the card ... my guess it has something to do with POWER SAVING.

It does not work with eigther Ubuntu 9.10 or Mandriva 2010.0


# uname -a

Linux casa 2.6.32-3-amd64 #1 SMP Sun Jan 10 22:40:40 UTC 2010 x86_64 GNU/Linux


When it works:


# dmesg | grep -e rtl -e wlan -e DEV -eth --- (if you want I can post the hole thing ... just ask ... no point supressing MAC for local wireless)

Code:

[    0.000000]  AMD AuthenticAMD                             
[    0.022299] using mwait in idle threads.                   
[    0.022317] ... bit width:              40                 
[    0.427181] Driver 'rtc_cmos' needs updating - please use bus_type methods
[    0.429174] Write protecting the kernel read-only data: 4096k           
[    0.611824] thermal LNXTHERM:01: registered as thermal_zone0             
[    1.468372] ata1.00: 625142448 sectors, multi 16: LBA48 NCQ (depth 0/32) 
[    2.336632] EXT4-fs (sda1): mounted filesystem with ordered data mode   
[    5.132551]  (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp)
[    5.153072] sis190 Gigabit Ethernet driver 1.3 loaded.                       
[    5.767461] phy0: Selected rate control algorithm 'minstrel'                 
[    5.768058] phy0: hwaddr 00:25:d3:8d:c0:c9, RTL8187BvE V0 + rtl8225z2, rfkill mask 2                                                                               
[    5.789720] rtl8187: Customer ID is 0x00                                       
[    5.789768] Registered led device: rtl8187-phy0::tx                             
[    5.789794] Registered led device: rtl8187-phy0::rx                             
[    5.790585] rtl8187: wireless switch is on                                     
[    5.790627] usbcore: registered new interface driver rtl8187                   
[    5.796669] 0000:00:04.0: SiS 191 PCI Gigabit Ethernet adapter at ffffc9000067c000 (IRQ: 19), 00:90:f5:7f:c5:fa                                                     
[    5.796672] eth0: GMII mode.                                                   
[    5.796677] eth0: Enabling Auto-negotiation.                                   
[    7.184634] EXT4-fs (sda4): mounted filesystem with ordered data mode           
[    7.272950] EXT4-fs (sda3): mounted filesystem with ordered data mode           
[    8.155997] ADDRCONF(NETDEV_UP): eth0: link is not ready                       
[  18.176032] eth0: auto-negotiating...                                           
[  25.895222] ADDRCONF(NETDEV_UP): wlan0: link is not ready                       
[  28.200040] eth0: auto-negotiating...                                           
[  33.591014] ADDRCONF(NETDEV_UP): wlan0: link is not ready                       
[  33.753871] ADDRCONF(NETDEV_UP): eth0: link is not ready
[  37.743070] ADDRCONF(NETDEV_UP): wlan0: link is not ready
[  42.301501] wlan0: direct probe to AP 00:21:04:1a:21:f6 (try 1)
[  42.500045] wlan0: direct probe to AP 00:21:04:1a:21:f6 (try 2)
[  42.503133] wlan0: direct probe responded
[  42.503138] wlan0: authenticate with AP 00:21:04:1a:21:f6 (try 1)
[  42.504765] wlan0: authenticated
[  42.504796] wlan0: associate with AP 00:21:04:1a:21:f6 (try 1)
[  42.704049] wlan0: associate with AP 00:21:04:1a:21:f6 (try 2)
[  42.710391] wlan0: RX AssocResp from 00:21:04:1a:21:f6 (capab=0x431 status=0 aid=2)
[  42.710397] wlan0: associated
[  42.716805] ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
[  43.776030] eth0: auto-negotiating...
[  53.132025] wlan0: no IPv6 routers present
[  53.800034] eth0: auto-negotiating...

#iwconfig

Code:

lo        no wireless extensions.

wlan0    IEEE 802.11bg  ESSID:"ascencao"
          Mode:Managed  Frequency:2.437 GHz  Access Point: 00:21:04:1A:21:F6
          Bit Rate=11 Mb/s  Tx-Power=27 dBm
          Retry  long limit:7  RTS thr:off  Fragment thr:off
          Encryption key:off
          Power Management:off
          Link Quality=70/70  Signal level=-24 dBm
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0  Missed beacon:0

eth0      no wireless extensions.

------------------------------------------------------

After I lose my connection :

# dmesg | grep -e rtl -e wlan -e DEV -eth

Code:

[  986.760041] wlan0: deauthenticating from 00:21:04:1a:21:f6 by local choice (reason=3)                                                                               
[  990.634925] ADDRCONF(NETDEV_UP): wlan0: link is not ready                       
[  990.709238] wlan0: direct probe to AP 00:21:04:1a:21:f6 (try 1)                 
[  990.709283] wlan0: deauthenticating from 00:21:04:1a:21:f6 by local choice (reason=3)                                                                               
[  990.709336] wlan0: deauthenticating from 00:21:04:1a:21:f6 by local choice (reason=3)                                                                               
[  996.231091] ADDRCONF(NETDEV_UP): wlan0: link is not ready                       
[  996.252218] eth0: auto-negotiating...                                           
[ 1000.138939] ADDRCONF(NETDEV_UP): wlan0: link is not ready                       
[ 1000.281959] ADDRCONF(NETDEV_UP): eth0: link is not ready                       
[ 1004.258965] ADDRCONF(NETDEV_UP): wlan0: link is not ready                       
[ 1006.393244] wlan0: direct probe to AP 00:21:04:1a:21:f6 (try 1)
[ 1006.393291] wlan0: deauthenticating from 00:21:04:1a:21:f6 by local choice (reason=3)
[ 1006.394229] wlan0: direct probe to AP 00:21:04:1a:21:f6 (try 1)
[ 1006.421352] wlan0: deauthenticating from 00:21:04:1a:21:f6 by local choice (reason=3)
[ 1006.490373] wlan0: direct probe to AP 00:21:04:1a:21:f6 (try 1)
[ 1006.688038] wlan0: direct probe to AP 00:21:04:1a:21:f6 (try 2)
[ 1006.888040] wlan0: direct probe to AP 00:21:04:1a:21:f6 (try 3)
[ 1007.088036] wlan0: direct probe to AP 00:21:04:1a:21:f6 timed out
[ 1010.304034] eth0: auto-negotiating...
[ 1018.321348] wlan0: direct probe to AP 00:21:04:1a:21:f6 (try 1)
[ 1018.324471] wlan0: direct probe responded
[ 1018.324475] wlan0: authenticate with AP 00:21:04:1a:21:f6 (try 1)
[ 1018.524034] wlan0: authenticate with AP 00:21:04:1a:21:f6 (try 2)
[ 1018.724051] wlan0: authenticate with AP 00:21:04:1a:21:f6 (try 3)
[ 1018.924046] wlan0: authentication with AP 00:21:04:1a:21:f6 timed out
[ 1020.328034] eth0: auto-negotiating...
[ 1030.085319] wlan0: direct probe to AP 00:21:04:1a:21:f6 (try 1)
[ 1030.284047] wlan0: direct probe to AP 00:21:04:1a:21:f6 (try 2)
[ 1030.352032] eth0: auto-negotiating...
[ 1030.484045] wlan0: direct probe to AP 00:21:04:1a:21:f6 (try 3)
[ 1030.684045] wlan0: direct probe to AP 00:21:04:1a:21:f6 timed out
[ 1040.376032] eth0: auto-negotiating...
[ 1041.853285] wlan0: direct probe to AP 00:21:04:1a:21:f6 (try 1)
[ 1041.962037] wlan0: deauthenticating from 00:21:04:1a:21:f6 by local choice (reason=3)
[ 1045.847791] ADDRCONF(NETDEV_UP): wlan0: link is not ready
[ 1045.917326] wlan0: direct probe to AP 00:21:04:1a:21:f6 (try 1)
[ 1045.917369] wlan0: deauthenticating from 00:21:04:1a:21:f6 by local choice (reason=3)
[ 1045.917419] wlan0: deauthenticating from 00:21:04:1a:21:f6 by local choice (reason=3)
[ 1046.034116] ADDRCONF(NETDEV_UP): eth0: link is not ready

# iwconfig

Code:

lo        no wireless extensions.

wlan0    IEEE 802.11bg  ESSID:off/any
          Mode:Managed  Frequency:2.437 GHz  Access Point: Not-Associated
          Tx-Power=27 dBm
          Retry  long limit:7  RTS thr:off  Fragment thr:off
          Encryption key:off
          Power Management:off

eth0      no wireless extensions.

Here are some observations:

1) eth0 keeps auto-negotiating forever, as long as the box is powered it still tries to negotiate even though no cable is connected.
2) see that when the deect occurs the probe was SUCCESSFULL the authentication that failed

Anybody got a clue?

Thanks

igadoter 04-02-2010 06:39 AM

router's log
 
Hello,

Perhaps it will be helpful to verify your router's logfile.

I suppose that sometimes connections are being lost due to a weak signal,
especially for protected networks. This is my own observation.

CoolRabit 04-02-2010 06:47 PM

But what if it is a low signal ... in MS-Win 7 it works great ... if it was a problem with my wifi card it would be bad in MS-Win too right? Besides I use a Siemens SE361 wireless router, the only log I found was itīs request for DHCP FROM my DSL modem, no DHCP requests TO my wireless clients.

Found out that the wicd log has some info too ... here it is:

OBS: it tells me to use other dhcp client, I already tried with no difference (when I use dhclient it tells me to use dhcpcd and vice-versa)

Code:

2010/04/02 15:46:14 :: wicd initializing...
2010/04/02 15:46:14 :: ---------------------------
2010/04/02 15:46:14 :: wicd is version 1.7.0 552
2010/04/02 15:46:14 :: setting backend to external
2010/04/02 15:46:14 :: trying to load backend external
2010/04/02 15:46:14 :: successfully loaded backend external
2010/04/02 15:46:14 :: trying to load backend external
2010/04/02 15:46:14 :: successfully loaded backend external
2010/04/02 15:46:14 :: Couldn't detect a wireless interface.
2010/04/02 15:46:14 :: setting wireless interface wlan0
2010/04/02 15:46:14 :: automatically detected wired interface eth0
2010/04/02 15:46:14 :: setting wired interface eth0
2010/04/02 15:46:14 :: setting wpa driver wext
2010/04/02 15:46:14 :: setting use global dns to False
2010/04/02 15:46:15 :: setting global dns
2010/04/02 15:46:15 :: global dns servers are None None None
2010/04/02 15:46:15 :: domain is None
2010/04/02 15:46:15 :: search domain is None
2010/04/02 15:46:15 :: setting automatically reconnect when connection drops True
2010/04/02 15:46:15 :: Setting dhcp client to 0
2010/04/02 15:46:15 :: Wireless configuration file found...
2010/04/02 15:46:15 :: Wired configuration file found...
2010/04/02 15:46:15 :: chmoding configuration files 0600...
2010/04/02 15:46:15 :: chowning configuration files root:root...
2010/04/02 15:46:15 :: Using wireless interface...wlan0
2010/04/02 15:46:15 :: Using wired interface...eth0
2010/04/02 15:46:20 :: Autoconnecting...
2010/04/02 15:46:22 :: No wired connection present, attempting to autoconnect to wireless network
2010/04/02 15:46:23 :: trying to automatically connect to...ascencao
2010/04/02 15:46:23 :: Connecting to wireless network ascencao
2010/04/02 15:46:23 :: attempting to set hostname with dhclient
2010/04/02 15:46:23 :: using dhcpcd or another supported client may work better
2010/04/02 15:46:27 :: attempting to set hostname with dhclient
2010/04/02 15:46:27 :: using dhcpcd or another supported client may work better
2010/04/02 15:46:27 :: Putting interface down
2010/04/02 15:46:27 :: Releasing DHCP leases...
2010/04/02 15:46:27 :: attempting to set hostname with dhclient
2010/04/02 15:46:27 :: using dhcpcd or another supported client may work better
2010/04/02 15:46:31 :: Setting false IP...
2010/04/02 15:46:31 :: Stopping wpa_supplicant
2010/04/02 15:46:31 :: Flushing the routing table...
2010/04/02 15:46:31 :: Putting interface up...
2010/04/02 15:46:33 :: Generating psk...
2010/04/02 15:46:33 :: Attempting to authenticate...
2010/04/02 15:47:09 :: wpa_supplicant authentication may have failed.
2010/04/02 15:47:09 :: connect result is Failed
2010/04/02 15:47:09 :: exiting connection thread
2010/04/02 15:47:12 :: Sending connection attempt result bad_pass
2010/04/02 15:47:12 :: Autoconnecting...
2010/04/02 15:47:12 :: No wired connection present, attempting to autoconnect to wireless network
2010/04/02 15:47:14 :: trying to automatically connect to...ascencao
2010/04/02 15:47:14 :: Connecting to wireless network ascencao
2010/04/02 15:47:14 :: attempting to set hostname with dhclient
2010/04/02 15:47:14 :: using dhcpcd or another supported client may work better
2010/04/02 15:47:18 :: attempting to set hostname with dhclient
2010/04/02 15:47:18 :: using dhcpcd or another supported client may work better
2010/04/02 15:47:18 :: Putting interface down
2010/04/02 15:47:18 :: Releasing DHCP leases...
2010/04/02 15:47:18 :: attempting to set hostname with dhclient
2010/04/02 15:47:18 :: using dhcpcd or another supported client may work better
2010/04/02 15:47:22 :: attempting to set hostname with dhclient
2010/04/02 15:47:22 :: using dhcpcd or another supported client may work better
2010/04/02 15:47:22 :: Setting false IP...
2010/04/02 15:47:22 :: Stopping wpa_supplicant
2010/04/02 15:47:22 :: Flushing the routing table...
2010/04/02 15:47:22 :: Putting interface up...
2010/04/02 15:47:26 :: attempting to set hostname with dhclient
2010/04/02 15:47:26 :: using dhcpcd or another supported client may work better
2010/04/02 15:47:26 :: Generating psk...
2010/04/02 15:47:26 :: Attempting to authenticate...
2010/04/02 15:48:01 :: wpa_supplicant authentication may have failed.
2010/04/02 15:48:01 :: connect result is Failed
2010/04/02 15:48:01 :: exiting connection thread
2010/04/02 15:48:01 :: Sending connection attempt result bad_pass
2010/04/02 15:48:01 :: attempting to set hostname with dhclient
2010/04/02 15:48:01 :: using dhcpcd or another supported client may work better
2010/04/02 15:48:05 :: attempting to set hostname with dhclient
2010/04/02 15:48:05 :: using dhcpcd or another supported client may work better

I canīt seem to find any logs for wpa_supplicant, anyone knows where or how to do this?

Thanks

igadoter 04-03-2010 03:52 AM

Now I am using on my desktop wicd+wpa_supplicant with Slackware and default
Network Manager for Ubuntu.

On my laptop I use wicd+wpa_supplicant for both Slackware and Ubuntu.

Perhaps it wiil give you some help if you try to run wpa_supplicant
manually from console or a terminal emulator (perhaps as a root user or with 'sudo').

I found this in the manual ($man wpa_supplicant)
Quote:

The easiest way to debug problems, and to get debug log for bug
reports, is to start wpa_supplicant on foreground with debugging
enabled:

wpa_supplicant -c/etc/wpa_supplicant.conf -iwlan0 -d


CoolRabit 04-05-2010 12:41 PM

In my distro there is no such file /etc/wpa_supplicant.conf ... there are 3 files in the /etc/wpa_supplicant/ directory and they are all bash sripts .

Rogerio

igadoter 04-05-2010 03:14 PM

Quote:

Originally Posted by CoolRabit (Post 3925052)
In my distro there is no such file /etc/wpa_supplicant.conf ... there are 3 files in the /etc/wpa_supplicant/ directory and they are all bash sripts .

This is my wpa_supplicant.conf file
Quote:

# WPA protected network, supply your own ESSID and WPAPSK here:
network={
scan_ssid=0
ssid="..."
proto=WPA RSN
key_mgmt=WPA-PSK
pairwise=CCMP TKIP
group=CCMP TKIP WEP104 WEP40
psk="....."
priority=10
}
Copy this, fill in with essid (ssid="...") of your network
and with your wpa-password (psk="...") and save in /etc as wpa_supplicant.conf.
You may run wpa_supplicant with this file as a config file. It should work.

Mark_ger 04-08-2010 10:08 AM

- With default Xorg-drivers native LCD resolution of 1280*800 is not possible, 1280*768 is likely not your native resolution and therefore the screen may be a bit blurry.
- Best distributions for SiS chipset still is Mandriva 2009.1 or 2010.0, which support SiS graphics out of the box. The Mandriva driver supports 2D acceleration but no 3D, Xorg driver none of both.
- Good ressources for SiS graphics are http://ncc-1701a.homelinux.net/~linux-sis/ and http://ubuntuforums.org/showthread.php?t=958967&page=37

- 8187B sucks on Linux if the router is more than 5 meters away. Some bugs are already filed on this issue which affects all distributions: https://bugs.launchpad.net/ubuntu/+s...ux/+bug/293946

CoolRabit 10-02-2010 06:45 AM

Ok here is the update:

SiS vídeo works perfectly with the tutorial in Ubuntu foruns:

http://ubuntuforums.org/showthread.php?t=958967&page=38
*** It freaked me out to do the blind console part, but it worked perfectly - THANKS Mhgsys !!!

Now the wireless rtl8187b adapter seems for now a dead end, the linux-wireless people canīt seem to get interested in this bug, seems it is a hit-miss situation as one of the devs has the chip working pleasently in his box, the latest post was something in the way of "well mine works so I canīt write code to fix something that works".

In Aug/2010 another kernel dev has aparently seen the problem and is as I write this trying some test on the driver.

Oh well, we will wait and see. In the Ubuntu bug tracker the problem is still open and persists on many peopleīs machines.

Rogerio

Mark_ger 10-19-2010 02:55 PM

Hello Rogerio,

I've participated in that thread as well, but the rtl8187 driver development seems to be hopeless...

Since that card really made me mad I'll order another card this week; a wireless N card, but I will still stay with a G-router for the next time - I'll be happy with 10mbit/s @ 10 meters instead of the poor rtl8187's 1mbit/s)

Larry F. "does not understand the poor performance." "At 2 m from the AP his throughput is 13 Mb/s. At 10 m the transmit speed is 3.5 Mb/s."

I don't understand why he doesn't understand the poor performance.
He gets poor performance on his own machine, too. He's talking about MegaBIT/s and not MegaBYTES.
Windows gets 2.5 MByte/s (~20 MegaBIT/s) at 2 meters and 1.25 Mbyte/s (~10 MegaBIT/s) at 10 meters, what is up to three times (!) faster than Larry F's throughput (and up to 10 times faster than my card, which somehow must be even worse than Larry's...)

Mark_ger 10-20-2010 01:34 PM

@ Rogerio

You've got work, see http://article.gmane.org/gmane.linux....general/55036

CoolRabit 10-27-2010 11:06 PM

@ Mark_ger

We are doing some tests on a patch Cascardo (from linux-wireless list) has come up with ... as soon as I recompile my kernel will give you a word ;)

Fingers crossed :)

Rogerio

Mark_ger 10-28-2010 10:34 AM

Would be really great if Cascardo can improve the rtl8187 module.
I appreciate every effort to get that card working better since the code maintainers are not interested in any further development, BUT that "do not do per packet TX AGC"-patch made things not really better (I compiled a patched module few days ago).
I emailed Realtek support for the latest driver, not sure if they send me anything.
The realtek driver ver. 1056 compiled on 2.6.33, but the module crashes when its loaded.

CoolRabit 11-02-2010 06:17 PM

SUCCESS!!! (preliminary)
 
@ Mark

Preliminary testing with Cascardo's is a HUGE SUCCESS, I made a conect at 30meters and stayed connected for about 1hour, speed similar to that in Win7, even a Suspend/Resume worked fine.

As soon as Cascardo lets me Iīll post the patch for testers .

Rogerio

PS: It went so well I already offered him a pizza if he comes my way ;)

Mark_ger 11-02-2010 08:43 PM

Interesting. No progress for a long time and currently they are all working on the 8187b driver...?

A Mandriva developer posted a bunch of patches for the rtl8187 driver on linux wireless:

https://patchwork.kernel.org/patch/296452/
https://patchwork.kernel.org/patch/296372/
https://patchwork.kernel.org/patch/296382/
https://patchwork.kernel.org/patch/296402/
https://patchwork.kernel.org/patch/296412/
https://patchwork.kernel.org/patch/296442/
https://patchwork.kernel.org/patch/296432/
https://patchwork.kernel.org/patch/296422/
https://patchwork.kernel.org/patch/296392/

Disussion here (comments from Nov 1): http://comments.gmane.org/gmane.linu...t_lines=100000

CoolRabit 11-03-2010 09:45 PM

Patch from Cascardo of Linux-wireless
 
Yes Mark ... will try those patches in the weekend

For now Cascardo has given the ok to post his patch ...

Here it goes:

save it as 8187.patch and apply it to the 8187_dev.c in the rtl818x/ of source and compile

Code:

--- a/drivers/net/wireless/rtl818x/rtl8187_dev.c
+++ b/drivers/net/wireless/rtl818x/rtl8187_dev.c
@@ -776,10 +776,6 @@ static int rtl8187b_init_hw(struct ieee80211_hw *dev)
        reg = rtl818x_ioread8(priv, &priv->map->CW_CONF);
        reg |= RTL818X_CW_CONF_PERPACKET_RETRY_SHIFT;
        rtl818x_iowrite8(priv, &priv->map->CW_CONF, reg);
-        reg = rtl818x_ioread8(priv, &priv->map->TX_AGC_CTL);
-        reg |= RTL818X_TX_AGC_CTL_PERPACKET_GAIN_SHIFT |
-              RTL818X_TX_AGC_CTL_PERPACKET_ANTSEL_SHIFT;
-        rtl818x_iowrite8(priv, &priv->map->TX_AGC_CTL, reg);
 
        rtl818x_iowrite16_idx(priv, (__le16 *)0xFFE0, 0x0FFF, 1);
 
@@ -930,6 +926,12 @@ static int rtl8187_start(struct ieee80211_hw *dev)
                priv->rx_conf = reg;
                rtl818x_iowrite32(priv, &priv->map->RX_CONF, reg);
 
+                reg = rtl818x_ioread8(priv, &priv->map->TX_AGC_CTL);
+                reg &= ~RTL818X_TX_AGC_CTL_PERPACKET_GAIN_SHIFT;
+                reg &= ~RTL818X_TX_AGC_CTL_PERPACKET_ANTSEL_SHIFT;
+                reg &= ~RTL818X_TX_AGC_CTL_FEEDBACK_ANT;
+                rtl818x_iowrite8(priv, &priv->map->TX_AGC_CTL, reg);
+
                rtl818x_iowrite32(priv, &priv->map->TX_CONF,
                                  RTL818X_TX_CONF_HW_SEQNUM |
                                  RTL818X_TX_CONF_DISREQQSIZE |

:)

Mark_ger 11-04-2010 06:07 PM

Hey, thank you!
But when I patch the driver, I get some strange output
Code:

$ patch -p0 rtl8187_dev.c rtl8187b.patch
patching file rtl8187_dev.c
Hunk #1 succeeded at 775 (offset -1 lines).
patch unexpectedly ends in middle of line
Hunk #2 succeeded at 925 with fuzz 1 (offset -1 lines).

Is that normal?

CoolRabit 11-08-2010 05:30 PM

No ... that is error

But doesn't happen here, try this again:

Code:

--- a/drivers/net/wireless/rtl818x/rtl8187_dev.c
+++ b/drivers/net/wireless/rtl818x/rtl8187_dev.c
@@ -776,10 +776,6 @@ static int rtl8187b_init_hw(struct ieee80211_hw *dev)
        reg = rtl818x_ioread8(priv, &priv->map->CW_CONF);
        reg |= RTL818X_CW_CONF_PERPACKET_RETRY_SHIFT;
        rtl818x_iowrite8(priv, &priv->map->CW_CONF, reg);
-        reg = rtl818x_ioread8(priv, &priv->map->TX_AGC_CTL);
-        reg |= RTL818X_TX_AGC_CTL_PERPACKET_GAIN_SHIFT |
-              RTL818X_TX_AGC_CTL_PERPACKET_ANTSEL_SHIFT;
-        rtl818x_iowrite8(priv, &priv->map->TX_AGC_CTL, reg);
 
        rtl818x_iowrite16_idx(priv, (__le16 *)0xFFE0, 0x0FFF, 1);
 
@@ -930,6 +926,12 @@ static int rtl8187_start(struct ieee80211_hw *dev)
                priv->rx_conf = reg;
                rtl818x_iowrite32(priv, &priv->map->RX_CONF, reg);
 
+                reg = rtl818x_ioread8(priv, &priv->map->TX_AGC_CTL);
+                reg &= ~RTL818X_TX_AGC_CTL_PERPACKET_GAIN_SHIFT;
+                reg &= ~RTL818X_TX_AGC_CTL_PERPACKET_ANTSEL_SHIFT;
+                reg &= ~RTL818X_TX_AGC_CTL_FEEDBACK_ANT;
+                rtl818x_iowrite8(priv, &priv->map->TX_AGC_CTL, reg);
+
                rtl818x_iowrite32(priv, &priv->map->TX_CONF,
                                  RTL818X_TX_CONF_HW_SEQNUM |
                                  RTL818X_TX_CONF_DISREQQSIZE |

Rogerio

Mark_ger 12-11-2010 08:50 PM

Rogerio: thanks for the help, but for some reason I could not apply that patch properly.

However, Mandriva 2010.1 meanwhile got an update to kernel 2.6.36
Quote:

ChangeLog:
* Di Nov 30 2010 Thomas Backlund <tmb@mandriva.org> 2.6.36.1-2mnb
o Herton Ronaldo Krzesinski <herton@mandriva.com.br>
...
- rtl8187: miscellaneous cleanups and bug fixes.
I think, the new kernel module has Herton's 9 patches applied.
I installed 2.6.36, but unfortunately I can recognize only very small performance improvement :-(

Do you know if Cascardo's patch will be included in upcoming kernel versions?

Mark

CoolRabit 12-12-2010 05:24 AM

Solved
 
From early DECEMBER/2010 the compat-wireless bundle from linux-wireless has the fix, so just follow the instructions on compatīs web page to get the wireless working (even on Debian Testing :)

Rogerio


All times are GMT -5. The time now is 06:16 PM.