3

我正在使用 Yocto 创建一个 USB 小工具,它加载小工具内核模块并被我的主机识别为网络接口 ( usb0)。在小工具上,我已经connman安装并运行。我正在使用默认配置(否/etc/connman/main.conf),尽管我尝试在以下位置手动启用小工具/var/lib/connman/settings

~# cat /var/lib/connman/settings
[global]
OfflineMode=false

[Gadget]
Enable=true
Tethering=true

但是,当我尝试从主机(例如dhcpcd usb0)获取 IP 时,它似乎没有找到 DHCP 服务器,而是获得了 IPv4LL。我的主机的 journalctl 看起来像这样:

avahi-daemon[812]: Registering new address record>
dhcpcd[875]: usb0: soliciting an IPv6 router
dhcpcd[875]: usb0: soliciting a DHCP lease
dhcpcd[875]: usb0: probing for an IPv4LL address
dhcpcd[875]: usb0: using IPv4LL address 169.254.1>
avahi-daemon[812]: Joining mDNS multicast group o>
avahi-daemon[812]: New relevant interface usb0.IP>
dhcpcd[875]: usb0: adding route to 169.254.0.0/16
avahi-daemon[812]: Registering new address record>
dhcpcd[875]: usb0: no IPv6 Routers available

请注意,在小工具上,我创建了一个服务配置文件来为usb0接口提供一个 IP,它得到:

3: usb0: <BROADCAST,MULTICAST,UP,LOWER_UP8000> mtu 1500 qdisc pfifo_fast qlen 1000
    link/ether 66:7e:25:f1:3d:cf brd ff:ff:ff:ff:ff:ff
    inet 10.42.0.2/24 brd 10.42.0.255 scope global usb0
       valid_lft forever preferred_lft forever
    inet6 fe80::647e:25ff:fef1:3dcf/64 scope link 
       valid_lft forever preferred_lft forever

这是服务配置:

[service_gadget]
Type = gadget
IPv4 = 10.42.0.2/255.255.255.0/10.42.0.1

当 Connman 要求一个 DHCP 服务器并成功地为主机usb0接口分配一个 IP 时,我会缺少什么?

4

0 回答 0