May 04, 2019

Hi, I have a TP-Link UE330 (ver 2.0) which works, however I can only get about 10mb/sec down on the interface. Up seems to be faster.
This is on a fresh install of ESXi 6.5 running either OPNsensea or pfSense, with the UE330 on the WAN side, connected via USB 2 port.

Is there anything I should be aware of?

May 06, 2019

Tim,
Thanks for the feedback. Would you mind share the 'lsusb -v' log to better understand the connectivity environment. And if you have vmkernel log, please also share it, so we can check if there is any unexpected info.
Thanks,
Songtao

May 06, 2019

Yes, here is lsusb -v (only the NIC/USB hub part):

Bus 004 Device 003: ID 0bda:8153 Realtek Semiconductor Corp. RTL8153 Gigabit Ethernet Adapter
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.10
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x0bda Realtek Semiconductor Corp.
idProduct 0x8153 RTL8153 Gigabit Ethernet Adapter
bcdDevice 30.00
iManufacturer 1 Realtek
iProduct 2 USB 10/100/1000 LAN
iSerial 6 000001000000
bNumConfigurations 2
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 39
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xa0
(Bus Powered)
Remote Wakeup
MaxPower 180mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 3
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 255 Vendor Specific Subclass
bInterfaceProtocol 0
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x02 EP 2 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x83 EP 3 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0002 1x 2 bytes
bInterval 8
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 80
bNumInterfaces 2
bConfigurationValue 2
iConfiguration 0
bmAttributes 0xa0
(Bus Powered)
Remote Wakeup
MaxPower 180mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 2 Communications
bInterfaceSubClass 6 Ethernet Networking
bInterfaceProtocol 0
iInterface 5 CDC Communications Control
CDC Header:
bcdCDC 1.10
CDC Union:
bMasterInterface 0
bSlaveInterface 1
CDC Ethernet:
iMacAddress 3 503EAA9F9B75
bmEthernetStatistics 0x00000000
wMaxSegmentSize 1514
wNumberMCFilters 0x0000
bNumberPowerFilters 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x83 EP 3 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0010 1x 16 bytes
bInterval 8
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 0
bNumEndpoints 0
bInterfaceClass 10 CDC Data
bInterfaceSubClass 0 Unused
bInterfaceProtocol 0
iInterface 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 1
bNumEndpoints 2
bInterfaceClass 10 CDC Data
bInterfaceSubClass 0 Unused
bInterfaceProtocol 0
iInterface 4 Ethernet Data
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x02 EP 2 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Binary Object Store Descriptor:
bLength 5
bDescriptorType 15
wTotalLength 22
bNumDeviceCaps 2
USB 2.0 Extension Device Capability:
bLength 7
bDescriptorType 16
bDevCapabilityType 2
bmAttributes 0x00000002
Link Power Management (LPM) Supported
SuperSpeed USB Device Capability:
bLength 10
bDescriptorType 16
bDevCapabilityType 3
bmAttributes 0x00
wSpeedsSupported 0x000e
Device can operate at Full Speed (12Mbps)
Device can operate at High Speed (480Mbps)
Device can operate at SuperSpeed (5Gbps)
bFunctionalitySupport 2
Lowest fully-functional device speed is High Speed (480Mbps)
bU1DevExitLat 10 micro seconds
bU2DevExitLat 2047 micro seconds
Device Status: 0x0000
(Bus Powered)

