stevepedwards.com/DebianAdmin linux mint IT admin tips info

Linux Compatible WiFi Dongles…That Aren’t Really…And Ugly but Unique Network Device Names

After the eventual success, yet past hassle with driver availability for the MediaTek WiFi dongle, I thought I would only buy Linux compatible units in future, after searching specifically for "linux compatible" and researching linux compatible vendor chipsets - Realtek in this case.

"System Compatible" to me means that an OS contains a device driver innately, without having to ADD a separate driver - because ANY piece of hardware is potentially "system compatible" if someone can be bothered to write a driver for it!

Unfortunately, most manufacturers and vendors are liars by sales nature - as are humans in general - so you cannot necessarily go by description claims that may conveniently get altered with big red letters a week after being sold - probably due to loads of complaints from pissed off customers that a device does not work as advertised e.g.:

300Mbps Wireless N Nano USB Adaptor WiFi Dongle Adapter Mac Linux Win UK Stock

http://www.ebay.co.uk/itm/301964916913?_trksid=p2057872.m2749.l2649&ssPageName=STRK%3AMEBIDX%3AIT

So, the provided cd drivers are obsolete for this device on current linux kernels, but is there community support?

Fortunately, yes - after a lot of googles because you are searching for the 818b as shown by lsusb, but the drivers are in a .deb package for rtl8192eu!:

https://sites.google.com/site/easylinuxtipsproject/reserve-7#TOC-Realtek-RTL8192EU-chipset-0bda:818b-

Download the driver package from that link:

It's a simple install of the .deb file using Software Install (or Gdebi in Mint), with functionality/setup limited to the non GUI ways of using wireless devices i.e. iwconfig etc. to show it works after a reboot, by it's rather cryptic name:

ifconfig

as the device does not show in the network icon as a functional scanning device telling you what networks are available as usual; you have to connect to a "hidden network" after checking it is working with:

iwlist enx000b81a2c16b scan

You can use the iw range of commands to scan for, then connect to, an AP - read the man pages for them:

stevee@ub:~$ iw [TAB]
iw iwconfig iwevent iwgetid iwlist iwpriv iwspy

The network icon provides:

So what is with the ugly device names in Ubuntu? What happened to eth0, wlan0 etc?

Explanation here:

https://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames/

"Come again, what good does this do?

With this new scheme you now get:

  • Stable interface names across reboots
  • Stable interface names even when hardware is added or removed, i.e. no re-enumeration takes place (to the level the firmware permits this)
  • Stable interface names when kernels or drivers are updated/changed
  • Stable interface names even if you have to replace broken ethernet cards by new ones
  • The names are automatically determined without user configuration, they just work
  • The interface names are fully predictable, i.e. just by looking at lspci you can figure out what the interface is going to be called
  • Fully stateless operation, changing the hardware configuration will not result in changes in /etc
  • Compatibility with read-only root
  • The network interface naming now follows more closely the scheme used for aliasing block device nodes and other device nodes in /dev via symlinks
  • Applicability to both x86 and non-x86 machines
  • The same on all distributions that adopted systemd/udev
  • It's easy to opt out of the scheme (see below)

Does this have any drawbacks? Yes, it does. Previously it was practically guaranteed that hosts equipped with a single ethernet card only had a single "eth0" interface. With this new scheme in place, an administrator now has to check first what the local interface name is before he can invoke commands on it where previously he had a good chance that "eth0" was the right name.

I don't like this, how do I disable this?

You basically have three options:

  1. You disable the assignment of fixed names, so that the unpredictable kernel names are used again. For this, simply mask udev's .link file for the default policy: ln -s /dev/null /etc/systemd/network/99-default.link
  2. You create your own manual naming scheme, for example by naming your interfaces "internet0", "dmz0" or "lan0". For that create your own .link files in /etc/systemd/network/, that choose an explicit name or a better naming scheme for one, some, or all of your interfaces. See systemd.link(5) for more information.
  3. You pass the net.ifnames=0 on the kernel command line"

So, you can change it? Let's try as I only have PCs with one type of netcard each generally, and I've never had to think about it before, but I understand that multiple cards getting name changed on reboots could be a major problem for sysadmins etc...Going with the soft link option:

stevee@ub:~$ sudo ln -s /dev/null /etc/systemd/network/99-default.link
[sudo] password for stevee:

Reboot and see what happens...ah, I have wlan0 back..dunno what happened to eth0 returning but:

After reconnecting to the router and transferring the Ubuntu ISO, I get about 48Mb/s:

bwm-ng

Comments are closed.

Post Navigation