You are not logged in.
I bought a new Lenovo Yoga 700 and got an Arch dualboot up and running, however the wifi isn't working out of the box.
lspci has this to say about the network card:
$ lspci
...
01:00.0 Network controller: Qualcomm Atheros Device 0042 (rev 30)
Subsystem: Lenovo Device 4035
Flags: fast devsel, IRQ 255
Memory at b2000000 (64-bit, non-prefetchable) [disabled] [size=2M]
Capabilities: [40] Power Management version 3
Capabilities: [50] MSI: Enable- Count=1/8 Maskable+ 64bit-
Capabilities: [70] Express Endpoint, MSI 00
Capabilities: [100] Advanced Error Reporting
Capabilities: [148] Virtual Channel
Capabilities: [168] Device Serial Number 00-00-00-00-00-00-00-00
Capabilities: [178] Latency Tolerance Reporting
Capabilities: [180] L1 PM Substates
...After some Googling, I found instructions to install the appropriate ath10k backports here: http://ubuntuforums.org/showthread.php? … tWRHSV2Htj
I followed the steps, and ath10k appears to be running:
$ lsmod | grep ath10k
ath 28672 1 ath10k_core
ath10k_core 192512 1 ath10k_pci
ath10k_pci 36864 0
cfg80211 466944 3 ath,mac80211,ath10k_core
compat 16384 3 cfg80211,mac80211,ath10k_pci
mac80211 585728 1 ath10k_coreHowever, the output of lspci hasn't changed to reflect the driver is associated with the network card, and I cant see a wireless interface.
Would anyone here know what I'm missing, or what I can check?
Last edited by frazers (2016-01-07 20:10:00)
Offline
dmesg should contain some additional information did you do any of the firmware downloads/renames mentioned in the thread? I doubt you need ath10k backports, but the correct firmware files.
Offline
Atheros devices are a pain in the neck. My wife has a Ath9k and I had to write a script to connect using wpa_supplicant.
Let me know if you need more info
Andrew
Offline
dmesg | grep ath10kMay contain important clues
Offline
If you are pretty sure you did everything right, just check with
ip linkif the wifi adapter is displayed.
Anyway i followed this guide and all is working well now:
http://linuxwireless.org/en/users/Drive … backports/
Offline
Hi all. Thanks for the help!
It isn't showing up in `ip link`, and `dmesg | grep ath10k` doesn't return anything.
@V1del, I did follow those steps, but is there any other prodding I may need to do to get the firmware installed?
@fdservices, more info would be great. Was she having similar issues?
Offline
Yes, she could not make a successful connection using any of the tools available at the time. As I recall, when she did connect it would not stay up.
Anyway we need to know the name of your wireless interface. You will get that from
$ ip addrand
$ iwconfigLet us know what the output says
Andrew
Offline
if dmesg doesn't contain any mention of that it will likely not have an interface... Where are you loading ath10k from? What does
lspci -ktell you about the kernel module in use? Maybe your card's PID VID isn't yet part of either the backports nor the official kernel
Offline
Post
lshw -c net; rfkill list allalso
Offline
@fdservice - Right now`ip addr` only shows `lo` and the phone I'm tethering to, the wifi card isn't showing up at all.
@V1del - I downloaded "backports-4.2.6-1" from http://drvbp1.linux-foundation.org/~mcg … backports/, and cloned the firmware from https://github.com/kvalo/ath10k-firmware.git.
$ lspci -k
00:00.0 Host bridge: Intel Corporation Sky Lake Host Bridge/DRAM Registers (rev 08)
Subsystem: Lenovo Device 3838
00:02.0 VGA compatible controller: Intel Corporation Sky Lake Integrated Graphics (rev 07)
Subsystem: Lenovo Device 3839
Kernel modules: i915
00:04.0 Signal processing controller: Intel Corporation Device 1903 (rev 08)
Subsystem: Lenovo Device 3838
Kernel driver in use: proc_thermal
Kernel modules: processor_thermal_device
00:14.0 USB controller: Intel Corporation Device 9d2f (rev 21)
Subsystem: Lenovo Device 3838
Kernel driver in use: xhci_hcd
Kernel modules: xhci_pci
00:14.2 Signal processing controller: Intel Corporation Device 9d31 (rev 21)
Subsystem: Lenovo Device 3838
00:15.0 Signal processing controller: Intel Corporation Device 9d60 (rev 21)
Subsystem: Lenovo Device 3838
00:16.0 Communication controller: Intel Corporation Device 9d3a (rev 21)
Subsystem: Lenovo Device 3838
00:17.0 SATA controller: Intel Corporation Device 9d03 (rev 21)
Subsystem: Lenovo Device 3838
Kernel driver in use: ahci
Kernel modules: ahci
00:1c.0 PCI bridge: Intel Corporation Device 9d15 (rev f1)
Kernel driver in use: pcieport
Kernel modules: shpchp
00:1d.0 PCI bridge: Intel Corporation Device 9d18 (rev f1)
Kernel driver in use: pcieport
Kernel modules: shpchp
00:1f.0 ISA bridge: Intel Corporation Device 9d48 (rev 21)
Subsystem: Lenovo Device 3838
00:1f.2 Memory controller: Intel Corporation Device 9d21 (rev 21)
Subsystem: Lenovo Device 3838
00:1f.3 Audio device: Intel Corporation Device 9d70 (rev 21)
Subsystem: Lenovo Device 3838
Kernel driver in use: snd_hda_intel
Kernel modules: snd_hda_intel
00:1f.4 SMBus: Intel Corporation Device 9d23 (rev 21)
Subsystem: Lenovo Device 3838
Kernel modules: i2c_i801
01:00.0 Network controller: Qualcomm Atheros Device 0042 (rev 30)
Subsystem: Lenovo Device 4035
02:00.0 3D controller: NVIDIA Corporation GM108M [GeForce 940M] (rev a2)
Subsystem: Lenovo Device 3839
Kernel modules: nouveau@jeremy31:
$ sudo lshw -c net | rfkill list all
*-network UNCLAIMED
description: Network controller
product: Qualcomm Atheros
vendor: Qualcomm Atheros
physical id: 0
bus info: pci@0000:01:00.0
version: 30
width: 64 bits
clock: 33MHz
capabilities: pm msi pciexpress cap_list
configuration: latency=0
resources: memory:b2000000-b21fffff
*-network
description: Ethernet interface
physical id: 2
logical name: enp0s20f0u2
serial: aa:88:79:e5:b0:51
capabilities: ethernet physical
configuration: broadcast=yes driver=rndis_host driverversion=22-Aug-2005 firmware=RNDIS device ip=192.168.42.233 link=yes multicast=yes
0: ideapad_wlan: Wireless LAN
Soft blocked: yes
Hard blocked: yes
1: ideapad_bluetooth: Bluetooth
Soft blocked: yes
Hard blocked: yes
2: hci0: Bluetooth
Soft blocked: yes
Hard blocked: noThe second interface listed being the phone I've tethered to.
Offline
Did you read this?
Andrew
Offline
Can you post the whole of lsmod output?
Andrew
Offline
I did, yes. The instructions on the third page were the original ones I followed, although I found equivalents for "build-essentials" and a different link for the backports.
$ lsmod
Module Size Used by
rndis_host 16384 0
cdc_ether 16384 1 rndis_host
usbnet 32768 2 rndis_host,cdc_ether
mii 16384 1 usbnet
uvcvideo 86016 0
videobuf2_vmalloc 16384 1 uvcvideo
videobuf2_memops 16384 1 videobuf2_vmalloc
videobuf2_core 40960 1 uvcvideo
btusb 40960 0
btrtl 16384 1 btusb
btbcm 16384 1 btusb
rtsx_usb_sdmmc 28672 0
btintel 16384 1 btusb
rtsx_usb_ms 20480 0
hid_multitouch 20480 0
v4l2_common 16384 1 videobuf2_core
bluetooth 446464 5 btbcm,btrtl,btusb,btintel
mmc_core 110592 1 rtsx_usb_sdmmc
videodev 143360 3 uvcvideo,v4l2_common,videobuf2_core
memstick 16384 1 rtsx_usb_ms
usbhid 45056 0
rtsx_usb 20480 2 rtsx_usb_sdmmc,rtsx_usb_ms
media 20480 2 uvcvideo,videodev
joydev 20480 0
mousedev 20480 0
snd_hda_codec_hdmi 49152 1
intel_rapl 20480 0
x86_pkg_temp_thermal 16384 0
coretemp 16384 0
snd_hda_codec_conexant 24576 1
nouveau 1314816 0
snd_hda_codec_generic 69632 1 snd_hda_codec_conexant
kvm 446464 0
crct10dif_pclmul 16384 0
crc32_pclmul 16384 0
crc32c_intel 24576 0
snd_hda_intel 32768 0
snd_hda_codec 106496 4 snd_hda_codec_hdmi,snd_hda_codec_conexant,snd_hda_codec_generic,snd_hda_intel
aesni_intel 167936 0
i915 1056768 0
mxm_wmi 16384 1 nouveau
ttm 77824 1 nouveau
snd_hda_core 49152 5 snd_hda_codec_hdmi,snd_hda_codec_conexant,snd_hda_codec_generic,snd_hda_codec,snd_hda_intel
aes_x86_64 20480 1 aesni_intel
lrw 16384 1 aesni_intel
snd_hwdep 16384 1 snd_hda_codec
drm_kms_helper 102400 2 i915,nouveau
gf128mul 16384 1 lrw
glue_helper 16384 1 aesni_intel
snd_pcm 86016 4 snd_hda_codec_hdmi,snd_hda_codec,snd_hda_intel,snd_hda_core
drm 286720 4 ttm,i915,drm_kms_helper,nouveau
ablk_helper 16384 1 aesni_intel
cryptd 20480 2 aesni_intel,ablk_helper
intel_gtt 20480 1 i915
evdev 24576 10
psmouse 118784 0
i2c_algo_bit 16384 2 i915,nouveau
snd_timer 28672 1 snd_pcm
input_leds 16384 0
led_class 16384 2 rtsx_usb_sdmmc,input_leds
mac_hid 16384 0
snd 65536 8 snd_hwdep,snd_timer,snd_hda_codec_hdmi,snd_hda_codec_conexant,snd_pcm,snd_hda_codec_generic,snd_hda_codec,snd_hda_intel
processor_thermal_device 16384 0
int340x_thermal_zone 16384 1 processor_thermal_device
pcspkr 16384 0
intel_soc_dts_iosf 16384 1 processor_thermal_device
serio_raw 16384 0
iosf_mbi 16384 2 intel_soc_dts_iosf,intel_rapl
soundcore 16384 1 snd
shpchp 32768 0
i2c_i801 20480 0
ideapad_laptop 24576 0
i2c_hid 20480 0
int3400_thermal 16384 0
sparse_keymap 16384 1 ideapad_laptop
acpi_thermal_rel 16384 1 int3400_thermal
wmi 20480 2 mxm_wmi,nouveau
pinctrl_sunrisepoint 28672 0
hid 114688 3 i2c_hid,hid_multitouch,usbhid
battery 20480 0
video 32768 3 i915,ideapad_laptop,nouveau
button 16384 2 i915,nouveau
pinctrl_intel 20480 1 pinctrl_sunrisepoint
tpm_crb 16384 0
tpm 32768 1 tpm_crb
acpi_pad 20480 0
ac 16384 0
processor 32768 4
sch_fq_codel 20480 2
ath10k_pci 36864 0
ath10k_core 192512 1 ath10k_pci
ath 28672 1 ath10k_core
mac80211 585728 1 ath10k_core
cfg80211 466944 3 ath,mac80211,ath10k_core
compat 16384 6 cfg80211,mac80211,rndis_host,usbnet,ath10k_pci,cdc_ether
rfkill 20480 4 cfg80211,ideapad_laptop,bluetooth
ip_tables 28672 0
x_tables 28672 1 ip_tables
ext4 507904 1
crc16 16384 2 ext4,bluetooth
mbcache 20480 1 ext4
jbd2 90112 1 ext4
sd_mod 36864 3
atkbd 24576 0
libps2 16384 2 atkbd,psmouse
ahci 36864 2
xhci_pci 16384 0
libahci 28672 1 ahci
xhci_hcd 155648 1 xhci_pci
libata 196608 2 ahci,libahci
scsi_mod 147456 2 libata,sd_mod
usbcore 196608 9 btusb,uvcvideo,rndis_host,rtsx_usb,usbhid,usbnet,xhci_hcd,xhci_pci,cdc_ether
usb_common 16384 1 usbcore
i8042 24576 2 libps2,ideapad_laptop
serio 20480 6 serio_raw,atkbd,i8042,psmouseOffline
What does
modinfo ath10kshow?
Offline
modinfo: ERROR: Module ath10k not found.So maybe I _don't_ have it installed.
Offline
from List_of_Wi-Fi_Device_IDs_in_Linux
Device ID PCI_168c_0042
First seen kernel version v4.4-rc1
First seen kernel date 2015-11-16
Chipsets / Adapters Qualcomm
Kernel modulesUnfortunately the module field is blank for the entry, but it does show support of some kind should be present in the 4.4 kernel series without the need for an out of tree driver.
Offline
According to this it will be in kernel 4.4
Andrew
Offline
I think backports-20151120 is the one that supports your wifi. In some of the newer versions there is no defconfig for wifi or ath10k and I don't know the reason.
fdservices is correct as the code is in 4.4-rc8
Offline
@V1del - I downloaded "backports-4.2.6-1" from http://drvbp1.linux-foundation.org/~mcg … backports/, and cloned the firmware from https://github.com/kvalo/ath10k-firmware.git.
What did you do with the two items that you downloaded?
Offline
That backport version likely doesn't provide support for your wifi. Check backports-4.2.6-1/drivers/net/wireless/ath/ath10k/pci.c
The version I downloaded just has
#define QCA988X_2_0_DEVICE_ID (0x003c)
#define QCA6174_2_1_DEVICE_ID (0x003e)Offline
I downloaded and installed backports-20151120 from http://www.spinics.net/lists/backports/msg03799.html, and now if I run "ip link" I can see my wifi interface. Progress!
However, when I ran wifi-menu to connect it spat out "Could not read interface p2p-dev-wlp1s0 flags: No such device".
dmesg had this to say:
$ dmesg | grep ath10k
[ 1.214427] ath10k_pci 0000:01:00.0: enabling device (0000 -> 0002)
[ 1.214888] ath10k_pci 0000:01:00.0: pci irq msi-x interrupts 8 irq_mode 0 reset_mode 0
[ 1.439642] ath10k_pci 0000:01:00.0: Direct firmware load for ath10k/cal-pci-0000:01:00.0.bin failed with error -2
[ 1.506103] ath10k_pci 0000:01:00.0: found invalid board magic
[ 1.771582] intel_soc_dts_iosf fb_sys_fops shpchp iosf_mbi i2c_algo_bit mei ideapad_laptop btintel intel_lpss_pci wmi bluetooth sparse_keymap battery int3400_thermal video acpi_thermal_rel i2c_hid pinctrl_sunrisepoint pinctrl_intel hid tpm_crb intel_lpss_acpi tpm intel_lpss acpi_pad ac button fjes processor ath10k_pci(O) ath10k_core(O) ath(O) mac80211(O) cfg80211(O) compat(O) rfkill ip_tables x_tables ext4 crc16 mbcache jbd2 sd_mod atkbd libps2 ahci libahci xhci_pci libata xhci_hcd scsi_mod usbcore usb_common i8042 serio
[ 3.313444] ath10k_pci 0000:01:00.0: qca9377 hw1.0 (0x05020000, 0x003820ff sub 17aa:4035) fw WLAN.TF.1.0-00267-1 fwapi 5 bdapi 1 htt-ver 3.1 wmi-op 4 htt-op 3 cal otp max-sta 32 raw 0 hwcrypto 1 features ignore-otp
[ 3.313445] ath10k_pci 0000:01:00.0: debug 1 debugfs 1 tracing 0 dfs 0 testmode 0
[ 3.319156] ath10k_pci 0000:01:00.0 wlp1s0: renamed from wlan0There was a line above the third one with the same message about an "ath10k/QCA9377/hw1.0/board-2.bin" file, so I copied "board.bin" to "board-2.bin" and it went away. I couldn't find an "ath10k/cal-pci.*" file anywhere, but some other forum posts had that error and were working okay. Is my issue with the "invalid board magic" line? Or somewhere else?
It might also be worth mentioning that between a system update and trying to install "linux-mainline" because it looked like it was version 4.4 (pacman exited with an error, so I don't think I was successful), my kernel is now 4.3.3-2.
Thanks all for chiming in!
Offline
There was a line above the third one with the same message about an "ath10k/QCA9377/hw1.0/board-2.bin" file, so I copied "board.bin" to "board-2.bin" and it went away. I couldn't find an "ath10k/cal-pci.*" file anywhere, but some other forum posts had that error and were working okay. Is my issue with the "invalid board magic" line? Or somewhere else?
It might also be worth mentioning that between a system update and trying to install "linux-mainline" because it looked like it was version 4.4 (pacman exited with an error, so I don't think I was successful), my kernel is now 4.3.3-2.
Thanks all for chiming in!
Working off the current kernel tree ( as that as where the backports originate )
hw.h board-2.bin is for a different api so would expect it to have a different format than the contents of board.bin so yes that is probably the cause of the "invalid board magic"
Strangley just above in the code there is
/* QCA9377 1.0 definitions */
#define QCA9377_HW_1_0_FW_DIR ATH10K_FW_DIR "/QCA9377/hw1.0"
#define QCA9377_HW_1_0_FW_FILE "firmware.bin"
#define QCA9377_HW_1_0_OTP_FILE "otp.bin"
#define QCA9377_HW_1_0_BOARD_DATA_FILE "board.bin"
#define QCA9377_HW_1_0_PATCH_LOAD_ADDR 0x1234So it seems strange to me it is looking for board-2.bin no idea on cal-pci-0000:01:00.0.bin sorry.
What was the error when you tried to install linux mainline? It should be logged in /var/log/pacman.log
Offline
What is the result of
md5sum /lib/firmware/ath10k/QCA9377/hw1.0/board.binThe firmware from kvalo should be 8e0e7d3f64b97db8b9015321bf345faf
Offline
The error isn't in the log, but if I remember correctly it was two "duplicate target errors." "pacman -Q" can't find it installed though. I've tried reinstalling but I start getting "The next patch would create the file x, which already exists! Assume -R? [n]" messages and aren't sure how to proceed there.
$ md5sum /lib/firmware/ath10k/QCA9377/hw1.0/board.bin
44349f6ae93cf9ceffb164f58d4fb124 /lib/firmware/ath10k/QCA9377/hw1.0/board.binHowever I downloaded a copy of the file from GitHub and it had the same hash.
Offline
This thread might help. It mentions the "found invalid board magic" problem among others.
Andrew
Offline