![奇怪的 ping 行为](https://linux22.com/image/49348/%E5%A5%87%E6%80%AA%E7%9A%84%20ping%20%E8%A1%8C%E4%B8%BA.png)
我使用以下命令构建了一个 Linux 发行版约克托项目,几乎没有定制。它在单板计算机上运行。
当我 ping 这台机器时,我得到以下结果:
PING 10.128.11.1 (10.128.11.1) 56(84) bytes of data.
64 bytes from 10.128.11.1: icmp_req=1 ttl=64 time=11.6 ms
64 bytes from 10.128.11.1: icmp_req=2 ttl=64 time=9.79 ms
64 bytes from 10.128.11.1: icmp_req=3 ttl=64 time=7.76 ms
64 bytes from 10.128.11.1: icmp_req=4 ttl=64 time=5.78 ms
64 bytes from 10.128.11.1: icmp_req=5 ttl=64 time=3.75 ms
64 bytes from 10.128.11.1: icmp_req=6 ttl=64 time=1.80 ms
64 bytes from 10.128.11.1: icmp_req=7 ttl=64 time=99.7 ms
64 bytes from 10.128.11.1: icmp_req=8 ttl=64 time=97.8 ms
64 bytes from 10.128.11.1: icmp_req=9 ttl=64 time=95.8 ms
64 bytes from 10.128.11.1: icmp_req=10 ttl=64 time=93.8 ms
64 bytes from 10.128.11.1: icmp_req=11 ttl=64 time=91.8 ms
64 bytes from 10.128.11.1: icmp_req=12 ttl=64 time=89.8 ms
64 bytes from 10.128.11.1: icmp_req=13 ttl=64 time=87.8 ms
-- snip --
64 bytes from 10.128.11.1: icmp_req=52 ttl=64 time=15.7 ms
64 bytes from 10.128.11.1: icmp_req=53 ttl=64 time=13.7 ms
64 bytes from 10.128.11.1: icmp_req=54 ttl=64 time=11.7 ms
64 bytes from 10.128.11.1: icmp_req=55 ttl=64 time=9.77 ms
64 bytes from 10.128.11.1: icmp_req=56 ttl=64 time=7.78 ms
64 bytes from 10.128.11.1: icmp_req=57 ttl=64 time=5.75 ms
64 bytes from 10.128.11.1: icmp_req=58 ttl=64 time=3.78 ms
64 bytes from 10.128.11.1: icmp_req=59 ttl=64 time=1.76 ms
64 bytes from 10.128.11.1: icmp_req=60 ttl=64 time=99.7 ms
每个数据包该值持续减少 2 ms,然后增加到 100 ms,然后再次减少 2 ms。
当我配置接口时,出现奇怪的错误(但接口可以工作):
[ 65.404850] irq 15: nobody cared (try booting with the "irqpoll" option)
[ 65.404957] Pid: 661, comm: ifconfig Not tainted 3.8.1-yocto-standard #2
[ 65.405036] Call Trace:
[ 65.405136] [<c10a9a39>] __report_bad_irq+0x29/0xd0
[ 65.405237] [<c13b18fd>] ? add_interrupt_randomness+0x1d/0x160
[ 65.405329] [<c10a9e65>] note_interrupt+0x165/0x1b0
-- snip --
[ 65.405617] [<c112fcc3>] ? sys_ioctl+0x63/0x90
[ 65.405617] [<c1662970>] ? syscall_call+0x7/0xb
[ 65.405617] handlers:
[ 65.405617] [<c1473100>] rtl8139_interrupt
[ 65.405617] Disabling IRQ #15
我在输出中搜索了sysctl -A
可能导致此行为的变量,更改了一些,但无济于事。我禁用了 IPv6。我尝试了 RT 内核。我尝试了内核参数acpi=noirq
和irqpoll
.我检查了一下dmesg
,发现驱动程序正确注册了IRQ15:
[ 6.926691] 8139too: 8139too Fast Ethernet driver 0.9.28
[ 6.927813] 8139too 0000:00:09.0 eth0: RealTek RTL8139 at 0x0001fc00, 00:05:b7:dd:53:25, IRQ 15
我搜索了内核的 Documentation/ 和 Documentation/networking/ 文件夹以获取信息,但没有找到。我广泛使用谷歌,没有找到任何东西。
您知道这种行为的根源是什么吗?
答案1
问题是 BIOS 配置错误。将其重置为默认值解决了该问题。我无法找到导致问题的配置...为了完整起见,我留下这个答案。