已经尝试过:
udhcp -i usb0
这就是它所说的:
udhcpc (v1.20.2) started
Write failed: Broken pipe
任何线索?
答案 0 :(得分:3)
您的SSH会话因为您已连接到usb0而被卡住,并且udhcpc命令更改了它的IP地址!此时,您的ssh会话的另一端没有任何内容,因此您的本地计算机的ssh客户端最终会因管道错误而退出并退出。
一个明显的解决方法是通过tty.usbserial而不是ssh连接到IP地址。您认为usb端口分配的IP不应该发生变化。继续阅读以了解发生了什么。
首次使用BBB的大多数人使用附带的USB线将它们直接连接到互联网连接的计算机上。这正是BBB设计师打算让你做的事情,他们在BBBs创业网页上做得非常出色。
该主机以不同的方式共享它的连接,具体取决于它是Windows,OS X还是Linux,以及您的操作方式因您运行的操作系统版本而异。
Derek Molloy(Exploring BeagleBone)和Jason Kridner(Youtube OS X Beaglebone video)提供了一些相当详细的说明,以便与您的BBB一起使用基于主机的互联网共享。 Linux和Windows指令仍然很好,但是他们需要更新Yosemite的OS X信息 - Apple将他们的NAT和防火墙软件从ipfw和natd切换到pf。如果你尝试像杰森那样在他的视频中运行udhcpc,它的工作方式与他的相同。
回到OS X Yosemite的BBB SSH问题。以下是如何查看正在进行的操作:使用串行/ FTDI电缆连接到BBB,然后检查usb0的ip配置是否为beaglebone。
beaglebone:~# ifconfig -a usb0
usb0 Link encap:Ethernet HWaddr 0e:be:ff:00:ff:00 inet addr:192.168.7.2
Bcast:192.168.7.3 Mask:255.255.255.252
确认您可以ping共享其互联网连接的主机
beaglebone:~# ping 192.168.7.1
PING 192.168.7.1 (192.168.7.1) 56(84) bytes of data.
64 bytes from 192.168.7.1: icmp_req=1 ttl=64 time=0.681 ms
64 bytes from 192.168.7.1: icmp_req=2 ttl=64 time=0.533 ms
^C
尝试访问互联网IP(谷歌dns)
beaglebone:~# ping 8.8.8.8
connect: Network is unreachable
检查路由并确认没有默认路由,这就是上面的ping失败的原因(USB连接BBB默认设置为192.168.7.0/30网络,因此它只能达到192.168.7.0, .1,.2和.3地址)。
beaglebone:~# netstat -rn
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
192.168.7.0 0.0.0.0 255.255.255.252 U 0 0 0 usb0
所以如果你运行udhcpc,它会为你添加缺少的路径。你也可以直接添加路线,但你也需要设置dns,而与OS X互联网分享它不会改变BBB的IP地址 - 见本帖末尾的链接)
beaglebone:~# udhcpc -i usb0
udhcpc (v1.20.2) started
Sending discover...
Sending discover...
这里是udhcpc更改IP而不是仅重新使用192.168.7.2的地方。新IP与OS X Internet共享使用的IP范围兼容,因此可能是DHCP服务器返回的原因。
Sending select for 192.168.2.34...
Lease of 192.168.2.34 obtained, lease time 85536
udhcpc然后抛出错误,因为没有要删除的默认路由
/etc/udhcpc/default.script: Resetting default routes
SIOCDELRT: No such process
然后,udhcpc添加默认路由 - 请注意它是OS X Internet Sharing 192.168.2地址,而不是原始192.168.7。
/etc/udhcpc/default.script: Adding DNS 192.168.2.1
一切正常,因此您可以看到新路由并成功ping外部IP
beaglebone:~# netstat -rn
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
0.0.0.0 192.168.2.1 0.0.0.0 UG 0 0 0 usb0
192.168.2.0 0.0.0.0 255.255.255.0 U 0 0 0 usb0
beaglebone:~# ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_req=1 ttl=53 time=4.08 ms
64 bytes from 8.8.8.8: icmp_req=2 ttl=53 time=3.59 ms
^C
有几篇博客文章展示了如何永久设置:
Sharing OS X Internet Connection over USB to BeagleBone Black 和
答案 1 :(得分:2)
经过一番尝试和错误之后,这对我有用:
1.观看此视频:http://www.youtube.com/watch?v=Cf9hnscbSK8
2.如果您的BBB在2013年11月之后发货,而不是screen /dev/tty.usb*B 115200
使用screen /dev/tty.usb* 115200
,实际上您需要转到/dev
目录并检查tty.usbXXX
中哪个可用为您的BBB和屏幕它。就我而言,例如是tty.usb131
3.您继续执行视频中的步骤,直到opkg update
这是您需要通过互联网进行的操作
这就是它的全部内容。