Modify

Opened 6 years ago

Closed 5 years ago

Last modified 4 years ago

#11972 closed defect (fixed)

802.11s will not work with some ath9k devices because of filtered wifi frames

Reported by: Thomas.Wagner@… Owned by: nbd
Priority: high Milestone: Barrier Breaker 14.07
Component: packages Version: Trunk
Keywords: mac80211 ath9k Cc:

Description

On Linksys WRT160NL Router 802.11s does not work because some wifi frames types are filtered out. WRT160NL uses the ath9k wifi driver.

One of the filtered frame types containing ARP-request packages which are needed to build up the network.

I'm new to kernel development so I just do a workaround by deactivating frame filtering. Deactivating was done by letting ath_calcrxfilter() (drivers/net/wireless/ath/ath9k/recv.c) always return 0xFFFFFFFF as you can see in the attached file.

In the attached patch file in rx.c an printk() statement is insert to report when ARP frames reaching the MAC80211 layer.

Attachments (2)

999-mesh.patch (2.4 KB) - added by Thomas.Wagner@… 6 years ago.
trunk/package/mac80211/patches/999-mesh.patch
999-mesh.2.patch (681 bytes) - added by Thomas.Wagner@… 6 years ago.
Solving frame filter problem for AR_SREV_VERSION_9100

Download all attachments as: .zip

Change History (8)

Changed 6 years ago by Thomas.Wagner@…

trunk/package/mac80211/patches/999-mesh.patch

comment:1 follow-up: Changed 6 years ago by Thomas.Wagner@…

On doing some research I found this: https://github.com/cozybit/open80211s/wiki/ath9kFilteringIssueFix
MAC Version of WRT160NL Wifi Chip is AR_SREV_VERSION_9100.
So I changed the if statement in ath9k/recv.c like it is explained on github.com. This makes my mesh network run.

-               if (sc->sc_ah->hw_version.macVersion == AR_SREV_VERSION_9160)
+               if (sc->sc_ah->hw_version.macVersion == AR_SREV_VERSION_9160 ||
+                   sc->sc_ah->hw_version.macVersion == AR_SREV_VERSION_9100)

From other people I know that they have the same issue with Atheros AR5416.
So perhaps it is better to pach like this:

-               if (sc->sc_ah->hw_version.macVersion == AR_SREV_VERSION_9160)
+               if (sc->sc_ah->hw_version.macVersion == AR_SREV_VERSION_9160      ||
+                   sc->sc_ah->hw_version.macVersion == AR_SREV_VERSION_9100      ||
+                   sc->sc_ah->hw_version.macVersion == AR_SREV_VERSION_5416_PCIE ||
+                   sc->sc_ah->hw_version.macVersion == AR_SREV_VERSION_5416_PCI)

Please note that the problem with the filtered fromes is not only in 802.11s networks.
There where even some frames dropped in 802.11g network (beacon of a netgear router)

The attached patch file will only solve the problem for AR_SREV_VERSION_9100.

Changed 6 years ago by Thomas.Wagner@…

Solving frame filter problem for AR_SREV_VERSION_9100

comment:2 in reply to: ↑ 1 Changed 6 years ago by Thomas.Wagner@…

Replying to Thomas.Wagner@…:

On doing some research I found this: https://github.com/cozybit/open80211s/wiki/ath9kFilteringIssueFix
MAC Version of WRT160NL Wifi Chip is AR_SREV_VERSION_9100. [...]

-               if (sc->sc_ah->hw_version.macVersion == AR_SREV_VERSION_9160)
+               if (sc->sc_ah->hw_version.macVersion == AR_SREV_VERSION_9160 ||
+                   sc->sc_ah->hw_version.macVersion == AR_SREV_VERSION_9100)

I've also reported this problem to kernel.org:
https://bugzilla.kernel.org/show_bug.cgi?id=45591

comment:3 Changed 5 years ago by nbd

  • Owner changed from developers to nbd
  • Status changed from new to accepted

comment:4 Changed 5 years ago by Thomas.Wagner@…

Kernel.org has patched the ATH9k driver with compat-wirless-2012-10-03.
As soon as the mac80211 package does use compat-wirless-2012-10-03 or later this ticket can be marked as solved.

comment:5 Changed 5 years ago by nbd

  • Resolution set to fixed
  • Status changed from accepted to closed

the fix was added in r33550

comment:6 Changed 4 years ago by jow

  • Milestone changed from Attitude Adjustment 12.09 to Barrier Breaker 14.07

Milestone Attitude Adjustment 12.09 deleted

Add Comment

Modify Ticket

Action
as closed .
The resolution will be deleted. Next status will be 'reopened'.
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.