通过串行端口运行后内核 pppd 任务挂起

通过串行端口运行后内核 pppd 任务挂起

ppp我正在尝试在我的主板的控制台端口上运行守护程序,该主板具有 p2020 处理器和 Linux 内核 2.6.32。运行后ppp界面ppp0没有出现并且出现错误pppd blocked for more than 120 sec。我无法调试这个。

我怎样才能防止这个错误的发生?

系统日志输出如下。

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 中修补。这是针对内核开出的罚单:Bug 16206 - 问题:PPP 和其他与串行端口相关的应用程序在内核空间中挂起

您需要自行向后移植补丁或升级到更新版本的内核。

相关内容