# [SOLVED] WiFi Card not detected on new Gentoo install

## Veridis Quo

I recently installed Gentoo on my desktop, but a wired internet connection isn't an option for me, since my router is across the house from my computer, and inside a cupboard. I can't move my computer to the cupboard, and I can't move the router to my computer because it needs the fiber socket. Hence, I have to use WiFi.

I'm sure I'll be able to get it work once the system has detected the WiFi card, but the problem is that it isn't. Running ifconfig -a gives the following information:

```

enp8s0: flags=4098<BROADCAST,MULTICAST>  mtu 1500

        ether b4:2e:99:92:bc:3b  txqueuelen 1000  (Ethernet)

        RX packets 0  bytes 0 (0.0 B)

        RX errors 0  dropped 0  overruns 0  frame 0

        TX packets 0  bytes 0 (0.0 B)

        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536

        inet 127.0.0.1  netmask 255.0.0.0

        inet6 ::1  prefixlen 128  scopeid 0x10<host>

        loop  txqueuelen 1000  (Local Loopback)

        RX packets 48  bytes 3840 (3.7 KiB)

        RX errors 0  dropped 0  overruns 0  frame 0

        TX packets 48  bytes 3840 (3.7 KiB)

        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

sit0: flags=128<NOARP>  mtu 1480

        sit  txqueuelen 1000  (IPv6-in-IPv4)

        RX packets 0  bytes 0 (0.0 B)

        RX errors 0  dropped 0  overruns 0  frame 0

        TX packets 0  bytes 0 (0.0 B)

        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

```

As you can see, the disconnected Ethernet shows up, but not the WiFi card. Running the same command but via. my Debian install yields the same information but with this extra (WiFi works correctly in my Debian partition):

```

wlp6s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500

        inet 192.168.20.19  netmask 255.255.255.0  broadcast 192.168.20.255

        inet6 2406:3400:30e:7ec0:534f:9a20:479d:cfe6  prefixlen 64  scopeid 0x0<global>

        inet6 2406:3400:30e:7ec0:1e80:5383:b46c:4b80  prefixlen 64  scopeid 0x0<global>

        inet6 fe80::975a:7bb9:a945:f624  prefixlen 64  scopeid 0x20<link>

        ether a8:5e:45:65:13:f3  txqueuelen 1000  (Ethernet)

        RX packets 1578  bytes 654106 (654.1 KB)

        RX errors 0  dropped 0  overruns 0  frame 0

        TX packets 1209  bytes 214729 (214.7 KB)

        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

```

The WiFi card I have installed in my system is an ASUS PCE-N15 Wireless PCIE adapter. According to this website: http://en.techinfodepot.shoutwiki.com/wiki/ASUS_PCE-N15, it uses a Realtek RTL8192CE chip. So, I reconfigured my kernel to include the following:

```

Location:                                    

    -> Device drivers           

        -> Network device support

            -> Wireless LAN

(M)             -> Realtek 8180/815/8187SE PCI support.

```

My kernel does have support for networking and PCI devices, as well as the necessary networking support outline here: https://wiki.gentoo.org/wiki/Wifi. I have also emerged the linux-firmware package. It's not a physical connection issue, either, since lspci gives this information regarding the card:

```

[...]

06:00.0 Network controller: Realtek Semiconductor Co., Ltd. RTL8192CE PCIe Wireless Network Adapter (rev 01)

[...]

```

This output also shows that the wiki that I looked at for drivers was indeed correct about the chip inside the card... Therefore I should have the correct drivers installed. But, the device is still not showing up in ifconfig... What steps can I take from here to try to get my WiFi working?Last edited by Veridis Quo on Mon Mar 15, 2021 6:11 am; edited 1 time in total

----------

## halcon

Hi Veridis Quo,

Welcome to Gentoo.

 *Veridis Quo wrote:*   

> my Debian install yields the same information but with this extra (WiFi works correctly in my Debian partition):
> 
> ```
> 
> wlp6s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
> ...

 

Please post the output of the commands

```
lsmod | grep rtl
```

in Gentoo and in Debian. It looks like some module is missing in Gentoo.

 *Veridis Quo wrote:*   

> 
> 
> ```
> (M)             -> Realtek 8180/815/8187SE PCI support. 
> ```
> ...

 

There is a specific driver for 8192CE. Is it enabled?

----------

## Veridis Quo

Hi halcon,

Thanks for your quick response. 

```

lsmod | grep rtl

```

Prints the following on Debian. On Gentoo, it prints nothing.

```

rtl8192ce              61440  0

rtl_pci                28672  1 rtl8192ce

rtl8192c_common        61440  1 rtl8192ce

rtlwifi                94208  3 rtl_pci,rtl8192c_common,rtl8192ce

