# Unable To Network With A Realtek RTL8188EE



## Jay F. Shachter (Dec 25, 2017)

Esteemed Colleagues:

I have never been able to get wireless networking to work on FreeBSD.

The current laptop on which I am not able to get wireless networking to work has a Realtek RTL8188EE wireless device.  Here is the relevant output from `pciconf -l -v`:


```
none2@pci0:2:0:0:  class=0x028000 card=0x81bf103c chip=0x817910ec rev=0x01 hdr=0x00
    vendor     = 'Realtek Semiconductor Co., Ltd.'
    device     = 'RTL8188E Wireless Network Adaptor'
    class      = network
```

Here are the complete contents of /boot/loader.conf.  Nothing works:

```
linux_load=YES
geom_linux_lvm_load=YES
if_rtwn_load="YES"
if_urtwn_load="YES"
legal.realtek.license_ack=1
rtwn-rtl8192cfwU_load="YES"
rtwn-rtl8192cfwU_B_load="YES"
urtwn-rtl8192cfwT_load="YES"
urtwn-rtl8192cfwU_load="YES"
urtwn-rtl8188eufs_load="YES"
```

(The first 2 lines are irrelevant but I promised you the complete contents of the file.)

Nothing, as I said, works.  Behold:


```
# ifconfig wlan create wlandev rtwn0 ssid xfinitywifi up
ifconfig: SIOCIFCREATE2: Device not configured
# ifconfig wlan create wlandev urtwn0 ssid xfinitywifi up
ifconfig: SIOCIFCREATE2: Device not configured
#
```

I also cannot get Solaris to recognize this device, but I am just about ready to give up on Solaris.  I am not ready to give up on FreeBSD.  Thank you in advance for any and all replies.

(If this posting belongs on the Hardware forum rather than on the Networking forum, please move it there.)

Jay at m5 dot chicago dot il dot us


----------



## scottro (Dec 25, 2017)

It may be easier to just get a USB wireless adapter. The Edimax is about $8.00 and works.
https://www.amazon.com/Edimax-EW-7811Un-150Mbps-Raspberry-Supports/dp/B003MTTJOY


----------



## Snurg (Dec 25, 2017)

The problem with Realtek adapters is common.
Keep in mind that RTL8188 does not tell enough, as this is only a series with *numerous* models which are differentiated using the last two letters.

This should be made more clear in the FreeBSD handbook, as many people think 'oh RTL8188, will probably work". 

Please do not judge Solaris and FreeBSD because of a manufacturer delivering very bad support for driver developers.
Since decades the proven best way to make Realtek hardware work on any unixoid is to preboot in windows (to let the Realtek driver initialize the proprietary hardware stuff), and then reboot into the unixoid.


----------



## ronaldlees (Dec 25, 2017)

Snurg said:


> The problem with Realtek adapters is common.
> Keep in mind that RTL8188 does not tell enough, as this is only a series with *numerous* models which are differentiated using the last two letters.
> 
> This should be made more clear in the FreeBSD handbook, as many people think 'oh RTL8188, will probably work".
> ...



Yes, and some people use the NDIS shim with the windows driver, but I don't know about the legal ramifications of that.  Maybe if you own the Windows OS, it's legit.

Relative to Solaris, the OMNI/ILLUMOS/SmartOS/etc distributions work OK with many Atheros chipset based adapters.  Just like FreeBSD has some affinity for NVidia (or is that the other way around?) - the Sun derivatives like Atheros IMO.


----------



## Snurg (Dec 25, 2017)

ronaldlees said:


> ... legal ramifications of that.  Maybe if you own the Windows OS, it's legit.


As many people have a windows license coupled with their computer, I can hardly imagine that it could be illegal to first boot windows, then to reboot into another OS (without turning off the computer inbetween).
And for those who do not have a legit copy, there is still the alternative of FreeDOS.

I do not know the todays' situation, but a few years ago Realtek still provided DOS drivers even for modern chipsets on their website.
And these seem to work as well as the Windows versions. So I guess it is not necessary to use Windows in most cases.

