# rtl8192se won't authenticate when using wpa_supplicant

## axeax

Hi, I've already read previously-posted similar problems, but unfortunately this didn't help me :/ I'm basically stuck without connection because whenever I run wpa_supplicant on any SSID it fails to authenticate. It seems like it actually manages to send the request packet, but then it gets errors. When this happens, dmesg basically follows this pattern:

wlp3s0: send auth to 1c:49:7b:5f:3e:7a 

rtl8192se: Set FW Cmd fail!

This, combined with the fact that authentication works in the livecd, makes me think that this may be a driver/fw issue. I (think) I have linux-firmware installed, and the driver was selected to be builtin from menuconfig, before compiling the kernel.

Any suggestion? Should I upload any log?

Thanks in advance for your help!

----------

## NeddySeagoon

axeax,

Welcome to gentoo.

Lets start with dmesg for your gentoo install that fails to authenticate.

You will need to save it to a file as its the kernel log, then put in onto a pastebin, using the liveCD, as its too big to fit into a past.

----------

## axeax

Thank you NeddySeagoon, here is my pastebin. dmesg was run after booting up and issuing wpa_supplicant.

----------

## xaviermiller

```
[    2.376200] rtl8192se: Driver for Realtek RTL8192SE/RTL8191SE

               Loading firmware rtlwifi/rtl8192sefw.bin

[    2.376516] rtl8192se 0000:03:00.0: Direct firmware load for rtlwifi/rtl8192sefw.bin failed with error -2

[    2.376761] rtl8192se: Firmware rtlwifi/rtl8192sefw.bin not available
```

Hi,

Try to emerge linux-firmware in order to provide the missing firmware

----------

## NeddySeagoon

axeax,

Your firmware attempts to load here.

```
[    2.376200] rtl8192se: Driver for Realtek RTL8192SE/RTL8191SE

               Loading firmware rtlwifi/rtl8192sefw.bin

[    2.376516] rtl8192se 0000:03:00.0: Direct firmware load for rtlwifi/rtl8192sefw.bin failed with error -2

[    2.376761] rtl8192se: Firmware rtlwifi/rtl8192sefw.bin not available
```

Well before the root filesystem is mounted, here.

```
[    5.477540] EXT4-fs (sda4): mounted filesystem with ordered data mode. Opts: (null)
```

Your wifi driver is in two parts.  The kernel driver and the firmware that gets loaded into the device.

The firmware must be available when the kernel driver initalises.

That means that there are four combinations, only two of which work.

Both the kernel driver and firmware are built into the kernel binary

Both the kernel driver and firmware are loaded after root is mounted.

You have the driver in the kernel binary and the firmware missing from the kernel. 

The firmware you need is provided by linux-firmware, that's required but not sufficient

You need to rebuild your kernel either to include the firmware or to make rtlwifi a loadable module.

----------

## axeax

I had linux-firmware already installed, so I opted to inlcude the firmware in the kernel, and I did so by doing menuconfig->Device Drivers->Generic Driver Options->Include in-kernel firmware blobs in kernel library and typing rtlwifi/rtl8192sefw.bin as string.

As a result, I am now able to use wpa_supplicant and ping seems to work correctly. Huge thanks to both of you!

The only "problem" now seems to be that dmesg returns a "rtl8192se: switch case 0x5e not processed" line - however everything still seems to work fine for now.

----------

## axeax

Sorry for necroposting, but a similar problem re-appeared after updating the kernel to 5.5.6-gentoo-x86_64  :Sad:  I had the kernel updated all this time, but I forgot to install it to /boot, so I kinda missed the problem all this time.

Basically, when I use wpa_supplicant, I get an error that says that the driver nl80211 does not support authentication. I then tried to up the wlp3s0 interface, but it said it doesn't exist. I took a look at the link list and it seems as though it disappeared indeed. I checked the kernel configuration, driver is installed. dmesg does not seem to mention rtl at all, neither on firmware nor on driver side. Firmware blobs are included in kernel library. The firmware is there. I just have no idea of what could the problem be.

Here's my dmesg, lscpi -k (which indeed doesn't show any loaded driver, for some reason), and lsmod (however, I set the driver to load along with the kernel, not as a module).

I've also tried re-compiling the kernel after setting the rtl8192se driver as a module, however I don't get the module in lsmod. It's like this driver is nonexistent, how is that possible?

Thank you in advance!

Edit: after recompiling the kernel with rtl8192se.ko as module, it is true indeed that it is not in /lib/modules/5.5.6-gentoo-x86_64, but it is instead, for some reason, in /lib/modules/5.5.6-gentoo. Of course, I did make modules_install. However, after trying to copy the .ko from 5.5.6-gentoo to 5.5.6-gentoo-x86_64, I still get the error that the module is not in that directory. I tried copying it in every subtree of its directory, including the original one (aka kernel/drivers/net/wireless/realtek/rtlwifi/rtl8192se/), but with no success.

----------

