Repository navigation
Upstreaming the ath10k board file #41
Description
Activity
- addedC: bug (upstream)Category: Upstream bugCategory: Upstream bugD: Surface GoDevice: Surface GoDevice: Surface GoD: Surface Laptop 3Device: Surface Laptop 3Device: Surface Laptop 3
on Jan 10, 2020 (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)
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.
Reacted by Maximilian Luz, Blaž Hrastnik and Bren LarcomHey @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.)
I think you meant to link this one.
I'd be willing to add myself to the list.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.
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.@thebitstick You can always dual boot! :)
@fxgsell Can you give me the output of
dmesg | grep ath10kbefore 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.I've submitted the board for upstreaming: http://lists.infradead.org/pipermail/ath10k/2020-April/014817.html
Reacted by Takahiro Hashimoto and hecate cantusDidn't get a follow up to my bump: http://lists.infradead.org/pipermail/ath10k/2020-August/011758.html
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?
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?
I'm more than happy to check this out on both of my devices! I'll check later tonight and write back here.
3 remaining items
@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.
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
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
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.binwith 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.confto your homedir and then after a reboot docat /sys/module/ath10k_core/parameters/skip_otpthis should now sayN; if that indeed saysN, then please check your wifi again, it should still work. At least for me the setting of this option toYas advertised on the wiki is not necessary.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=nonecat /sys/module/ath10k_core/parameters/skip_otp:YAfter board.bin Swap and Restart
Fast.com Down: 57 Mbps
Fast.com Up: 4.5 Mbps
After
rm /etc/modprobe.d/ath10k.confand RestartFast.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 directorycat /sys/module/ath10k_core/parameters/skip_otp:N
Let me know if there is anything else I can help check out!
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.
Reacted by Kepler Sticka-Jones and Maximilian Luz@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.binwith 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=0001message should be gone from your dmesg and otherwise everything should work as before.Reacted by Kepler Sticka-JonesI am very happy to confirm the new board-2.bin is working on my Surface Laptop 3!
Thanks, I've just submitted a pull-req with the updated board-2.bin upstream:
https://github.com/kvalo/ath10k-firmware/pull/11- added a commit that references this issue
on Oct 20, 2021 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!
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=4d74f4dec175363fa24c95702dd86f477cef232cSo this issue can be closed now.
Reacted by Kepler Sticka-Jones and Maximilian Luz@jwrdegoede Thanks for your work!
- added a commit that references this issue
on Nov 24, 2021
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.