ppp
Linux カーネル 2.6.32 を搭載した p2020 プロセッサを搭載したボードのコンソール ポートでデーモンを実行しようとしています。実行後、ppp
インターフェイスppp0
が起動せず、エラーが発生しますpppd blocked for more than 120 sec
。これをデバッグできません。
このエラーの発生を防ぐにはどうすればよいですか?
syslog 出力は以下のとおりです。
INFO: task pppd:2957 blocked for more than 120 seconds.
"echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
pppd D 0fe61c98 0 2957 2953 0x00000002
Call Trace:
[eec93d10] [c021ace4] n_tty_set_termios+0x3f8/0x59c (unreliable)
[eec93dd0] [c0007920] __switch_to+0x54/0xb0
[eec93de0] [c0381e8c] schedule+0x1f0/0x2f8
[eec93e20] [c021f308] tty_ldisc_ref_wait+0x6c/0xb0
[eec93e60] [c0218888] tty_ioctl+0x13c/0x9dc
[eec93e90] [c00b0aa4] vfs_ioctl+0x34/0x8c
[eec93ea0] [c00b0cc8] do_vfs_ioctl+0x88/0x72c
[eec93f10] [c00b13ac] sys_ioctl+0x40/0x74
[eec93f40] [c000f998] ret_from_syscall+0x0/0x3c
INFO: task pppd:2957 blocked for more than 120 seconds.
"echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
pppd D 0fe61c98 0 2957 2953 0x00000002
答え1
この特定のバージョンのカーネルにはバグがありました。バージョン 2.6.34 で修正されました。カーネルに対して発行されたチケットは次の通りです。バグ 16206 - 問題: PPP およびその他のシリアル ポート関連のアプリケーションがカーネル空間でハングする。
パッチを自分でバックポートするか、カーネルの新しいバージョンに移行する必要があります。