# WiFi shown as sit0@NONE after rebuilding the kernel

## Sepehr

Hello,

After trying to do all the steps mentioned in the wiki's WiFi page, and after recompiling the kernel and rebooting, the "tree /sys/class/net" command gives me "enp2s0" (ethernet and automatic ip config via DHCP), "lo" (which so far I don't know what it is) and "sit0". 

ip link:

```
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000

    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00

2: enp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000

    link/ether 2c:4d:54:c3:0e:9c brd ff:ff:ff:ff:ff:ff

3: sit0@NONE: <NOARP> mtu 1480 qdisc noop state DOWN mode DEFAULT group default qlen 1000

    link/sit 0.0.0.0 brd 0.0.0.0
```

ip addr:

```
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000

    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00

    inet 127.0.0.1/8 brd 127.255.255.255 scope host lo

       valid_lft forever preferred_lft forever

    inet6 ::1/128 scope host 

       valid_lft forever preferred_lft forever

2: enp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000

    link/ether 2c:4d:54:c3:0e:9c brd ff:ff:ff:ff:ff:ff

    inet 192.168.1.215/24 brd 192.168.1.255 scope global dynamic noprefixroute enp2s0

       valid_lft 531sec preferred_lft 434sec

    inet6 fe80::497:673c:b6e5:3eb5/64 scope link 

       valid_lft forever preferred_lft forever

3: sit0@NONE: <NOARP> mtu 1480 qdisc noop state DOWN group default qlen 1000

    link/sit 0.0.0.0 brd 0.0.0.0
```

This from the output of "lspci -k":

```
02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 10)

   Subsystem: ASUSTeK Computer Inc. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller

   Kernel driver in use: r8169

03:00.0 Network controller: Qualcomm Atheros QCA9377 802.11ac Wireless Network Adapter (rev 31)

   Subsystem: AzureWave QCA9377 802.11ac Wireless Network Adapter
```

lshw | grep -i driver | perl -pe 's/^.*driver=(\S+).*$/$1/g;' | sort -u:

```
ahci                        

hub

i801_smbus

i915

pcieport

r8169

skl_uncore

snd_hda_intel

usbhid

xhci_hcd
```

Any input would be much appreciated  :Smile: Last edited by Sepehr on Fri Feb 19, 2021 11:11 am; edited 1 time in total

----------

## psycho

Hi. Looks like your WiFi might need ath10k...is that enabled in your kernel (Device Drivers > Network device support > Wireless LAN > Atheros 802.11ac wireless cards support)?

[Edit]Sorry, missed the .config paste...and yes, I see you've built the correct module. Maybe it needs firmware? I can't see a specific package for your card so maybe emerge linux-firmware?Last edited by psycho on Mon Feb 01, 2021 10:23 pm; edited 1 time in total

----------

## Sepehr

 *psycho wrote:*   

> Looks like your WiFi might need ath10k...is that enabled in your kernel (Device Drivers > Network device support > Wireless LAN > Atheros 802.11ac wireless cards support)?
> 
> [Edit]Sorry, missed the .config paste...and yes, I see you've built the correct module. Maybe it needs firmware?

 

You mean the sys-kernel/linux-firmware package? I've already installed it.

How can I make sure I'm running the latest built kernel?

----------

## NeddySeagoon

Sepehr,

sit0 is an IPv6 over IPv4 tunnel endpoint. Its not a real interface.

```
uname -a
```

tells the build date/time of the running kernel.

Its an ath10k device and no firmware is required.

----------

## psycho

Yeah, that's what I meant. Sorry, that's all I can think of. If you can see something like /lib/firmware/ath10k/QCA9377 with firmware in it then I don't know what's happening. If not, you may need to grab the firmware from somewhere. I don't have that card so don't have any more suggestions...maybe someone with that specific hardware can help.

[Edit]Oh, see above...no firmware required...that being the case, I have no idea why it's not visible to your system. It should be there under /sys/class/net.Last edited by psycho on Mon Feb 01, 2021 10:29 pm; edited 1 time in total

----------

## Sepehr

NeddySeagoon,

