-
Notifications
You must be signed in to change notification settings - Fork 43
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fails to receive packets over 1500 bytes in length. #89
Comments
When Linux wifi device is configured with an MTU above 1500, e.g. 1600, any packet received above 1500 bytes payload gets dropped. Linux 4.14.134, QCA Dakota 4019. |
The issue appears to be the ring buffer size defined by: Which is 1560, and with 60 bytes of overhead, the max payload is 1500. An MSDU larger than 1560 is possible in the air, and will not be received properly by the driver as the firmware doesn't appear to fragment. |
Stock driver/firmware has the same issue, or is this CT only problem? |
Just tried the stock driver/firmware and see the same issue. Changing HTT_RX_BUF_SIZE to 2048 ( 1 cache line more ) fixes the issue. |
This seems like a firmware issue in that the firmware should create two fragments since the RX_BUF is not big enough for the packet. But I only get one encrypted buffer. The driver appears to detect the length and appears to send two buffers for decryption as I see two decrypted buffers returned chained in ath10k_htt_rx_handle_amsdu() but ath10k_htt_rx_h_unchain() fails with rx_drop_decap_non_raw_chained. Maybe that is a driver issue as the comment says FIXME. |
Since this happens in stock firmware/driver, maybe report it to the ath10k mailing list and see if someone will fix the driver? Please also mention that changing the RX_BUF_SIZE to 2048 works around the problem. Maybe just making that larger is the correct fix? |
I believe this is now fixed by increasing the RX_BUF_SIZE in ath10k-ct driver. Changes should be in upstream OpenWRT now. |
Before, only frames with a maximum size of 1528 bytes could be transmitted between two 802.11s nodes. For batman-adv for instance, which adds its own header to each frame, we typically need an MTU of at least 1532 bytes to be able to transmit without fragmentation. This patch now increases the maxmimum frame size from 1528 to 1656 bytes. Tested with two ath10k devices in 802.11s mode, as well as with batman-adv on top of 802.11s with forwarding disabled. Fix originally found and developed by Ben Greear. Link: greearb/ath10k-ct#89 Link: greearb/ath10k-ct@9e5ab25 Cc: Ben Greear <[email protected]> Signed-off-by: Linus Lüssing <[email protected]>
Before, only frames with a maximum size of 1528 bytes could be transmitted between two 802.11s nodes. For batman-adv for instance, which adds its own header to each frame, we typically need an MTU of at least 1532 bytes to be able to transmit without fragmentation. This patch now increases the maxmimum frame size from 1528 to 1656 bytes. Tested with two ath10k devices in 802.11s mode, as well as with batman-adv on top of 802.11s with forwarding disabled. Fix originally found and developed by Ben Greear. Link: greearb/ath10k-ct#89 Link: greearb/ath10k-ct@9e5ab25 Cc: Ben Greear <[email protected]> Signed-off-by: Linus Lüssing <[email protected]> Signed-off-by: Sven Eckelmann <[email protected]>
Before, only frames with a maximum size of 1528 bytes could be transmitted between two 802.11s nodes. For batman-adv for instance, which adds its own header to each frame, we typically need an MTU of at least 1532 bytes to be able to transmit without fragmentation. This patch now increases the maxmimum frame size from 1528 to 1656 bytes. Tested with two ath10k devices in 802.11s mode, as well as with batman-adv on top of 802.11s with forwarding disabled. Fix originally found and developed by Ben Greear. Link: greearb/ath10k-ct#89 Link: greearb/ath10k-ct@9e5ab25 Forwarded: openwrt/openwrt#2959
@greearb This has been brought up again for OpenWrt since it's still not "fixed" in kernel. |
I haven't tried larger values, but it should be easy enough for someone to test. |
Before, only frames with a maximum size of 1528 bytes could be transmitted between two 802.11s nodes. For batman-adv for instance, which adds its own header to each frame, we typically need an MTU of at least 1532 bytes to be able to transmit without fragmentation. This patch now increases the maxmimum frame size from 1528 to 1656 bytes. Tested with two ath10k devices in 802.11s mode, as well as with batman-adv on top of 802.11s with forwarding disabled. Fix originally found and developed by Ben Greear. Link: greearb/ath10k-ct#89 Link: greearb/ath10k-ct@9e5ab25 Cc: Ben Greear <[email protected]> Signed-off-by: Linus Lüssing <[email protected]> Signed-off-by: Sven Eckelmann <[email protected]>
The ath10k seems to have an issue with large frames transmitted over 802.11s. This issue has been worked around in ath10k-ct. The same patch has now been merged into OpenWrt. As this might fix mesh issues with ath10k devices, it is backported to our firmware using a build patch. Link: openwrt/openwrt@066ec97 Link: greearb/ath10k-ct#89 Link: greearb/ath10k-ct@9e5ab25 Signed-off-by: Fabian Bläse <[email protected]> Reviewed-by: Adrian Schmutzler <[email protected]>
Before, only frames with a maximum size of 1528 bytes could be transmitted between two 802.11s nodes. For batman-adv for instance, which adds its own header to each frame, we typically need an MTU of at least 1532 bytes to be able to transmit without fragmentation. This patch now increases the maxmimum frame size from 1528 to 1656 bytes. Tested with two ath10k devices in 802.11s mode, as well as with batman-adv on top of 802.11s with forwarding disabled. Fix originally found and developed by Ben Greear. Link: greearb/ath10k-ct#89 Link: greearb/ath10k-ct@9e5ab25 Cc: Ben Greear <[email protected]> Signed-off-by: Linus Lüssing <[email protected]> Signed-off-by: Sven Eckelmann <[email protected]> (cherry picked from commit 066ec97)
Before, only frames with a maximum size of 1528 bytes could be transmitted between two 802.11s nodes. For batman-adv for instance, which adds its own header to each frame, we typically need an MTU of at least 1532 bytes to be able to transmit without fragmentation. This patch now increases the maxmimum frame size from 1528 to 1656 bytes. Tested with two ath10k devices in 802.11s mode, as well as with batman-adv on top of 802.11s with forwarding disabled. Fix originally found and developed by Ben Greear. Link: greearb/ath10k-ct#89 Link: greearb/ath10k-ct@9e5ab25 Cc: Ben Greear <[email protected]> Signed-off-by: Linus Lüssing <[email protected]> Signed-off-by: Sven Eckelmann <[email protected]>
Before, only frames with a maximum size of 1528 bytes could be transmitted between two 802.11s nodes. For batman-adv for instance, which adds its own header to each frame, we typically need an MTU of at least 1532 bytes to be able to transmit without fragmentation. This patch now increases the maxmimum frame size from 1528 to 1656 bytes. Tested with two ath10k devices in 802.11s mode, as well as with batman-adv on top of 802.11s with forwarding disabled. Fix originally found and developed by Ben Greear. Link: greearb/ath10k-ct#89 Link: greearb/ath10k-ct@9e5ab25 Cc: Ben Greear <[email protected]> Signed-off-by: Linus Lüssing <[email protected]> Signed-off-by: Kalle Valo <[email protected]> Link: https://lore.kernel.org/r/[email protected]
jira LE-1907 Rebuild_History Non-Buildable kernel-4.18.0-315.el8 commit-author Linus Lüssing <[email protected]> commit 3e6b9cf Before, only frames with a maximum size of 1528 bytes could be transmitted between two 802.11s nodes. For batman-adv for instance, which adds its own header to each frame, we typically need an MTU of at least 1532 bytes to be able to transmit without fragmentation. This patch now increases the maxmimum frame size from 1528 to 1656 bytes. Tested with two ath10k devices in 802.11s mode, as well as with batman-adv on top of 802.11s with forwarding disabled. Fix originally found and developed by Ben Greear. Link: greearb/ath10k-ct#89 Link: greearb/ath10k-ct@9e5ab25 Cc: Ben Greear <[email protected]> Signed-off-by: Linus Lüssing <[email protected]> Signed-off-by: Kalle Valo <[email protected]> Link: https://lore.kernel.org/r/[email protected] (cherry picked from commit 3e6b9cf) Signed-off-by: Jonathan Maple <[email protected]>
Please provide this info. See this link for more info on how to gather debug
info: http://www.candelatech.com/ath10k-bugs.php
Description of the problem (how to configure, how to reproduce, how often it happens).
Software (OS, Firmware version, kernel, driver, etc)
Hardware (NIC chipset, platform, etc)
Logs (dmesg, maybe supplicant and/or hostap)
The text was updated successfully, but these errors were encountered: