Bug 1651779
Summary: | Surface Go - QCA6174 wifi card not correctly recognized and therefore not working | ||
---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | fedora_45sg |
Component: | linux-firmware | Assignee: | David Woodhouse <dwmw2> |
Status: | CLOSED ERRATA | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
Severity: | high | Docs Contact: | |
Priority: | unspecified | ||
Version: | 29 | CC: | dwmw2, fedora_45sg, hdegoede, jforbes, jwboyer, kernel-maint, labbott, pbrobinson, pikachu.2014, qxscio, stefan.nigma |
Target Milestone: | --- | ||
Target Release: | --- | ||
Hardware: | x86_64 | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | linux-firmware-20190213-93.git710963fe.fc29 linux-firmware-20190213-93.git710963fe.fc28 | Doc Type: | If docs needed, set a value |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2019-02-19 14:02:36 UTC | Type: | Bug |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: |
Description
fedora_45sg
2018-11-20 19:42:11 UTC
In the .zip from https://www.killernetworking.com/killersupport/item/killer-drivers-inf in the file ./Killer-Ethernet-Wireless_INF/Production/Windows10-x64/11AC/netathr10x.inf I finally found one matching subsystem-device=3370 entry, which leads to: " %ATHR.DeviceDesc.6320_3% = ATHR_DEV_OS63_988x_TX8.ndi, PCI\VEN_168C&DEV_003E&SUBSYS_3370168C&REV_32; WiFi Only SKU " about this special .ndi there are some entrys later: " [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 [ATHR_DEV_OS63_988x_TX8.ndi.NTamd64.Services] AddService = Qcamain10x64, 2, atheros.Service, atheros.EventLog Include = netvwifibus.inf Needs = VWiFiBus.Services AddService = QcomWlanSrv, 0x00000800, wlanService [ATHR_DEV_OS63_988x_TX8.ndi.NTamd64.HW] AddReg = MSI.reg Include = netvwifibus.inf Needs = PciASPMOptIn.Hw, VWiFiBus.PnPFilterRegistration.Hw, PciD3ColdSupported.Hw " I am just a bit confused because it just says "Wifi Only SKU" and I know from the Windows Device Manager that also bluetooth is done with the same chip, see https://www.reddit.com/r/Surface/comments/9386l7/surface_go_wifi_qualcomm_qca61x4a/e3bbi1b/ but maybe there are two different build-in, one for wifi and one for bluetooth? Anyway, from the quote there is one interesting line: " CopyFiles = atheros.CopyFiles, atheros_FW_3X.CopyFiles, atheros_BD_TX8.CopyFiles, service.CopyFiles " It seems that there exist just one file with "TX8" in it: "eeprom_ar6320_3p0_TX8_clpc.bin" I copied the .bin file as board.bin to /lib/firmware/ath10k/QCA6174/hw3.0/ and it finally works! Wifi is directly working and no error messages anymore in dmesg! :-) So eeprom_ar6320_3p0_TX8_clpc.bin, or the informations of that .bin file have to be added to https://wireless.wiki.kernel.org/en/users/drivers/ath10k/boardfiles and this should be a clean solution, because the subsystem-device=3370 ID is matching. Can someone please double check if this is the correct solution which could go upstream? Did some additional tests with "eeprom_ar6320_3p0_TX8_clpc.bin": The copied and renamed as board.bin file also works with the latest firmware-6.bin from https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/plain/ath10k/QCA6174/hw3.0/ and also with the one from https://github.com/kvalo/ath10k-firmware/tree/master/QCA6174/hw3.0 which was released one week ago. The reception with the seven day old one firmware is a bit weaker but it is also working fine with no erros in dmesg! The inux-firmware-20190213-93.git710963fe has a new firmware for QCA6174 so please test linux-firmware-20190213-93.git710963fe.fc29 has been submitted as an update to Fedora 29. https://bodhi.fedoraproject.org/updates/FEDORA-2019-42cbff0fd6 linux-firmware-20190213-93.git710963fe.fc28 has been submitted as an update to Fedora 28. https://bodhi.fedoraproject.org/updates/FEDORA-2019-f27089e66c linux-firmware-20190213-93.git710963fe.fc28 has been pushed to the Fedora 28 testing repository. If problems still persist, please make note of it in this bug report. See https://fedoraproject.org/wiki/QA:Updates_Testing for instructions on how to install test updates. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2019-f27089e66c linux-firmware-20190213-93.git710963fe.fc29 has been pushed to the Fedora 29 testing repository. If problems still persist, please make note of it in this bug report. See https://fedoraproject.org/wiki/QA:Updates_Testing for instructions on how to install test updates. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2019-42cbff0fd6 linux-firmware-20190213-93.git710963fe.fc29 has been pushed to the Fedora 29 stable repository. If problems still persist, please make note of it in this bug report. linux-firmware-20190213-93.git710963fe.fc28 has been pushed to the Fedora 28 stable repository. If problems still persist, please make note of it in this bug report. I've installed latest linux-firmware (and all other possible updates) in Fedora 29 and wifi is still not working on a Surface Go I can confirm that a freshly installed Fedora 30 with linux-firmware-93.git710963fe.fc30 does not recognize the QCA6174 on Surface Go. I'm willing to help any way I can. Using the currently latest version (linux-firmware-20190717-99) on Fedora 30, the Wifi network adapter is still not recognized: Jul 23 11:37:54 kernel: ath10k_pci 0000:01:00.0: pci irq msi oper_irq_mode 2 irq_mode 0 reset_mode 0 Jul 23 11:37:54 kernel: ath10k_pci 0000:01:00.0: qca6174 hw3.2 target 0x05030000 chip_id 0x00340aff sub 168c:3370 Jul 23 11:37:54 kernel: ath10k_pci 0000:01:00.0: kconfig debug 0 debugfs 1 tracing 0 dfs 0 testmode 0 Jul 23 11:37:54 kernel: ath10k_pci 0000:01:00.0: firmware ver RM.4.4.1.c2-00057-QCARMSWP-1 api 6 features wowlan,ignore-otp,no-4addr-pad,raw-mode crc32 e061250a Jul 23 11:37:54 kernel: ath10k_pci 0000: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 Jul 23 11:37:54 kernel: ath10k_pci 0000:01:00.0: board_file api 1 bmi_id N/A crc32 ed5f849a I'm more than happy to help if I can. fedora45_sg, thank you for your analysis of this. The issue indeed is that the QCA6174 card in the Surface Go does not work with the default/generic /lib/firmware/ath10k/QCA6174/hw3.0/board.bin file. A solution for this is to add a board-specific "override" board.bin to the board-2.bin file which contains custom board.bin files matched on their PCI device subsystme vendor-id:product-id pair (168c:3370 in this case). You are also right that the correct board.bin to use on the Surface Go is the eeprom_ar6320_3p0_TX8_clpc.bin file. I checked the .inf file from the driverstore directory from the original Windows install on the Surface Go and that indeed points to that file and the eeprom_ar6320_3p0_TX8_clpc.bin file is the only eeprom...bin file under Windows\System32\Drivers (where as the driverstore directory contains many eeprom...bin files) indicating that that is indeed the file being used by Windows. I've submitted a request upstream to get this file added to boards-2.bin: https://lore.kernel.org/ath10k/226790d7-75d8-bac3-9991-d73fa5b7df5b@hansg.org/T/#u |