Bus 004 Device 002: ID 0bda:5411 Realtek Semiconductor Corp.
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.10
bDeviceClass 9 Hub
bDeviceSubClass 0 Unused
bDeviceProtocol 2 TT per port
bMaxPacketSize0 64
idVendor 0x0bda Realtek Semiconductor Corp.
idProduct 0x5411
bcdDevice 1.33
iManufacturer 1 Generic
iProduct 2 4-Port USB 2.0 Hub
iSerial 0
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 41
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xe0
Self Powered
Remote Wakeup
MaxPower 0mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 9 Hub
bInterfaceSubClass 0 Unused
bInterfaceProtocol 1 Single TT
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0001 1x 1 bytes
bInterval 12
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 1
bNumEndpoints 1
bInterfaceClass 9 Hub
bInterfaceSubClass 0 Unused
bInterfaceProtocol 2 TT per port
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0001 1x 1 bytes
bInterval 12
Hub Descriptor:
bLength 9
bDescriptorType 41
nNbrPorts 4
wHubCharacteristic 0x00ad
Per-port power switching
Compound device
Per-port overcurrent protection
TT think time 16 FS bits
Port indicators
bPwrOn2PwrGood 0 * 2 milli seconds
bHubContrCurrent 100 milli Ampere
DeviceRemovable 0x10
PortPwrCtrlMask 0xff
Hub Port Status:
Port 1: 0000.0100 power
Port 2: 0000.0100 power
Port 3: 0000.0100 power
Port 4: 0000.0503 highspeed power enable connect
Binary Object Store Descriptor:
bLength 5
bDescriptorType 15
wTotalLength 42
bNumDeviceCaps 3
USB 2.0 Extension Device Capability:
bLength 7
bDescriptorType 16
bDevCapabilityType 2
bmAttributes 0x0000f41e
Link Power Management (LPM) Supported
SuperSpeed USB Device Capability:
bLength 10
bDescriptorType 16
bDevCapabilityType 3
bmAttributes 0x00
wSpeedsSupported 0x000e
Device can operate at Full Speed (12Mbps)
Device can operate at High Speed (480Mbps)
Device can operate at SuperSpeed (5Gbps)
bFunctionalitySupport 1
Lowest fully-functional device speed is Full Speed (12Mbps)
bU1DevExitLat 10 micro seconds
bU2DevExitLat 1023 micro seconds
Container ID Device Capability:
bLength 20
bDescriptorType 16
bDevCapabilityType 4
bReserved 0
ContainerID {f1adf5ec-1150-0540-91ec-71ca7101b6a2}
Device Status: 0x0001
Self Powered

---

Unplugging and plugging in the NIC gives this in /var/log/vmkernel.log:

2019-05-07T16:58:08.514Z cpu0:65914)usbd_setup_ctrl_transfer:1538: Wrong framelength 0 != 8
2019-05-07T16:58:08.579Z cpu0:65915)DMA: 691: DMA Engine 'vusb0-dma-engine' destroyed.
2019-05-07T16:58:08.579Z cpu0:65915)NetPort: 1881: disabled port 0x3000002
2019-05-07T16:58:08.579Z cpu1:81188)NetSched: 628: vusb0-0-tx: worldID = 81188 exits
2019-05-07T16:58:11.444Z cpu1:65962)NMP: nmp_ResetDeviceLogThrottling:3439: Error status H:0x0 D:0x2 P:0x0 Sense Data: 0x2 0x3a 0x0 from dev "mpx.vmhba0:C0:T1:L0" occurred 39 times(of 39 commands)
2019-05-07T16:58:18.005Z cpu0:65940)DMA: 646: DMA Engine 'vusb0-dma-engine' created using mapper 'DMANull'.
2019-05-07T16:58:18.005Z cpu0:65940)CpuSched: 692: user latency of 100715 netpoll-backup 0 changed by 65940 vmkdevmgr -6
2019-05-07T16:58:18.005Z cpu0:65940)Uplink: 12164: Opening device vusb0
2019-05-07T16:58:18.005Z cpu0:65585)Uplink: 12013: Detected pseudo-NIC for 'vusb0'
2019-05-07T16:58:18.005Z cpu0:65940)Uplink: 10087: enabled port 0x3000002 with mac 50:3e:aa:9f:9b:75
2019-05-07T16:58:18.006Z cpu0:65585)NetPort: 1881: disabled port 0x3000002
2019-05-07T16:58:18.006Z cpu0:65585)Uplink: 10087: enabled port 0x3000002 with mac 50:3e:aa:9f:9b:75
2019-05-07T16:58:18.006Z cpu0:65567)CpuSched: 692: user latency of 100716 vusb0-0-tx 0 changed by 65567 HELPER_MISC_QUEUE-1-2 -6
2019-05-07T16:58:18.006Z cpu0:100716)NetSched: 628: vusb0-0-tx: worldID = 100716 exits
2019-05-07T16:58:18.006Z cpu0:65566)CpuSched: 692: user latency of 100718 vusb0-0-tx 0 changed by 65566 HELPER_MISC_QUEUE-1-1 -6
2019-05-07T16:58:18.442Z cpu0:65585)NetPort: 1881: disabled port 0x3000002
2019-05-07T16:58:18.442Z cpu0:65585)Uplink: 10087: enabled port 0x3000002 with mac 50:3e:aa:9f:9b:75
2019-05-07T16:58:18.442Z cpu0:100718)NetSched: 628: vusb0-0-tx: worldID = 100718 exits
2019-05-07T16:58:18.443Z cpu1:65567)CpuSched: 692: user latency of 100719 vusb0-0-tx 0 changed by 65567 HELPER_MISC_QUEUE-1-2 -6

