Jump to content
    

lwip NETCONN_TCP, netconn_new

в итоге в отладке вижу что :

1) физика находиться

image.thumb.png.6bc6191defaeb04838b64616b339ef23.png

2)

инициализация проходит

image.thumb.png.bc853dc4e45afd15503c4bb04440953a.pngimage.thumb.png.9a8107fd858bcce69d075ac3a1756772.png

3)

tcp_connect возвращает 0

image.thumb.png.a4c2175148f93ff2695471b02d34c980.png

4) 

брейкпоинты колбека tcp_connect

не срабатывают

image.thumb.png.66626f68d89dad3129f86de4315ced08.png

5)

акула также показывает что никакого соединения нет

image.thumb.png.3123df7b4fdc78c4839d3c974820b889.png

 

image.png

image.thumb.png.c9dd8d7ae46bc21aac0a8294cde3c568.png

Share this post


Link to post
Share on other sites

Рано вы tcp_connect смотрите, начните с обычного пинга вашей платы с ПК: ping 192.168.0.40. Пока видно, что на arp запросы со стороны платы компьютер ничего не отвечет, а значит что-то у вас на ПК неправильно настроено. Покажите весь вывод команды ipconfig, а не обрезанную часть. И пожалуйста - длинные простыни кода/картинок прячьте под спойлеры.

Share this post


Link to post
Share on other sites

да, пинга тоже нет, сделаю, хотя я в кубе настраивал ICMP, они включены 

Share this post


Link to post
Share on other sites

C:\Users\user>ipconfig/all

Настройка протокола IP для Windows

   Имя компьютера  . . . . . . . . . : DESKTOP-6KH0RCO
   Основной DNS-суффикс  . . . . . . :
   Тип узла. . . . . . . . . . . . . : Гибридный
   IP-маршрутизация включена . . . . : Нет
   WINS-прокси включен . . . . . . . : Нет

Адаптер беспроводной локальной сети Подключение по локальной сети* 9:

   Состояние среды. . . . . . . . : Среда передачи недоступна.
   DNS-суффикс подключения . . . . . :
   Описание. . . . . . . . . . . . . : Microsoft Wi-Fi Direct Virtual Adapter
   Физический адрес. . . . . . . . . : E4-0D-36-09-8C-7F
   DHCP включен. . . . . . . . . . . : Да
   Автонастройка включена. . . . . . : Да

Адаптер беспроводной локальной сети Подключение по локальной сети* 10:

   Состояние среды. . . . . . . . : Среда передачи недоступна.
   DNS-суффикс подключения . . . . . :
   Описание. . . . . . . . . . . . . : Microsoft Wi-Fi Direct Virtual Adapter #2
   Физический адрес. . . . . . . . . : E6-0D-36-09-8C-7E
   DHCP включен. . . . . . . . . . . : Да
   Автонастройка включена. . . . . . : Да

Адаптер Ethernet Ethernet:

   DNS-суффикс подключения . . . . . :
   Описание. . . . . . . . . . . . . : Realtek PCIe GbE Family Controller
   Физический адрес. . . . . . . . . : D4-93-90-32-B7-0A
   DHCP включен. . . . . . . . . . . : Нет
   Автонастройка включена. . . . . . : Да
   Локальный IPv6-адрес канала . . . : fe80::d94:46ec:cb46:2490%4(Основной)
   IPv4-адрес. . . . . . . . . . . . : 192.168.0.1(Основной)
   Маска подсети . . . . . . . . . . : 255.255.255.0
   Основной шлюз. . . . . . . . . : 192.168.0.3
   IAID DHCPv6 . . . . . . . . . . . : 97817488
   DUID клиента DHCPv6 . . . . . . . : 00-01-00-01-2F-78-28-78-D4-93-90-32-B7-0A
   DNS-серверы. . . . . . . . . . . : fec0:0:0:ffff::1%1
                                       fec0:0:0:ffff::2%1
                                       fec0:0:0:ffff::3%1
   NetBios через TCP/IP. . . . . . . . : Включен

Адаптер беспроводной локальной сети Беспроводная сеть:

   DNS-суффикс подключения . . . . . :
   Описание. . . . . . . . . . . . . : Intel(R) Wi-Fi 6E AX211 160MHz
   Физический адрес. . . . . . . . . : E4-0D-36-09-8C-7E
   DHCP включен. . . . . . . . . . . : Да
   Автонастройка включена. . . . . . : Да
   Локальный IPv6-адрес канала . . . : fe80::9858:2153:65cc:b961%8(Основной)
   IPv4-адрес. . . . . . . . . . . . : 192.168.1.105(Основной)
   Маска подсети . . . . . . . . . . : 255.255.255.0
   Аренда получена. . . . . . . . . . : 28 сентября 2025 г. 9:59:33
   Срок аренды истекает. . . . . . . . . . : 2 октября 2025 г. 9:10:00
   Основной шлюз. . . . . . . . . : 192.168.1.1
   DHCP-сервер. . . . . . . . . . . : 192.168.1.1
   IAID DHCPv6 . . . . . . . . . . . : 165940534
   DUID клиента DHCPv6 . . . . . . . : 00-01-00-01-2F-78-28-78-D4-93-90-32-B7-0A
   DNS-серверы. . . . . . . . . . . : 192.168.1.1
   NetBios через TCP/IP. . . . . . . . : Включен

Адаптер Ethernet Сетевое подключение Bluetooth:

   Состояние среды. . . . . . . . : Среда передачи недоступна.
   DNS-суффикс подключения . . . . . :
   Описание. . . . . . . . . . . . . : Bluetooth Device (Personal Area Network)
   Физический адрес. . . . . . . . . : E4-0D-36-09-8C-82
   DHCP включен. . . . . . . . . . . : Да
   Автонастройка включена. . . . . . : Да

C:\Users\user>ping 192.168.0.40

Обмен пакетами с 192.168.0.40 по с 32 байтами данных:
Превышен интервал ожидания для запроса.
Превышен интервал ожидания для запроса.
Ответ от 192.168.0.1: Заданный узел недоступен.
Превышен интервал ожидания для запроса.

Статистика Ping для 192.168.0.40:
    Пакетов: отправлено = 4, получено = 1, потеряно = 3
    (75% потерь)

C:\Users\user>ping 192.168.0.40

Обмен пакетами с 192.168.0.40 по с 32 байтами данных:
Ответ от 192.168.0.1: Заданный узел недоступен.
Ответ от 192.168.0.1: Заданный узел недоступен.
Ответ от 192.168.0.1: Заданный узел недоступен.
Ответ от 192.168.0.1: Заданный узел недоступен.

Статистика Ping для 192.168.0.40:
    Пакетов: отправлено = 4, получено = 4, потеряно = 0
    (0% потерь)

C:\Users\user>
 

Share this post


Link to post
Share on other sites

Всё верно. А какой MAC адрес у вашей платы? Выложите 2 небольших дампа wireshark (не картинки а .pcap файлы). В одном должны быть ARP запросы от платы (как на последней картинке, что вы выкладывали), в другом должны быть ARP запросы от ПК (при пинге они первыми в сеть полетят).

Share this post


Link to post
Share on other sites

Дополнительно следует добавить сеть 192.168.0.0/24 в доверенные в брэндмауэре/антивирусе, но это скорее для входящих соединений. На исходящие (в том числе и пинг) оно не должно влиять по идее, но лучше снять все возможные ограничения. Возможно после этого появятся потеряшки в акуле даже.

Share this post


Link to post
Share on other sites

спасибо за поддержку, вот еще скрин по колбекам, может здесь что не так, поэтому нет колбека после tcp_connect

image.thumb.png.4a604d63d0a661da2a7f3bf701a71ccc.png

image.thumb.png.7dd81cc2ef7bf2210bc18c6368408a6b.png

вот мак платы

image.thumb.png.c2317f930788f613da61b3e19b0b3a17.png

вот pcap

pcap.rar

pcap после отключение брендмаузера

 

pcap2.rar

Share this post


Link to post
Share on other sites

В обоих PCAP файлах вижу ARP запрос от ПК (в тот момент, когда делали ping), на которые нет ответа от платы. Мне так же нужен pcap файл с запросами от платы к ПК, который формируется когда плата пытается подключиться к ПК (как на этом вашем скриншоте):   увидел

 

