Виж темите без отговор | Виж активните теми
Дата и час: Вто Апр 23, 2024 8:15 pm
Питане за Microchip TCPIP stack
Автор |
Съобщение |
miro_atc
Ранг: Форумен бог
Регистриран на: Нед Фев 26, 2006 5:52 pm Мнения: 10370 Местоположение: Добрич
|
Re: Питане за Microchip TCPIP stack
Провери... пусни и си и акулката да гледаш какво пращаш и от модула ако може да направиш дъмп какво получаваш. Една от възможностите е модула да си маже паметта. Неотдавна имахме не точно сходен, но свързан проблем. При затваряне на сокет модулът си бичи нотификация и изхвърля данните. Тогава много ме учуди обяснението им, че не искали да държат данните за да нямат мемори лийкове. В интерес на истината много бързо намериха решение, та не знам дали наистина имат каша със следенето на пакетите или беше само опит да се измъкнат. Но в случая ако наистина прибързано си маркират буферите като "свободни" следващия пакет ще маже предишния и ти през uart-а ще виждаш точно тафталогията дето описваш. Та просто направи дъмпове... и ще си проличи дали имаш повторени цели пакети или само омазани пакети.
|
Вто Фев 07, 2017 9:49 pm |
|
|
stoyanoff
Ранг: Форумен бог
Регистриран на: Чет Юни 25, 2009 12:01 pm Мнения: 2202
|
Re: Питане за Microchip TCPIP stack
Акулата нещо не я излъгах да гледа през USB. Това е частна мрежа и само през USB модем мога да се свържа. Имам LAN на модема и мога да се свързвам през него. Относително огледални са, но има някой разлики. Ще започна да сравнявам sequence полетата. Ако ги маркира прибързано ще бъде инкрементирано, иначе просто не стига отговора...
_________________www.elkran.com
|
Вто Фев 07, 2017 10:10 pm |
|
|
stoyanoff
Ранг: Форумен бог
Регистриран на: Чет Юни 25, 2009 12:01 pm Мнения: 2202
|
Re: Питане за Microchip TCPIP stack
Ще използвам тази тема, че имам малка засечка с TCPIP. Имам PPP TCPIP стек, който върви на контролер. Когато контролерчето се опита да ипрати някакви данни, по незнайни за мен причини, макар отрещната страна да изпраща само един пакет ACK(това наблюдавано с wireshark), при контролера пристигат няколко ACK(2-3), като всеки от тях съдържа потвърждение на част от данните. Примерно първият потвърждава 10 байта(ACK+10), вторият - още 1(АСК+11), третият още 2(АСК+13). Не знам защо става така.. Проблемът става, когато по някаква причина последният пакет ACK се загуби. Какво трябва да направи стека в тази ситуация? Какво трябва да ретрансмитне? Опитах да изпратя същия пакет с новите новите числа(АСК SEQ), но тогава отсрещната срана го регистрира като out of order. Опитах да ретрансмитна стария пакет, но не получавам никакъв ACK(а би трябвало според мен). Само данните, които не са потвърдени ли се пращат? Някакъв флаг ли трябва да вдигна? Благодаря!
_________________www.elkran.com
|
Вто Окт 31, 2017 1:01 pm |
|
|
Кой е на линия |
Потребители разглеждащи този форум: 0 регистрирани и 3 госта |
|
Вие не можете да пускате нови теми Вие не можете да отговаряте на теми Вие не можете да променяте собственото си мнение Вие не можете да изтривате собствените си мнения Вие не можете да прикачвате файл
|
|