# [SOLVED] Wi-Fi card Atheros 9565: no wlan interface

## fargred

I got a Lenovo Ideapad Flex 10 with Atheros 9565 wireless card. I’ve assembled the kernel after what I’ve seen had been loaded on SystemRescueCd, but my kernel doesn’t see the card – there is no messages containing ‘Ath’, ‘ath’ or ‘9565’ related to this card in dmesg.

From the Sysresccd:

```
           *-network

                description: Wireless interface

                product: QCA9565 / AR9565 Wireless Network Adapter

                vendor: Qualcomm Atheros

                physical id: 0

                bus info: pci@0000:01:00.0

                logical name: wlp1s0

                version: 01

                serial: 5c:93:a2:94:29:f8

                width: 64 bits

                clock: 33MHz

                capabilities: pm msi pciexpress bus_master cap_list rom ethernet physical wireless

                configuration: broadcast=yes driver=ath9k driverversion=3.18.25-std471-amd64 firmware=N/A latency=0 link=no multicast=yes wireless=IEEE 802.11bgn

                resources: irq:16 memory:d0400000-d047ffff memory:d0480000-d048ffff
```

lsmod from sysresccd

https://mega.nz/#!EoNknYaA!bbYpexpEozLS-bqdoPaf-7vtywvOzegMRspet2sazr4

lsmod from the running system (everything except ath9k* was loaded automatically at startup)

https://mega.nz/#!xs9nADKJ!4V_T502WNzNppcP6An0sWDMgHKlk44I7Gg1QJk42Q-o

kernel config from sysresccd

https://mega.nz/#!ct0hVaQI!vE2omZf87QzwnHslF7ZstvhnHQara-PIX4E0gZHqW2s

kernel config from the running system

https://mega.nz/#!Mh8STBrQ!djt-AdAg2Kf5BF5wZ3IV-MzzQL1hv6Ym92IWSlI9nok

lspci -v from the sysresccd

https://mega.nz/#!Bh0TUCqR!Pgt_k8iRPr1iN4qYr7DIxXrLjh75deig7QO4D8yV6GE

lspci -k from the running system

https://mega.nz/#!Il81EQoI!tyuvJy2CAlw1f9AJogzY1YNM-i128EXQEiOuIpP41Qs

dmesg from the running system

https://mega.nz/#!R8FyULqK!y1Px8SLAUaV_wjTezANT15a4DJUlD7lBvcGBrnLlp38

Though the card doesn’t appear in dmesg, lspci still shows it. The ath9k module seems to be loading successfully, but still no wlan interface is present. `ip link show` lists only ‘lo’ and nothing more.Last edited by fargred on Thu Apr 28, 2016 7:54 pm; edited 2 times in total

----------

## chithanh

Do you have the necessary firmware installed?

What does lspci -k say? Please also provide full dmesg from the system where it is not working.

----------

## fargred

 *chithanh wrote:*   

> Do you have the necessary firmware installed?

 

Eh? How do I tell if it needs firmware? I didn’t see any notes on the internet that it does, so I didn’t install any firmware. According to the gentoo wiki the only Atheros cards that need firmware are some 92** or 97**, but they work only with ath9k_htc module, not the usual ath9k.

 *chithanh wrote:*   

> What does lspci -k say? Please also provide full dmesg from the system where it is not working.

 

lspci -k shows every device with the corresponding kernel module loaded, as it was on sysresccd, but the wi-fi card. It doesn’t show that the card uses the module even after I load it manually. I added lspci output from both sysresccd and and the running system and added dmesg output from the latter to my first post. 

During the last time I logged to the laptop, I’ve noticed that ‘SMBus: Intel Corporation Atom Processor E3800 Series SMBus Controller’ doesn’t have a kernel module, too, so I’ve tried to also enable I2C_ISCH as a module, and after reboot i2c_i801 was picked up by the controller.

Ugh… Looks like I’ll have to boot into the sysresccd again to copy its dmesg.

----------

## chithanh

The interesting part from lspci -k is "kernel driver in use"

dmesg from the sysresccd is not so interesting but won't hurt if you post.

If in doubt, sys-kernel/linux-firmware package will contain all necessary firmware files.

----------

## fargred

 *chithanh wrote:*   

> The interesting part from lspci -k is "kernel driver in use"

 

But there’s no such line for AR9565 as you can see…

dmesg from the sysresccd is not so interesting but won't hurt if you post.

[quote="chithanh"]The only helpful line, that dmesg has shown, doesn’t hint on any firmware. And it usually should be there, if it’s used. I have another card with an Intel card that depends on it.

```
 dmesg | grep thero

[   49.902524] ieee80211 phy0: Atheros AR9565 Rev:1 mem=0xffffc90015c00000, irq=16
```

 *chithanh wrote:*   

> If in doubt, sys-kernel/linux-firmware package will contain all necessary firmware files.

 

I’ll try to install it later, but I don’t believe much in it. 

I’ve found another strange thing, HOTPLUG_PCI_SHPC that is shpchp module, can be enabled even without HOTPLUG_PCI_PCIE set, but ‘PCI bridge: Intel Corporation Atom Processor E3800 Series PCI Express Root Port 1’ doesn’t pick shpchp module without it.

----------

## chithanh

Ok so sysresccd has ath9k both in "kernel modules" (driver claims it is compatible with PCI ID) and "kernel driver in use" (driver is bound to the hardware), and your system has neither.

Check if "modinfo ath9k" on your system has a match with "lspci -nn" for vendor/product ID.

----------

## fargred

 *chithanh wrote:*   

> Ok so sysresccd has ath9k both in "kernel modules" (driver claims it is compatible with PCI ID) and "kernel driver in use" (driver is bound to the hardware), and your system has neither.
> 
> Check if "modinfo ath9k" on your system has a match with "lspci -nn" for vendor/product ID.

 

They don’t match! Actually, modinfo ath9k from my system has a far less number of alias lines than its sysresccd counterpart. The vendor:deviceid is 168c:0036 for this card.

From sysresccd: http://sprunge.us/TcUF

From my system: http://sprunge.us/JGcA

And on my system there’s not a single line like 

 *Quote:*   

> alias:          pci:v0000168Cd00000036…

 

Thank you, I finally I see the root of the problem. But how do I add these aliases my module is lacking? Is there a file somewhere in the kernel sources? Or I can add them somewhere in /etc/modprobe.d/ or /lib/modules/?

----------

## NeddySeagoon

fargred,

You can edit the kernel file but that may not be enough to make it work.

Try a testing kernel.

----------

## charles17

 *fargred wrote:*   

> Thank you, I finally I see the root of the problem. But how do I add these aliases my module is lacking? Is there a file somewhere in the kernel sources? Or I can add them somewhere in /etc/modprobe.d/ or /lib/modules/?

 

Sometimes it can be of help consulting the wireless.wiki.kernel.org pages.  Are you having the kernel drivers set correctly?

----------

## fargred

 *NeddySeagoon wrote:*   

> fargred,
> 
> You can edit the kernel file but that may not be enough to make it work.
> 
> Try a testing kernel.

 

I’ve compiled 4.4.6 and it works, thanks. ath9k is picked up automatically and modinfo shows that aliases are in place.

----------

## fargred

While I was stripping down options I set in attempt to make it work, I stumbled upon that bug again. It’s actually ATH9K_PCOEM that adds needed vendor:devid lines to the module.

When recompiling the kernel, it may be necessary to recompile the kernel, too. I mean run not make -jN modules && make modules_install, but make -jN && make modules_install. Also check out for timestamps in the future.

----------

## Kcod

These types are the ala sniffer chipsets. You might have it in monitor mode by accident and most networkmanagers dont get them out of it. Pretty sure theres a kernel option to make it default even. Neither does a reboot, or bringing it up or down. Which would exactly explain your output. Doenst say a thing with iwconfig -a? Also there is an ath9k_htc version and the ath10 gets detected as an ath9k. Check both of those.

EDIT: Whoops , on phone didnt see half the topic. As others said look at the ids and such, lspci and what not do give false results sometimes.

----------

