Официальный форум СВД Встраиваемые Системы
15 Декабря, 2017, 17:14:10 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.

Войти
 
 
 Сайт СВД ВС  Начало   Помощь Поиск Войти Регистрация  
Страниц: [1]   Вниз
  Печать  
Автор Тема: Запуск 2-х экземплятов io-pkt  (Прочитано 428 раз)
LH
Опытный пользователь

Сообщений: 285


« : 02 Декабря, 2016, 12:58:37 »

В ПК имеются 2 сетевых интерфейса, нужно организовать независимую работу 2-х менеджеров сети с протоколом TCP-IP в 2-х разных подсетях.


#io-pkt-v4-hc -i1 -de1000 pci=0

nicinfo показывает сетевое устройство wm0 c mak-адресом 1-го интерфейса


#io-pkt-v4-hc -pqnet -i2 -de1000 pci=1

nicinfo показывает сетевое устройство wm0 c mak-адресом 2-го интерфейса


#pidin | grep io-pkt показывает старт 2-х экземпляров менеджера сети io-pkt-v4-hc.


Какую опцию нужно указать при запуске io-pkt-v4-hc ,  чтобы видеть оба устройства wm0 и wm1 c помощью nicinfo и ifconfig ?


Спасибо.

Записан
Андрей Панченко
Сотрудник СВД ВС
Пользователь

Сообщений: 94



WWW
« Ответ #1 : 02 Декабря, 2016, 13:39:07 »

Нужно ещё указывать префикс

Цитировать
-i instance
    The stack instance number, which is useful if you're running multiple instances of io-pkt. The io-pkt manager will service mount requests of type io-pktX, where X is the instance number. For example:

    io-pkt-v4 -i1 -ptcpip prefix=/alt

По умолчанию префикс = /

Предлагаю так:

io-pkt-v4-hc -de1000 pci=0
io-pkt-v4-hc -pqnet -ptcpip prefix=/alt -i1 -de1000 pci=1

работа с первым io-pkt производится как обычно, для работы со вторым утилитам следует указывать переменную окружения SOCK=/alt

SOCK=/alt ifconfig
SOCK=/alt nicinfo
...
Записан

Сотрудник СВД Встраиваемые Системы
LH
Опытный пользователь

Сообщений: 285


« Ответ #2 : 02 Декабря, 2016, 14:03:01 »

Cпасибо, вроде бы с SOCK=/alt есть доступ ко второму интерфейсу.

Теперь проблема с запуском первого интерфейса:

после загрузки ОС ( драйверы стартуют по-умолчанию через enum )
#nicinfo
показывает для 1-го и 2-го интерфейса скорость 100мБ/c, full-duplex

Далее вручную:
#slay io-pkt-v4-hc
#io-pkt-v4-hc -de1000 pci=0
#nicinfo
показывает для 1-го интерфейса скорость 0 kb/s, halfl-duplex

Так же не помогает запуск
#io-pkt-v4-hc -de1000 pci=0 duplex=1 speed=100

А для второго интерфейса при Вашем варианте запуска все нормально: 100 мБ/с , full-duplex.

Как "правильно" запустить первый интерфейс вручную?

---

Так же просьба дать ссылку на последнюю версию драйвера devnp-e1000.so

По этой ссылке

http://community.qnx.com/sf/wiki/do/viewPage/projects.bsp/wiki/DevnpE1000.so

cкачать не удается

« Последнее редактирование: 02 Декабря, 2016, 14:05:47 от LH » Записан
Андрей Панченко
Сотрудник СВД ВС
Пользователь

Сообщений: 94



WWW
« Ответ #3 : 02 Декабря, 2016, 15:04:36 »

Насколько я помню для второго интерфейса вы запускаете ещё qnet, именно он поднимает интерфейс,
для первого интерфейса попробуйте сделать ifconfig wm0 up
Записан

Сотрудник СВД Встраиваемые Системы
LH
Опытный пользователь

Сообщений: 285


« Ответ #4 : 03 Декабря, 2016, 11:24:41 »

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

Но проблема осталась.

Описание проблемы:

в сети работают 2 компьютера ПК1, ПК2, у каждого по 2 сетевых интерфейса.

На каждом ПК1 и ПК2 запускается по 2  менеджера сети io-pkt-v4-hc, По одному io-pkt-v4-hc - на каждый сетевой интерфейс.

На первом сетевом интерфейсе ПК1 и первом сетевом интерфейсе ПК2 io-pkt-v4-hc поддерживает только протокол TCP-IP.
Интерфейсы настроены на разные подсети( 192.168.1.1 и 192.168.3.2 cоответственно) .
Менеджерам io-pkt-v4-hc повышен приоритет до значения 24.

Для второго сетевого интерфейса ПК1 и ПК2 вторые io-pkt-v4-hc поддерживают как TCP-IP так и qnet протоколы. Интерфейсы настроены на
третью подсеть( 192.168.2.1 и 192.168.2.2 cоответственно) . Через эту сеть ПК1 и ПК2 "видят" друг друга как по qnet , так и "пингуются" по TCP-IP.

К первому сетевому интерфейсу ПК1 и ПК2 по отдельным кабелям подключены измерительные контроллеры ИК1 и ИК2, с которыми по TCP-IP ведется прием данных программами обслуживания ( по одному экземпляру программы на ПК1 и ПК2).

Т.о. прием данных от ИК1 на ПК1 и от ИК2 на ПК2 разделен как физически ( по разным кабелям ),
так и программно - через индивидуальные экземпляры io-pkt-v4-hc.

закономерность:

- Если идет прием данных только от ИК1 на ПК1, и не идет прием данных от ИК2 на ПК2, то данные с ИК1 на ПК1 поступают ритмично
с максимальной неравномерностью -+2 мс (миллисекунды) между порциями данных.

- Если идет прием данных как от ИК1 на ПК1, так и от ИК2 на ПК2, то при приеме данных от ИК1 на ПК1 возникают изредка и без определенного периода  задержки длительностью 30-40 мс.

Вот с этими задержками пытаемся бороться.

Как можно объяснить влияние приема данных с ИК2 на ПК2 на ритмичность приема данных с ИК1 на ПК1 при описанном
разделении сетей, протоколов, интерфейсов?

Спасибо.
« Последнее редактирование: 05 Декабря, 2016, 16:52:37 от LH » Записан
Андрей Панченко
Сотрудник СВД ВС
Пользователь

Сообщений: 94



WWW
« Ответ #5 : 05 Декабря, 2016, 10:02:29 »

то при приеме данных от ИК1 на ПК2
Имелось в виду с ИК1 на ПК1?
Записан

Сотрудник СВД Встраиваемые Системы
LH
Опытный пользователь

Сообщений: 285


« Ответ #6 : 05 Декабря, 2016, 16:53:04 »

Извините, исправил опечатку. Да, с ИК1 на ПК1.
Записан
Андрей Панченко
Сотрудник СВД ВС
Пользователь

Сообщений: 94



WWW
« Ответ #7 : 05 Декабря, 2016, 17:54:25 »

Задержки возникают, когда параллельно обмену ИК1 <=> ПК1, ИК2 <=> ПК2 происходит обмен через вторые интерфейсы ПК1 и ПК2?

Приложите выводы
pci -vvv
pidin -P io-pkt-v4-hc
pidin -P io-pkt-v4-hc mem
pidin -P io-pkt-v4-hc ar
Записан

Сотрудник СВД Встраиваемые Системы
LH
Опытный пользователь

Сообщений: 285


« Ответ #8 : 06 Декабря, 2016, 08:03:10 »

Запрошенный вывод прикладываю во вложениях.

Записан
Андрей Панченко
Сотрудник СВД ВС
Пользователь

Сообщений: 94



WWW
« Ответ #9 : 06 Декабря, 2016, 13:44:21 »

Опция -P для io-pkt-v4-hc задаёт приоритет основного потока
Попробуйте также задать приоритет принимающего потока, например:
io-pkt-v4-hc -P 24 -ptcpip rx_prio=24
Записан

Сотрудник СВД Встраиваемые Системы
LH
Опытный пользователь

Сообщений: 285


« Ответ #10 : 06 Декабря, 2016, 16:12:22 »

Спасибо за поддержку.

У нас странная ситуация.

Для устранения "длинных задержек" оказалось достаточно переключить ИК1 и ИК2 ко 2-м сетевым интерфейсам ПК1 и ПК2.

У нас используется процессорная плата PCA-6208

http://downloadt.advantech.com/ProductFile/PIS/PCA-6028/Product%20-%20Datasheet/PCA-6028_DS(08.01.16)20160801102734.pdf

Используем последнюю версию devnp-e1000.so отсюда
http://community.qnx.com/sf/wiki/do/viewPage/projects.bsp/wiki/ExperimentalDriversAndUtilities

Задержки исчезли и при запуске одного экземпляра io-pkt-v4-hc на оба сетевых интерфейса
и при подключении всех сетевых разъемов к общему  сетевому коммутатору.

Только для ИК1 и ИК2 остались отдельные подсети.

В чем причина - не понятно...  Undecided



Записан
Андрей Панченко
Сотрудник СВД ВС
Пользователь

Сообщений: 94



WWW
« Ответ #11 : 06 Декабря, 2016, 18:09:59 »

Интерфейсы представлены разными контроллерами, и код работы с ними может быть разный, в том числе обработка прерываний.
Определения причин различного поведения конфигураций требует более глубокого изучения и отладки. Например, если задержки возникают достаточно часто, можно было бы попробовать найти их с инструментальным ядром, собрав лог tracelogger.
Записан

Сотрудник СВД Встраиваемые Системы
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP © 2002-2017 СВД Встраиваемые Системы.
При использовании материалов сайта ссылка на forum.kpda.ru обязательна.

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines | © Aiwan. Kolobok smiles | Sitemap
Valid XHTML 1.0! Valid CSS!
Сайт СВД ВС

В последний раз google посещал эту страницу 06 Декабря, 2017, 05:16:07