kan35 7 13 октября, 2011 Опубликовано 13 октября, 2011 · Жалоба В общем пытаюсь сделать отработку ситуаций когда связь прерывается. В случае, модем перестает отвечать, PPP просто сакм закрывается, я вижу это в логе, но как запросить у стека что PPP открыт или закрыт? Потому что если PPP закрывается и сделать netconn_connect, то стек остается в ожидании навечно, а потока PPP уже нет в помине. Подскажите как правильно делать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
gosha 0 1 ноября, 2011 Опубликовано 1 ноября, 2011 · Жалоба В общем пытаюсь сделать отработку ситуаций когда связь прерывается. В случае, модем перестает отвечать, PPP просто сакм закрывается, я вижу это в логе, но как запросить у стека что PPP открыт или закрыт? Потому что если PPP закрывается и сделать netconn_connect, то стек остается в ожидании навечно, а потока PPP уже нет в помине. Подскажите как правильно делать. Какая ОС? #ifconfig | grep ppp0 Программно - я бы попробовал с помощью ioctl(SIOCGPPPSTATS) Фрагмент исходного текста драйвера ppp: static int ppp_net_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd) { struct ppp *ppp = dev->priv; int err = -EFAULT; void *addr = (void *) ifr->ifr_ifru.ifru_data; struct ppp_stats stats; struct ppp_comp_stats cstats; char *vers; switch (cmd) { case SIOCGPPPSTATS: ppp_get_stats(ppp, &stats); if (copy_to_user(addr, &stats, sizeof(stats))) break; err = 0; break; case SIOCGPPPCSTATS: memset(&cstats, 0, sizeof(cstats)); if (ppp->xc_state != 0) ppp->xcomp->comp_stat(ppp->xc_state, &cstats.c); if (ppp->rc_state != 0) ppp->rcomp->decomp_stat(ppp->rc_state, &cstats.d); if (copy_to_user(addr, &cstats, sizeof(cstats))) break; err = 0; break; case SIOCGPPPVER: vers = PPP_VERSION; if (copy_to_user(addr, vers, strlen(vers) + 1)) break; err = 0; break; default: err = -EINVAL; } return err; } Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
kan35 7 4 ноября, 2011 Опубликовано 4 ноября, 2011 · Жалоба Да, я дошел до этого сам. Использую FreeRTOS-7.0.2 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться