URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 80740
[ Назад ]

Исходное сообщение
"pppd inappropriate ioctl в FreeBSD 7.0-RELEASE"

Отправлено radcapricorn , 14-Июн-08 02:56 
Здравствуйте,

нигде не могу найти решения следующей проблемы:
при попытке установить соединение при помощи pppd сам демон уходит в "Exit" с сообщением "ioctl(PPPIOCSFLAGS): inappropriate ioctl for device" сразу после установления модемного соединения. Немного поковырявшись с исходниками pppd, набрел на мысль, что данное сообщение появляется только для ppp-ioctl, при обработке которых (/usr/src/sys/net/if_ppp.c) делается вызов функции priv_check().

Знает ли кто-нибудь, отчего подобное возникает и как побороть? pppd пробовал стартовать от разных юзеров (root, su root). User-ppp работает как часы.


Содержание

Сообщения в этом обсуждении
"pppd inappropriate ioctl в FreeBSD 7.0-RELEASE"
Отправлено butcher , 16-Июн-08 09:45 
>нигде не могу найти решения следующей проблемы:
>при попытке установить соединение при помощи pppd сам демон уходит в "Exit"
>с сообщением "ioctl(PPPIOCSFLAGS): inappropriate ioctl for device" сразу после установления модемного
>соединения. Немного поковырявшись с исходниками pppd, набрел на мысль, что данное
>сообщение появляется только для ppp-ioctl, при обработке которых (/usr/src/sys/net/if_ppp.c) делается вызов
>функции priv_check().

Проблемы в priv_check() тут быть не может. priv_check может вернуть только EPERM. У вас же ENOTTY. Сделайте ktrace или truss, возможно будет более понятно.. Выглядит так, как будто вы  указываете не тот интерфейс в параметрах pppd.


"pppd inappropriate ioctl в FreeBSD 7.0-RELEASE"
Отправлено radcapricorn , 17-Июн-08 03:51 
>>данное сообщение появляется только для ppp-ioctl, при обработке которых (/usr/src/sys/net/if_ppp.c) делается вызов
>>функции priv_check().
>
>Проблемы в priv_check() тут быть не может. priv_check может вернуть только EPERM.
>У вас же ENOTTY. Сделайте ktrace или truss, возможно будет более
>понятно.. Выглядит так, как будто вы  указываете не тот интерфейс
>в параметрах pppd.

За ktrace - спасибо, доберусь до машины и обязательно проверю.

Только вот есть у меня подозрение, что это мало чего покажет: я не утверждаю вовсе, что виноват вызов priv_check(). Просто как-то странно: pppd валится при вызове ioctl()  именно с теми значениями, в обработчиках которых в pppioctl() вызывается priv_check(), с другими же - нормально...
В общем, попробую оттрейсить и напишу о результатах. Еще раз спасибо.