реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> lwIP(ppp) как правильно переоткрывать PPP?, FreeRtos
kan35
сообщение Oct 15 2011, 11:21
Сообщение #1


Знающий
****

Группа: Участник
Сообщений: 537
Регистрация: 22-02-06
Пользователь №: 14 594



Суть проблемы такая.
PPP открываю и соединение работет хорошо, но когда происходят проблемы со связью (обрывы) как отслеживать что PPP "самозакрылся" или все еще висит в ожидании?
Дело в том, что если PPP поток завершился, а в это время начать соединяться с сервером, то операция просто подвисает. Если каждый раз переоткрывать PPP, то нужно закрывать старый (через pppClose), а он закрывается не сразу, а ресурсов для нового ppp не хватает...

Прошу наставить на путь истиный.
Go to the top of the page
 
+Quote Post
west329_
сообщение Oct 15 2011, 17:32
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 378
Регистрация: 10-09-07
Из: UKR/Voz
Пользователь №: 30 423



Вы можите показать как вобще подымать РРР. На какой платформе собираете стек ? Как он вобще работает с РРР ? Сейчас как раз с ним разбираюсь, можете подсказать ?
Go to the top of the page
 
+Quote Post
GeGeL
сообщение Oct 15 2011, 18:14
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 403
Регистрация: 29-04-11
Из: Украина
Пользователь №: 64 682



Я использовал эхо-LCP пакет для проверки PPP. Но это при полном ручном его поднятии на ассемблере, из-под Rtos не знаю, получится ли.
Можно пинг сервера вначале сделать.
Go to the top of the page
 
+Quote Post
kan35
сообщение Oct 16 2011, 13:02
Сообщение #4


Знающий
****

Группа: Участник
Сообщений: 537
Регистрация: 22-02-06
Пользователь №: 14 594



Цитата(west329_ @ Oct 15 2011, 21:32) *
Вы можите показать как вобще подымать РРР. На какой платформе собираете стек ? Как он вобще работает с РРР ? Сейчас как раз с ним разбираюсь, можете подсказать ?

Во первых, надо использовать стек под операционкой какой нибудь, иначе это довольно серьезное извращение, рекомендуют freeRTOS. Если нет опыта с ней, то будет сложновато. Я использую STM32, скачал аппнот с кодом от ST где на FreeRTOS и lwIP по ethernet реализованы некоторые примеры. Это готовый шаблон по сути. Убирается драйвер ethernet. Далее реализуется драйвер для работы с последовательным портом элементарные функции на запись и чтение блоков данных (желательно через queues операционки). Какие AT команды нужны для выхода в режим соединения, если нет четкого понимания - можете посмотреть лог соединения ПК через модем.
Когда все это подготовлено - соединение открывается одной строкой с командой pppOpen, все что нужно делает стек. Далее работа происходит через netconn_xxxxx API.

Я продолжу свои догадки: может быть есть смысл поддреживать жизнь PPP в отдельном потоке? Просто не совем ясно, не будет ли какого нибудь фатал еррор если tcp будет делать свои какие то операции, а в это время PPP будет переоткрыт....
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 2nd August 2025 - 21:24
Рейтинг@Mail.ru


Страница сгенерированна за 0.0135 секунд с 7
ELECTRONIX ©2004-2016