Thank you for your reply. "uname -a" tells me that I'm running the latest kernel build. But is there a way to find out if the ".config" file configurations are applied and compiled correctly?

----------

## Sepehr

 *psycho wrote:*   

> Yeah, that's what I meant. Sorry, that's all I can think of. If you can see something like /lib/firmware/ath10k/QCA9377 with firmware in it then I don't know what's happening. If not, you may need to grab the firmware from somewhere. I don't have that card so don't have any more suggestions...maybe someone with that specific hardware can help.
> 
> [Edit]Oh, see above...no firmware required...that being the case, I have no idea why it's not visible to your system. It should be there under /sys/class/net.

 

Yes, that directory with some files in it exists.

And /sys/class/net has enp2s0, lo, and sit0.

----------

## NeddySeagoon

Sepehr,

Maybe. It will be in /proc/config.gz if you selected the kernel option to provide the config built in.

The config may be in /boot too.

If /usr/src/linux points to the correct kernel, then thu .config file is still there. 

```
make menuconfiig
```

will show it.

----------

## psycho

 *Sepehr wrote:*   

> Yes, that directory with some files in it exists.
> 
> And /sys/class/net has enp2s0, lo, and sit0.

 

None of which are your WiFi interface, though. enp2s0 is ethernet, not WiFi. Not seeing it there at all I'd normally assume lack of kernel support (normally built with wrong options, although for very new hardware perhaps not there at all) or lack of firmware.

----------

## Sepehr

Running "ip link" in livecd is able to detect it and shows it as "wlp3s0". So what's wrong here?

[EDIT] This is from the output of $lspci -k in livecd:

```
03:00.0 Network controller: Qualcomm Atheros QCA9377 802.11ac Wireless Network Adapter (rev 31)

   Subsystem: AzureWave QCA9377 802.11ac Wireless Network Adapter

   Kernel driver in use: ath10k_pci

   Kernel modules: ath10k_pci
```

Last edited by Sepehr on Fri Feb 19, 2021 11:13 am; edited 2 times in total

----------

## NeddySeagoon

Sepehr,

You are not runnnig the kernel you think you are?

Some of the Wifi stack is missing.?

dmesg may show something useful. Put the whole thing onto a pastebiin site.

What should be there but is missing is just as important as what is actually there.

```
03:00.0 Network controller: Qualcomm Atheros QCA9377 802.11ac Wireless Network Adapter (rev 31)

   Subsystem: AzureWave QCA9377 802.11ac Wireless Network Adapter

   Kernel driver in use: ath10k_pci

   Kernel modules: ath10k_pci
```

Good.

----------

## Sepehr

NeddySeagoon,

As you caught it, I looked for the "ath10k_pci" in the wiki and found this page: https://wiki.gentoo.org/wiki/Qualcomm_Atheros_QCA6174.

After enabling the "Atheros ath10k PCI support" and rebuilding the kernel and rebooting, now "ip link" shows the "wlp3s0"!  :Smile: 

But there are still two questions at this moment:

- "ip link" has now the following output:

```
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000

    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00

2: enp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000

    link/ether 2c:4d:54:c3:0e:9c brd ff:ff:ff:ff:ff:ff

3: sit0@NONE: <NOARP> mtu 1480 qdisc noop state DOWN mode DEFAULT group default qlen 1000

    link/sit 0.0.0.0 brd 0.0.0.0

4: wlp3s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN mode DEFAULT group default qlen 1000

    link/ether f0:03:8c:56:b5:41 brd ff:ff:ff:ff:ff:ff
```

Which makes me wondering why the list has now a 4th item and still has the "sit0@NONE"? Is it because the /lib/firmware/ath10k/QCA9377 directroy exists and has firmware files in it?

- Despite rebuilding the kernel, "uname -a" shows the old timestamp. Is it because it only had to take the "Atheros ath10k PCI support" change into effect and not a major rebuild?

----------

## NeddySeagoon

Sepehr,

lo: is the loopback interface. It allows your system to talk to itself over the network without using most of the network stack, so its fast.

Some things are what is called 'network transparent'. They work when the bits are scattered all of a network. They work over the network even when all the bits are installed on the same PC.

