Search Linux Wireless

Re: [REGRESSION] hostapd 2.4..2.7 broken with 4.18+

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

 



On Wed, Jan 16, 2019 at 01:08:21PM +0100, Arend Van Spriel wrote:
> On 1/16/2019 1:12 AM, Russell King - ARM Linux admin wrote:
> > On Mon, Jan 14, 2019 at 12:49:09PM +0100, Arend Van Spriel wrote:
> > > Could you try the compile and load test I suggested earlier. I will try to
> > > replicate things over here as well.
> > 
> > I'm not sure that helps:
> > 
> > [588980.874745] brcmfmac: brcmf_sdio_bus_rxctl resumed on rxctl frame, got 286 expected 286
> > [588980.875776] brcmfmac: brcmf_sdio_bus_rxctl resumed on rxctl frame, got 281 expected 281
> > [588980.876925] brcmfmac: brcmf_sdio_bus_rxctl resumed on rxctl frame, got 2064 expected 2064
> > [589095.542690] brcmfmac: brcmf_netdev_wait_pend8021x: Timed out waiting for no pending 802.1x packets
> > [589098.262719] brcmfmac: send_key_to_dongle: wsec_key error (-110)
> > [589100.822465] brcmfmac: brcmf_cfg80211_del_station: SCB_DEAUTHENTICATE_FOR_REASON failed -110
> > [589101.814313] brcmfmac: brcmf_netdev_wait_pend8021x: Timed out waiting for no pending 802.1x packets
> > [589104.410194] brcmfmac: send_key_to_dongle: wsec_key error (-110)
> > [589106.970045] brcmfmac: brcmf_cfg80211_change_station: Setting SCB (de-)authorize failed, -110
> > [589109.530191] brcmfmac: brcmf_cfg80211_del_station: SCB_DEAUTHENTICATE_FOR_REASON failed -110
> > [589110.322685] brcmfmac: brcmf_sdio_bus_rxctl resumed on rxctl frame, got 28 expected 28
> > [601235.163954] br0: received packet on wlan0 with own address as source address (addr:6c:ad:f8:05:0d:81, vlan:0)
> > [601245.240024] brcmfmac: brcmf_sdio_bus_rxctl resumed on rxctl frame, got 28 expected 28
> > [601264.207886] brcmfmac: brcmf_sdio_bus_rxctl resumed on rxctl frame, got 28 expected 28
> > ...
> > [605377.238304] brcmfmac: brcmf_sdio_bus_rxctl resumed on rxctl frame, got 28 expected 28
> > [605395.118751] brcmfmac: brcmf_sdio_bus_rxctl resumed on rxctl frame, got 28 expected 28
> > [605412.976951] brcmfmac: brcmf_sdio_bus_rxctl resumed on rxctl frame, got 28 expected 28
> 
> So actually it shows me that we are not getting responses. That and the
> pend8021x is starting to look pretty fishy, but lacking console messages may
> be build issue that I explain further down.
> 
> > Looking at the time the messages (at 589095.542690) are produced, what
> > seems to cause this is when I head out with my LineageOS (TI WiLink
> > based) phone to the car and drive off.  I've suspected that's the case
> > with all the previous iterations of this problem too.
> > 
> > At this point, the LineageOS phone is completely unable to reassociate
> > with the AP, but it can see the AP with varying amounts of signal - it
> > shows medium signal, which drops to nothing when it tries to associate.
> > As soon as it stops, the indicated signal seems to come back... not
> > sure if that's a LineageOS thing or something that is really happening
> > on the Broadcom side.
> > 
> > It looks to me like the older firmware is not happy about a station
> > disappearing off into the distance... surely I can't be the only one
> > who takes an associated station out of range of a BRCM4330 in hostap
> > mode?
> 
> Thanks. Always good to have a scenario to trigger it. I tried setting it up
> over here. Everything looks fine but my stations don't see any beacons
> coming from it :-(
> 
> > I don't seem to have any messages from the firmware, and I can't find
> > anything useful under /sys/kernel/debug for the driver - the only
> > thing I have is:
> > 
> > # tree /sys/kernel/debug/ieee80211/phy5
> > /sys/kernel/debug/ieee80211/phy5
> > ├── features
> > ├── fragmentation_threshold
> > ├── fwcap
> > ├── fws_stats
> > ├── ht40allow_map
> > ├── long_retry_limit
> > ├── revinfo
> > ├── rts_threshold
> > └── short_retry_limit
> 
> That is weird. For SDIO it should also have three additional files:
> 
> forensics
> counters
> console_interval
> 
> The fact that these are absent suggests that sdio.c was not build with DEBUG
> define. How do you build the brcmfmac driver?

With a split build tree, and brcmfmac as a module.  I've just moved
drivers/net/broadcom/brcm80211 out of the way and re-built with verbose
mode enabled.  The gcc lines show that they are indeed passed -DDEBUG.

If I look inside the sdio.o object, I do find the strings:

intrcount:    %u
lastintrs:    %u
pollcnt:      %u
regfails:     %u

which are from brcmf_debugfs_sdio_count_read(), and is only built when
DEBUG is defined - so the build looks correct.  I also find this in the
module I have on the target system, so it too was indeed built with
-DDEBUG as intended.

Nope, your debugfs support can't possibly work for anyone in 4.20.

sdio.c sets up the debugfs stuff in brcmf_sdio_debugfs_create() which
wants wiphy->debugfsdir.  This is called via brcmf_bus_preinit() from
brcmf_sdio_bus_preinit().  This happens before brcmf_cfg80211_attach().

This is the key point - brcmf_cfg80211_attach() calls wiphy_register(),
which is where the wiphy's debugfs directory is setup:

        /* add to debugfs */
        rdev->wiphy.debugfsdir =
                debugfs_create_dir(wiphy_name(&rdev->wiphy),
                                   ieee80211_debugfs_dir);

Consequently, at the time when brcmf_sdio_debugfs_create() is called,
the debugfs directory has not been setup, so the function merely
returns.

> I was also thinking about what has changed since 4.18. One commit that comes
> to mind is the rewrite of scatter-gather handling in bcmsdh.c, ie.
> commit 4a5a553ddef7 ("brcmfmac: Use standard SKB list accessors in
> brcmf_sdiod_sglist_rw."). Maybe you revert that and try again.
> 
> Regards,
> Arend
> 

-- 
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTC broadband for 0.8mile line in suburbia: sync at 12.1Mbps down 622kbps up
According to speedtest.net: 11.9Mbps down 500kbps up



[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