- 更新:2022-04-24 07:24:15
- 首发:2021-03-02 14:26:05
- 教程
- 29231
通过给ESXi宿主机安装USB驱动,可以实现兼容虚拟机无法驱动的硬件。如果虚拟机本身已经兼容了该硬件,可以参考《ESXI+爱快+OpenWRT 使用2.5G USB网卡 RTL8156》设置USB芯片组直通,获得更好的性能体验。
驱动下载地址: https://flings.vmware.com/usb-network-native-driver-for-esxi
注: 根据官网说明,flings是实验性的,不应该用于生产环境。
支持的ESXi版本:6.5.0,6.7.0,7.0.0,7.0.1。建议升级到ESXi 7.0 Update 1
以获得最佳体验(参考《ESXi 7.0.0 升级到 ESXi 7.0 Update 1》)。低版本可能导致重启后USB网卡无法正常工作且无法恢复。
Linux系统参考《Linux 2.5G USB网卡驱动安装RTL8156/8156B》。
支持的网卡型号
- ASIX USB 2.0千兆网络ASIX88178a
- ASIX USB 3.0千兆网络ASIX88179
- Realtek USB 3.0千兆网络RTL8152 / RTL8153
- Aquantia AQC111U
具体支持的型号远不止以上列出的。根据Realtek官网给出的RTL8152 USB NIC驱动,可以看到RTL8156也是被支持的(在绿联2.5G usb网卡实测通过)。可以确定兼容型号:
- RTL8150
- RTL8152 / RTL8152B (10/100M Fast Ethernet > USB 2.0)
- RTL8154 / RTL8154B (10/100/1000M Gigabit Ethernet > USB 2.0)
- RTL8153 / RTL8153B (10/100/1000M Gigabit Ethernet > USB 3.0)
- RTL8156 / RTL8156B (2.5G Gigabit Ethernet > USB 3.0)
- AX8817x
(2021年03月14日,LEDE正式支持RTL8152)
根据上述驱动中的r8152.c
文件部分代码,推测还支持以下型号(未实测)。查询USB网卡实际芯片型号,参见文章《Linux安装无线网卡驱动通用方法》。
/* table of devices that work with this driver */
static const struct usb_device_id rtl8152_table[] = {
/* Realtek */
{REALTEK_USB_DEVICE(VENDOR_ID_REALTEK, 0x8050)},
{REALTEK_USB_DEVICE(VENDOR_ID_REALTEK, 0x8152)},
{REALTEK_USB_DEVICE(VENDOR_ID_REALTEK, 0x8153)},
{REALTEK_USB_DEVICE(VENDOR_ID_REALTEK, 0x8155)},
{REALTEK_USB_DEVICE(VENDOR_ID_REALTEK, 0x8156)},
/* Microsoft */
{REALTEK_USB_DEVICE(VENDOR_ID_MICROSOFT, 0x07ab)},
{REALTEK_USB_DEVICE(VENDOR_ID_MICROSOFT, 0x07c6)},
/* Samsung */
{REALTEK_USB_DEVICE(VENDOR_ID_SAMSUNG, 0xa101)},
/* Lenovo */
{REALTEK_USB_DEVICE(VENDOR_ID_LENOVO, 0x304f)},
{REALTEK_USB_DEVICE(VENDOR_ID_LENOVO, 0x3052)},
{REALTEK_USB_DEVICE(VENDOR_ID_LENOVO, 0x3054)},
{REALTEK_USB_DEVICE(VENDOR_ID_LENOVO, 0x3057)},
{REALTEK_USB_DEVICE(VENDOR_ID_LENOVO, 0x3062)},
{REALTEK_USB_DEVICE(VENDOR_ID_LENOVO, 0x3069)},
{REALTEK_USB_DEVICE(VENDOR_ID_LENOVO, 0x3082)},
{REALTEK_USB_DEVICE(VENDOR_ID_LENOVO, 0x3098)},
{REALTEK_USB_DEVICE(VENDOR_ID_LENOVO, 0x7205)},
{REALTEK_USB_DEVICE(VENDOR_ID_LENOVO, 0x720a)},
{REALTEK_USB_DEVICE(VENDOR_ID_LENOVO, 0x720b)},
{REALTEK_USB_DEVICE(VENDOR_ID_LENOVO, 0x720c)},
{REALTEK_USB_DEVICE(VENDOR_ID_LENOVO, 0x7214)},
{REALTEK_USB_DEVICE(VENDOR_ID_LENOVO, 0x721e)},
{REALTEK_USB_DEVICE(VENDOR_ID_LENOVO, 0x8153)},
{REALTEK_USB_DEVICE(VENDOR_ID_LENOVO, 0xa359)},
{REALTEK_USB_DEVICE(VENDOR_ID_LENOVO, 0xa387)},
/* TP-LINK */
{REALTEK_USB_DEVICE(VENDOR_ID_TPLINK, 0x0601)},
/* Nvidia */
{REALTEK_USB_DEVICE(VENDOR_ID_NVIDIA, 0x09ff)},
/* LINKSYS */
{REALTEK_USB_DEVICE(VENDOR_ID_LINKSYS, 0x0041)},
{}
};
安装方法
参考https://flings.vmware.com/usb-network-native-driver-for-esxi#instructions进行安装,不再赘述。
需要注意的是:
esxcli software component apply -d
后面必须跟着绝对路径,否则将导致驱动安装失败。esxcli software vib install -d
也一样。- 必须参考
Persisting USB NIC Bindings
进行配置。否则重启后USB网卡无法正常工作。
绑定到OpenWRT
以绑定到LEDE为例,说明当虚拟机不兼容USB网卡的时候,如何通过ESXi驱动该网卡。
添加虚拟交换机
将USB网卡添加到虚拟交换机。
添加端口组
在上一步添加的虚拟交换机的基础上,添加端口组。
新建网络适配器
将虚拟机关机,然后添加网络适配器
,选择对应的端口组。
检查适配器状态
重新打开OpenWRT虚拟机。在lan口可以看到多出来了几个网卡。其中前几个就是虚拟网卡。添加新的网络适配器会打乱OpenWrt的以太网适配器顺序,可以进入SSH通过ifconfig -a
查询Mac地址来识别网卡。
默认虚拟网卡的速率是万兆的。虚拟交换机搭建起了虚拟万兆网卡和USB网卡通讯的桥梁。
其它
需要特别注意的是,如果你有一张或多张网卡,在进行Persisting USB NIC Bindings
设置的时候,需要相应改写代码。如果是参考上述内容进行了虚拟交换机设置,则启动时还需要以代码的方式控制虚拟交换机
和端口组
。参考代码:
if [ "${vusb0_status}" = "Up" ]; then
esxcfg-vswitch -L vusb0 vSwitch1
esxcfg-vswitch -M vusb0 -p "VM USB0" vSwitch1
fi
请注意,无论是官方给出的Persisting USB NIC Bindings
操作,还是上述示例代码,都必须添加到done
代码之前。
暂无内容
老师你好,我希望能用一个openwrt路由器实现IPv4和IPv6的桥接,请问我该如何实现?我尝试了直接新增dhcpv6的接口,但是效果不甚理想(无法成功获取公网的ipv6,但是直连上级路由的其他设备是可以获取公网的ipv6地)
![%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE20241205230845.png](https://cdn.wyr.me/visitor-files/2024-12-05/1733411344287屏幕截图 2024-12-05 230845.png)你好
,为什么我这里是0039 813C 0600 0075 16xx xx xx,只有前6组是相同的,博客中要前8位相同,这个不同能不能照着修改呢?我系统版本是Win1124H2
大神你好,win11专业版24h2最新版26100.2033,文件如何修改?谢谢
win11专业版24h2最新版26100.2033,Windows Feature Experience Pack 1000.26100.23.0。C:\Windows\System32\termsrv.dll系统自带的这个文件,39 81 3C 06 00 00 0F 85 XX XX XX XX 替换为 B8 00 01 00 00 89 81 38 06 00 00 90。仍然无法远程连接。原来是win11 21h2系统,是可以远程链接的。共享1个主机,2个显示器,2套键鼠,各自独立操作 各自不同的账号,不同的桌面环境。
博主,win11专业版24h2最新版,C:\Windows\System32\termsrv.dll系统自带的这个文件,找不到应该修改哪个字段。我的微信:一三五73二五九五00,谢谢