在 macOS Big Sur 上设置 Beaglebone 互联网共享很困难

在 macOS Big Sur 上设置 Beaglebone 互联网共享很困难

我无法通过主机(运行 Big Sur OS 的 Mac)在 Beaglebone(BB)上设置共享的互联网。

当我ifconfig在 BB 上执行此操作时,我看到两个 USB 接口 (usb0、usb1) 出现,并指定了 IP 地址,但我似乎无法 ping 到我的主机。它说From 192.168.7.2 icmp_seq=1 Destination Host Unreachable

根据这个关联

使用最新映像,您不再需要为操作系统安装驱动程序,即可通过 USB 网络访问 Beagle。如果您运行的是旧映像、旧操作系统,或者需要额外的驱动程序来串行访问旧主板,请参阅以下旧驱动程序链接。

usb0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.7.2  netmask 255.255.255.252  broadcast 192.168.7.3
        inet6 fe80::e1c:57ff:fe00:c2c0  prefixlen 64  scopeid 0x20<link>
        ether 0c:1c:57:00:c2:c0  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

usb1: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        inet 192.168.6.2  netmask 255.255.255.0  broadcast 192.168.6.255
        ether 0c:1c:57:00:c2:c4  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

我确实下载了最新的图像,但为了进一步验证,您如何验证正在运行的图像即版本或其他信息是否与网站上所述的图像版本 10.3 相匹配?

编辑:

  • 在主机上,以下是 USB 的相关接口。要使 ping 成功,网络掩码需要与usb0?的掩码匹配。
en7: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    options=404<VLAN_MTU,CHANNEL_IO>
    ether 0c:1c:57:00:c2:c3 
    inet6 fe80::d1:b3cb:50eb:72e1%en7 prefixlen 64 secured scopeid 0x14 
    inet 192.168.7.1 netmask 0xffffff00 broadcast 192.168.6.255
    nd6 options=201<PERFORMNUD,DAD>
    media: autoselect (none)
    status: inactive
  • 在里面网络设置主机的输出中,我看到它说Either the cable for BeagleBoneBlack is not plugged in or the device at the other end is not responding.这很奇怪,因为在ifconfig主机的输出中,我看到en7显示指的是与 BeagleBone 的 USB 连接

  • beaglebone 上的输出ip addr如下 - 不太确定为什么 usb1 没有载体,以及是否与这条信息

debian@beaglebone:~$ ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <NO-CARRIER,BROADCAST,MULTICAST,DYNAMIC,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000
    link/ether 0c:1c:57:00:c2:be brd ff:ff:ff:ff:ff:ff
3: usb0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 0c:1c:57:00:c2:c0 brd ff:ff:ff:ff:ff:ff
    inet 192.168.7.2/30 brd 192.168.7.3 scope global usb0
       valid_lft forever preferred_lft forever
    inet6 fe80::e1c:57ff:fe00:c2c0/64 scope link 
       valid_lft forever preferred_lft forever
4: usb1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN group default qlen 1000
    link/ether 0c:1c:57:00:c2:c4 brd ff:ff:ff:ff:ff:ff
    inet 192.168.6.2/24 brd 192.168.6.255 scope global usb1
       valid_lft forever preferred_lft forever

答案1

ifconfig 的 up 表示接口在逻辑上处于打开状态。它并不表示接口已建立链接,也不表示连接运行正常。

“先检查电缆”是一条金科玉律。电缆可能出错,接口可能不支持 MDI/MDI-X,电缆可能没有交叉连接。使用以太网交换机或其他设备连接可能会有所帮助。

arp -an您可以使用(在 Mac 上)或GNU/Linux测试较低级别ip nei。 ping 尝试后,您应该会看到另一台计算机已填入 arp 表中。

然后我会再次检查设置。

需要提及的重要一点是:我们正尝试在 Mac 和 Beaglebone 盒(地址 192.168.7.1 和 192.168.7.2)之间建立连接。这并不意味着您可以进一步到达 Beaglobone 的“另一端”。需要在 Linux 内核中设置转发开关(sysctl net.ipv4.ip_forward=1)和/或为 NAT 设置 iptables 规则,或在所有相关计算机上设置适当的路由表。

顺便说一句:掩码实际上不需要相同,它仅影响数据包外壳是否根据路由表定向/路由或交给 LAN 的较低级别协议的决定。但生活在一个大群体中确实不方便,不是吗?但广播确实错了,无法工作。

相关内容