Share this post


Link to post
Share on other sites

Что-то странное. Вот смотрите, откройте в Wireshark файл pcap2 и введите фильтр по IP и MAC вашей платы, чтобы убрать отображение лишних пакетов: 

Цитата

ip.addr == 192.168.0.40 || eth.addr == 00:80:E1:00:00:00

Там вот что видно:

1) С пакета 127 вы похоже пытаетесь подключиться с платы к ПК. Отправляется широковещательный опрос "какой мак адрес у устройства с ip 192.168.0.40?", на который ПК в пакете 128 отвечает. Ожидается, что после этого начнётся установление tcp сессии, но этого не происходит. Далее видно ещё несколько подобных запросов, ПК на них всегда корректно отвечает. 

2) Когда вы делаете пинг: в начале ПК должен узнать MAC адрес платы. Arp запрос он не делает, потому что ранее плата сама анонсировала себя в сети (пакет 126 и подобные), проверить это можно введя в консоле команду:

Цитата

arp -a

Там в таблице вы должны найти запись о плате (в одной строке её ip и mac). ПК такую запись себе уже сделал, поэтому с пакета 889 сразу отправляет ICMP запрос (пинг) плате, но не получает ответа.

 

Вывод: Причин такого поведения может быть несколько. Большую часть из них можно исключить, если у вас заработает пинг. Пока я склоняюсь к тому, что у вас просто не корректно работает приём пакетов из сети на плате. Выдаёт она пакеты исправно, а сама ничего не принимает, поэтому и до работы tcp дело не доходит. Сделайте следующее:

1) подключите плату. В wireshark убедитесь что она после загрузки в сеть ничего не шлёт.

2) спустя какое-то время на ПК введите

Цитата

ard -d

это очистит на ПК arp таблицу (консоль нужно запустить от администратора)

3) Сделайте пинг платы. 

Вот теперь первым пакетом от ПК будет широковещательный запрос в сеть  "какой мак адрес у устройства с ip 192.168.0.1?" на который плата должна ответить. Не ответит - значит она пакеты из сети точно не не принимае. В поисках причины вам поможет вывод отладочной информации LWIP, вот тут описано использовать: https://microsin.net/programming/arm/lwip-debug-output.html

Share this post


Link to post
Share on other sites

прошу прощения, поменял плату и появлился пинг

image.thumb.png.4bb38247b45df4b8787ba732f12d84b4.png

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

 

pcap3.rar

image.thumb.png.7040b2e4970bcebdfed9c177f8a5f8e7.png

Share this post


Link to post
Share on other sites

Другое дело. Здесь сразу видно что сеть работает. Что ваша плата честно пытается установить tcp соединение (пакет 146), но ПК ей отказывает (пакет 147). Поэтому и никакие коллбеки у вас в коде не работают. А теперь проверьте, что именно вам возвращают функции tcp_connect, tcp_write и прочие, которые вы вызываете. Вот расшифровка возвращаемых значений: https://www.nongnu.org/lwip/2_1_x/group__infrastructure__errors.html#gaf02d9da80fd66b4f986d2c53d7231ddb  Скорее всего tcp_connect возвращает вам ERR_RST, и скорее всего причина в том, что на ПК никто не слушает тот порт, к которому вы подключаетесь. 

image.thumb.png.957f292ba2d8d972f0c3fb7daaeabc44.png

Share this post


Link to post
Share on other sites

Посмотреть, слушает ли кто-то порт 80, на который пытается подключиться плата можно через netstat (команда для cmd), ну или лучше использовать tcpview от Руссовича (брать на сайте M$).

Share this post


Link to post
Share on other sites

спасибо большое за поддержку!

У меня был port 80, попробовал с портом 5024, тоже самое

В обоих случаях tcp_connect возвращает 0

image.thumb.png.27aecd81714e325afefa46fa56431fcc.png

 

pcap4.rar

tcp_write тоже 0 возвращает

image.thumb.png.ad028d656cc65705a63b8b1e5578194d.png

image.thumb.png.46fab9e508908dd9f4c601c3b8f68341.png

 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...