Перейти к содержанию
    

RNDIS usb0 + eth0 network interfaces одновременное использование

Добрый день! Запускаю на arm64 imx8 board сеть с использованием RNDIS интерфейса и eth0.

 

root@imx8m-var-dart:~# ifconfig

eth0      Link encap:Ethernet  HWaddr f8:dc:7a:1b:f1:ae
          inet addr:192.168.2.33  Bcast:192.168.2.255  Mask:255.255.255.0
          inet6 addr: fe80::fadc:7aff:fe1b:f1ae/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:3917 errors:0 dropped:0 overruns:0 frame:0
          TX packets:945 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:300204 (293.1 KiB)  TX bytes:233024 (227.5 KiB)

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:138 errors:0 dropped:0 overruns:0 frame:0
          TX packets:138 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:12968 (12.6 KiB)  TX bytes:12968 (12.6 KiB)

usb0      Link encap:Ethernet  HWaddr 26:16:ff:7d:bb:80
          inet addr:192.168.1.99  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::2416:ffff:fe7d:bb80/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:52 errors:0 dropped:0 overruns:0 frame:0
          TX packets:587 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:3416 (3.3 KiB)  TX bytes:131753 (128.6 KiB)

Включаю интерфейсы по отдельности, пинг проходит.

как только запускаю два интерфейса одновременно, то пингуется только тот, который был запущен первым

Роут у них общий

root@imx8m-var-dart:~# ip route
192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.33
192.168.1.0/24 dev usb0 proto kernel scope link src 192.168.1.99

разносил на разные подсети, проблема не решилась.

Что необходимо для корректной работы двух интерфейсов одновременно?
 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

inet addr:192.168.2.33  Bcast:192.168.2.255  Mask:255.255.255.0
192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.33

во второй строке не ошиблись?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

7 minutes ago, Jury093 said:

inet addr:192.168.2.33  Bcast:192.168.2.255  Mask:255.255.255.0

192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.33

во второй строке не ошиблись?

изменил IP и скопировал. правильно 192.168.2.0/24 

Я понимаю, что что-то неправильно делаю при реализации двух сетевых интерфейсов под linux.

Обязательно должно быть: 

- разные роут для каждого интерфейса

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Выложите полный вывод команд

netstat -rn

ip route

 

6 минут назад, Alexey_Rostov сказал:

Обязательно должно быть: 

- разные роут для каждого интерфейса

Не обязательно, может быть и один, но  роутер должен знать куда отправлять пакет и откуда его принимать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

5 minutes ago, magvrn said:

Выложите полный вывод команд

netstat -rn

ip route

 

 

 

root@imx8m-var-dart:~# netstat -rn
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
192.168.1.0     0.0.0.0         255.255.255.0   U         0 0          0 eth0
192.168.1.0     0.0.0.0         255.255.255.0   U         0 0          0 usb0

 

root@imx8m-var-dart:~# ip route
192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.33
192.168.1.0/24 dev usb0 proto kernel scope link src 192.168.1.99


Интерфейс usb0 имеет статический ip 192.168.1.99 для соединения с сервером с ip 192.168.1.100 port 0x5555, интерфейс eth0 используется пока для удаленной компиляции на плате imx8 c ПК.

После reboot и назначения ip для usb0 и eth0 пинг проходит только по интерфейсу eth0. При дебаге кода (тестовый tcp клиент), программа не выполняет connect() для usb0 интерфейса

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Выкладывайте как прописывали адресацию, и как и где дефолтрут. В таблице маршрутизации ничего нет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

8 minutes ago, magvrn said:

Выкладывайте как прописывали адресацию, и как и где дефолтрут. В таблице маршрутизации ничего нет.

Спасибо, проблему решил.

Подсети на imx8 разные выставил:

root@imx8m-var-dart:~# ip route
192.168.1.0/24 dev usb0 proto kernel scope link src 192.168.1.99
192.168.2.0/24 dev eth0 proto kernel scope link src 192.168.2.33

На ПК IP выставил 192.168.2.2.

Теперь пинг проходит по каждому интерфейсу

 

root@imx8m-var-dart:~# ping -I eth0 192.168.2.2
PING 192.168.2.2 (192.168.2.2) from 192.168.2.33 eth0: 56(84) bytes of data.
64 bytes from 192.168.2.2: icmp_seq=1 ttl=128 time=2.44 ms

--- 192.168.2.2 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms

root@imx8m-var-dart:~# ping -I usb0 192.168.1.100
PING 192.168.1.100 (192.168.1.100) from 192.168.1.99 usb0: 56(84) bytes of data.
64 bytes from 192.168.1.100: icmp_seq=1 ttl=64 time=0.699 ms
64 bytes from 192.168.1.100: icmp_seq=2 ttl=64 time=0.641 ms

--- 192.168.1.100 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1028ms


 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...