Страниц: [1]
  Печать  
Автор Тема: Требуется помощь по настройке сетевых адаптеров  (Прочитано 1352 раз)
leSSSnik
Участник
*
Offline Offline

Сообщений: 2


Просмотр профиля
« : Ноября 29, 2015, 08:26:19 pm »

Добрый день уважаемые коллеги!

Прошу не пинать если спрашиваю что-то совсем простое, к сожалению в QNX я пытаюсь только сделать первые шаги.

И так ситуация: железный блок для автомобиля (мультимедиа, навигация и прочие сладости) с QNX (6 версия вероятнее всего) но по видимому сильно обрезанная(многих команд впринципе нет, тоесть предстоит добавлять).

В железе присутсвуют 3 сетевых адаптера (вероятно больше но интересуют пока 3)
1 - обычный LAN RG45 (разъем сзади)
2 - bluetooth адаптер умеющий использовать внешний телефон как интернет точку доступа (только для определенных и пока неясных целей)
3 - внешний USB модем (3G свисток), поднимающий сетевой адаптер при подключении и работающий как интернет точка доступа.

Проблема: В железе тоесть в автомобильном блоке имеется встроенный интернет браузер, простой но приятный для чтения новостей и прочего. Данный браузер сконфигурирован использовать ТОЛЬКО внешний USB модем как точку доступа в интернет (сконфигурирован как я понял на низком уровне, тоесть живых конфиг файлов нет, или не смог найти).
Ни bluetooth ни RG45 сетевые адаптеры совсем не желают работать как источник (Gateway) для интернет соеденения. Блок упирается и требует внешний модем (с AT командами и прочим).

Цель: Хочется попытаться переконфигурировать сетевые адаптеры в железке что бы внутренний интернет браузер начал использовать любое из доступных соеденений (например RG45 LAN) и брать оттуда соеденение. Для этой цели есть идея забриджить (bridge) два адаптера и попытаться заставить это работать.

Пример сконфигурированных route на рабочей связке блок в авто  + поддключенный 3G modem = интернет в броузере работает:
(sta0 = LAN RG45, ecm0 = внешний 3G modem c SIM картой)

Routing tables

Internet:
Destination        Gateway            Flags    Refs      Use    Mtu  Interface
0/1                172.16.223.2       UGS         0       18  33192  lo1 =>
default            192.168.1.1        UG          0        0      -  sta0   <------------ это наш RG45 включенный в домашний рутер
localhost          localhost          UH         85     2566  33192  lo0
128/1              172.16.223.2       UGS         0       18  33192  lo1
160.48.199.0/25    link#5             UC          0        0      -  sta0
160.48.199.224/28  link#6             UC          1        0      -  ecm0   <------------- это соответственно внешний 3G модем
ecm                00:00:00:c6:06:00  UHLc        1       17      -  ecm0
160.48.199.252/30  link#3             UC          0        0      -  mmipc0
169.254/16         link#5             UCS         1        0      -  sta0
172.16/16          192.168.1.1        UGS         2        0      -  sta0
172.16.222/24      link#7             UC          0        0      -  uap0
172.16.223.1       172.16.223.1       UH          0        0  33192  lo1
192.168.1/24       link#5             UC          2        0      -  sta0
192.168.1.1        40:f2:01:e3:fc:98  UHLc        2        0      -  sta0
192.168.1.105      6c:62:6d:d0:da:d1  UHLc        1      122      -  sta0


В нормальной конфигурации при подключении 3G внешнего modem поднимается сетевой адаптер с именем ecm0. Железка (блок авто) имеет адресс: 160.48.199.225 и 3G модем имеет адресс 160.48.199.226
Также встроенный сетевой адаптер (LAN Rg45) именуется sta0 и при подключении к домашнему рутеру (192.168.1.ххх) соответственно берет адресс а данном случае 192.168.1.212

