如何在ARM Linux上检查网卡的寄存器值?

时间:2011-09-25 13:58:18

标签: linux networking linux-kernel driver

在我们的设备上,我们观察到多播地址为Layer2的IPv6 NS数据包已被删除。 tcpdump无法捕获这些数据包,所以我猜数据包被网卡驱动程序丢弃(如果我错了,请纠正我)。

为了验证这一点,我想编写一个模块来检查网卡中某些寄存器的值。由于我无法重新编译原始驱动程序,因此我需要一个单独的模块来完成这项工作。

有可能吗?怎么样?

1 个答案:

答案 0 :(得分:1)

您可以重新编译驱动程序,将printk添加到您想要查看的内容中。

如果您正在为ARM目标开发,则可能正在使用Embedded Linux Dev Kit (ELDK),因此您可以在内核源代码树中查找驱动程序,修改它并重建内核。或者你可以删除常驻驱动程序并将其编译为可加载模块 - 这对于修改驱动程序来说要容易得多。