Вобщем с модулем ядра не заработало. Видимо, нужна еще раз ваша подсказка.
Если бы модули не загрузились - вылетел бы с ошибкой, если бы загрузились - написал версию.
В лог тест записал.
В логах strace видно, что не может прочитать ответ из сокета.
strace -e trace=network /usr/sbin/accel-pppd -c /etc/accel-ppp/accel-ppp.conf
socket(PF_PACKET, SOCK_DGRAM, 0) = 10
setsockopt(10, SOL_SOCKET, SO_BROADCAST, [1], 4) = 0
bind(10, {sa_family=AF_PACKET, proto=0x806, if0, pkttype=PACKET_HOST, addr(0)={0, }, 20) = 0
socket(PF_INET, SOCK_DGRAM, IPPROTO_IP) = 11
socket(PF_INET6, SOCK_DGRAM, IPPROTO_IP) = 12
socket(PF_INET, SOCK_STREAM, IPPROTO_IP) = 14
setsockopt(14, SOL_SOCKET, SO_REUSEADDR, [14], 4) = 0
bind(14, {sa_family=AF_INET, sin_port=htons(2000), sin_addr=inet_addr("127.0.0.1")}, 16) = 0
listen(14, 1) = 0
socket(PF_INET, SOCK_STREAM, IPPROTO_IP) = 15
setsockopt(15, SOL_SOCKET, SO_REUSEADDR, [15], 4) = 0
bind(15, {sa_family=AF_INET, sin_port=htons(2001), sin_addr=inet_addr("127.0.0.1")}, 16) = 0
listen(15, 1) = 0
socket(PF_NETLINK, SOCK_RAW, 16) = 16
setsockopt(16, SOL_SOCKET, SO_SNDBUF, [32768], 4) = 0
setsockopt(16, SOL_SOCKET, SO_RCVBUF, [1048576], 4) = 0
bind(16, {sa_family=AF_NETLINK, pid=0, groups=00000000}, 12) = 0
getsockname(16, {sa_family=AF_NETLINK, pid=31833, groups=00000000}, [12]) = 0
sendmsg(16, {msg_name(12)={sa_family=AF_NETLINK, pid=0, groups=00000000}, msg_iov(1)=[{"\0\0\0 \0\20\0\5VO\4\r\0\0\0\0\3\0\0\0\0\t\0\2IPoE\0\0\0\0", 32}], msg_controllen=0, msg_flags=0}, 0) = 32
recvmsg(16, {msg_name(12)={sa_family=AF_NETLINK, pid=0, groups=00000000}, msg_iov(1)=[{"\0\0\1x\0\20\0\0VO\4\r\0\0|Y\1\2\0\0\0\t\0\2IPoE\0\0\0\0"..., 16384}], msg_controllen=0, msg_flags=0}, 0) = 376
socket(PF_NETLINK, SOCK_RAW, 16) = 16
setsockopt(16, SOL_SOCKET, SO_SNDBUF, [32768], 4) = 0
setsockopt(16, SOL_SOCKET, SO_RCVBUF, [1048576], 4) = 0
bind(16, {sa_family=AF_NETLINK, pid=0, groups=00000001}, 12) = 0
getsockname(16, {sa_family=AF_NETLINK, pid=31833, groups=00000001}, [12]) = 0
socket(PF_NETLINK, SOCK_RAW, 16) = 17
setsockopt(17, SOL_SOCKET, SO_SNDBUF, [32768], 4) = 0
setsockopt(17, SOL_SOCKET, SO_RCVBUF, [1048576], 4) = 0
bind(17, {sa_family=AF_NETLINK, pid=0, groups=00000000}, 12) = 0
getsockname(17, {sa_family=AF_NETLINK, pid=-4139, groups=00000000}, [12]) = 0
sendmsg(17, {msg_name(12)={sa_family=AF_NETLINK, pid=0, groups=00000000}, msg_iov(1)=[{"\0\0\0\34\0\0\0\5VO\4\r\0\0\1\0\17\377\220\24\0\10\0\1\0\0\0\0", 28}], msg_controllen=0, msg_flags=0}, 0) = 28
recvmsg(17, {msg_name(12)={sa_family=AF_NETLINK, pid=0, groups=00000000}, msg_iov(1)=[{"\0\0\0$\0\2\0\0VO\4\r\377\377\357\325\0\0\0\0\0\0\0\34\0\0\0\5VO\4\r"..., 16384}], msg_controllen=0, msg_flags=0}, 0) = 36
sendmsg(16, {msg_name(12)={sa_family=AF_NETLINK, pid=0, groups=00000000}, msg_iov(1)=[{"\0\0\0\34\0\0\0\5VO\4\r\0D\312\214\10\0\0\0\0\10\0\6\377\377\377\377", 28}], msg_controllen=0, msg_flags=0}, 0) = 28
recvmsg(16, {msg_name(12)={sa_family=AF_NETLINK, pid=0, groups=00000000}, msg_iov(1)=[{"\0\0\0$\0\2\0\0VO\4\r\0\0|Y\0\0\0\0\0\0\0\34\0\0\0\5VO\4\r"..., 16384}], msg_controllen=0, msg_flags=0}, 0) = 36
socket(PF_INET, SOCK_DGRAM, IPPROTO_UDP) = 17
setsockopt(17, SOL_SOCKET, SO_REUSEADDR, [1], 4) = 0
setsockopt(17, SOL_SOCKET, SO_BROADCAST, [1], 4) = 0
setsockopt(17, SOL_SOCKET, SO_NO_CHECK, [1], 4) = 0
bind(17, {sa_family=AF_INET, sin_port=htons(67), sin_addr=inet_addr("0.0.0.0")}, 16) = 0
setsockopt(17, SOL_SOCKET, SO_BINDTODEVICE, [1702127665], 4) = 0
sendmsg(16, {msg_name(12)={sa_family=AF_NETLINK, pid=0, groups=00000000}, msg_iov(1)=[{"\0\0\0\34\0\0\0\5VO\4\16\0D\272}\6\0\0\0\0\10\0\1\0\0\0\0", 28}], msg_controllen=0, msg_flags=0}, 0) = 28
recvmsg(16, {msg_name(12)={sa_family=AF_NETLINK, pid=0, groups=00000000}, msg_iov(1)=[{"\0\0\0$\0\2\0\0VO\4\16\0\0|Y\0\0\0\0\0\0\0\34\0\0\0\5VO\4\16"..., 16384}], msg_controllen=0, msg_flags=0}, 0) = 36
sendmsg(16, {msg_name(12)={sa_family=AF_NETLINK, pid=0, groups=00000000}, msg_iov(1)=[{"\0\0\0\34\0\0\0\5VO\4\17\0\0\0\0\v\0\0\0\0\10\0\6\377\377\377\377", 28}], msg_controllen=0, msg_flags=0}, 0) = 28
recvmsg(16, {msg_name(12)={sa_family=AF_NETLINK, pid=0, groups=00000000}, msg_iov(1)=[{"\0\0\0$\0\2\0\0VO\4\17\0\0|Y\0\0\0\0\0\0\0\34\0\0\0\5VO\4\17"..., 16384}], msg_controllen=0, msg_flags=0}, 0) = 36
send(16, "\0\0\0\24\0\0\3\1VO\4\20\0\0\0\0\4\0\0\0", 20, 0) = 20
recvmsg(16, 0x7f7c6194, 0) = -1 EAGAIN (Resource temporarily unavailable)
Как я понимаю это проверка общения модуля ipoe с модулем ядра - отправить сообщение, получить ответ и проверить что это ответ типа ОК
В исходниках вызов этот похоже в ./accel-pppd/libnetlink/libnetlink.c в функции rtnl_send_check, но ее вызов самой этой функции не нашел, может и другой конечно, strace на x86 в этом месте дает не send(int,buf,int,int) а sendto(int,buf,int,int,NULL,0), может в коде это sendmsg и искать стоит в другом месте, но пока что дебаг встал на этом месте, будем продолжать в понедельник. Думаю с вашими комментариями будет легче.