我们的一个系统出现了PPPD的问题,我们有一台PC,它可以通过拨号连接与远程站点对话,调制解调器既可以连接到站点,也可以重新拨号。目前,我遇到了一个问题,在一些时候,一个站点以太拨号或我们拨号,它连接,但然后阻塞调制解调器,抛出和错误的kern.log。
Aug 26 14:23:57 TM-SCADA kernel: [191233.503745] INFO: task pppd:8142 blocked for more than 120 seconds.
Aug 26 14:23:57 TM-SCADA kernel: [191233.503750] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
Aug 26 14:23:57 TM-SCADA kernel: [191233.503753] pppd D ffffffff8180cb40 0 8142 1 0x00000000
Aug 26 14:23:57 TM-SCADA kernel: [191233.503759] ffff8800ac1f5dc8 0000000000000086 ffff8800ac1f5fd8 00000000000137c0
Aug 26 14:23:57 TM-SCADA kernel: [191233.503765] ffff8800ac1f4010 00000000000137c0 00000000000137c0 00000000000137c0
Aug 26 14:23:57 TM-SCADA kernel: [191233.503770] ffff8800ac1f5fd8 00000000000137c0 ffffffff81c13020 ffff880135df5b80
Aug 26 14:23:57 TM-SCADA kernel: [191233.503775] Call Trace:
Aug 26 14:23:57 TM-SCADA kernel: [191233.503784] [<ffffffff8166ba29>] schedule+0x29/0x70
Aug 26 14:23:57 TM-SCADA kernel: [191233.503790] [<ffffffff813db005>] tty_ldisc_ref_wait+0x65/0xb0
Aug 26 14:23:57 TM-SCADA kernel: [191233.503796] [<ffffffff813f3061>] ? uart_ioctl+0xd1/0x1c0
Aug 26 14:23:57 TM-SCADA kernel: [191233.503801] [<ffffffff81076960>] ? wake_up_bit+0x40/0x40
Aug 26 14:23:57 TM-SCADA kernel: [191233.503806] [<ffffffff813d3fa0>] tty_ioctl+0x2c0/0x9a0
Aug 26 14:23:57 TM-SCADA kernel: [191233.503810] [<ffffffff811d0549>] ? fcntl_setlk+0x69/0x200
Aug 26 14:23:57 TM-SCADA kernel: [191233.503815] [<ffffffff81195f79>] do_vfs_ioctl+0x99/0x330
Aug 26 14:23:57 TM-SCADA kernel: [191233.503820] [<ffffffff81195212>] ? do_fcntl+0x232/0x410
Aug 26 14:23:57 TM-SCADA kernel: [191233.503823] [<ffffffff811962b1>] sys_ioctl+0xa1/0xb0
Aug 26 14:23:57 TM-SCADA kernel: [191233.503829] [<ffffffff81674e69>] system_call_fastpath+0x16/0x1bsyslog跟踪在“建立串行连接”处停止。
Aug 28 06:00:03 TM-SCADA pppd[10358]: pppd 2.4.5 started by root, uid 0
Aug 28 06:00:04 TM-SCADA chat[10360]: abort on (NO CARRIER)
Aug 28 06:00:04 TM-SCADA chat[10360]: abort on (NO DIALTONE)
Aug 28 06:00:04 TM-SCADA chat[10360]: abort on (ERROR)
Aug 28 06:00:04 TM-SCADA chat[10360]: abort on (NO ANSWER)
Aug 28 06:00:04 TM-SCADA chat[10360]: abort on (BUSY)
Aug 28 06:00:04 TM-SCADA chat[10360]: abort on (Username/Password Incorrect)
Aug 28 06:00:04 TM-SCADA chat[10360]: send (atz^M)
Aug 28 06:00:04 TM-SCADA chat[10360]: expect (OK)
Aug 28 06:00:04 TM-SCADA chat[10360]: atz^M^M
Aug 28 06:00:04 TM-SCADA chat[10360]: OK
Aug 28 06:00:04 TM-SCADA chat[10360]: -- got it
Aug 28 06:00:04 TM-SCADA chat[10360]: send (atx0^M)
Aug 28 06:00:04 TM-SCADA chat[10360]: expect (OK)
Aug 28 06:00:04 TM-SCADA chat[10360]: ^M
Aug 28 06:00:04 TM-SCADA chat[10360]: atx0^M^M
Aug 28 06:00:04 TM-SCADA chat[10360]: OK
Aug 28 06:00:04 TM-SCADA chat[10360]: -- got it
Aug 28 06:00:04 TM-SCADA chat[10360]: send (atdt0123456789^M)
Aug 28 06:00:04 TM-SCADA chat[10360]: expect (CONNECT/ARQ)
Aug 28 06:00:04 TM-SCADA chat[10360]: ^M
Aug 28 06:00:30 TM-SCADA chat[10360]: atdt0123456789^M^M
Aug 28 06:00:30 TM-SCADA chat[10360]: CONNECT/ARQ
Aug 28 06:00:30 TM-SCADA chat[10360]: -- got it
Aug 28 06:00:30 TM-SCADA pppd[10358]: Serial connection established.在这种情况下,我只找到了两种释放调制解调器的方法,第一种是关闭调制解调器,再次打开调制解调器,第二种方式是删除串行锁文件,然后是SIGKILL pppd。现在我可以在我们的软件中写入,如果调制解调器被锁定,我可以执行后者,但如果可能的话,我宁愿从一开始就阻止它锁定。我之所以把这个问题放在askubuntu中,是因为我们以前使用过OpenSuse,而且从来没有遇到过问题,诚然,它的版本是11.2或更早,所以它仍然是旧的内核,但我想我还是先问一下。
如有任何关于参观地点的建议,我们将不胜感激。
发布于 2012-10-16 12:53:23
您在kern.log中看到的消息表明,您正在使用的内核中存在一个bug,可能是这个错误:https://bugzilla.kernel.org/show_bug.cgi?id=16206。
https://askubuntu.com/questions/181273
复制相似问题