2013-08-13 16:23:54

by Phillip Moss

[permalink] [raw]
Subject: Signal loss rtl8723ae wifi driver

Hi all,
I have a rtl8723ae wifi card on my laptop. When connecting to any wifi Access Point
the wifi signal fluctuates from full strength to very low. In order to connect and
stay connected I must be no farther than two meters from my router otherwise I get
disconnected. I have tried the kernel driver on multiple distros as well as the
vendor drivers for older kernel versions. All seem to have the same problem. The card
works ok on Windows 7 with vendor drivers. I have also tried compiling
backports-3.10-rc1-2 with no luck. During a signal loss period I get no logs but if I
take the laptop too far from the AP dmesg reports:

[ 764.163774] wlp3s0: authenticate with xx:xx:xx:xx:xx:xx
[ 764.192783] wlp3s0: send auth to xx:xx:xx:xx:xx:xx (try 1/3)
[ 764.200572] wlp3s0: authenticated
[ 764.203290] wlp3s0: associate with xx:xx:xx:xx:xx:xx (try 1/3)
[ 764.225178] wlp3s0: RX AssocResp from xx:xx:xx:xx:xx:xx (capab=0x411 status=0
aid=2) [ 764.225452] wlp3s0: associated
[ 764.225459] IPv6: ADDRCONF(NETDEV_CHANGE): wlp3s0: link becomes ready
[ 772.036168] wlp3s0: deauthenticated from xx:xx:xx:xx:xx:xx (Reason: 15)
[ 772.077800] cfg80211: Calling CRDA to update world regulatory domain
[ 775.286474] wlp3s0: authenticate with xx:xx:xx:xx:xx:xx
[ 775.315559] wlp3s0: send auth to xx:xx:xx:xx:xx:xx (try 1/3)
[ 775.321158] wlp3s0: authenticated
[ 775.322689] wlp3s0: associate with xx:xx:xx:xx:xx:xx (try 1/3)
[ 775.426155] wlp3s0: associate with xx:xx:xx:xx:xx:xx (try 2/3)
[ 775.529550] wlp3s0: associate with xx:xx:xx:xx:xx:xx (try 3/3)
[ 775.633015] wlp3s0: association with xx:xx:xx:xx:xx:xx timed out
[ 786.622957] wlp3s0: authenticate with xx:xx:xx:xx:xx:xx
[ 786.651896] wlp3s0: send auth to xx:xx:xx:xx:xx:xx (try 1/3)
[ 786.662445] wlp3s0: authenticated
[ 786.665720] wlp3s0: associate with xx:xx:xx:xx:xx:xx (try 1/3)
[ 786.673076] wlp3s0: RX AssocResp from xx:xx:xx:xx:xx:xx (capab=0x411 status=0
aid=2) [ 786.673305] wlp3s0: associated
[ 814.496149] wlp3s0: Connection to AP xx:xx:xx:xx:xx:xx lost
[ 814.589627] cfg80211: Calling CRDA to update world regulatory domain
[ 815.974548] wlp3s0: authenticate with xx:xx:xx:xx:xx:xx
[ 816.003540] wlp3s0: send auth to xx:xx:xx:xx:xx:xx (try 1/3)
[ 816.012928] wlp3s0: authenticated
[ 816.014009] wlp3s0: associate with xx:xx:xx:xx:xx:xx (try 1/3)
[ 816.117439] wlp3s0: associate with xx:xx:xx:xx:xx:xx (try 2/3)
[ 816.220847] wlp3s0: associate with xx:xx:xx:xx:xx:xx (try 3/3)
[ 816.324220] wlp3s0: association with xx:xx:xx:xx:xx:xx timed out
[ 817.806001] wlp3s0: authenticate with xx:xx:xx:xx:xx:xx
[ 817.835045] wlp3s0: send auth to xx:xx:xx:xx:xx:xx (try 1/3)
[ 817.935652] wlp3s0: send auth to xx:xx:xx:xx:xx:xx (try 2/3)
[ 818.039082] wlp3s0: send auth to xx:xx:xx:xx:xx:xx (try 3/3)
[ 818.142458] wlp3s0: authentication with xx:xx:xx:xx:xx:xx timed out
[ 820.148096] wlp3s0: authenticate with xx:xx:xx:xx:xx:xx
[ 820.177057] wlp3s0: send auth to xx:xx:xx:xx:xx:xx (try 1/3)
[ 820.183705] wlp3s0: authenticated
[ 820.184179] wlp3s0: associate with xx:xx:xx:xx:xx:xx (try 1/3)
[ 820.287650] wlp3s0: associate with xx:xx:xx:xx:xx:xx (try 2/3)
[ 820.391074] wlp3s0: associate with xx:xx:xx:xx:xx:xx (try 3/3)
[ 820.494461] wlp3s0: association with xx:xx:xx:xx:xx:xx timed out
[ 826.476820] wlp3s0: authenticate with xx:xx:xx:xx:xx:xx
[ 826.505764] wlp3s0: send auth to xx:xx:xx:xx:xx:xx (try 1/3)
[ 826.606337] wlp3s0: send auth to xx:xx:xx:xx:xx:xx (try 2/3)
[ 826.709744] wlp3s0: send auth to xx:xx:xx:xx:xx:xx (try 3/3)
[ 826.813199] wlp3s0: authentication with xx:xx:xx:xx:xx:xx timed out
[ 837.813007] wlp3s0: authenticate with xx:xx:xx:xx:xx:xx
[ 837.842080] wlp3s0: send auth to xx:xx:xx:xx:xx:xx (try 1/3)
[ 837.857000] wlp3s0: authenticated
[ 837.859229] wlp3s0: associate with xx:xx:xx:xx:xx:xx (try 1/3)
[ 837.866815] wlp3s0: RX AssocResp from xx:xx:xx:xx:xx:xx (capab=0x411 status=0
aid=2) [ 837.867038] wlp3s0: associated
[ 845.599874] wlp3s0: deauthenticated from xx:xx:xx:xx:xx:xx (Reason: 15)
[ 845.627330] cfg80211: Calling CRDA to update world regulatory domain
[ 857.376412] wlp3s0: authenticate with xx:xx:xx:xx:xx:xx
[ 857.405387] wlp3s0: send auth to xx:xx:xx:xx:xx:xx (try 1/3)
[ 857.410017] wlp3s0: authenticated
[ 857.412546] wlp3s0: associate with xx:xx:xx:xx:xx:xx (try 1/3)
[ 857.415665] wlp3s0: RX AssocResp from xx:xx:xx:xx:xx:xx (capab=0x411 status=0
aid=2) [ 857.415902] wlp3s0: associated

The issue is exactly the same as discribed here:
http://askubuntu.com/questions/289414/rtl8723ae-driver-problem-ubuntu-13-04
Does anyone know what might be wrong?
Cheers for the help.


2013-08-20 20:50:15

by Phillip Moss

[permalink] [raw]
Subject: Re: Signal loss rtl8723ae wifi driver

Hi Larry,
Sorry for taking so long to reply.
I am using Arch Linux 3.10.7-1-ARCH x86_64 with KDE and Network-Manager.
wlp3s0 is the name of my wireless interface: https://wiki.archlinux.org/index.php/Network_Configuration#Network_Interfaces
I have renamed the interface to the default wlan0 we all know and love with: ln -s /dev/null /etc/udev/rules.d/80-net-name-slot.rules

To measure signal strength I am using "Link Quality", "Signal Level" from iwconfig and signal strength from network manager.

When I am right next to my router I get between: -36 and -42dbm.
Link quality is between 68/70 and 70/70.
Network Manager reports signal at 84%.

When a signal loss period ocurrs Link quality drops to 14/70 (In some cases 12-13) and then quickly jumps back up to 40 then up to 68-70.
While this happens Signal level bounces up to between +2 and +10dbm then backdown to around -90dbm and then stabalizes again at -36 -42.
Network Manager reports signal around 32%

If I step a few meters away signal level is stable around -52 and -64 dbm. Link Quality is around 56/70.
During a Signal loss period Link Quality jumps down to about 12-13/70 and Signal Level to around 14dbm with occasional spikes up to 99.
These spikes only sometimes result in the interface dropping the connection to the AP when at this distance, but never when I am very close to the router.

I am not sure if this is pure paranoia but it seems that the card gets “stuck” and then keeps on receiving/transmitting. To see if this was true I tried airodump and it does seem as if the card stops receiving beacons at irregular intervals.

I have recompiled backports with the proposed patch and I am still experiencing the same problem.
Thank you very much for all your help,
Phillip

--------------------------------------------
El mié, 14/8/13, Larry Finger <[email protected]> escribió:

Asunto: Re: Signal loss rtl8723ae wifi driver
Para: "Phillip Moss" <[email protected]>
CC: [email protected]
Fecha: miércoles, 14 de agosto, 2013 05:45

On 08/13/2013 11:23 AM, Phillip Moss
wrote:
> Hi all,
> I have a rtl8723ae wifi card on my laptop. When
connecting to any wifi Access Point
> the wifi signal fluctuates from full strength to very
low.  In order to connect and
> stay connected I must be no farther than two meters
from my router otherwise I get
> disconnected. I have tried the kernel driver on
multiple distros as well as the
> vendor drivers for older kernel versions. All seem to
have the same problem. The card
> works ok on Windows 7 with vendor drivers. I have also
tried compiling
> backports-3.10-rc1-2 with no luck. During a signal loss
period I get no logs but if I
> take the laptop too far from the AP dmesg reports:

Philip,

Could you try the attached patch?

Larry



2013-08-16 14:27:48

by poma

[permalink] [raw]
Subject: Re: Signal loss rtl8723ae wifi driver

On 14.08.2013 05:23, Larry Finger wrote:

>
> Why is your device name "wlp3s0", rather than the usual "wlanX"? What is
> controlling your connection. If it is wicd, note that I do not support
> that piece of software. I use NetworkManager.
>

Probably systemd-udevd, not quite to control, but renames it.
http://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames/
http://cgit.freedesktop.org/systemd/systemd/tree/src/udev/udev-builtin-net_id.c#n72
Literally a textbook example, at least on Fedora. ;)
You really did not know about this?


poma


2013-08-14 03:45:35

by Larry Finger

[permalink] [raw]
Subject: Re: Signal loss rtl8723ae wifi driver

On 08/13/2013 11:23 AM, Phillip Moss wrote:
> Hi all,
> I have a rtl8723ae wifi card on my laptop. When connecting to any wifi Access Point
> the wifi signal fluctuates from full strength to very low. In order to connect and
> stay connected I must be no farther than two meters from my router otherwise I get
> disconnected. I have tried the kernel driver on multiple distros as well as the
> vendor drivers for older kernel versions. All seem to have the same problem. The card
> works ok on Windows 7 with vendor drivers. I have also tried compiling
> backports-3.10-rc1-2 with no luck. During a signal loss period I get no logs but if I
> take the laptop too far from the AP dmesg reports:

Philip,

Could you try the attached patch?

Larry


Attachments:
rtl8723ae_increase_gain (554.00 B)

2013-08-16 14:40:56

by Larry Finger

[permalink] [raw]
Subject: Re: Signal loss rtl8723ae wifi driver

On 08/16/2013 09:27 AM, poma wrote:
> On 14.08.2013 05:23, Larry Finger wrote:
> …
>>
>> Why is your device name "wlp3s0", rather than the usual "wlanX"? What is
>> controlling your connection. If it is wicd, note that I do not support
>> that piece of software. I use NetworkManager.
>>
> …
> Probably systemd-udevd, not quite to control, but renames it.
> http://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames/
> http://cgit.freedesktop.org/systemd/systemd/tree/src/udev/udev-builtin-net_id.c#n72
> Literally a textbook example, at least on Fedora. ;)
> You really did not know about this?

Nope. I am not a Fedora user, and openSUSE only renames to wlanX.

Larry



2013-08-14 03:23:49

by Larry Finger

[permalink] [raw]
Subject: Re: Signal loss rtl8723ae wifi driver

On 08/13/2013 11:23 AM, Phillip Moss wrote:
> Hi all,
> I have a rtl8723ae wifi card on my laptop. When connecting to any wifi Access Point
> the wifi signal fluctuates from full strength to very low. In order to connect and
> stay connected I must be no farther than two meters from my router otherwise I get
> disconnected. I have tried the kernel driver on multiple distros as well as the
> vendor drivers for older kernel versions. All seem to have the same problem. The card
> works ok on Windows 7 with vendor drivers. I have also tried compiling
> backports-3.10-rc1-2 with no luck. During a signal loss period I get no logs but if I
> take the laptop too far from the AP dmesg reports:
>
> [ 764.163774] wlp3s0: authenticate with xx:xx:xx:xx:xx:xx
> [ 764.192783] wlp3s0: send auth to xx:xx:xx:xx:xx:xx (try 1/3)
> [ 764.200572] wlp3s0: authenticated
> [ 764.203290] wlp3s0: associate with xx:xx:xx:xx:xx:xx (try 1/3)
> [ 764.225178] wlp3s0: RX AssocResp from xx:xx:xx:xx:xx:xx (capab=0x411 status=0
> aid=2) [ 764.225452] wlp3s0: associated
> [ 764.225459] IPv6: ADDRCONF(NETDEV_CHANGE): wlp3s0: link becomes ready
> [ 772.036168] wlp3s0: deauthenticated from xx:xx:xx:xx:xx:xx (Reason: 15)
> [ 772.077800] cfg80211: Calling CRDA to update world regulatory domain
> [ 775.286474] wlp3s0: authenticate with xx:xx:xx:xx:xx:xx
> [ 775.315559] wlp3s0: send auth to xx:xx:xx:xx:xx:xx (try 1/3)
> [ 775.321158] wlp3s0: authenticated
> [ 775.322689] wlp3s0: associate with xx:xx:xx:xx:xx:xx (try 1/3)
> [ 775.426155] wlp3s0: associate with xx:xx:xx:xx:xx:xx (try 2/3)
> [ 775.529550] wlp3s0: associate with xx:xx:xx:xx:xx:xx (try 3/3)
> [ 775.633015] wlp3s0: association with xx:xx:xx:xx:xx:xx timed out
> [ 786.622957] wlp3s0: authenticate with xx:xx:xx:xx:xx:xx
> [ 786.651896] wlp3s0: send auth to xx:xx:xx:xx:xx:xx (try 1/3)
> [ 786.662445] wlp3s0: authenticated
> [ 786.665720] wlp3s0: associate with xx:xx:xx:xx:xx:xx (try 1/3)
> [ 786.673076] wlp3s0: RX AssocResp from xx:xx:xx:xx:xx:xx (capab=0x411 status=0
> aid=2) [ 786.673305] wlp3s0: associated
> [ 814.496149] wlp3s0: Connection to AP xx:xx:xx:xx:xx:xx lost
> [ 814.589627] cfg80211: Calling CRDA to update world regulatory domain
> [ 815.974548] wlp3s0: authenticate with xx:xx:xx:xx:xx:xx
> [ 816.003540] wlp3s0: send auth to xx:xx:xx:xx:xx:xx (try 1/3)
> [ 816.012928] wlp3s0: authenticated
> [ 816.014009] wlp3s0: associate with xx:xx:xx:xx:xx:xx (try 1/3)
> [ 816.117439] wlp3s0: associate with xx:xx:xx:xx:xx:xx (try 2/3)
> [ 816.220847] wlp3s0: associate with xx:xx:xx:xx:xx:xx (try 3/3)
> [ 816.324220] wlp3s0: association with xx:xx:xx:xx:xx:xx timed out
> [ 817.806001] wlp3s0: authenticate with xx:xx:xx:xx:xx:xx
> [ 817.835045] wlp3s0: send auth to xx:xx:xx:xx:xx:xx (try 1/3)
> [ 817.935652] wlp3s0: send auth to xx:xx:xx:xx:xx:xx (try 2/3)
> [ 818.039082] wlp3s0: send auth to xx:xx:xx:xx:xx:xx (try 3/3)
> [ 818.142458] wlp3s0: authentication with xx:xx:xx:xx:xx:xx timed out
> [ 820.148096] wlp3s0: authenticate with xx:xx:xx:xx:xx:xx
> [ 820.177057] wlp3s0: send auth to xx:xx:xx:xx:xx:xx (try 1/3)
> [ 820.183705] wlp3s0: authenticated
> [ 820.184179] wlp3s0: associate with xx:xx:xx:xx:xx:xx (try 1/3)
> [ 820.287650] wlp3s0: associate with xx:xx:xx:xx:xx:xx (try 2/3)
> [ 820.391074] wlp3s0: associate with xx:xx:xx:xx:xx:xx (try 3/3)
> [ 820.494461] wlp3s0: association with xx:xx:xx:xx:xx:xx timed out
> [ 826.476820] wlp3s0: authenticate with xx:xx:xx:xx:xx:xx
> [ 826.505764] wlp3s0: send auth to xx:xx:xx:xx:xx:xx (try 1/3)
> [ 826.606337] wlp3s0: send auth to xx:xx:xx:xx:xx:xx (try 2/3)
> [ 826.709744] wlp3s0: send auth to xx:xx:xx:xx:xx:xx (try 3/3)
> [ 826.813199] wlp3s0: authentication with xx:xx:xx:xx:xx:xx timed out
> [ 837.813007] wlp3s0: authenticate with xx:xx:xx:xx:xx:xx
> [ 837.842080] wlp3s0: send auth to xx:xx:xx:xx:xx:xx (try 1/3)
> [ 837.857000] wlp3s0: authenticated
> [ 837.859229] wlp3s0: associate with xx:xx:xx:xx:xx:xx (try 1/3)
> [ 837.866815] wlp3s0: RX AssocResp from xx:xx:xx:xx:xx:xx (capab=0x411 status=0
> aid=2) [ 837.867038] wlp3s0: associated
> [ 845.599874] wlp3s0: deauthenticated from xx:xx:xx:xx:xx:xx (Reason: 15)
> [ 845.627330] cfg80211: Calling CRDA to update world regulatory domain
> [ 857.376412] wlp3s0: authenticate with xx:xx:xx:xx:xx:xx
> [ 857.405387] wlp3s0: send auth to xx:xx:xx:xx:xx:xx (try 1/3)
> [ 857.410017] wlp3s0: authenticated
> [ 857.412546] wlp3s0: associate with xx:xx:xx:xx:xx:xx (try 1/3)
> [ 857.415665] wlp3s0: RX AssocResp from xx:xx:xx:xx:xx:xx (capab=0x411 status=0
> aid=2) [ 857.415902] wlp3s0: associated
>
> The issue is exactly the same as discribed here:
> http://askubuntu.com/questions/289414/rtl8723ae-driver-problem-ubuntu-13-04
> Does anyone know what might be wrong?
> Cheers for the help.