enp2s0: is your wired interface.

sit0: Is free with IPv6 in the kernel. There is an option to turn it off. It is used for tunnelling IPv6 traffic over IPv4 if you don't have an IPv6 service but want to use IPv6 anyway.

Its safe to ignore. Its not related to Wifi

wlp3s0: Is your wifi.

----------

## Sepehr

NeddySeagoon,

Thank you so much for your explanation.

In the Wiki article (https://wiki.gentoo.org/wiki/Handbook:AMD64/Networking/Wireless) it's written:

 *Quote:*   

> When using the host-ap driver it is necessary to put the card in Managed mode before it can be used with wpa_supplicant correctly. This can be achieved by setting iwconfig_eth0="mode managed" in /etc/conf.d/net.

 

My question is why is it "iwconfig_eth0"? Shouldn't it be "iwconfig_wlp3s0" in my case or "iwconfig_wlan0" in general?

"dmesg | grep renamed" command output:

```
[   10.251335] r8169 0000:02:00.0 enp2s0: renamed from eth0

[   12.345006] ath10k_pci 0000:03:00.0 wlp3s0: renamed from wlan0
```

There's also this "unsupported HTC service id: 1536", but someone in the Arch forum has said it's OK to ignore it. What do you think?

"dmesg | grep -i -E '03:00.0|wlp3s0|ath10k_pci|80211'" command output:

```
[    0.587795] pci 0000:03:00.0: [168c:0042] type 00 class 0x028000

[    0.588140] pci 0000:03:00.0: reg 0x10: [mem 0xef200000-0xef3fffff 64bit]

[    0.589477] pci 0000:03:00.0: PME# supported from D0 D3hot D3cold

[   11.236650] cfg80211: Loading compiled-in X.509 certificates for regulatory database

[   11.240205] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'

[   11.554972] ath10k_pci 0000:03:00.0: enabling device (0000 -> 0002)

[   11.558489] ath10k_pci 0000:03:00.0: pci irq msi oper_irq_mode 2 irq_mode 0 reset_mode 0

[   11.979098] ath10k_pci 0000:03:00.0: qca9377 hw1.1 target 0x05020001 chip_id 0x003821ff sub 1a3b:2b31

[   11.979107] ath10k_pci 0000:03:00.0: kconfig debug 0 debugfs 0 tracing 0 dfs 0 testmode 0

[   11.981995] ath10k_pci 0000:03:00.0: firmware ver WLAN.TF.2.1-00021-QCARMSWP-1 api 6 features wowlan,ignore-otp crc32 42e41877

[   12.128389] ath10k_pci 0000:03:00.0: board_file api 2 bmi_id N/A crc32 8aedfa4a

[   12.203694] ath10k_pci 0000:03:00.0: unsupported HTC service id: 1536

[   12.222082] ath10k_pci 0000:03:00.0: htt-ver 3.56 wmi-op 4 htt-op 3 cal otp max-sta 32 raw 0 hwcrypto 1

[   12.345006] ath10k_pci 0000:03:00.0 wlp3s0: renamed from wlan0

[   16.909310] ath10k_pci 0000:03:00.0: unsupported HTC service id: 1536

[ 1552.449021] ath10k_pci 0000:03:00.0: unsupported HTC service id: 1536
```

----------

## NeddySeagoon

Sepehr,

```
[   12.345006] ath10k_pci 0000:03:00.0 wlp3s0: renamed from wlan0
```

wlan0 is the first wifi interface name allocated by the kernel.

In your case, udev renames it to wlp3s0 so that's the name you should use. However, different system get different names.

Users of USB Wifi dongles get a name that varies with the USB port in use.

The wiki should use  

```
iwconfig_wlan0="mode managed" in /etc/conf.d/net.
```

With a warning to grep dmesg for wlan0 to discover the name they should use.

As the Handbook is a controlled Wiki page, you can't fix it yourself.

Please leave a comment on the Discussion page. The Wiki will email users that can edit the page.

I don't know what 

```
unsupported HTC service id: 1536
```

indicates.

----------

