我正在 Debian 8(Jessie)虚拟机管理程序中将 FreeBSD 11.2-RELEASE-p6 作为 VM 运行。
我已经通过虚拟机管理程序传递了 USB,因此 FreeBSD 可以看到 iPhone USB 连接。
但是,FreeBSD VM 应该添加一个新的接口名称 ue0,但这并没有发生。
我安装了 FreeBSD 内核模块 if_ipheth.ko,它正在运行。
usbconfig 输出:
ugen1.1: <Intel UHCI root HUB> at usbus1, cfg=0 md=HOST spd=FULL (12Mbps) pwr=SAVE (0mA)
ugen0.1: <Intel UHCI root HUB> at usbus0, cfg=0 md=HOST spd=FULL (12Mbps) pwr=SAVE (0mA)
ugen3.1: <Intel UHCI root HUB> at usbus3, cfg=0 md=HOST spd=FULL (12Mbps) pwr=SAVE (0mA)
ugen2.1: <Intel UHCI root HUB> at usbus2, cfg=0 md=HOST spd=FULL (12Mbps) pwr=SAVE (0mA)
ugen4.1: <Intel EHCI root HUB> at usbus4, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=SAVE (0mA)
ugen0.2: <QEMU QEMU USB Tablet> at usbus0, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON (100mA)
ugen4.2: <Apple Inc. iPhone> at usbus4, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON (500mA)
请问有什么帮助吗?
答案1
我已经编写了一个有关如何执行此操作的教程,该教程现在位于最新版本的 ipheth(4) 手册页中(在 FreeBSD 13.0 上):
以下示例显示如何在未自动识别的设备上手动配置网络访问。
首先,加载驱动程序,并找出USB Apple设备的单元和地址:
# kldload ipheth
# usbconfig | grep Apple
ugen0.2: <Apple Inc. iPhone> at usbus0, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON (500mA)
在此示例中,该设备的单元和地址为 0.2(“ugen0.2”),其配置索引为 0(“cfg=0”)。
其次,检查设备还有哪些其他配置可用:
# usbconfig 0.2 dump_all_config_desc | awk '/^ Conf/{print} /iConf/{print}'
Configuration index 0
iConfiguration = 0x0005 <PTP>
Configuration index 1
iConfiguration = 0x0006 <iPod USB Interface>
Configuration index 2
iConfiguration = 0x0007 <PTP + Apple Mobile Device>
Configuration index 3
iConfiguration = 0x0008 <PTP + Apple Mobile Device + Apple USB Ethernet>
在此示例中,有 4 种不同的配置可用。索引为 3 的配置似乎与以太网相关。现在该配置设备了:
# usbconfig 0.2 set_config 3
# usbconfig | grep 'Apple.*cfg=3'
ugen0.2: <Apple Inc. iPhone> at usbus0, cfg=3 md=HOST spd=HIGH (480Mbps) pwr=ON (500mA)
此时 Apple 设备应该询问是否可以信任 FreeBSD 机器(“移动数据”必须打开)。
应该有新的ue
USB 以太网接口可用:
# dmesg | grep 'ue[0-9]'
ue0: <USB Ethernet> on ipheth0
ue0: bpf attached
ue0: Ethernet address: 4e:7c:5f:2c:5f:7a
此时可能需要运行 usbmuxd(1) (可在 comms/usbmuxd 的 ports(7) 中找到):
# usbmuxd --enable-exit --foreground --user root --verbose
现在是时候配置网络接口了:
# sysrc ifconfig_ue0="SYNCDHCP"
ifconfig_ue0: -> SYNCDHCP
# service netif restart ue0
就是这样。机器现在应该通过 USB 网络共享连接到网络。