Search Linux Wireless

Unreliable AP with rtl8188ee card

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



It's with some hesitation I send this mail to what looks like a
developer list.  According
https://wireless.wiki.kernel.org/en/users/support it should be ok to
send end user questions here though.  If it's inappropriate just let
me know and I'll go away.

My setup is a home server which among other things acts as an AP.
Recently, some devices have had problems connecting to the network.
It works some of the time, but fails other times.  The frequency
differs between devices, mainly different mobile phones.

The message in the phone is that it can't get any IP address.
Authentication is via WPA-PSK.  As I understand it, the the
authentication itself works; at least I get a different behaviour in
the phone if I intentionally type the wrong password.  But as far as I
can tell, the attempt from the phone to ask the DHCP server for an
address never arrives to dhcpd.

The problems started around the time the server was upgraded with new
core hardware components in the machine, including a new wireless
network card, which makes me suspect it is somehow related to the
driver.  The rtl8188ee driver gets selected for the card, and it
identifies to "lspci" thus:

    05:00.0 Network controller [0280]: Realtek Semiconductor Co., Ltd. RTL8188EE Wireless Network Adapter [10ec:8179] (rev 01)

The OS is a Fedora installation using

    hostapd-2.9-2.fc31.x86_64
    kernel-5.3.15-300.fc31.x86_64

In my attempts to debug, I have listened on the interface with
"tcpdump".  It sees only EAPOL packages.

    11:44:44.362818 EAPOL key (3) v2, len 95
    11:44:44.389702 EAPOL key (3) v1, len 117
    11:44:44.389951 EAPOL key (3) v2, len 151
    11:44:44.408127 EAPOL key (3) v1, len 95
    11:44:44.408324 14:1f:78:3e:76:5c (oui Unknown) > Broadcast Null Unnumbered, xid, Flags [Response], length 6: 01 00
    11:45:20.771775 EAPOL key (3) v2, len 95
    11:45:21.772681 EAPOL key (3) v2, len 95
    11:45:21.788413 EAPOL key (3) v1, len 117
    11:45:21.788721 EAPOL key (3) v2, len 151
    11:45:21.824727 EAPOL key (3) v1, len 95
    11:45:21.825064 14:1f:78:3e:76:5c (oui Unknown) > Broadcast Null Unnumbered, xid, Flags [Response], length 6: 01 00


When it works, these are immediately (well, a tenth of a second later
or so) followed by DHCP packets.

Looking in the journal, the pattern is the same.

    jan 14 11:44:44 mimmi hostapd[2287864]: wlo1: STA 14:1f:78:3e:76:5c IEEE 802.11: authenticated
    jan 14 11:44:44 mimmi hostapd[2287864]: wlo1: STA 14:1f:78:3e:76:5c IEEE 802.11: associated (aid 2)
    jan 14 11:44:44 mimmi hostapd[2287864]: wlo1: STA 14:1f:78:3e:76:5c RADIUS: starting accounting session D15F3A088F96AE62
    jan 14 11:44:44 mimmi hostapd[2287864]: wlo1: STA 14:1f:78:3e:76:5c WPA: pairwise key handshake completed (RSN)
    jan 14 11:44:44 mimmi kernel: rtlwifi: -----hwsec_cam_bitmap: 0x10 entry_idx=5

Again, when it works, these lines are immediately followed by logs
from dhcpd, but nothing like this appears here.  At first I was a bit
suspicious about the rtlwifi log from the kernel.  After googling it,
it seems to be a red herring, though.  Additionally, such kernel lines
appear also when the connection is successful.

This would seem to indicate the phone was misbehaving, but why would
that happen only some of the time, and to several different devices
starting at the same time, if with different frequencies?  In
addition, when I try to look at logs on that side using "adb logcat",
it DOES say it sends a DHCPDISCOVER.

    01-14 11:44:48.389  2684 17585 D DhcpClient: Broadcasting DHCPDISCOVER

The full log is quite large why I don't attach it, but it is available
at ftp://ftp.uddeborg.se/pub/wifi/adb-logcat.xz

I also tried to debug using the hostapd_cli command.  It doesn't tell
me any more than the above, but is available as
ftp://ftp.uddeborg.se/pub/wifi/hostapd_cli

It seems to me the DHCPDISCOVER package disappears somewhere in the
hardware itself, or in the hardware driver before it reaches the more
generic network code where wireshark/tcpdump would see it.  But my
understanding of these things is pretty vague.

I haven't been able to find any probable pattern when it works and
when it doesn't.  Does anyone have any suggestion what could be wrong,
how to debug it further, or any other tips on what to do?



[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Wireless Regulations]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux