18

Several unresolved questions have been made in various online forums looking for any options that may exist for a USB to Ethernet adapter that supports multiple VLANs.

Past questions have often been sidetracked due to confusion as to what is being asked for. The requirement here involves advanced Ethernet networking and the 802.1q standard / VLAN trunking - something that is typically not used in home or small-office networking. This is something that would be more suited to the enterprise, or possibly someone working towards a networking certification.

The intent for this question is to act as a central source, and which can hopefully be cross-linked to with all other related posts. Once a suitable solution is found or developed, an answer posted here will hopefully benefit everyone.

Related questions include:

(Anyone please feel free to edit and add additional links as they are discovered.)

Unfortunately, there are 2 issues here:

  1. No known USB-to-Ethernet adapters that provides a Windows driver (for any version of Windows) with multiple VLAN support.
  2. Broken support in Windows 10 for trunking support / virtual miniport drivers.

It seems that what we are looking for here is a bugger to search by - as even "802.1q" and "VLAN" aren't even good enough search terms. (We not only need "tagging", but also "trunking".)

(An attempt is being made to write this question in 3rd-person, assuming that it may become Community Wiki. Please feel free to edit and contribute!)

No known USB-to-Ethernet adapters that provide a Windows driver with multiple VLAN support.

Take, for example, a StartTech.com USB 3.0 to Gigabit Ethernet Adapter NIC with USB Port (http://www.amazon.com/dp/B00ECQZM1A/). It is based on the ASIX AX88179 Gigabit Ethernet Controller. Listed features include "IEEE 802.1Q VLAN Tagging support". This is what the related properties of the installed driver (1.16.11.0 / 2014-01-24) look like under Windows 8.1:

What is missing is any sort of trunking support / virtual miniport driver - such as the additional capabilities provided by the full driver installs of the Intel Advanced Networking Suite (iANS), the Broadcom Advanced Server Program (BASP), or the Realtek Teaming or Realtek Ethernet Diagnostic Utility.

The difference is, we could configure a switch port to provide access to multiple VLANs, and configure this adapter to choose which VLAN to be a part of - from the client device, not the switch. Or we could add another unmanaged switch with access to the multiple VLANs, then use multiple of these or similar adapters - configuring each one to be on a different VLAN. Something like this (link broken, but still available through the Internet Archive - please update if anyone can find a relocated copy):

Yikes!

With proper trunking support, however - everything could be done with one switch port, one wire, and one adapter - very efficient, convenient, and economical.

As @Flexo had noted, full 802.1 support is practically guaranteed to be available under Linux as long as the adapter works, as Linux provides all of the VLAN support by itself as standard feature of the kernel. Windows, however, doesn't provide these services itself, and depends upon a vendor-provided driver package (e.g. iANS or BASP) to provide them instead.

Unfortunately, it looks like we're not aware of any USB Ethernet adapter that provides such a driver package for Windows, nor have we seen Intel or Broadcom creating any USB Ethernet adapters of their own that would compare to their internal components. (Hint, hint! Build it, and then take our money!)

One example from @ziesemer:

I have the full capabilities on an aging (Dell Latitude E6500) laptop, compliments of the Intel chipset (82567LM) and driver (very similar to @bwilliot). I would be very anxious to find a current replacement for this functionality as well - especially for usage with devices like the Microsoft Surface Pro 3 or 4. (The Ethernet controllers provided on the Surface Pro 3 or 4 docking stations are no better than the ASIX AX88179 - I checked. It is also internally connected off of the USB, so I guess I shouldn't be too surprised.)

Broken support in Windows 10 for trunking support / virtual miniport drivers

Work Arounds

Now, using the Virtual Switch Manager in Hyper-V might be a way to support this under Windows 10 (similar to the above link) - but requires a new enough CPU to support the Hyper-V hypervisor. Additionally, running Hyper-V at the same time as VMware or VirtualBox is not supported, and doesn't currently work.

One ugly work-around from @ziesemer:

Previously, I was running a minimal OpenWrt in VirtualBox as an ugly work-around. Directly bind / bridge the one virtual network adapter to the physical LAN, then bridge additional network adapters to additional Host-only Networks within VirtualBox. Obviously, this creates quite a bit of overhead, slows everything down, and the virtual network adapters don't support advanced features such as Jumbo Frames.
8
  • What is the general reason USB interfaces need to be used for this instead of the more traditional PCI-E bus?
    – Adam Wykes
    Jul 28, 2016 at 2:25
  • @AdamWykes - Good question. USB is required for situations where PCIe is not available, including practically all current laptops on the market today. (Even many desktops may not have a spare PCIe slot.)
    – ziesemer
    Jul 28, 2016 at 5:55
  • There are ways around that, though they aren't pretty. I'm sure you know about them already though? Should I even bother to post a writeup on mpcie to pcie adapters for laptop as an answer here, or just restrict myself to this comment?
    – Adam Wykes
    Jul 28, 2016 at 5:58
  • @AdamWykes - I haven't seen a laptop built within the past few years that even has an ExpressCard slot. I've seen some rather ugly hacks of going to the mPCIe straight on the motherboard - but it is usually already occupied, or doesn't even exist in the increasing number of laptops that are not designed to be opened by even an avid technical user. Personally, I'd only consider a solution that would work with something such as a Surface Pro 4. Now, something that would work with the increasing number of USB-C ports becoming available would be interesting...
    – ziesemer
    Jul 28, 2016 at 6:06

1 Answer 1

1

Was looking at this also, found a USB NIC from Cypress, http://www.cypress.com/products/ez-usb-gx3-superspeed-usb-30-gigabit-ethernet-controller . In the datasheet it says

Supports IEEE 802.1Q VLAN tagging and 2 VLAN ID filtering; received VLAN Tag (4 bytes) can be stripped off or preserved

So assuming there is a dongle using this chip and that the drivers makes it possible to configure the vlan id to filter out, looks like it should work.

/Olof

2
  • 1
    Thanks for the response. At a hardware level, the challenge would be to find a controller today that doesn't "support" this. I.E., the controller is only providing the "physical layer" connectivity, where the VLAN concerns are handled at the data link layer by the OS and/or driver. I.E., any USB NIC I've ever had has full VLAN support under Linux, as Linux provides its own generic VLAN support (8021q kernel module). The key here is finding one with a full-featured Windows driver including virtual miniports - or someone developing a compatible driver that does...
    – ziesemer
    Mar 2, 2017 at 9:09
  • 1
    Unfortunately, the stock / reference drivers from Cypress do not appear to include such a full-featured driver. (Again, we need something like iANS / BASP here.) I will reach out to them to see if this is something that they would consider developing; it can't hurt, and I'd encourage anyone else following this to do the same. However, this is also only a chipset - and I can't find any developed dongles on the market that even mention using this chipset, which is disappointing - other than their own reference design kits intended for product developers.
    – ziesemer
    Mar 2, 2017 at 9:20

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.