Форум Микро-Чип
Поиск и заказ электронных компонентов
 

Вернуться   Форум Микро-Чип > Cетевые протоколы и технологии

Cетевые протоколы и технологии TCP/IP стек

Ответ
 
Опции темы Опции просмотра
Старый 21.12.2016, 16:04   #1
Petr
Senior Member
 
Аватар для Petr
 
Регистрация: 25.02.2007
Возраст: 46
Сообщений: 1,734
Вес репутации: 3438/90
Petr has a reputation beyond reputePetr has a reputation beyond reputePetr has a reputation beyond reputePetr has a reputation beyond reputePetr has a reputation beyond reputePetr has a reputation beyond reputePetr has a reputation beyond reputePetr has a reputation beyond reputePetr has a reputation beyond reputePetr has a reputation beyond reputePetr has a reputation beyond repute
По умолчанию Android VS LwIP

Добрый день всем!

Я тут делаю вот такие (подобные) контроллеры:
http://www.bobrovnik.ru/index.php?ar...f5e52922b40323
Это STM32F107 + LwIP + все остальное мое.
И все бы ничего, пока используется ПК и локальная сетка.
Но тут я решил все это проверить на мобиле.
Включил Wi-Fi и попытался залезть на сайт.
Никак!
Начал уточнять суть проблемы.

1) Вот это устройство:
http://www.bobrovnik.ru/index.php?ar...c&page=intconv
по тому же IP и в той же сети отлично работает из Хрома на Android.
2) Установил "TCP/IP Terminal" под Андроид и выяснил, что TCP соединение (по порту 80 конечно) к микрочиповской либе устанавливается нормально (работа браузера уже вторична тут).
А вот TCP к LwIP не устанавливается.
3) Если по этому же Wi-Fi подключить ноут, то TCP нормально устанавливается к обоим устройствам.

Суть вопроса - почему это происходит?
И второе - чем бы посмотреть трафик(пакеты) в Android?
Это конечно прояснило бы проблему. Но не нашел чем это можно сделать.

Есть подозрения, что не принимаются какие то параметры TCP, но что там может быть не так в принципе непонятно.
Petr вне форума   Ответить с цитированием
Старый 21.12.2016, 18:00   #2
Рак
Senior Member
 
Регистрация: 02.04.2008
Адрес: Кременчуг
Возраст: 31
Сообщений: 1,278
Вес репутации: 2210/69
Рак has a reputation beyond reputeРак has a reputation beyond reputeРак has a reputation beyond reputeРак has a reputation beyond reputeРак has a reputation beyond reputeРак has a reputation beyond reputeРак has a reputation beyond reputeРак has a reputation beyond reputeРак has a reputation beyond reputeРак has a reputation beyond reputeРак has a reputation beyond repute
По умолчанию Re: Android VS LwIP

Цитата:
Сообщение от Petr Посмотреть сообщение
Добрый день всем!

Я тут делаю вот такие (подобные) контроллеры:
http://www.bobrovnik.ru/index.php?ar...f5e52922b40323
Это STM32F107 + LwIP + все остальное мое.
И все бы ничего, пока используется ПК и локальная сетка.
Но тут я решил все это проверить на мобиле.
Включил Wi-Fi и попытался залезть на сайт.
Никак!
Начал уточнять суть проблемы.

1) Вот это устройство:
http://www.bobrovnik.ru/index.php?ar...c&page=intconv
по тому же IP и в той же сети отлично работает из Хрома на Android.
2) Установил "TCP/IP Terminal" под Андроид и выяснил, что TCP соединение (по порту 80 конечно) к микрочиповской либе устанавливается нормально (работа браузера уже вторична тут).
А вот TCP к LwIP не устанавливается.
3) Если по этому же Wi-Fi подключить ноут, то TCP нормально устанавливается к обоим устройствам.

Суть вопроса - почему это происходит?
И второе - чем бы посмотреть трафик(пакеты) в Android?
Это конечно прояснило бы проблему. Но не нашел чем это можно сделать.

Есть подозрения, что не принимаются какие то параметры TCP, но что там может быть не так в принципе непонятно.
...
P.S. Прозевал, что дело в TCP
Рак вне форума   Ответить с цитированием
Старый 21.12.2016, 18:11   #3
Petr
Senior Member
 
Аватар для Petr
 
Регистрация: 25.02.2007
Возраст: 46
Сообщений: 1,734
Вес репутации: 3438/90
Petr has a reputation beyond reputePetr has a reputation beyond reputePetr has a reputation beyond reputePetr has a reputation beyond reputePetr has a reputation beyond reputePetr has a reputation beyond reputePetr has a reputation beyond reputePetr has a reputation beyond reputePetr has a reputation beyond reputePetr has a reputation beyond reputePetr has a reputation beyond repute
По умолчанию Re: Android VS LwIP