May 03, 2019

Just a heads up for anyone else who experiences this issue...

This was working perfect for me in my home two node NUC Gen8 cluster then I had nothing but trouble with the USB NIC dropping from the uplink when I added a third node even though I added the local.sh wait commands - I tried multiple USB Ethernet adapters with the same issue!

I spent three days of the long bank holiday weekend repeatedly rebuilding nodes and the issue appeared to spread to other nodes that I had configured identically.

Turns out if you have a USB mouse plugged in this is a symptom (not sure if just the Dell mouse I had plugged in or if all USB mice!). With out the mouse plugged this works perfectly! I now have a big sticker saying "DO NOT PLUG IN USB MOUSE!"

Thought sharing this may save someone else the pain I went through. Hope it helps!

Thank you for the great work guys!

May 03, 2019

Hi Lee986,
I don't have any other usb device connected to NUC besides the Linksys USB 3.0 Ethernet adapter, yet it does not appear in the NIC list. Did you have issues even with an adapter which VID/PID is supported according to the Requirements?

May 03, 2019
May 02, 2019
May 06, 2019

Matp,
Thanks for the feedback and sorry for the inconvenience, we will add it in the support list in next release.
Thanks,
Songtao

May 07, 2019

Thank you for the great work Songato!

Apr 30, 2019

I can successfully install the vib and can see my usb nics but I'm having issues with the persistence. When I assign as an uplink to one of the usb nics and reboot, I can no longer edit the usb uplink and it doesn't get identified as one but I still see the usb nics in the physical nics list. The same when I add in the persistence script provided, it doesn't recognize the uplinks and it doesnt allow me to make any networking changes related to the usb nic interfaces. The error message is "Failed - A specified parameter was not correct:".

This is installed on a nuc7i7bnh running esx 6.7.0 and a Startech Dual-NIC USB adapter. I am able to install the vib file alone via gui Package installer using the following path "/vmfs/volumes/datastore1/VMW_bootbank_vmkusb-nic-fling_0.8-1vmw.670.2.48.20124247.vib". Although the vib install says it fails in the gui, after the reboot I can see the usb nics. Server and networking in esxi is all default, the standard ports groups and virtual switches, nothing has been changed.

Any ideas?

May 09, 2019

If anyone has any issues with persistence and the error message I mentioned, adding the below lines to the local.sh script helped.

/etc/init.d/hostd restart
/etc/init.d/vpxa restart

I was able to edit the switch and adapter settings without any issues.

Thanks Songtao Zheng and William Lam for putting this together.