No.

There is only one driver for the RTL8723AE, thus it is not a surprise that the
one on the Realtek site behaves the same as the one in the kernel. Similarly,
the distros usually do not change the kernel, at least not for the device
drivers. Thus all of them should behave the same. In fact, if I learned that
some distro was applying a patch that was not in the mainline kernel, I would
refuse to support any user of that distro.

How are you measuring the signal strength? This device does not report an actual
strength - the driver manipulates the reported number into what "could" be a
signal strength in dBm.

Why is your device name "wlp3s0", rather than the usual "wlanX"? What is
controlling your connection. If it is wicd, note that I do not support that
piece of software. I use NetworkManager.

In my standard setup, iwconfig shows about -60 dBm for my device, and the
netperf results for 3 second intervals are as follows:

Pass 1
TCP_MAERTS Test: 8.76 9.21 8.37 7.84 8.75 10.61 14.11 9.24 9.95 10.00
RX Results: max 14.11, min 7.84. Mean 9.68(1.67)

TCP_STREAM Test: 8.61 9.84 3.94 3.39 4.90 4.79 4.01 5.89 6.13 9.38
TX Results: max 9.84, min 3.39. Mean 6.09(2.25)

Pass 2
TCP_MAERTS Test: 11.65 12.30 11.35 6.18 7.48 11.89 8.57 8.17 8.53 9.98
RX Results: max 12.30, min 6.18. Mean 9.61(2.01)

TCP_STREAM Test: 5.92 9.42 5.39 5.47 5.00 7.19 8.81 6.70 9.81 2.97
TX Results: max 9.81, min 2.97. Mean 6.67(2.06)

This is not the best performance that I have seen - this is an 802.11n AP
capable of 150 Mbps for these 1x1 devices.

Larry