mac80211              970752  3 rtl_pci,rtlwifi,rtl8192ce

cfg80211              843776  2 rtlwifi,mac80211

```

Searching for CONFIG_RTL8192CE, as outlined on the website you posted in /usr/src/linux/.config yields no results, commented nor uncommented.

Settings related to mac80211 are enabled in menuconfig/Network Support, except for debugging features.

----------

## halcon

Well... You could enable CONFIG_RTL8192CE (and any other unknown kernel option, in the future) as follows:

cd /usr/src/linux

make clean

make menuconfig

press / (slash; for searching)

a text field will be opened; type CONFIG_RTL8192CE and press Enter

you will see:

```
Symbol: RTL8192CE [=n]

  │ Type  : tristate

  │ Defined at drivers/net/wireless/realtek/rtlwifi/Kconfig:14

  │   Prompt: Realtek RTL8192CE/RTL8188CE Wireless Network Adapter

  │   Depends on: NETDEVICES [=y] && WLAN [=y] && WLAN_VENDOR_REALTEK [=n] && RTL_CARDS [=n] && PCI [=y]

  │   Location:

  │     -> Device Drivers

  │       -> Network device support (NETDEVICES [=y])

  │         -> Wireless LAN (WLAN [=y])

  │ (1)       -> Realtek devices (WLAN_VENDOR_REALTEK [=n])

  │             -> Realtek rtlwifi family of devices (RTL_CARDS [=n])

  │ Selects: RTL8192C_COMMON [=n] && RTLWIFI [=n] && RTLWIFI_PCI [=n]
```

the line Prompt shows the name of the option as it appears in the list; the lines Location - how to find it navigating in the menu

find that option, enable it (as module)

don't forget to save the changes

compile and install new kernel and modules

(I usually add an incrementing CONFIG_LOCALVERSION="-v01", CONFIG_LOCALVERSION="-v02" at each recompile, for separating different installs even if of the same kernel version, it results as vmlinuz-x86_64-X.Y.Z-gentoo-v01, vmlinuz-x86_64-X.Y.Z-gentoo-v02, and the modules folders are named correspondingly)

----------

## Veridis Quo

Thanks for you help again. I enabled that and recompiled. The interface still doesn't show up in ifconfig -a. In /usr/src/linux/.config, however, there is this relevant information:

```

CONFIG_RTL_CARDS=m

# CONFIG_RTL8192CE is not set

# CONFIG_RTL8192SE is not set

# CONFIG_RTL8192DE is not set

# CONFIG_RTL8723AE is not set

# CONFIG_RTL8723BE is not set

# CONFIG_RTL8188EE is not set

# CONFIG_RTL8192EE is not set

# CONFIG_RTL8821AE is not set

# CONFIG_RTL8192CU is not set

```

Do I need uncomment and to place =m after CONFIG_RTL8192CE?

----------

## halcon

 *Veridis Quo wrote:*   

> I enabled that and recompiled.

 

 *Veridis Quo wrote:*   

> In /usr/src/linux/.config, however, there is this relevant information:
> 
> ```
> # CONFIG_RTL8192CE is not set
> ```
> ...

 

No, never edit .config manually. Always do that with make menuconfig (or with other make *config). Because there are dependencies between kernel options. 

The line "CONFIG_RTL8192CE is not set" shows that you haven't actually enabled that option in menuconfig. Or you haven't saved the changes, or you enabled the parent chapter only (CONFIG_RTL_CARDS), without enabling RTL8192CE. You could check if it got enabled before recompiling, not after. Just after working in menuconfig.

Also, an useful option: CONFIG_IKCONFIG_PROC. It will let you check your actual y / m / not set values on the running kernel, not in the .config file which can be changed / different (by error). The command for checking on the running kernel is: 

```
zgrep CONFIG_RTL8192CE /proc/config.gz
```

----------

## pietinger

I may add something: If you install the firmware as module you should load the needed driver for your wifi also as module - AND - the same revers: If you load the firmware fixed the you must load your wifi modules static also into the kernel. A mix is not possible.

----------

## Veridis Quo

Thanks so much for you help, I got it working! I didn't know that the option "rtlwifi family of devices" had a submenu in menuconfig... I found it, installed wpa_supplicant, and I got my WiFi working properly!

----------

## RIA77

Hello, same problem here.

 *Quote:*   

> wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
> 
>         inet 192.168.1.126  netmask 255.255.255.0  broadcast 192.168.1.255
> 
>         ether 7a:f3:b9:10:ff:66  txqueuelen 1000  (Ethernet)
> ...

 

 Internet is working in chroot as it should.

 *Quote:*   

> btrtl                  16384  1 btusb
> 
> bluetooth             647168  26 btrtl,btintel,btbcm,bnep,btusb
> 
> 

 

----------

