WilliamLam.com

  • About
    • About
    • Privacy
  • VMware Cloud
  • Tanzu
    • Application Modernization
    • Tanzu services
    • Tanzu Community Edition
    • Tanzu Kubernetes Grid
    • vSphere with Tanzu
  • Home Lab
  • Nested Virtualization
  • Apple
You are here: Home / ESXi / How to enable passthrough for USB Network Adapters claimed by ESXi CDCE Driver?

How to enable passthrough for USB Network Adapters claimed by ESXi CDCE Driver?

03.30.2023 by William Lam // 2 Comments

As part of vSphere 7.0, ESXi now ships with a USB CDCE (Communication Device Class Ethernet) driver which can benefit customers with SB network adapters that support the CDCE specification as shared in this blog post HERE. This can especially be useful for those running a VMware Homelab where the onboard network adapter may not be supported and using a CDCE USB network adapter would allow you to install ESXi.

When a CDCE-supported USB network adapter is connected to an ESXi host, it will automatically be claimed by the CDCE driver as shown in the screenshot below.


If you are planning to use the USB network adapter for VMkernel traffic, then there is no workflow change like any other physical network adapter. However, if you intend to passthrough the USB network adapter to a VM, then you may find that it is not working as expected.


The reason for this is that ESXi has already claimed the USB device, assuming you wish to use it for VMkernel traffic. To change the behavior for a particular CDCE-supported USB network adapter, we just need to apply a USB Quirk which tells ESXi to ignore this adapter.

Step 1 - Run the following ESXCLI command to retrieve the desired USB network adapter and make a note of both the ProductID and VendorID (0xAAAA and 0xBBBB). In this example, the ProductID is 0x0bda and VendorID is 0x8153.

esxcli hardware usb passthrough device list

Step 2 - Next, we configure the USB Quirk and replace our ProductID and Vendor ID into the following string: 0xAAAA:0xBBB:0:0xffff:UQ_NET_IGNORE and then run this ESXCLI command:

esxcli system settings advanced set -o /USB/quirks -s 0x0bda:0x8153:0:0xffff:UQ_NET_IGNORE

Step 3 - Finally, we just need to reboot for the change to go into effect and after that, our CDCE USB network adapter can now be passthrough to a VM

More from my site

  • Automated ESXi Installation with a USB Network Adapter using Kickstart
  • Google Coral USB Edge TPU Accelerator on ESXi
  • Quick Tip - Enabling ESXi Coredumps to be stored on USB
  • ESXi with Intel Arc 750 / 770 GPU
  • How to recover ESXi installed on USB device after disabling vmkusb module?

Categories // ESXi, Home Lab, vSphere 7.0, vSphere 8.0 Tags // cdce, ESXi 7.0, ESXi 8.0, usb network adapter

Comments

  1. Paul says

    04/05/2023 at 7:33 am

    I'm having a similar problem with a Realtek RTL8153 USB based ethernet adapter. I've installed the fling drivers (based on what I read this was necessary for it to work properly). Using 'esxcli network mic list' I see the device:

    [[email protected]:~] esxcli network nic list
    Name PCI Device Driver Admin Status Link Status Speed Duplex MAC Address MTU Description
    ------ ------------ -------- ------------ ----------- ----- ------ ----------------- ---- -----------
    vmnic0 0000:56:00.0 cndi_igc Up Up 1000 Full 48:21:0b:3e:6e:05 1500 Intel Corporation Ethernet Controller I225-V
    vusb0 Pseudo uether Up Up 1000 Full 5c:85:7e:3e:4c:45 1500 CMI USB 101001000 LAN

    Looking at the passthrough status I see this:

    [[email protected]:~] esxcli hardware usb passthrough device list
    Bus Dev VendorId ProductId Enabled Can Connect to VM Name
    --- --- -------- --------- ------- ------------------------- ----
    2 2 bda 8153 false no (passthrough disabled) Realtek Semiconductor Corp. RTL8153 Gigabit Ethernet Adapter
    2 3 8087 33 true yes Intel Corp.

    I can't get it set for passthrough so I can use it on one of my Linux VMs. What am I missing or doing wrong? Thank you!

    Reply
    • Paul says

      04/05/2023 at 9:16 am

      Finally got it to work. I was issuing the command to enable passthrough on the CLI but flipping over and using the web UI to reboot the device. That was apparently losing my change. As soon as I issued the command to enable passthrough THEN rebooted from the CLI it worked.

      Reply

Thanks for the comment! Cancel reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Search

Author

William Lam is a Senior Staff Solution Architect working in the VMware Cloud team within the Cloud Infrastructure Business Group (CIBG) at VMware. He focuses on Cloud Native, Automation, Integration and Operation for the VMware Cloud based Software Defined Datacenters (SDDC) across Private, Hybrid and Public Cloud

Connect

  • Email
  • GitHub
  • LinkedIn
  • RSS
  • Twitter
  • Vimeo

Recent

  • Will this Arm SoC work with ESXi-Arm? 06/02/2023
  • Converting VirtualBox VDI (Virtual Disk Image) to VMDK for use with ESXi 8.x 05/31/2023
  • Quick Tip - How to monitor when ESXi filesystem and partitions are filling up? 05/30/2023
  • DDR5 SODIMM capable kits for ESXi 05/30/2023
  • ESXi on ASUS PN64-E1 05/24/2023

Advertisment

Privacy & Cookies: This site uses cookies. By continuing to use this website, you agree to their use.
To find out more, including how to control cookies, see here: Cookie Policy

Copyright WilliamLam.com © 2023

 

Loading Comments...