Цитата:
Сообщение от Рак Посмотреть сообщение
...
P.S. Прозевал, что дело в TCP
Я даже не исключаю возможность того, что дело и в IP пакетах (что уж странно).
Но все осложняется тем, что я легко могу поймать эти "рукопожатия" тем же Шарком и сравнить все поля и флаги как по IP заголовку, так и по TCP заголовку. По микрочиповской либе и отдельно по LwIP либе.
И я так и сделаю конечно.
Но это полумеры и потеря времени (я их уже смотрел и вроде там все гладко).
А вот как словить пакеты от мобилы - не придумал!?
Они же идут мимо моего компа (мобила-роутер-железка)
и как ловить???
Хорошо бы на Ведроид поставить что то для ловли. Но что?
Petr вне форума   Ответить с цитированием
Старый 21.12.2016, 18:17   #4
IceS
Super Moderator
 
Регистрация: 01.03.2007
Адрес: St. Petersburg
Возраст: 38
Сообщений: 3,249
Вес репутации: 3684/107
IceS has a reputation beyond reputeIceS has a reputation beyond reputeIceS has a reputation beyond reputeIceS has a reputation beyond reputeIceS has a reputation beyond reputeIceS has a reputation beyond reputeIceS has a reputation beyond reputeIceS has a reputation beyond reputeIceS has a reputation beyond reputeIceS has a reputation beyond reputeIceS has a reputation beyond repute
Отправить сообщение для IceS с помощью ICQ
По умолчанию Re: Android VS LwIP

Цитата:
Сообщение от Petr Посмотреть сообщение
Я даже не исключаю возможность того, что дело и в IP пакетах (что уж странно).
Но все осложняется тем, что я легко могу поймать эти "рукопожатия" тем же Шарком и сравнить все поля и флаги как по IP заголовку, так и по TCP заголовку. По микрочиповской либе и отдельно по LwIP либе.
И я так и сделаю конечно.
Но это полумеры и потеря времени (я их уже смотрел и вроде там все гладко).
А вот как словить пакеты от мобилы - не придумал!?
Они же идут мимо моего компа (мобила-роутер-железка)
и как ловить???
Хорошо бы на Ведроид поставить что то для ловли. Но что?
Через роутер.
Можно поставить две точки доступа и андроида с железкой цеплять к разным. Между точками сделать лан и завести его на ком. На компе и ловить.
__________________
- Готово, мастер !!!
- Что готово ???
- Сломал ...
IceS вне форума   Ответить с цитированием
Старый 21.12.2016, 18:18   #5
Pridnya
Senior Member
 
Регистрация: 21.01.2009
Адрес: Orel
Возраст: 38
Сообщений: 4,418
Вес репутации: 4322/119
Pridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond repute
По умолчанию Re: Android VS LwIP

Цитата:
Сообщение от Petr Посмотреть сообщение
Добрый день всем!

Я тут делаю вот такие (подобные) контроллеры:
http://www.bobrovnik.ru/index.php?ar...f5e52922b40323
Это STM32F107 + LwIP + все остальное мое.
По ссылке скриншоты из браузера - скриншоты WEB-сервера. Т.е. это не контроллеры, а скриншоты.

Наверное, контроллером называется весь девайс, в памяти которого (раз LwIP, то и файловая система есть какая-то, интересно какая?) находится WEB-сервер, который работает на железе STM32F107+PHY Ethernet (какая там микросхема или модуль) и использует LwIP-стек (какая там версия стека).

Наверное, сам девайс подключен к локальной сети Ethernet медными проводами (к LAN), также в сети есть компьютер, который тоже подключен медными проводами (проводная сеть) и используя браузер компьютера можно зайти на WEB-сервер. Наверное, в сети есть еще роутер у которого несколько входов для LAN и Wi-Fi.
Цитата:
Сообщение от Petr Посмотреть сообщение
И все бы ничего, пока используется ПК и локальная сетка.
Но тут я решил все это проверить на мобиле.
Включил Wi-Fi и попытался залезть на сайт.
Никак!
Начал уточнять суть проблемы.
И проверив работу в проводной сети Петр, захотел подключить к своей локальной сети смартфон с операционной системой Android, включил на смартфоне Wi-Fi, подключился к сети, открыл браузер, вбил адрес своего WEB-сервера и увидел пустую страницу. Так? А то все в описание в кучу свалил - мало чего понятно.
__________________
Прогресс неизбежен.
Pridnya вне форума   Ответить с цитированием
Старый 21.12.2016, 18:21   #6
IceS
Super Moderator
 
