Шаги по совместному использованию Интернета с BeagleBone Black с помощью USB из OS X

Уже пробовал:

  1. Подключите BBB с USB к iMac
  2. Поделитесь Интернетом с доской из Системных настроек-> Общий доступ
  3. ssh к плате, а затем попробуйте udhcp -i usb0

Вот что он говорит:

  1. udhcpc (v1.20.2) started
  2. Застревает, и я получаю и ошибка: Write failed: Broken pipe
  3. ssh выходит

Любые подсказки?


person wees    schedule 21.05.2014    source источник
comment
Я не уверен в ответе, но у меня есть несколько предложений: попробуйте использовать последовательное соединение на BBB, чтобы увидеть, что происходит, когда вы запускаете udhcpc, вам, вероятно, потребуется перенастроить USB-устройство для использования dhcp вместо статического IP-адреса. , в /etc/network/interfaces Также лучше всего выполнять такую ​​​​настройку через последовательный порт, поэтому, если вы забиваете сеть, вы все равно можете получить доступ к устройству.   -  person Jason Lewis    schedule 26.05.2014
comment
Эта статья указывает на проблемы с общим доступом к сети BBB и OSX и предлагает возможное решение, но я его не пробовал: groups.google.com/forum/#!topic/beagleboard/5yoQWMNfvH4   -  person Jason Lewis    schedule 26.05.2014


Ответы (2)


Ваш сеанс SSH зависает, потому что вы подключены к usb0, а команда udhcpc изменила для него IP-адрес! На данный момент на другом конце вашего сеанса ssh ничего не прослушивается, поэтому ssh-клиент вашего локального компьютера в конечном итоге выходит из строя с ошибкой сломанного канала и завершает работу.

Очевидный обходной путь — подключиться к IP-адресу через tty.usbserial вместо ssh. Вы могли бы подумать, что назначенный IP-адрес USB-порта не должен меняться. Читайте дальше, чтобы понять, что происходит.

Большинство людей, впервые использующих BBB, подключают их напрямую к компьютеру, подключенному к Интернету, с помощью прилагаемого USB-кабеля. Это именно то, что проектировщики BBBs намеревались сделать для вас, и они проделали фантастическую работу с начальной веб-страницей BBB.

Этот хост-компьютер разделяет это соединение по-разному, хотя в зависимости от того, является ли это Windows, OS X или Linux, и то, как вы это делаете, зависит от версии ОС, которую вы используете.

Дерек Моллой (Исследование BeagleBone) и Джейсон Криднер (Youtube OS X Beaglebone video) содержат довольно подробные инструкции по использованию общего доступа к Интернету на основе хоста с вашим BBB. Инструкции для Linux и Windows по-прежнему хороши, но им необходимо обновить информацию OS X для Yosemite — Apple переключила свое программное обеспечение NAT и брандмауэра на pf с ipfw и natd. Если вы попытаетесь запустить udhcpc, как это сделал Джейсон в своем видео, это не сработает так же, как у него.

Итак, вернемся к вашей проблеме BBB SSH с OS X Yosemite. Вот как можно увидеть, что происходит: подключитесь к BBB с помощью последовательного/FTDI-кабеля, затем проверьте ip-конфигурацию usb0 на наличие 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

подтвердите, что вы можете пропинговать хост, который разделяет его подключение к Интернету

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-адресу в Интернете (google dns)

beaglebone:~# ping 8.8.8.8
connect: Network is unreachable

проверьте маршруты и подтвердите, что исходящий маршрут по умолчанию отсутствует, поэтому описанный выше пинг не удался (подключенный через 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 он не будет работать без изменения IP-адреса BBB - см. ссылки в конце этого сообщение)

beaglebone:~# udhcpc -i usb0
udhcpc (v1.20.2) started
Sending discover...
Sending discover...

и вот где udhcpc меняет IP-адрес, а не просто повторно использует 192.168.7.2. Новый IP-адрес совместим с диапазоном IP-адресов, используемым OS X Internet Sharing, поэтому, возможно, именно поэтому 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

все заработало, теперь вы видите новый маршрут и успешно пингуете внешний 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

Есть несколько сообщений в блоге, которые показывают, как настроить это навсегда:

Общий доступ к Интернет-подключению OS X через USB к BeagleBone Black< / а> и

Изменение IP-адреса usb0 на BeagleBone Black

person Brad Nicholas    schedule 01.06.2015

После нескольких проб и ошибок у меня сработало следующее:
1. Посмотрите это видео: http://www.youtube.com/watch?v=Cf9hnscbSK8
2. Если ваш BBB был отправлен после ноября 2013 года, вместо screen /dev/tty.usb*B 115200 используйте screen /dev/tty.usb* 115200, а на самом деле вам нужно перейти в каталог /dev и проверить какой из tty.usbXXX доступен для вашего BBB и просмотрите его. Например, в моем случае это было tty.usb131
3. Вы продолжаете шаги, как в видео, до opkg update, что вам нужно сделать через Интернет

И что это все об этом.

person wees    schedule 27.05.2014