Skip to content

关于P版的PPPoE拨号问题

Zia edited this page May 5, 2017 · 5 revisions

如果你的P版的话,先进行PPPoE拨号,然后再运行心跳。 有一些同学的可能会出现什么691之类的错误,然后拨不上。请这些同学先用wireshark或者tcpdump把登录过程完整的抓起来(方法请自行搜索),接下来进行分析。

分析步骤如下:

  1. 使用wireshark打开抓包,然后再Filter(过滤器)处填上 pap || chap 并回车或者点击Apply。
  2. 在下面数据包列表面板,你可以找到Response报文中的用户名,然后记下来,密码的话大概没变 :)
  3. 然后就可以拿着账号密码进行测试了。btw,Windows自带的拨号程序是直接把转义字符当成普通字符发出。

HighLight:

如果你要在Windows下测试,尝试下我的拨号器 PPPoE-Dialer
如果你要在linux下测试,可以安装rp-pppoe 通过pppoe-setup按照以下字段设置后pppoe-start启动
 1.Enter your PPPoE user name
   输入你的帐号,通常来说是不带\r\n的
 2.Enter the Ethernet interface connected to DSL modem
   输入你的网卡名称  可用ifconfig命令查看
 3.Enter the demand value
   默认no
 4.Enter the DNS information here
   输入server
 5.Please enter your PPPoE password
   输入密码
 6.输入y保存
如果你要在OpenWRT下测试,请尝试先执行下列脚本,然后才用luci配置账号密码登陆:
#!/bin/sh
cp /lib/netifd/proto/ppp.sh /lib/netifd/proto/ppp.sh_bak
sed -i '/proto_run_command/i username=`echo -e "$username"`' /lib/netifd/proto/ppp.sh
sed -i '/proto_run_command/i password=`echo -e "$password"`' /lib/netifd/proto/ppp.sh

或者通过wget来下载脚本

sh -c "$(wget --no-check-certificate https://raw.githubusercontent.com/drcoms/drcom-generic/master/custom/ppp_esc.sh  -O -)"
如果你要在merlin上测试,请尝试以下步骤:(感谢群内 QCfan 贡献经验)
  1. 找到文件 /tmp/ppp/options.wan0 , 寻找并修改 user '\r\n你的帐号',password '你的密码' 。
  2. 执行
killall pppd
/usr/sbin/pppd file /tmp/ppp/options.wan0 >/dev/null 2>&1 &

如果网络通了,继续执行以下操作。

  1. 执行 cp /tmp/ppp/options.wan0 /jffs/options.wan0
  2. 在/jffs/scripts里面新建一个services-start。写入以下内容:
#!/bin/sh
i=30
while [ `ps |grep pppd |grep -v grep |wc -l` -eq 0 ]
do
if [ $i -lt 1 ] ; then
logger "Could not restart pppd"
exit
fi
i=$(($i-1))
sleep 1
done
killall pppd
cp /jffs/options.wan0 /tmp/ppp/options.wan0
/usr/sbin/pppd file /tmp/ppp/options.wan0 &

然后添加执行属性。

  • 当然你可以需要在后面加上执行latest-pppoe.py的命令(大概可以新建个/jffs/scripts/wan-start来执行)。

此页面仅为拨号账号出现\r\n的同学提供帮助,并非本repo的主题。