Я пытаюсь подключиться к устройству по link-local через IPv4. Я сделал все возможное, чтобы правильно настроить порт GigE.
- Когда я включаю устройство, в графическом интерфейсе Ubuntu (12.10) появляется значок, сообщающий, что я подключен к устройству.
ifconfig
показывает следующее дляeth1
:Link encap:Ethernet HWaddr 60:a4:4c:22:17:08 inet addr:169.254.148.88 Bcast:169.254.255.255 Mask:255.255.0.0 UP BROADCAST RUNNING MULTICAST MTU:100 Metric:1 RX packets:559 errors:0 dropped:0 overruns:0 frame:0 TX packets:2033 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:193414 (193.4 KB) TX bytes:203089 (203.0 KB) Interrupt:18 Memory:f7900000-f7920000
У меня есть программное обеспечение от поставщика, которое автоматически распознает устройство при запуске. Не вдаваясь в подробности, это в основном просто исполняемый файл C++, который предназначен для демонстрации предоставленного SDK путем поиска устройства и работы с ним. Я не думаю, что это проблема с кодом. SDK создан для Linux, но их техническая поддержка довольно неопытна в Ubuntu и думает, что проблема просто в том, как я настраиваю соединение.
- Более того, я подключил это устройство к той же машине, к тому же порту GigE, во время загрузки в Windows, и оно мгновенно распознается. Подключение показано здесь:
Я взял сетевую маску и IP-адрес из Windows и использовал их, ifonfig eth1 $IP netmask $netmask
чтобы они совпадали. Мне не очень нравится этот метод, так как в конечном итоге он должен будет работать на компьютере без Ubuntu GUI или раздела Windows.
Когда я просматриваю
dmesg
логи, я вижу, что соединение обнаружено, но получаю следующее сообщение:[ 4174.533981] e1000e: eth1 NIC Link is Down [ 4180.212770] e1000e: eth1 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: Rx/Tx [ 4180.216769] netlink: 12 bytes leftover after parsing attributes. [ 4180.216772] netlink: 12 bytes leftover after parsing attributes. [ 4180.216929] netlink: 12 bytes leftover after parsing attributes.
Я довольно новичок в Linux и совсем новичок в сетях. Но я бился головой об эту проблему и не добился никакого прогресса. Кто-нибудь знает что-нибудь о link-local или об ошибке разбора атрибутов, что могло бы дать мне какие-то предложения?
решение1
Похоже, что ваши сетевые настройки настроены неправильно. Комментарий RGS верен: выбрав локальную ссылку, вы гарантируете, что сетевое соединение не будет работать. IP-адрес, который вы указали и который автоматически работает, находится в диапазоне APIPA. Это не тот дрон, который вы ищете... Я имею в виду соединение.
http://packetlife.net/blog/2008/sep/24/169-254-0-0-addresses-explained/
Для проводного соединения вам нужно лишь подключить его к компьютеру; все остальное сделает Ubuntu.https://help.ubuntu.com/12.10/ubuntu-help/net-wired-connect.html
Если вы пытаетесь подключить два компьютера напрямую друг к другу, я бы рекомендовал назначить «статический IP-адрес» машине Ubuntu:https://help.ubuntu.com/12.10/ubuntu-help/net-manual.html
В этом случае задайте Ubuntu Machine следующие настройки:
IP-адрес: 169.254.146.89 Маска подсети: 255.255.0.0 Шлюз по умолчанию: 169.254.146.88 (или как там указано в качестве IP-адреса в окне того снимка экрана, который вы разместили, смысл в том, чтобы найти машину с Windows по ее IP-адресу)
Чтобы получить доступ к настройкам сети:
1. Из главного меню Dash (меню запуска Ubuntu, также доступное нажатием клавиши Windows) введите сеть и нажмите Enter. 2. Выберите Проводной/Беспроводной и включите его.
Вы перечислили очень подробную информацию, что хорошо. Однако вы не дали достаточно базовой информации, например:
1. Как вы подключаетесь: через маршрутизатор, коммутатор, модем или напрямую к другому компьютеру. 2. Желаемая настройка сети: DHCP, статическая, APIPA. 3. Сколько и какие устройства вы хотите подключить.
Ubuntu имеет некоторую документацию, направленную на то, чтобы провести вас через настройку. Пожалуйста, прочтите ее, прежде чем задавать вопрос в будущем.https://help.ubuntu.com/12.10/ubuntu-help/index.html