Регистрация: 01.03.2007
Адрес: St. Petersburg
Возраст: 38
Сообщений: 3,249
Вес репутации: 3684/107
IceS has a reputation beyond reputeIceS has a reputation beyond reputeIceS has a reputation beyond reputeIceS has a reputation beyond reputeIceS has a reputation beyond reputeIceS has a reputation beyond reputeIceS has a reputation beyond reputeIceS has a reputation beyond reputeIceS has a reputation beyond reputeIceS has a reputation beyond reputeIceS has a reputation beyond repute
Отправить сообщение для IceS с помощью ICQ
По умолчанию Re: Android VS LwIP

Был баг, железка не всегда хотела конектиться (подробностей не помню). Лечилось изменением исходящего порта на железке.
Т.е. при старте значение исходящего порта N.
После потери связи N++.
И т.д.

Суть проблемы (как я понял тогда), была в том, что комп думал что это старое соединение и не реагировал на него. ЛайфХак с портом эту проблему решил.
__________________
- Готово, мастер !!!
- Что готово ???
- Сломал ...
IceS вне форума   Ответить с цитированием
Старый 21.12.2016, 18:21   #7
ampersant
Senior Member
 
Аватар для ampersant
 
Регистрация: 26.02.2008
Адрес: IgorV
Сообщений: 2,266
Вес репутации: 4411/101
ampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond repute
По умолчанию Re: Android VS LwIP

ищется видимо чтото типа https://play.google.com/store/apps/d...d=lv.n3o.shark

"типа", потому что не в курсе работает ли эта
ampersant на форуме   Ответить с цитированием
Старый 21.12.2016, 18:22   #8
IceS
Super Moderator
 
Регистрация: 01.03.2007
Адрес: St. Petersburg
Возраст: 38
Сообщений: 3,249
Вес репутации: 3684/107
IceS has a reputation beyond reputeIceS has a reputation beyond reputeIceS has a reputation beyond reputeIceS has a reputation beyond reputeIceS has a reputation beyond reputeIceS has a reputation beyond reputeIceS has a reputation beyond reputeIceS has a reputation beyond reputeIceS has a reputation beyond reputeIceS has a reputation beyond reputeIceS has a reputation beyond repute
Отправить сообщение для IceS с помощью ICQ
По умолчанию Re: Android VS LwIP