But then there is the issue that you have to make a freedos bootable setup with config.sys prepared (and occasionally autoexec.bat also, as some drivers have an executable part that allows you to configure and start up the card from the command line. I guess for many people it will be easier to use Windows as prebooter, even though it takes way more than the second that FreeDOS needs to boot.


----------



## Jay F. Shachter (Dec 26, 2017)

Speaking of Windows -- what ever happened to ndiswrapper?  How come I never see it mentioned in manual pages any longer?  I used to use it all the time.  I understand that Linux emulation probably cannot be made to work for device drivers, but shouldn't I be able to get the Windows driver somehow somewhere and then access it on FreeBSD thru ndiswrapper, like I remember doing years ago?


----------



## ronaldlees (Dec 27, 2017)

Jay F. Shachter said:


> Speaking of Windows -- what ever happened to ndiswrapper?  How come I never see it mentioned in manual pages any longer?  I used to use it all the time.  I understand that Linux emulation probably cannot be made to work for device drivers, but shouldn't I be able to get the Windows driver somehow somewhere and then access it on FreeBSD thru ndiswrapper, like I remember doing years ago?



I wondered about this myself.  So, I looked at the wiki, and it mentions that since 2006 Windows drivers are using something called the "Windows Driver Foundation" specification - which is something that (apparently) the NDISWrapper can't use. 

See:
https://en.wikipedia.org/wiki/NDISwrapper

It means that for the most part, only old 32 bit XP drivers will work.


----------



## Farhan Khan (Sep 11, 2018)

Hi all,

I have been working on this driver for over a year now, and as of about 30 minutes ago I got connectivity working! I was able to ssh into a machine through the driver on FreeBSD. Its fairly unstable at the moment, so I need to work through that, but when complete, it will be an extension of rtwn(4). I do not have a time-frame for when this should be done, but hopefully sooner rather than later.

Any delays are caused by me being brand new to kernel development, learning FreeBSD and Linux's WiFi stack in tandem and the extremely poor quality of Linux's rtlwifi driver code that was difficult to understand - oh, and getting stuck a lot


----------



## jiml8 (Sep 15, 2018)

I have found the urtwn driver to be pretty good with at least the 8188CU, 8188CUS, and 8192CU.  It nominally supports a substantial number of other variants of 8188 and 8192 but I can't personally attest to those.  Notably, it does NOT support the 8192EU.

So, with respect to those particular devices at least, I don't quite see why there are complaints about the driver.

When purchasing a USB dongle, you have to be careful; I have also learned that the ones you commonly find on amazon and newegg may or may not have the chip in them that is identified in the documentation.  Given that support for 8188 and 8192 devices does have some gaps in that not all variants are supported, you can easily find yourself with a dongle that won't work on freebsd.


----------



## Jay F. Shachter (Oct 27, 2019)

Farhan Khan said:


> Hi all,
> 
> I have been working on this driver for over a year now, and as of about 30 minutes ago I got connectivity working! I was able to ssh into a machine through the driver on FreeBSD. Its fairly unstable at the moment, so I need to work through that, but when complete, it will be an extension of rtwn(4). I do not have a time-frame for when this should be done, but hopefully sooner rather than later.
> 
> Any delays are caused by me being brand new to kernel development, learning FreeBSD and Linux's WiFi stack in tandem and the extremely poor quality of Linux's rtlwifi driver code that was difficult to understand - oh, and getting stuck a lot



Thank you for your work on this driver. I recently upgraded to 12.0 and it does not support the RTL8188EE. I have seen postings in other discussion threads stating that this driver will be available in 12.1.  None of this postings, however, have been confirmed by you. I notice that 12.1 is expected to be available in a few days. Should I upgrade to 12.1 when it comes out? Will 12.1 support my wireless device? Thank you in advance for your reply.


----------



## scottro (Oct 27, 2019)

Farhan Khan despite your apologies I think anyone following this thread is grateful.  Eventually you will be able to get it working smoothly, and as it seems to be becoming popular with Realtek, (sigh, why don't some of the ones friendlier to opensource make these USB to wireless or internal cards--though of course, if you have a Lenovo card you have to risk flashing the BIOS for it to work.)
I digress, and apologize, just wanted to say thank you, and please believe me, I think everyone following this thread is grateful, regardless of errors you may make while on the way.


----------



## Farhan Khan (Nov 2, 2019)

I did, check your /usr/src/sys/dev/rtwn/rtl8188e/pci


----------



## Jay F. Shachter (Nov 5, 2019)

Esteemed Colleagues:

According to https://www.freebsd.org/releases/12.1R/relnotes.html#drivers-device
FreeBSD 12.1 does indeed now support the RTL8188E device.
So all I have to do now is get myself a wired connection for one
last time, and do a freebsd-update to 12.1, and then I can throw
away my Ethernet cable.

(Except that I still need my Ethernet cable for the Solaris-derived
system that shares the same hardware, since the Solaris-derived
system also does not support the RTL8188E.  Neither Sun Microsystems
nor Oracle cared about users of laptop computers, as laptops require
wireless networking and power management, and Solaris has always
been weak on both.  But I digress.)

Thank you, Mr Khan, for your work on this device driver.

jay at m5 dot chicago dot il dot us


----------

