0

In the latest Raspbian I found the firmware-realtek package is already installed. It should provide the drivers for RTL8188EU/EE WiFi dongles.

When I insert such a dongle dmesg shows:

[  152.651026] usb 1-1.2: new high-speed USB device number 8 using dwc_otg
[  152.783255] usb 1-1.2: New USB device found, idVendor=0bda, idProduct=8179
[  152.783283] usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[  152.783297] usb 1-1.2: Product: 802.11n NIC
[  152.783308] usb 1-1.2: Manufacturer: Realtek
[  152.783320] usb 1-1.2: SerialNumber: 00E04C0001
[  152.958053] r8188eu: module is from the staging directory, the quality is unknown, you have been warned.
[  152.980655] Chip Version Info: CHIP_8188E_Normal_Chip_TSMC_D_CUT_1T1R_RomVer(0)
[  153.047078] usbcore: registered new interface driver r8188eu
[  154.932419] MAC Address = f4:f2:6d:1c:f8:64
[  154.940265] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready

and lsmod:

Module                  Size  Used by
r8188eu               425544  0
rtc_ds1307             13710  0
hwmon                  10533  1 rtc_ds1307
spidev                  7034  0
cfg80211              525806  1 r8188eu
rfkill                 21373  2 cfg80211
evdev                  11746  0
ftdi_sio               33030  1
usbserial              29996  3 ftdi_sio
snd_bcm2835            23131  0
snd_pcm                97825  1 snd_bcm2835
snd_timer              22706  1 snd_pcm
snd                    68784  3 snd_timer,snd_bcm2835,snd_pcm
i2c_bcm2835             6433  0
spi_bcm2835             7424  0
bcm2835_gpiomem         3791  0
uio_pdrv_genirq         3718  0
uio                    10166  1 uio_pdrv_genirq
fixed                   3029  0
i2c_dev                 6642  0
i2c_bcm2708             5740  0
ip_tables              12512  0
x_tables               20921  1 ip_tables
ipv6                  384532  28

But, iw wlan0 info:

command failed: No such device (-19)

anyway, iwconfig:

wlan0     unassociated  Nickname:"<WIFI@REALTEK>"
      Mode:Auto  Frequency=2.412 GHz  Access Point: Not-Associated   
      Sensitivity:0/0  
      Retry:off   RTS thr:off   Fragment thr:off
      Power Management:off
      Link Quality:0  Signal level:0  Noise level:0
      Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
      Tx excessive retries:0  Invalid misc:0   Missed beacon:0

and it doesn't connect. The WPA configuration is ok because pluggin in another dongle will connect in a while.

What am I missing?

UPDATE

Output of ip link:

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
    link/ether b8:27:eb:62:80:99 brd ff:ff:ff:ff:ff:ff
5: wlan0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN mode DEFAULT group default qlen 1000
    link/ether f4:f2:6d:1c:f8:64 brd ff:ff:ff:ff:ff:ff

and rfkill see nothing.

Mark
  • 533
  • 2
  • 11
  • 23

2 Answers2

0

Try using the older iwconfig instead of iw.

rtl8188eu driver is old and does not support more recent nl80211 interface that iw uses. It supports only older wext interface. There might be a newer driver if you are ready to try compiling it.

Alternatively, if you are just setting up network from the command line, you can force the usage of the old the interface in Raspbian by adding the following lines to /etc/dhcpcd.conf

interface wlan0
env ifwireless=1
env wpa_supplicant_driver=wext

The reason for the network not working is that wpa_suplicant software that has nl80211 as a default option. WLAN on Linux uses the wpa_supplicant software behind the scenes with WPA / WPA2 / WPA3 encryptions, and that env command adds an environmental variable that behaves similarly to -Dwext in the following command:

sudo wpa_supplicant -Dwext -iwlan0 -c/etc/wpa_supplicant/wpa_supplicant.conf &

After that WLAN should work with RTL8188EU/EE WiFi dongles, but iw list and iw wlan0 info still do not, because iw uses newer nl80211 interface instead of the wext (Wireless Extensions) interface.

Linux Kernel 'iw' documentation

iw is a new nl80211 based CLI configuration utility for wireless devices. It supports all new drivers that have been added to the kernel recently. The old tool iwconfig, which uses Wireless Extensions interface, is deprecated and it's strongly recommended to switch to iw and nl80211.

0

I think you may have to blacklist old drivers before you can use a different one, I cant test this as I dont have a wifi dongle

  1. Copy the your .ko file to /lib/modules/4.9.41-v7+/kernel/net/wireless.

  2. Create a Blacklist file rtl8xxx-your-old-chipset into /etc/modprobe.d/rtl8xxx-your-old-chipset-blacklist.conf.

  3. Run the command depmod –a.

Dr.Rabbit
  • 1,016
  • 6
  • 10