【问题标题】:How to check the registers value of the network card on ARM Linux?如何在 ARM Linux 上查看网卡的寄存器值?
【发布时间】:2011-09-25 13:58:17
【问题描述】:

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

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

可以这样做吗?怎么样?

【问题讨论】:

  • 为什么不能重新编译驱动?如果您无法重新编译驱动程序,您希望如何修复该错误,即使您确实找到了它?
  • 因为我只是想确认和定位当前阶段的bug

标签: linux networking linux-kernel driver


【解决方案1】:

您可以重新编译驱动程序,添加printk 与您想看到的任何内容。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-02
    • 2015-11-02
    • 2015-10-11
    • 2010-12-20
    • 1970-01-01
    • 2014-07-29
    相关资源
    最近更新 更多