在我们的设备上,我们观察到组播地址为Layer2的IPv6 NS数据包被丢弃。tcpdump无法捕获这些数据包,所以我猜这些数据包是由网卡驱动程序丢弃的(如果我错了,请纠正我)。
为了验证这一点,我想编写一个模块来检查网卡中某些寄存器的值。因为我不可能重新编译原始驱动程序,所以我需要一个单独的模块来完成这项工作。
这样做有可能吗?多么?
发布于 2011-09-28 13:06:25
您可以重新编译驱动程序,添加带有您想要查看的内容的printk
。
如果您正在为ARM目标进行开发,那么您可能正在使用Embedded Linux Dev Kit (ELDK),因此您可以在内核源代码树中查找驱动程序,对其进行修改,然后重新构建内核。或者,您可以删除常驻驱动程序并将其编译为可加载的模块-这对于修补驱动程序来说要容易得多。
https://stackoverflow.com/questions/7545952
复制相似问题