物好き者

物好き者が行ったことを載せています。

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

PageTop

DD-WRTでのPPPoEマルチセッションへの挑戦6

DD-WRTでのPPPoEマルチセッションへの挑戦5で、DD-WRTのpppdを手動で実行してもPPPoEがつながることが判ったので、PPPoEパッケージをインストールして動くかテストしていきます。

rp-pppoe-client_3.8-1_mipsel.ipkをインストールしたところ、エラーとなり起動しませんでした。
tinyproxyをLaFoneraDD-WRTにインストールした時、LaFoneraへインストールしたDD-WRTへのパッケージインストールで、LaFonera用のパッケージを入れないとエラーとなったことを思い出しました。
このため、rp-pppoe-client_3.8-1_mipsel.ipkをアンインストールし、LaFonera用のPPPoEパッケージ pppoe-client_3.5-1_mips.ipkをインストールしました。

rp-pppoe-client_3.8-1_mipsel.ipkでは無かったadsl-setupやadsl-startなどのスクリプトもインストールされました。

adsl-setupコマンドを実行したところ、エラーとなりました。
Welcome to the Roaring Penguin ADSL client setup. First, I will run
some checks on your system to make sure the PPPoE client is installed
properly...

Oh, dear, I don't see the file '/etc/pppoe.conf' anywhere. Please
re-install the PPPoE client.

各ファイルがn/jffs以下にインストールされるので、パスに違いがあるためです。

adsl-setupを修正しました。
CONFIG=、prefix=、exec_prefix=、PPPOE=、各/etc/pppoe.confに/jffsを追加しました。

実行したところ、まだエラーが出ました。
>>> Accept these settings and adjust configuration files (y/n)? y
Adjusting /jffs/etc/pppoe.conf
Adjusting /etc/ppp/pap-secrets and /etc/ppp/chap-secrets
/jffs/usr/sbin/adsl-setup: /jffs/usr/sbin/adsl-setup: 329: cannot create /etc/ppp/pap-secrets: Directory nonexistent
/jffs/usr/sbin/adsl-setup: /jffs/usr/sbin/adsl-setup: 330: cannot create /etc/ppp/pap-secrets: Directory nonexistent
/jffs/usr/sbin/adsl-setup: /jffs/usr/sbin/adsl-setup: 331: cannot create /etc/ppp/chap-secrets: Directory nonexistent
/jffs/usr/sbin/adsl-setup: /jffs/usr/sbin/adsl-setup: 332: cannot create /etc/ppp/chap-secrets: Directory nonexistent



Congratulations, it should be all set up!

Type 'adsl-start' to bring up your ADSL link and 'adsl-stop' to bring
it down. Type 'adsl-status' to see the link status.


このため、さらに下記を修正しました。
$ECHO "Adjusting /jffs/etc/ppp/pap-secrets and /jffs/etc/ppp/chap-secrets"
if [ -r /jffs/etc/ppp/pap-secrets ] ; then
$ECHO " (But first backing it up to /jffs/etc/ppp/pap-secrets-bak)"
copy /jffs/etc/ppp/pap-secrets /jffs/etc/ppp/pap-secrets-bak
else
cp /dev/null /jffs/etc/ppp/pap-secrets-bak
fi
if [ -r /jffs/etc/ppp/chap-secrets ] ; then
$ECHO " (But first backing it up to /jffs/etc/ppp/chap-secrets-bak)"
copy /jffs/etc/ppp/chap-secrets /jffs/etc/ppp/chap-secrets-bak
else
cp /dev/null /jffs/etc/ppp/chap-secrets-bak
fi
if [ -r /jffs/etc/ppp/chap-secrets ] ; then
$ECHO " (But first backing it up to /jffs/etc/ppp/chap-secrets-bak)"
copy /jffs/etc/ppp/chap-secrets /jffs/etc/ppp/chap-secrets-bak
else
cp /dev/null /jffs/etc/ppp/chap-secrets-bak
fi

egrep -v "^$U|^\"$U\"" /jffs/etc/ppp/pap-secrets-bak > /jffs/etc/ppp/pap-secrets
$ECHO "\"$U\" * \"$PWD1\"" >> /jffs/etc/ppp/pap-secrets
egrep -v "^$U|^\"$U\"" /jffs/etc/ppp/chap-secrets-bak > /jffs/etc/ppp/chap-secre
$ECHO "\"$U\" * \"$PWD1\"" >> /jffs/etc/ppp/chap-secrets

エラーが出なくなり、/jffs/etc/pppoe.conf、/jffs/etc/ppp/pap-secrets、/jffs/etc/ppp/chap-secretsが作成できました。

同様に、adsl-connectとadsl-startも修正し、ads-startでは、
/etc/ppp/optionsに/jffsを追加しました。

adsl-startを実行すると、timeoutしてしまいます。
adsl-connectの場合は、プロセスはあがっていますがつながりません。

2688 root 440 S /bin/sh /jffs/usr/sbin/adsl-connect
2698 root 520 S /usr/sbin/pppd pty /jffs/usr/sbin/pppoe -p /var/run/p
2699 root 372 S sh -c /jffs/usr/sbin/pppoe -p /var/run/pppoe.conf-ads
2700 root 300 S /jffs/usr/sbin/pppoe -p /var/run/pppoe.conf-adsl.pid.

adsl-connect時の実行コマンドを調べたところ、次のようになっていました。
/jffs/usr/sbin/pppoe -p /var/run/pppoe.conf-adsl.pid.pppoe -I eth0 -T 80 -U -m 1412

また、pppoeのオプションは、次のようになっていました。
noipdefault noauth default-asyncmap defaultroute hide-password nodetach usepeerdns mtu 1492 mru 1492 noaccomp noccp nobsdcomp nodeflate nopcomp novj novjccomp user guest@flets lcp-echo-interval 20 lcp-echo-failure 3

直接これらのオプションでpppoeコマンドを実行しログを取得するとパケットはやり取りしています。
ネットワーキングの基礎講座(PPP)のセッションと比較すると、Receive PADSを受け取っていますが、こちらからSend LCPを送っていないようです。
pppoeの起動を別のプロセスが行い、そのプロセスがLCPに対する応答をするのでしょうか。

adsl-connectスクリプトを見ると、次のようになっています。
$SETSID $PPPD pty "$PPPOE_CMD -D $DEBUG-0" \
$PPP_STD_OPTIONS \
$PPPD_SYNC \


PPP_STD_OPTIONSは、下記のようになっていました。
PPP_STD_OPTIONS="$PLUGIN_OPTS noipdefault noauth default-asyncmap $DEFAULTROUTE

これらを踏まえて、下記のコマンドを実行しましたが、うまくいきません。
pppd pty "/jffs/usr/sbin/pppoe -p /jffs/usr/sbin/pid -I eth0 -T 80 -U -m 1412 -D /jffs/usr/sbin/log" noipdefault noauth default-asyncmap defaultroute hide-password nodetach usepeerdns mtu 1492 mru 1492 noaccomp noccp nobsdcomp nodeflate nopcomp novj novjccomp user guest@flets lcp-echo-interval 20 lcp-echo-failure 3

なかなか難しいようです。

スポンサーサイト

PageTop

コメント


管理者にだけ表示を許可する
 

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。