Цитата:
Сообщение от ampersant Посмотреть сообщение
ищется видимо чтото типа https://play.google.com/store/apps/d...d=lv.n3o.shark
Круто, но на андроиде гемор работать со всем этим ПиСишным софтом :-(.
__________________
- Готово, мастер !!!
- Что готово ???
- Сломал ...
IceS вне форума   Ответить с цитированием
Старый 21.12.2016, 18:35   #9
Petr
Senior Member
 
Аватар для Petr
 
Регистрация: 25.02.2007
Возраст: 46
Сообщений: 1,734
Вес репутации: 3438/90
Petr has a reputation beyond reputePetr has a reputation beyond reputePetr has a reputation beyond reputePetr has a reputation beyond reputePetr has a reputation beyond reputePetr has a reputation beyond reputePetr has a reputation beyond reputePetr has a reputation beyond reputePetr has a reputation beyond reputePetr has a reputation beyond reputePetr has a reputation beyond repute
По умолчанию Re: Android VS LwIP

Цитата:
Сообщение от Pridnya Посмотреть сообщение
По ссылке скриншоты из браузера - скриншоты WEB-сервера. Т.е. это не контроллеры, а скриншоты.......
На самом деле я написал все правильно
Поскольку я использовал мало "букав", а вы - много.
И вы изложили суть вещей абсолютно правильно.
Значит я добился требуемого

Да - все так и есть.
Android и IOS кстати (уже проверил) не желают открывать TCP
соединение с железкой с либой LwIP. А с микрочиповской либой (адрес, сеть и т.д. - одинаковые) - открывают.

Из чего я и делаю заключение о проблемах установки TCP соединения.
И не исключаю возможность проблем и с самими IP пакетами.

Что еще проверил - Линукс (у меня есть комп на нем) все открывает без проблем.

Грешу на размер кадра или размер окна.
Думал на контрольные суммы - но они же верны (по данным Шарка).
Да и такие кривые пакеты и винды бы принимать не стали.
Но опять таки - увидеть бы запрос и ответ!!! Все стало бы ясно.
Городить систему с мостом на компе чтобы прогнать через него пакеты можно - но не хочется. Это и сетевуху еще одну надо бежать покупать.
Хотелось бы решить вопрос проще.
Повторюсь - интересен софт под Андроид а не под винду (это вопросов не вызывает) для перехвата пакетов.
Petr вне форума   Ответить с цитированием
Старый 21.12.2016, 18:38   #10
Petr
Senior Member
 
Аватар для Petr
 
Регистрация: 25.02.2007
Возраст: 46
Сообщений: 1,734
Вес репутации: 3438/90
Petr has a reputation beyond reputePetr has a reputation beyond reputePetr has a reputation beyond reputePetr has a reputation beyond reputePetr has a reputation beyond reputePetr has a reputation beyond reputePetr has a reputation beyond reputePetr has a reputation beyond reputePetr has a reputation beyond reputePetr has a reputation beyond reputePetr has a reputation beyond repute
По умолчанию Re: Android VS LwIP

И нельзя забывать о роутере! Он же может отказываться транслировать пакеты с какими то неправильными (по его мнению) параметрами по Wi-Fi.

И опять таки это надо смотреть в самом телефоне, а не где то еще!
Petr вне форума   Ответить с цитированием
Старый 21.12.2016, 18:40   #11
IceS
Super Moderator
 
Регистрация: 01.03.2007
Адрес: St. Petersburg
Возраст: 38
Сообщений: 3,249
Вес репутации: 3684/107
IceS has a reputation beyond reputeIceS has a reputation beyond reputeIceS has a reputation beyond reputeIceS has a reputation beyond reputeIceS has a reputation beyond reputeIceS has a reputation beyond reputeIceS has a reputation beyond reputeIceS has a reputation beyond reputeIceS has a reputation beyond reputeIceS has a reputation beyond reputeIceS has a reputation beyond repute
Отправить сообщение для IceS с помощью ICQ
По умолчанию Re: Android VS LwIP

Цитата:
Сообщение от Petr Посмотреть сообщение
И нельзя забывать о роутере! Он же может отказываться транслировать пакеты с какими то неправильными (по его мнению) параметрами по Wi-Fi.

И опять таки это надо смотреть в самом телефоне, а не где то еще!
В роутерах бывает возможность транслировать/перенаправлять весь трафик в определенный порт. Не на всех, но "крутые" точно позволяют. Сделано специально для контроля.
__________________
- Готово, мастер !!!
- Что готово ???
- Сломал ...
IceS вне форума   Ответить с цитированием
Старый 21.12.2016, 18:42   #12
IceS
Super Moderator
 
Регистрация: 01.03.2007
Адрес: St. Petersburg
Возраст: 38
Сообщений: 3,249
Вес репутации: 3684/107
IceS has a reputation beyond reputeIceS has a reputation beyond reputeIceS has a reputation beyond reputeIceS has a reputation beyond reputeIceS has a reputation beyond reputeIceS has a reputation beyond reputeIceS has a reputation beyond reputeIceS has a reputation beyond reputeIceS has a reputation beyond reputeIceS has a reputation beyond reputeIceS has a reputation beyond repute
Отправить сообщение для IceS с помощью ICQ
По умолчанию Re: Android VS LwIP

Цитата:
Сообщение от Petr Посмотреть сообщение
Повторюсь - интересен софт под Андроид а не под винду (это вопросов не вызывает) для перехвата пакетов.
Дык в 7м сообщении Игорь привел ссылку на плэй маркет.
__________________
- Готово, мастер !!!
- Что готово ???
- Сломал ...
IceS вне форума   Ответить с цитированием
Старый 21.12.2016, 18:58   #13
Pridnya
Senior Member
 
Регистрация: 21.01.2009
Адрес: Orel
Возраст: 38
Сообщений: 4,418
Вес репутации: 4322/119
Pridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond repute
По умолчанию Re: Android VS LwIP

Цитата:
Сообщение от Petr Посмотреть сообщение
И вы изложили суть вещей абсолютно правильно.
Значит я добился требуемогоДа - все так и есть.

Android и IOS кстати (уже проверил) не желают открывать TCP
соединение с железкой с либой LwIP. А с микрочиповской либой (адрес, сеть и т.д. - одинаковые) - открывают.
...
Из чего я и делаю заключение о проблемах установки TCP соединения.
И не исключаю возможность проблем и с самими IP пакетами.
Microchip TCP/IP-стек проще, чем LwIP и может что-нибудь не проверять в пакетах, а LwIP, если неправильно настроен, проверяет и отбрасывает.

А девайс хоть пингуется с Android-а?
Цитата:
Сообщение от Petr Посмотреть сообщение
Повторюсь - интересен софт под Андроид а не под винду (это вопросов не вызывает) для перехвата пакетов.
Софта для Android аналогичный WireShark должен быть.
__________________
Прогресс неизбежен.
Pridnya вне форума   Ответить с цитированием
Старый 21.12.2016, 20:18   #14
Petr
Senior Member
 
Аватар для Petr
 
Регистрация: 25.02.2007
Возраст: 46
Сообщений: 1,734
Вес репутации: 3438/90
Petr has a reputation beyond reputePetr has a reputation beyond reputePetr has a reputation beyond reputePetr has a reputation beyond reputePetr has a reputation beyond reputePetr has a reputation beyond reputePetr has a reputation beyond reputePetr has a reputation beyond reputePetr has a reputation beyond reputePetr has a reputation beyond reputePetr has a reputation beyond repute
По умолчанию Re: Android VS LwIP

Цитата:
Сообщение от Pridnya Посмотреть сообщение
Microchip TCP/IP-стек проще, чем LwIP и может что-нибудь не проверять в пакетах, а LwIP, если неправильно настроен, проверяет и отбрасывает.

А девайс хоть пингуется с Android-а?

Софта для Android аналогичный WireShark должен быть.
Пинговаться девайс в принципе не может, поскольку пинги я не реализовал за ненадобностью.

А вот то, что ссылка на маркет была - не заметил.
Обязательно проверю что да как.
Petr вне форума   Ответить с цитированием
Старый 21.12.2016, 20:44   #15
ampersant
Senior Member
 
Аватар для ampersant
 
Регистрация: 26.02.2008
Адрес: IgorV
Сообщений: 2,266
Вес репутации: 4411/101
ampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond repute
По умолчанию Re: Android VS LwIP

по ссылке прога рут требует.
ampersant на форуме   Ответить с цитированием
Старый 21.12.2016, 21:15   #16
smart_pic
Senior Member
 
Регистрация: 08.12.2008
Адрес: Ставрополь
Возраст: 53
Сообщений: 944
Вес репутации: 1970/60
smart_pic has a brilliant futuresmart_pic has a brilliant futuresmart_pic has a brilliant futuresmart_pic has a brilliant futuresmart_pic has a brilliant futuresmart_pic has a brilliant futuresmart_pic has a brilliant futuresmart_pic has a brilliant futuresmart_pic has a brilliant futuresmart_pic has a brilliant futuresmart_pic has a brilliant future
Отправить сообщение для smart_pic с помощью Skype™
По умолчанию Re: Android VS LwIP

Цитата:
Сообщение от Petr Посмотреть сообщение
А вот как словить пакеты от мобилы - не придумал!?
Они же идут мимо моего компа (мобила-роутер-железка)
и как ловить???
Поставь в комп еще одну сетевую карту.
Сделай из двух карт мост (стандартные настройки).
Включи железку в одну сетевую карту , вторую сетевую карту включи в роутер.
Шарком смотри пакеты.
smart_pic вне форума   Ответить с цитированием
Старый 21.12.2016, 22:17   #17
Pridnya
Senior Member
 
Регистрация: 21.01.2009
Адрес: Orel
Возраст: 38
Сообщений: 4,418
Вес репутации: 4322/119
Pridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond repute
По умолчанию Re: Android VS LwIP

Цитата:
Сообщение от Petr Посмотреть сообщение
Пинговаться девайс в принципе не может, поскольку пинги я не реализовал за ненадобностью.
А зря. ICMP - это второй протокол после ARP, который должен быть реализован. Я даже когда сам пробовал писать свой TCP/IP-стек - написал ARP и ICMP (как умные люди учили), а дальше забросил.

Сейчас подключил PlayMarket (помучался немного, я им никогда не пользовался), установил утилиту Ping и попробовал со своего Android пинговать публичный NTP-сервер ВНИИФТРИ 89.109.251.21, все хорошо, связь есть, отчет есть. Можно хоть внешний IP, хоть локальный проверить. ICMP - это как градусник для больного.
PS: И если девайс использует LwIP, то в нем протокол ICMP реализован, ничего самому реализовывать не нужно.
__________________
Прогресс неизбежен.

Последний раз редактировалось Pridnya; 21.12.2016 в 22:24.
Pridnya вне форума   Ответить с цитированием
Старый 22.12.2016, 00:17   #18
Рак
Senior Member
 
Регистрация: 02.04.2008
Адрес: Кременчуг
Возраст: 31
Сообщений: 1,278
Вес репутации: 2210/69
Рак has a reputation beyond reputeРак has a reputation beyond reputeРак has a reputation beyond reputeРак has a reputation beyond reputeРак has a reputation beyond reputeРак has a reputation beyond reputeРак has a reputation beyond reputeРак has a reputation beyond reputeРак has a reputation beyond reputeРак has a reputation beyond reputeРак has a reputation beyond repute
По умолчанию Re: Android VS LwIP

Цитата:
Сообщение от smart_pic Посмотреть сообщение
Поставь в комп еще одну сетевую карту.
Сделай из двух карт мост (стандартные настройки).
Включи железку в одну сетевую карту , вторую сетевую карту включи в роутер.
Шарком смотри пакеты.
Соглашусь, есть же ноут, на ноуте поднять точку доступа wifi, а через lan подключить плату.
Рак вне форума   Ответить с цитированием
Старый 22.12.2016, 08:35   #19
Petr
Senior Member
 
Аватар для Petr
 
Регистрация: 25.02.2007
Возраст: 46
Сообщений: 1,734
Вес репутации: 3438/90
Petr has a reputation beyond reputePetr has a reputation beyond reputePetr has a reputation beyond reputePetr has a reputation beyond reputePetr has a reputation beyond reputePetr has a reputation beyond reputePetr has a reputation beyond reputePetr has a reputation beyond reputePetr has a reputation beyond reputePetr has a reputation beyond reputePetr has a reputation beyond repute
По умолчанию Re: Android VS LwIP

Цитата:
Сообщение от ampersant Посмотреть сообщение
ищется видимо чтото типа https://play.google.com/store/apps/d...d=lv.n3o.shark

"типа", потому что не в курсе работает ли эта
Прогу попробовал и возникло больше вопросов чем ответов.
Если я терминалкой открываю TCP порт на роутере (192.168.1.1 (шлюз), порт 80(WEB интерфейс самого роутера)) - то этим шарком я вижу пакеты.
Но если я пытаюсь открыть требуемый 192.168.1.99 то никаких пакетов не видно вообще.
Есть конечно пару пакетов к дропбоксу, и мессенджеру, но IP 192.168.1.99 нет ни в одном пакете вообще.

Что озадачивает.
Откуда известно, что соединение "не удалось открыть", если никакого запроса на указанный IP не уходило?...

Зато в SharkReader видно ощутимое количество строк вида RAW Packet. И там пусто. Т.е. вообще пусто и нет ни единого байта.
Что бы это значило - непонятно.
Хотя большинство пакетов расшифровано нормально - видны заголовки и так далее.
Petr вне форума   Ответить с цитированием
Старый 22.12.2016, 08:38   #20
Petr
Senior Member
 
Аватар для Petr
 
Регистрация: 25.02.2007
Возраст: 46
Сообщений: 1,734
Вес репутации: 3438/90
Petr has a reputation beyond reputePetr has a reputation beyond reputePetr has a reputation beyond reputePetr has a reputation beyond reputePetr has a reputation beyond reputePetr has a reputation beyond reputePetr has a reputation beyond reputePetr has a reputation beyond reputePetr has a reputation beyond reputePetr has a reputation beyond reputePetr has a reputation beyond repute
По умолчанию Re: Android VS LwIP

Цитата:
Сообщение от Pridnya Посмотреть сообщение
А зря. ICMP - это второй протокол после ARP, который должен быть реализован. Я даже когда сам пробовал писать свой TCP/IP-стек - написал ARP и ICMP (как умные люди учили), а дальше забросил.

Сейчас подключил PlayMarket (помучался немного, я им никогда не пользовался), установил утилиту Ping и попробовал со своего Android пинговать публичный NTP-сервер ВНИИФТРИ 89.109.251.21, все хорошо, связь есть, отчет есть. Можно хоть внешний IP, хоть локальный проверить. ICMP - это как градусник для больного.
PS: И если девайс использует LwIP, то в нем протокол ICMP реализован, ничего самому реализовывать не нужно.
Я не спорю. Включу ICMP (я его чуток выпилил), и попробую.
Petr вне форума   Ответить с цитированием
Старый 22.12.2016, 08:58   #21
Pridnya
Senior Member
 
Регистрация: 21.01.2009
Адрес: Orel
Возраст: 38
Сообщений: 4,418
Вес репутации: 4322/119
Pridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond repute
По умолчанию Re: Android VS LwIP

Цитата:
Сообщение от Petr Посмотреть сообщение
Прогу попробовал и возникло больше вопросов чем ответов.
Если я терминалкой открываю TCP порт на роутере (192.168.1.1 (шлюз), порт 80(WEB интерфейс самого роутера)) - то этим шарком я вижу пакеты.
Но если я пытаюсь открыть требуемый 192.168.1.99 то никаких пакетов не видно вообще.

Что озадачивает.
Откуда известно, что соединение "не удалось открыть", если никакого запроса на указанный IP не уходило?...
Петр, если с устройством нет связи, то нельзя установить с ним соединение по какому-либо протоколу, хоть UDP, хоть TCP...
Вначале (можно я на ты буду?) ты должен увидеть две строки - это ARP-запросы (твое устройство и роутер обмениваются MAC-адресами), без обмена MAC-ами считается, что твое устройство не подключено к сети

Девайс - роутер
23 13.616675000 02:00:00:00:00:00 Broadcast ARP 60 Gratuitous ARP for 192.168.1.102 (Request)
24 13.616979000 ac:93:17:xx:xx:xx Broadcast ARP 60 Who has 192.168.1.102? Tell 192.168.1.1

Девайс - комп
130 73.781358000 02:00:00:00:00:00 Broadcast ARP 60 Who has 192.168.1.10? Tell 192.168.1.102
131 73.781370000 AsrockIn_e1:68:4a 02:00:00:00:00:00 ARP 42 192.168.1.10 is at bc:5f:f4:xx:xx:xx

после этого уже можно проверять связь, например, у меня отправляются NTP-запрсы (UDP-запрсы) к службе времени Windows XP и от неё приходят NTP-ответы с метками времени:

Девайс - комп
132 73.781443000 192.168.1.102 192.168.1.10 NTP 90 NTP Version 3, client
133 73.781514000 192.168.1.10 192.168.1.102 NTP 90 NTP Version 3, server

У меня все как у тебя, локальная сеть, роутер LAN+WiFi (WiFi временно отключен), комп 192.168.1.10 и девайс 192.168.1.101 воткнуты в роутер 192.168.1.1. На компе запущен WireShark
__________________
Прогресс неизбежен.

Последний раз редактировалось Pridnya; 22.12.2016 в 09:10.
Pridnya вне форума   Ответить с цитированием
Старый 22.12.2016, 09:26   #22
Pridnya
Senior Member
 
Регистрация: 21.01.2009
Адрес: Orel
Возраст: 38
Сообщений: 4,418
Вес репутации: 4322/119
Pridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond repute
По умолчанию Re: Android VS LwIP

И у себя обнаружил косяк: был убежден, что ICMP включен и работает, даже кажется, раньше работал, перед тем, как я TCP-сервер и UDP-клиент добавил, эти работают, а ICMP сейчас не правильно работает, хотя в настройках LwIP включен LWIP_ICMP. ICMP-запросы идут, ICMP-ответы тоже идут, но с некорректными контрольными суммами (и ping.exe не видит ICMP-ответы). Нужно разобраться.
Миниатюры
ICMP.PNG  
__________________
Прогресс неизбежен.
Pridnya вне форума   Ответить с цитированием
Старый 22.12.2016, 10:07   #23
Pridnya
Senior Member
 
Регистрация: 21.01.2009
Адрес: Orel
Возраст: 38
Сообщений: 4,418
Вес репутации: 4322/119
Pridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond repute
По умолчанию Re: Android VS LwIP

Цитата:
Сообщение от Pridnya Посмотреть сообщение
И у себя обнаружил косяк: был убежден, что ICMP включен и работает, даже кажется, раньше работал, перед тем, как я TCP-сервер и UDP-клиент добавил, эти работают, а ICMP сейчас не правильно работает, хотя в настройках LwIP включен LWIP_ICMP. ICMP-запросы идут, ICMP-ответы тоже идут, но с некорректными контрольными суммами (и ping.exe не видит ICMP-ответы). Нужно разобраться.
Все. У меня ICMP-протокол работает. Я в какой-то момент, сколько-то недель назад раскомментировал макрос в файле opt.h, чтобы считать аппаратно контрольный суммы, и после этого действия не убедился (не использовал параною) что все протоколы работают. ARP, UDP и TCP работают, а про ICMP забыл.
Контрольные суммы считаются аппаратно:
Код:
/* 
The STM32F4x7 allows computing and verifying the IP, UDP, TCP and ICMP checksums by hardware:
 - To use this feature let the following define uncommented.
 - To disable it and process by CPU comment the  the checksum.
*/
#define CHECKSUM_BY_HARDWARE
А вот так ICMP работает (контрольные суммы считаются аппаратно
Код:
/* 
The STM32F4x7 allows computing and verifying the IP, UDP, TCP and ICMP checksums by hardware:
 - To use this feature let the following define uncommented.
 - To disable it and process by CPU comment the  the checksum.

#define CHECKSUM_BY_HARDWARE */
А вопрос остался: почему не работает аппаратный подсчет контрольной суммы для ICMP, а для IP, UDP и TCP работает? Нужно будет разобраться.
Миниатюры
ICMP-протокол заработал.PNG   Wireshark ICMP OK.PNG  
__________________
Прогресс неизбежен.
Pridnya вне форума   Ответить с цитированием
Старый 22.12.2016, 10:51   #24
Pridnya
Senior Member
 
Регистрация: 21.01.2009
Адрес: Orel
Возраст: 38
Сообщений: 4,418
Вес репутации: 4322/119
Pridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond repute
По умолчанию Re: Android VS LwIP

Включил в роутере и смартфоне WiFi, подключился к беспроводной сети, у смартфона IP 192.168.1.160 (автоматом назначился) , у девайса (STM32 + LwIP) IP 192.168.1.102. Запустил на смартфоне программу Ping, ввел IP девайса и нажал кнопку "Старт" - обмен есть, пинг проходит примерно за 25-30 миллисекунд (в проводной сети меньше чем за 1 миллисекунду). Т.е. практически никакой разницы, откуда подключаться к девайсу - хоть со стационарного компа по проводной сети, хоть со смартфона по беспроводной. Т.е. LwIP здесь не виноват. WiFi выключил, нефиг светить.
__________________
Прогресс неизбежен.
Pridnya вне форума   Ответить с цитированием
Старый 22.12.2016, 10:51   #25
Petr
Senior Member
 
Аватар для Petr
 
Регистрация: 25.02.2007
Возраст: 46
Сообщений: 1,734
Вес репутации: 3438/90
Petr has a reputation beyond reputePetr has a reputation beyond reputePetr has a reputation beyond reputePetr has a reputation beyond reputePetr has a reputation beyond reputePetr has a reputation beyond reputePetr has a reputation beyond reputePetr has a reputation beyond reputePetr has a reputation beyond reputePetr has a reputation beyond reputePetr has a reputation beyond repute
По умолчанию Re: Android VS LwIP

Цитата:
Сообщение от Pridnya Посмотреть сообщение
Петр, если с устройством нет связи, то нельзя установить с ним соединение по какому-либо протоколу, хоть UDP, хоть TCP...
Вначале (можно я на ты буду?) ты должен увидеть две строки - это ARP-запросы (твое устройство и роутер обмениваются MAC-адресами), без обмена MAC-ами считается, что твое устройство не подключено к сети

Девайс - роутер
23 13.616675000 02:00:00:00:00:00 Broadcast ARP 60 Gratuitous ARP for 192.168.1.102 (Request)
24 13.616979000 ac:93:17:xx:xx:xx Broadcast ARP 60 Who has 192.168.1.102? Tell 192.168.1.1

Девайс - комп
130 73.781358000 02:00:00:00:00:00 Broadcast ARP 60 Who has 192.168.1.10? Tell 192.168.1.102
131 73.781370000 AsrockIn_e1:68:4a 02:00:00:00:00:00 ARP 42 192.168.1.10 is at bc:5f:f4:xx:xx:xx

после этого уже можно проверять связь, например, у меня отправляются NTP-запрсы (UDP-запрсы) к службе времени Windows XP и от неё приходят NTP-ответы с метками времени:

Девайс - комп
132 73.781443000 192.168.1.102 192.168.1.10 NTP 90 NTP Version 3, client
133 73.781514000 192.168.1.10 192.168.1.102 NTP 90 NTP Version 3, server

У меня все как у тебя, локальная сеть, роутер LAN+WiFi (WiFi временно отключен), комп 192.168.1.10 и девайс 192.168.1.101 воткнуты в роутер 192.168.1.1. На компе запущен WireShark
Совершенно справедливо! Это все понятно.
Почему я не видел этого хозяйства и было непонятно.

Но я значительно продвинулся в разбирательствах!
Выяснилось, что SharkReader - совершенно кривая вещь.
А вот сам Shark под Android работает корректно.
Т.е. логи есть и в логах есть пакеты ARP и TCP.
Но почему то ридер их не видит (только некоторые) и показывает как пустые пакеты.
Но вот если лог перенести на ПК и посмотреть тупо как файл - все видно.
По сути это уже успех, поскольку дальше сразу будет видно что не так.
Что сразу понятно - ARP отрабатывает нормально и уходит первое "рукопожатие". Дальше непонятно. По ходу нет ответа от железки или он не доходит.

Как выясню - отпишусь.
Petr вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Снова вопрос по LwIP Petr Cетевые протоколы и технологии 49 05.04.2016 19:10
Android SSH Общетехнические вопросы 5 16.03.2012 14:53
Платформа на Android SSH Общетехнические вопросы 24 19.10.2011 12:56
lwIP Bengan Общетехнические вопросы 4 19.11.2007 08:29


Часовой пояс GMT +3, время: 18:48.


Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd. Перевод: zCarot