Skip to content

Upstreaming the ath10k board file #41

Description

@archseer

We would like to upstream http://www.killernetworking.com/support/K1535_Debian/board.bin so that the manual patching is no longer required (since it breaks on every linux-firmware update) for the ath10k based wifi chips.

Upstreaming process: https://wireless.wiki.kernel.org/en/users/drivers/ath10k/boardfiles

Open PR, might include the right files: https://github.com/kvalo/ath10k-firmware/pull/2#issuecomment-232317668

I think the project doesn't merge PRs and we'd need to correctly send the board files via the mailing list.

https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1383184/comments/351

Sorry to ping you directly @PandorasFox, but would you be interested in doing this? The rest of us don't really have the right hardware to test the firmware.

Activity

  1. archseer commented on Jan 10, 2020

    @archseer
    MemberAuthor

    (Also, please feel free to join us on matrix/freenode https://github.com/linux-surface/linux-surface#support to discuss this and other AMD related bugs)

  2. PandorasFox commented on Jan 10, 2020

    @PandorasFox

    Sounds good to me. I'll be a bit busy for the next ~two weeks, then I'll mail the board files and get on that.

    Thank you for putting all the links together for this.

  3. archseer commented on Mar 5, 2020

    @archseer
    MemberAuthor

    Hey @thebitstick after seeing your workaround, thought I'd CC you here as well. We probably just need to literally send that board.bin file with some extra information.

    (Would you mind adding yourself to the testers list too? We don't have any Surface Go users yet.)

  4. thebitstick commented on Mar 5, 2020

    @thebitstick

    I think you meant to link this one.
    I'd be willing to add myself to the list.

  5. PandorasFox commented on Mar 6, 2020

    @PandorasFox

    Sorry - I forgot to mention; I ended up passing my SL3 on to a friend who needed it, so I never got around to mailing this off since I didn't have a way to verify the bin file anymore.

  6. thebitstick commented on Mar 21, 2020

    @thebitstick

    Update: Due to classes going online-only, I've had to install Windows on my Surface; which I'm fine with since I just received my Pinebook Pro.
    I'll keep myself on the testers list since I'm hoping that I can re-install Manjaro/Fedora for the summer.

  7. archseer commented on Mar 23, 2020

    @archseer
    MemberAuthor

    @thebitstick You can always dual boot! :)

    @fxgsell Can you give me the output of dmesg | grep ath10k before replacing the wifi firmware files, and after? I have the required data for Surface Go so I'm going to do the upstreaming, I just need to double check if the SL3AMD output matches.

  8. archseer commented on Apr 2, 2020

    @archseer
    MemberAuthor
  9. archseer commented on Sep 2, 2020

    @archseer
    MemberAuthor
  10. keplersj commented on Mar 5, 2021

    @keplersj

    I have both a 1st Gen Surface Go and an AMD Surface Laptop 3, what needs to be done to upstream the binary needed for this?

  11. qzed commented on Aug 24, 2021

    @qzed
    Member

    There's a new push for upstreaming the (this time correct) board file (at least for the Surface Go), see #542. Maybe someone with a Surface Laptop 3 could check if the board file provided by Windows is the same on that device?

  12. keplersj commented on Aug 24, 2021

    @keplersj

    I'm more than happy to check this out on both of my devices! I'll check later tonight and write back here.

  13. 3 remaining items

  14. jwrdegoede commented on Aug 30, 2021

    @jwrdegoede

    @keplersj do you still have Windows on your Surface? To find the right / official board.bin for the wifi in your model Surface I need the contents of the Windows\System32\DriverStore\FileRepository\netathr10x.inf* directory or directories.

    If you can create a zip with the contents of that dir, or those directories if there are multiple and attach that here or provide a link to it that would be great.

  15. keplersj commented on Aug 30, 2021

    @keplersj

    I do, I dual boot Windows at work and Linux at home. Happy to dig in and share what I have. I'll share when I get a moment in the next couple days

  16. keplersj commented on Aug 31, 2021

    @keplersj

    Hi @jwrdegoede my laptop containing two directories matching for netathr10x in the Driver Store File Repository. I've zipped them, uploaded them to IPFS, and pinned them: IPFS object / link to pinned copy

  17. jwrdegoede commented on Sep 6, 2021

    @jwrdegoede

    Hi @jwrdegoede my laptop containing two directories matching for netathr10x in the Driver Store File Repository. I've zipped them, uploaded them to IPFS, and pinned them: IPFS object / link to pinned copy

    @keplersj, thank you. I've extracted the correct eeprom file for your Surface (subsys ids 045e:0001) and put it here: https://fedorapeople.org/~jwrdegoede/eeprom_ar6320_3p0_Parsberg_clpc.bin

    Can you please replace /usr/lib/firmware/ath10k/QCA6174/hw3.0/board.bin with this file and then see if things still work (or maybe even work better) ?

    Also, if this works can you please move /etc/modprobe.d/ath10k.conf to your homedir and then after a reboot do cat /sys/module/ath10k_core/parameters/skip_otp this should now say N; if that indeed says N, then please check your wifi again, it should still work. At least for me the setting of this option to Y as advertised on the wiki is not necessary.

  18. keplersj commented on Sep 7, 2021

    @keplersj

    Hey @jwrdegoede, thanks for all of your help on this! I've followed your instructions on my Surface Laptop and everything is working great! I took a speed test at every step to try and capture any performance changes that may have occurred, but I think all I captured was the normal fluctuations of my network at this time of night 😆

    I copied the notes I took between reboots below:

    Before

    Fast.com Down: 60 Mbps

    Fast.com Up: 5.2 Mbps

    cat /etc/modprobe.d/ath10k.conf:

    # Board override and quirks for Microsoft Surface devices with ATK10K WiFi chip
    options ath10k_core skip_otp=y override_board=board-override.bin override_board2=none
    

    cat /sys/module/ath10k_core/parameters/skip_otp:

    Y
    

    After board.bin Swap and Restart

    Fast.com Down: 57 Mbps

    Fast.com Up: 4.5 Mbps

    After rm /etc/modprobe.d/ath10k.conf and Restart

    Fast.com Down: 52 Mbps

    Fast.com Up: 5.0 Mbps

    cat /etc/modprobe.d/ath10k.conf:

    cat: /etc/modprobe.d/ath10k.conf: No such file or directory
    

    cat /sys/module/ath10k_core/parameters/skip_otp:

    N
    

    Let me know if there is anything else I can help check out!

  19. jwrdegoede commented on Sep 13, 2021

    @jwrdegoede

    Thank you for testing on your Surface Laptop 3 AMD. I have emailed the ath10k (firmware) maintainer asking him if it is ok if I take care of updating the upstream board-2.bin file with the extra board.bin files for the Surface Go + Surface Laptop 3. I'm waiting for a reply on this now.

  20. jwrdegoede commented on Oct 4, 2021

    @jwrdegoede

    @keplersj, Hi, I've prepared an updated board-2.bin which contains the correct board.bin for both the Surface Go and for your Surface Laptop 3 AMD. I've already tested this on the Surface Go, if you can test this on your Surface Laptop 3 AMD, then I can submit it upstream once I've your (positive) testing results.

    To test this do mv /lib/firmware/ath10k/QCA6174/hw3.0/board.bin ~ (move it to a place where the kernel cannot find it) and then replace /lib/firmware/ath10k/QCA6174/hw3.0/board-2.bin with https://fedorapeople.org/~jwrdegoede/board-2.bin .

    After this the failed to fetch board data for bus=pci,vendor=168c,device=003e,subsystem-vendor=045e,subsystem-device=0001 message should be gone from your dmesg and otherwise everything should work as before.

  21. keplersj commented on Oct 5, 2021

    @keplersj

    I am very happy to confirm the new board-2.bin is working on my Surface Laptop 3!

  22. jwrdegoede commented on Oct 11, 2021

    @jwrdegoede

    Thanks, I've just submitted a pull-req with the updated board-2.bin upstream:
    https://github.com/kvalo/ath10k-firmware/pull/11

  23. qzed commented on Oct 20, 2021

    @qzed
    Member

    I've updated the workaround package to use the new board-2.bin file instead until it arrives upstream. Thank you for your work Hans!

  24. jwrdegoede commented on Nov 23, 2021

    @jwrdegoede

    Good news, the updated board-2.bin file has landed in the official linux-firmware repo:
    https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/commit/?id=4d74f4dec175363fa24c95702dd86f477cef232c

    So this issue can be closed now.

  25. qzed commented on Nov 23, 2021

    @qzed
    Member

    @jwrdegoede Thanks for your work!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions