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

LwIP, STM32F, ошибка -15, соединение закрыто

Доброго дня. 

Пытаюсь подключится к IP видеокамере у которой на борту ПО распознавания номерных знаков своим контролером на STM32F407. Использую для откладки Keil, Wereshark для просмотра пакетов по сети, Postman для для отправки запросов (получения ответов) API камере и Netcat для проверки соединения между контроллером и сервером. На STM32 использую стек протоколов LWIP. Суть проблемы, при подключении по IP  камеры, выполняя функцию  netconn_connect(netc, &remote_ip, 80); нет ошибки соединения, но следующая за ней функция netconn_recv(netc, &netb); возвращает ошибку -15 ( соединение закрыто). При этом в Wereshark нет ни одного пакета с запросом на соединение или ответа. Если изменить только IP удаленного адреса с камеры на любой другой серверный, к примеру Netcat (IP компа где запускается Netcat), то стартовые запросы и ответы SYN, ACK и т.д. видны в  Wereshark. Соединение проходит как положено.  Ping проходит на все сетевые устройства сети. Так же через Postman проходят все нужные запросы API и ответы на камеру. Я не понимаю как netconn_connect(netc, &remote_ip, 80)  устанавливает соединение при этом по сети нет пакетов, они наверно есть и вероятно по протоколу который не поддерживает  Wereshark и это не ARP и не ICMP. Прошу пояснить проблему,  кто знает более глубоко процесс соединения сетевых устройств чем я .

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


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

On 11/20/2022 at 1:50 PM, Met said:

Так же через Postman проходят все нужные запросы API и ответы на камеру. Я не понимаю как netconn_connect(netc, &remote_ip, 80)  устанавливает соединение при этом по сети нет пакетов

Пакеты проходят мимо компьютера и поэтому Wireshark их не отображает.

Вам надо на компе поставить вторую сетевую карту. Компьютер станет мостом и тогда вы увидите все пакеты в сети.

И хорошо бы было, если бы вы предоставили схему вашей сети. Кто куда подключен физически и кто с кем общается.

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


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

Чем вторую карту ставить лучше взять свич с зеркалированием порта. Что то типа tp-link TP 105E ( именно с буквой E на конце). Ну и настроить зеркалирование правильно. https://www.tp-link.com/ru/support/faq/528/

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


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

STM, компьютер, камеру подключены в свичу ?
Да - ничего и не будет на компьютере.
Возьмите простой хаб.

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


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

On 11/20/2022 at 3:01 PM, khach said:

Чем вторую карту ставить лучше взять свич с зеркалированием порта. Что то типа tp-link TP 105E ( именно с буквой E на конце). Ну и настроить зеркалирование правильно. https://www.tp-link.com/ru/support/faq/528/

Предложенный вами свитч, стоит порядка 1300 руб.

Сетевая карта от 300 - 400 руб. начинается.

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


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

Переключил через второю сетевую карту, у меня было такое подключение, и на самом деле в этом варианте есть от контроллера пакеты ARP  с запросом MAC адреса  видеокамеры, от камеры ARP ответа нет. Ну и других видимых обменов пакетами нет. Хотя если кабель контроллера отключить от сети в процессе работы контроллера, во время ожидания ответа от видеокамеры. Видеокамера начинает посылать   пакеты ARP  с запросом MAC адреса  контроллера. Получается, что она удерживала соединение с контроллером. Но ни каких видимых обменов пакетами все равно нет. 

Сейчас stm, камера, комп - все вставлено в свич. 

 

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


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

Лучше мысли чем предположить что контроллер ждет от камеры ответа по протоколу ARP со  своим MACом, у меня нет. И закрывает соединение по тайм-айту, отсюда и ошибка -15. 

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


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

2 часа назад, Met сказал:

есть от контроллера пакеты ARP  с запросом MAC адреса  видеокамеры

Широковещательные

2 часа назад, Met сказал:

от камеры ARP ответа нет

Потому что они адресные и адресат не компьютер.

2 часа назад, Met сказал:

Хотя если кабель контроллера отключить от сети в процессе работы контроллера, во время ожидания ответа от видеокамеры. Видеокамера начинает посылать   пакеты ARP  с запросом MAC адреса  контроллера

Тоже широковещательные.

2 часа назад, Met сказал:

Сейчас stm, камера, комп - все вставлено в свич. 

Может именно поэтому вы и видите не все пакеты?

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


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

5 часов назад, dimka76 сказал:

Предложенный вами свитч, стоит порядка 1300 руб.

Сетевая карта от 300 - 400 руб. начинается.

Согласен, управляемый свич дорогой. Но только с ним при зеркалировании портов удавалось разобраться со всякими неприятными штучками типа флуда широковещательных пакетов итд. Винда с двумя картами резала траффик и ситуация не воспроизводилась.

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


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

On 11/20/2022 at 6:02 PM, Met said:

Переключил через второю сетевую карту

Камера -> первая сетевая карта компьютера.

STM32 -> вторая сетевая карта компьютера.

Вот так должно быть.

На компе Wireshark. Тогда вы увидите все пакеты между камерой и STM32.

 

On 11/20/2022 at 9:18 PM, khach said:

Винда с двумя картами резала траффик и ситуация не воспроизводилась.

Может у меня не такой большой трафик был, но у меня ничего не резала.

Точнее у меня очень маленький трафик был.

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


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

42 минуты назад, dimka76 сказал:

Точнее у меня очень маленький трафик был.

Ну у меня еще именно для камеры в случае компа в разрыве линка были проблемы c jambo frame ( длинными пакетами) - винда их резала в что то непонятное.

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


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

На самом деле в десктоп все равно вторую карту надо ставить чтобы мирроренный порт свича смотреть. Ну или ноутбук, как в моем случае, а основная сеть и интернет тогда по wifi был подключен.

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


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

Я проверил все эти варианты, коммутатор с зеркалированием портов, с выводом этого порта на другую сетевую карту, ни чего нового). Виден только шировешательный пакет ARP от контроллера, ну и т.д., что писал выше. 

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


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

А ARP запрос от STM к  камере проходит? STM вообще знает MAK адре камеры к моменту начала соединения? Или это не одноранговая сеть? Пингануть с STM камеру есть возможность и шарком протокол пинга посмотреть?

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


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

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

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

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

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

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

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

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

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

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