Bug#919652: ath10k - QCA6174 - Surface Go - missing board data - fix .bin included extracted form official .msi
Control: tags -1 + fixed-upstream On Tue, 19 Jul 2022 23:46:17 +0300 Dmitry Baryshkov wrote: > I'd suggest submitting the board files to the ath10k-firmware repo, > which will then find it's way into linux-firmware. fwiw this (or, well an update of the existing one) actually happened already at the end of 2021 [0], but Debian hasn't seen an update so far. [0] https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/commit/?id=4d74f4dec175363fa24c95702dd86f477cef232c With that board file wlan works even through the kernel (at least on bullseye, not tested others) still complains about missing firmware: ath10k_pci :01:00.0: firmware: failed to load ath10k/pre-cal-pci-:01:00.0.bin (-2) fimeware_class: See https://wiki.debian.org/Firmware for information about missing firmware ath10k_pci :01:00.0: firmware: failed to load ath10k/cal-pci-:01:00.0.bin (-2) (followed by messages about successfully loading firmware-6.bin and board-2.bin) The internet says these files are optional, which is somewhat confirmed by having working wlan even without them, and I fail to find them – but find some references to them in Debian forums as e.g. also d-i shows its missing firmware message for those files (even if you have the firmware cd variant, which is both annoying and confusing). Not well versed in kernel code, but while [1] claims (at least for the cal file) that it is optional and should print no warning it happily still does anyhow? Or perhaps its ath10k_fetch_fw_file() doing a firmware_request_nowarn() to then go on and ERR_PTR() on its own… [2] Anyway, not really the point of this bugreport, just at the off chance someone has an idea how to proceed on this somewhat related front. [1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/net/wireless/ath/ath10k/core.c#n1227 [2] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/net/wireless/ath/ath10k/core.c#n882 Best regards David Kalnischkies signature.asc Description: PGP signature
Bug#919652: ath10k - QCA6174 - Surface Go - missing board data - fix .bin included extracted form official .msi
Package: firmware-atheros Version: 20210818-1 Followup-For: Bug #919652 Hi, I'd suggest submitting the board files to the ath10k-firmware repo, which will then find it's way into linux-firmware. See [1] for the proper process description. However checking the license text would also be required beforehand. [1] https://wireless.wiki.kernel.org/en/users/drivers/ath10k/boardfiles -- With best wishes Dmitry -- System Information: Debian Release: bookworm/sid APT prefers testing APT policy: (500, 'testing') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 5.18.0-2-amd64 (SMP w/8 CPU threads; PREEMPT) Kernel taint flags: TAINT_WARN Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8), LANGUAGE=en_GB:en Shell: /bin/sh linked to /usr/bin/dash Init: systemd (via /run/systemd/system) firmware-atheros depends on no packages. firmware-atheros recommends no packages. Versions of packages firmware-atheros suggests: ii initramfs-tools 0.142 -- no debconf information
Bug#919652: ath10k - QCA6174 - Surface Go - missing board data - fix .bin included extracted form official .msi
Package: firmware-atheros Version: 20190717-1 Followup-For: Bug #919652 Hi, One Reddit post suggests that Surface Go can work with board.bin supplied by Killer Networking for Killer 1535. https://www.reddit.com/r/SurfaceLinux/comments/9t53gq/wifi_fixed_on_surface_go_ubuntu_1810/ The related KB from Killer Networking: https://support.killernetworking.com/knowledge-base/installing-the-killer-wireless-ac-1535-in-steamos/ If we simply replace the firmware, could other devices using QCA6174 being affected? Also, there's no indication whether the file is redistributable or not. I think we can contact Killer Network to resolve their issue on the KB article. Thanks, Yao Wei signature.asc Description: PGP signature
Bug#919652: ath10k - QCA6174 - Surface Go - missing board data - fix .bin included extracted form official .msi
Do not send firmware files to the bug tracking system, as this may be a copyright infringement. All additions to the firmware packages need to come with a clear license from the copyright holder that allows us to redistribute them. Ben. -- Ben Hutchings Klipstein's 4th Law of Prototyping and Production: A fail-safe circuit will destroy others. signature.asc Description: This is a digitally signed message part
Bug#919652: ath10k - QCA6174 - Surface Go - missing board data - fix .bin included extracted form official .msi
Package: firmware-atheros Version: 20180825+dfsg-1 Severity: important Device: Surface Go Debian Version: Buster with latest updates On a fresh installed Debian Buster output of dmesg contains: [ 4.308059] ath10k_pci :01:00.0: failed to fetch board data for bus=pci,vendor=168c,device=003e,subsystem-vendor=168c,subsystem- device=3370 from ath10k/QCA6174/hw3.0/board-2.bin which means the device is not added to the board-2.bin. After downloading the .msi from https://www.microsoft.com/en-us/downloa d/details.aspx?id=57439 I was able to extract the needed .bin file. In file netathr10x.inf from the folder /SurfacePlatformInstaller/Drivers/Network/WiFi I found the corresponding subsystem-device=3370 ID where ATHR_DEV_OS63_988x_TX8.ndi is linked to. With the help of that .ndi I was able to find [ATHR_DEV_OS63_988x_TX8.ndi.NTamd64] Characteristics = 0x84 BusType = 5 AddReg = atheros_os63.reg, atheros11n.reg, smpsDynamic.reg, qca_utf.reg, D0PC.reg, roam.reg, wmmac.reg, FW_3X.reg, BD_TX8.reg, enableTxbfee.reg, wowEnable.reg, ForceWowSleep.reg, fastDlBinary.reg, enableSmbios.reg, Ch1213_options_SingleSKU.reg CopyFiles = atheros.CopyFiles, atheros_FW_3X.CopyFiles, atheros_BD_TX8.CopyFiles, service.CopyFiles *IfType = 71; IF_TYPE_IEEE80211 *MediaType = 16; NdisMediumNative802_11 *PhysicalMediaType = 9 ; NdisPhysicalMediumNative802_11 Include = machine.inf, netvwifibus.inf Needs = VWiFiBus.CopyFiles which has an entry CopyFiles = atheros.CopyFiles, atheros_FW_3X.CopyFiles, atheros_BD_TX8.CopyFiles, service.CopyFiles In the folder is just one file containing "tx8" which is file eeprom_ar6320_3p0_TX8_clpc.bin . After installing package firmware-atheros I just had to remove the board-2.bin and board-bin from /lib/firmware/ath10k/QCA6174/hw3.0 and then copy over eeprom_ar6320_3p0_TX8_clpc.bin as board.bin the wifi was working properly. md5sum of eeprom_ar6320_3p0_TX8_clpc.bin fcbc54a33a3ee462d862fe4f62854410 best regards Christian Höffer eeprom_ar6320_3p0_TX8_clpc.bin Description: Binary data