usbconfig 输出:

usbconfig 输出:

我正在 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 机器(“移动数据”必须打开)。

应该有新的ueUSB 以太网接口可用:

# 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 网络共享连接到网络。

相关内容