new123 0 28 января, 2019 Опубликовано 28 января, 2019 (изменено) · Жалоба Единственное, что могу посоветовать из своего опыта, если вдруг есть такая возможность, отключить проверку контрольной суммы на карте и пробовать смотреть, что там идет и что не так формируется. Но такие фишки есть не у всех карт. Изменено 28 января, 2019 пользователем new123 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
doom13 0 28 января, 2019 Опубликовано 28 января, 2019 · Жалоба WireShark-ом приём пакетов проверьте, если потеря есть, то и проблему в реализации передатчика ищите. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
excly 0 28 января, 2019 Опубликовано 28 января, 2019 · Жалоба 3 minutes ago, doom13 said: WireShark-ом приём пакетов проверьте, если потеря есть, то и проблему в реализации передатчика ищите. а wireshark скажет если есть потерянные пакеты? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
new123 0 28 января, 2019 Опубликовано 28 января, 2019 (изменено) · Жалоба если удастся включить проброс пакетов с битой контрольной суммой, то wireshark битые пакеты подсвечивает черным. ну а так в данные можно зашить какой то счетчик, смотреть что пришло, что нет. Может у вас каждый 256-ый пакет теряется. Косвенно что то можно углядеть. Изменено 28 января, 2019 пользователем new123 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
doom13 0 28 января, 2019 Опубликовано 28 января, 2019 · Жалоба Какая-то статистика там есть, надо смотреть, не помню. Но по значениям своего счётчика посмотрите, если пропуски есть, то ошибка однозначно в передатчике. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
excly 0 28 января, 2019 Опубликовано 28 января, 2019 · Жалоба 1 minute ago, doom13 said: Какая-то статистика там есть, надо смотреть, не помню. Но по значениям своего счётчика посмотрите, если пропуски есть, то ошибка однозначно в передатчике. пропуски есть точно. Я зашил в пакеты счетчик, пишу данные в файл, а потом через скрипт прогоняю и смотрю сколько пропущено. при потоке в 40Мбит потери около 0.02%, 80Мбит - 0.1%, 140Мбит - 0.3%. Как я понял это очень много. Но закономерности по шагу между потерянными пакетами я не вижу. Кроме как в констрейнах RGMII в чем еще может быть проблема? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
doom13 0 28 января, 2019 Опубликовано 28 января, 2019 · Жалоба Кто данные в файл пишет, WireShark? Если это ваша софтина, то возможно косяк в ней? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
iosifk 3 28 января, 2019 Опубликовано 28 января, 2019 · Жалоба 11 минут назад, excly сказал: Кроме как в констрейнах RGMII в чем еще может быть проблема? Полудуплекс? Столкновение пакетов в линии? Пропадание в свитчах "за самодельной картой"? Или работаете точка-точка в дуплексе? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
RobFPGA 27 28 января, 2019 Опубликовано 28 января, 2019 · Жалоба Приветствую! 17 minutes ago, excly said: пропуски есть точно. Я зашил в пакеты счетчик, пишу данные в файл, а потом через скрипт прогоняю и смотрю сколько пропущено. при потоке в 40Мбит потери около 0.02%, 80Мбит - 0.1%, 140Мбит - 0.3%. Как я понял это очень много. Но закономерности по шагу между потерянными пакетами я не вижу. Кроме как в констрейнах RGMII в чем еще может быть проблема? Ethernet не гарантирует доставку пакетов - потеря может быть как по "электрической" причине (помехи) так и про причине неготовности приемника - отсутствие свободного места в приемном буфере как в самой карте так и в TCP/IP стеке. Электрические проблемы видны по дропу пакетов по ошибке Ethernet frame CRC Ну а бороться с потерями в приемнике можно путем оптимизации параметров стека в PC. Так же можно попробовать включить для MAC в FPGA и сетевой кары в PC режим packet lossless - что то типа xon|xoff протокола на MAC уровне. В этом режиме приемник тормозить передатчик на время если видит что не может принять пакет. Но для начала не плохо бы вам проверить всю приемную часть генерируя пакеты с другого компа. Удачи! Rob. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
litv 0 28 января, 2019 Опубликовано 28 января, 2019 · Жалоба Размер буфера у приемной программы какой? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_pv 52 28 января, 2019 Опубликовано 28 января, 2019 · Жалоба Помимо борьбы с теряющимися пакетами, всё равно хоть что-то да будет теряться, если есть память, сделайте достаточно большое фифо с возможностью запросить потерявшийся пакет по номеру ещё раз. Такой очень простенький велосипедик на тему RUDP, только без подтверждений, тупо запрос на ещё посылку пакета ещё раз, если он потерялся. Ну а если достаточного количества памяти нет - придётся подтверждать доставку каждого пакета. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
iosifk 3 28 января, 2019 Опубликовано 28 января, 2019 · Жалоба 1 час назад, RobFPGA сказал: Но для начала не плохо бы вам проверить всю приемную часть генерируя пакеты с другого компа. Для начала в PHY есть режим цифровой лупбэк. Потом режим аналоговой лупбэк. Потом неплохо глаз посмотреть... Потом режим удаленной лупбэк. Проверьте, что свой софт не теряет пакеты... Ну а уж потом только с другого компа... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aaarrr 63 28 января, 2019 Опубликовано 28 января, 2019 · Жалоба 13 minutes ago, iosifk said: Для начала в PHY есть режим цифровой лупбэк. Потом режим аналоговой лупбэк. Потом неплохо глаз посмотреть... Потом режим удаленной лупбэк. Проверьте, что свой софт не теряет пакеты... Ну а уж потом только с другого компа... То есть самое простое (и вероятное) предлагаете оставить на потом? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
xvr 12 28 января, 2019 Опубликовано 28 января, 2019 · Жалоба 2 hours ago, excly said: Кроме как в констрейнах RGMII в чем еще может быть проблема? Если плату делали сами, то в разводке Ethernet части Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
RobFPGA 27 28 января, 2019 Опубликовано 28 января, 2019 · Жалоба Приветствую! 26 minutes ago, aaarrr said: То есть самое простое (и вероятное) предлагаете оставить на потом? "Нормальные герои всегда идут в обход ..." Может для начала на "компас" глянуть? netstat -s или netsh interface ipv4 show ipstats или netsh interface ipv4 show udpstats Удачи! Rob. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться