最近,我在Android 8上工作,并且屏蔽了selinux发行的…。
我在init.rc中创建了一个“ppp”服务来启动pppd,如下所示:
service ppp /system/bin/pppd call gprs
user root
group system radio
disabled
oneshot
但是,当使用命令“setprop”启动此服务时,它失败了。
selinux已经设置为允许模式,但仍然显示如下,服务尚未启动:
控制台:/# 430.567622 init:未能将ctl.start用于服务ppp: File /system/bin/pppd(标记为"u:obj
对于基于SAGEM HiLo GPRS的数据通信,它具有TCP/IP协议栈,有两种连接方式:
(1)使用基本的GPRS命令,然后使用ppp拨号将调制解调器连接到公共网络/类似Internet
AT+CGDCONT=1,"IP","APN","0.0.0.0",0,0
OK
atd*99***1#
CONNECT
(2)使用GPRS attach,然后使用TCP套接字命令,例如
at&k3
OK
AT+KCNXCFG=0,"GPRS","APN","log","pass
word
我办公室里的linux电脑:
> uname -a
Linux 3.2.0-2-686-pae #1 SMP Tue Mar 20 19:48:26 UTC 2012 i686 GNU/Linux.
它有两个ISP,第一个是静态ip和默认路由:
> ip ro
default via 19.11.20.15 dev vlan40
19.11.20.0/27 dev vlan40 proto kernel scope link src 19.11.20.20
第二个是gprs调制解调器。我不使用默认路由调用wv配:
> ip ro
10.64.64.64 dev ppp
我希望我的静态路由自动加载到VPN重新连接。根据Debian上的wiki,这可以通过在/etc/network/if-pre-up.d/中放置一个脚本来完成,这就是我看到的:
#!/bin/bash
ip route add 10.8.0.0/24 dev ppp0
ip route add 192.168.0.0/24 dev ppp0
在linux启动时,这个脚本运行得很好,但是在VPN重新连接时它不会运行。为什么?
我的/etc/网络/接口文件:
auto lo eth0 eth1 asus
iface lo inet loopback
iface eth0 inet dhcp
ifac
我有一个从C程序内部调用的脚本。我在启动线程之前执行此操作,因为我需要在这些线程启动之前建立ppp链接。我做了以下工作: int main(){
int ret = 0;
ret = WEXITSTATUS(system("./nbiot_telit_ppp_installer.sh"));
printf("ret = %d\r\n", ret);
// Never gets here after ppp is up
/* Start the threads */
==> starts thread-1
我有个老问题。当我想通过分接头适配器或pptp连接连接pptp时,断开连接,并在消息日志中获取以下错误:
linux pptpd[20275]: GRE: read(fd=7,buffer=60a400,len=8260) from network failed: status = -1 error = Message too long
linux pptpd[20275]: CTRL: GRE read or PTY write failed (gre,pty)=(7,6)
linux pppd[20276]: Modem hangup
linux pppd[20276]: Connect