sta0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        capabilities=1f<IP4CSUM,TCP4CSUM,UDP4CSUM,TCP6CSUM,UDP6CSUM>
        enabled=0
        address: 00:1c:d7:6a:b6:a6
        media: Ethernet none (100baseTX full-duplex)
        status: active
        inet 160.48.199.99 netmask 0xffffff80 broadcast 160.48.199.127
        inet alias 169.254.199.99 netmask 0xffff0000 broadcast 169.254.255.255
        inet alias 192.168.1.212 netmask 0xffffff00 broadcast 192.168.1.255
        inet6 fe80::21c:d7ff:fe6a:b6a6%sta0 prefixlen 64 scopeid 0x5
      
ecm0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
        address: 00:a0:c6:25:65:80
        inet 160.48.199.225 netmask 0xfffffff0 broadcast 160.48.199.239
        inet6 fe80::2a0:c6ff:fe25:6580%ecm0 prefixlen 64 scopeid 0x6


и собственно route

hu-intel:/dev/shmem> route show
Routing tables

Internet:
Destination        Gateway            Flags
0.0.0.0/1          172.16.223.2       UG
default            192.168.1.1        UG
localhost          127.0.0.1          UH
128.0.0.0/1        172.16.223.2       UG
160.48.199.0/25    link#5             U
160.48.199.224/28  link#6             U
ecm                00:00:00:c6:06:00  UHL
160.48.199.252/30  link#3             U
169.254.0.0/16     link#5             U
172.16.0.0/16      192.168.1.1        UG
172.16.222.0/24    link#7             U
172.16.223.1       172.16.223.1       UH
192.168.1.0/24     link#5             U
192.168.1.1        40:f2:01:e3:fc:98  UHL
192.168.1.105      6c:62:6d:d0:da:d1  UHL


В случае как я хотел бы сделать - когда никакого модема не подключенно по USB то естественно сетевой адаптер ecm0 не поднимается. Необходимо вероятно сделать network bridge ?? между ecm0 и sta0 и как то завязать их вместе. Думаю что по умолчанию интернет браузер пытается работать с адресом внешнего USB модема (160.48.199.226) так как там адресация установленна статически. Тоесть нужно не просто сделать bridge между ecm0 и sta0 а еще и в качестве gateway на sta0 должен быть адресс 160.48.199.225 = тоесть адресс 3G модема.
Возможно внешне подключенный ротер должен раздавать сетку не в 192.168.1.ххх а в 160.48.199.ххх и при этом сам роутер должен иметь адресс 160.48.199.225

Прав ли я и как этого можно достичь правильным образом?

Я пытался менять route но разобравшись понял что при отключенном внешнем USB модеме адаптер ecm0 не поднят и соответственно route здесь никак не поможет.
Как поднять ecm0 и bridge его к другому адаптеру если реально никакого внешнего USB модема для ecm0 не подключенно ?

Буду благодарен любой подсказке и пинку в нужном направлении. Хочется разобраться и понять а не просто услышать решение. Проводя аналогию с настройкой TCP IP под винду всё должно быть не так плохо, однако здесь больше QNX (Linux/Unix) специфика хотя смысл должен быть таким же.

Спасибо!
С уважением, Влад
Записан
Basil-64
Sr. Member
****
Offline Offline

Сообщений: 282



Просмотр профиля
« Ответ #1 : Ноября 29, 2015, 11:15:54 pm »

brconfig?
Записан

В жизни всегда есть место подвигу - главное быть подальше от этого места. Но никак не получается.
leSSSnik
Участник
*
Offline Offline

Сообщений: 2


Просмотр профиля
« Ответ #2 : Ноября 29, 2015, 11:51:00 pm »

brconfig?

Как я понял данная команда позволяет сконфигурировать network bridge
Судя по описанию (http://www.qnx.com/developers/docs/6.4.0/neutrino/utilities/b/brconfig.html) необходимо создать скрипт файл в /etc
Попробовал просто соеденить два адаптера: ecm0 и sta0 написав такой скрипт:
create
!brconfig $int add sta0 add ecm0 up

но к сожалению результата не последовало. Мне кажется что вначале надо как то создать/поднять сетевой адаптер с именем ecm0
Когда USB 3G модем отключен данный адаптер отсутствует в списке.
Записан
Страниц: [1]
  Печать  
 
Перейти в: