tic-hirano
2014年7月1日 15時12分
お世話になっております,平野と申します.
Armadillo-460を利用して衛星携帯電話 ワイドスターⅡ(NTT docomo)にPPPoE接続しようとしています.
MLの[Armadillo:08276] Armadillo-460からPPPoEを使用する方法(http://lists.atmark-techno.com/pipermail/armadillo/2012-August/008279.h…)を参考に試してみましたがネット接続まで至りませんでした.
PPPoE Discovery完了後のPPP LCPでArmadillo-460がConfigration Requestを受けた後にConfiguration Ackを送信しないため次のステップに移れていないようです.
pppdのオプションで指定するとよいものなどありますでしょうか?
Windows 7 Pro PCでの接続完了までのパケットとArmadillo-460でのパケットを比較し下記のオプションを試しました.
・Host-Uniq タグのためpppoeに"-U"オプションを指定
・"mru 1480"をpppdのオプションに追加
・認証がないので"noauth"をpppdのオプションに追加
・Async Control Caharacter Mapが含まれなかったので"default-asyncmap"をpppdのオプションに追加
・PPP LCPの応答を待つように"silent"をpppdのオプションに追加(上記"default-asyncmap"があってもAsync Control Character Map「None」が入る)
利用機器:Armadillo-460
開発環境:ATDE3
Linuxカーネル:v2.6.26-at19
ユーザランド:v20140415
Roaring Penguin PPPoE Version 2.3
pppd version 2.4.4
以上,よろしくお願いします.
ファイル | ファイルの説明 |
---|---|
arm460_pppoe.txt | pppoeの接続テスト ログ |
コメント
at_daisuke.sasaki
佐々木大輔です。
Atmark Distのpppdは、2.4.4というversionです。
このpppdには、「空白のユーザーネーム・パスワードを使用する事ができない」
というレポートがあるようです。
詳細は以下のページを確認してみてください。
http://ftp.samba.org/cgi-bin/ppp-bugs/resolved?id=2069;user=guest
上記レポートのpatchを適用し、確認してもらえますか?
※私の方ではpatchを適用しビルドできる所までは確認しました。
ビルド確認のため、レポートに埋まっているpatchをファイルにしたので、添付しておきます。
ファイル | ファイルの説明 |
---|---|
pppd-2.4.4_cannot-use-blank-username-or-password.patch |
tic-hirano
tic-hirano
平野です.
教えていただいたパッチを当てたものでも動作に変化が出なかったので最新版(2.4.6)にて試しています.
#最新版はパッチが当たった状態でした.
今の状況は下記のとおりです.
・ユーザ名/パスワードを空にしてCHAPで接続
・PPP LCPが終わり衛星携帯電話からCHAP Challengeを受ける
・pppdはCHAP Responseを送信しようとしているがパケットとして確認できない
pppdのログ(test.log)でも衛星携帯電話とArmadillo-460間のパケットキャプチャ(20140729_pppd_packet.txt)でもCHAP Responseが送信されていない状況です.
syslogを使って処理状況を確認(message_from_pppd)するとwrite関数は指定したバイト数書き込めたと戻り値を返しているようです.
PPP LCPのやり取りで同じwrite関数を使用しているのでCHAP Responseだから送信できないということがわかりません.
なにかwrite関数で送信できない理由は考えられますか?
ファイル | ファイルの説明 |
---|---|
test.log | pppdのログ |
20140729_pppd_packet.txt | 衛星携帯電話とArmadillo-460間のパケットキャプチャ |
pppd.options.txt | pppdオプション |
message_from_pppd.txt | pppdでsyslog出力した結果 |
sys-linux.c | syslogでのデバッグ追加部分 |
at_yashi
> PPP LCPのやり取りで同じwrite関数を使用しているのでCHAP Responseだから送信できないということがわかりません.
> なにかwrite関数で送信できない理由は考えられますか?
write()
の戻り値が送信数と一致しているのであれば、たぶんカーネルには渡っているはずです。
kdebug
の値が、1
になっていますが、4
だと表示されませんか?
以下 pppdの manから抜粋
kdebug n Enable debugging code in the kernel-level PPP driver. The argu‐ ment values depend on the specific kernel driver, but in general a value of 1 will enable general kernel debug messages. (Note that these messages are usually only useful for debugging the kernel driver itself.) For the Linux 2.2.x kernel driver, the value is a sum of bits: 1 to enable general debug messages, 2 to request that the contents of received packets be printed, and 4 to request that the contents of transmitted packets be printed. On most systems, messages printed by the kernel are logged by syslog(1) to a file as directed in the /etc/syslog.conf configu‐ ration file.
at_yashi
tic-hirano
平野です.
> rp-pppoeの debugを有効にできますか?
pppdの実行を下記でおこなっています.
exec /home/ftp/pub/pppd pty 'pppoe -I eth0 -D /mnt/pppoe/test.log -S mopera.net -U' 1> ${PPP_LOG} 2> ${PPP_ERR}
前回アップロードした"test.log"(pppoeの通信ログ)と"20140729_pppd_packet.txt"(Arm460接続ポートをミラーポートでパケットキャプチャしたもの)を比較すると,実データ部は同じようです.
tic-hirano
平野です.
Armadillo-460で衛星携帯電話とのPPPoE接続ができましたのでその結果を報告します.
PPPを利用するためにカーネルで下記を有効にしました.
Linux Kernel Configuration Device Drivers ---> [*] Network device support ---> <*> PPP (point-to-point protocol) support [ ] PPP multilink support (EXPERIMENTAL) [ ] PPP filtering <*> PPP support for async serial ports <*> PPP support for sync tty ports <*> PPP Deflate compression <*> PPP BSD-Compress compression <*> PPP MPPE compression (encryption) (EXPERIMENTAL) < > PPP over Ethernet (EXPERIMENTAL) < > PPP over L2TP (EXPERIMENTAL)
ユーザランドでは下記を有効にしました.
Userland Configuration Network Applications ---> [*] pppd [*] rp-pppoe [ ] rp-pppoe server
なお,教えていただいたpppdのパッチをあてています.
pppdでの接続は下記を実行しました.
/sbin/pppd pty '/bin/pppoe -p /var/run/pppoe.pid -I eth0 -U -m 1412 -S mopera.net' noipdefault +chap noauth default-asyncmap defaultroute usepeerdns show-password nodetach silent mtu 1492 noaccomp nodeflate nopcomp novj novjccomp debug &
ネットワーク設定によりますがresolv.confを記載しておけば外部へ接続が可能になりました.
当初はPPP関連のオプションを下記のみ有効にしていたため問題が発生していたようです.
< > PPP over Ethernet (EXPERIMENTAL)
前述のPPP関連オプション(5個)からさらに何か外せるかは試せていません.
pppdのオプションも同様です.
以上,ありがとうございました.
tic-hirano
tic-hirano
2014年7月11日 16時30分
お世話になっております,平野と申します.
いろいろ調べた結果Windows 7 Pro PCはユーザ名・パスワードを設定せず認証しているので
PPP CHAPのレスポンスでも「NAME=''」となっていました.
Armadillo-460のchap-secretsファイルでユーザ名を「””」や「’’」としてもpppdのエラーとして下記が出力されます.
---------------
/sbin/pppd: The remote system is required to authenticate itself
/sbin/pppd: but I couldn't find any suitable secret (password) for it to use to do so.
/sbin/pppd: (None of the available passwords would let it use an IP address.)
---------------
ユーザ名無しでの認証の設定は可能でしょうか?
以上,よろしくお願いします.