Linux device driver printk-in驱动程序

Linux device driver printk-in驱动程序,linux-device-driver,Linux Device Driver,我对linux模块编程非常陌生。 我需要了解如何在linux中对ath9k驱动程序进行一些调整。 我最终获得了ath9k的compat无线源代码,并在ubuntu 11.04中编译,并尝试使用这些代码。 我试着用printk来看看会发生什么。 首先,我将printk放在init.c文件中,当我在终端中使用dmesg时,会显示我打印的消息。然而,当我试图在另一个文件(如rc.c)中使用相同的printk时,它根本没有出现。 我想知道这是为什么? 还有没有其他方法可以记录类似于fprintf的代码中

我对linux模块编程非常陌生。 我需要了解如何在linux中对ath9k驱动程序进行一些调整。 我最终获得了ath9k的compat无线源代码,并在ubuntu 11.04中编译,并尝试使用这些代码。 我试着用printk来看看会发生什么。 首先,我将printk放在init.c文件中,当我在终端中使用dmesg时,会显示我打印的消息。然而,当我试图在另一个文件(如rc.c)中使用相同的printk时,它根本没有出现。 我想知道这是为什么? 还有没有其他方法可以记录类似于fprintf的代码中的信息。我需要的是从驱动程序中提取数据包头

多谢各位
致以最诚挚的问候。

阅读有关proc fs的信息,它是一个从设备驱动程序中提取数据的绝佳框架。 一旦将设备节点注册为proc fs,就可以从中读取。 调用read函数后,您定义的回调函数将创建输出。这是一种从设备检索数据的极好方法

还有另外两种方法,一种是sysfs,你可以用谷歌搜索。第二,,
如果设备是char设备,则可以实现ioctrl函数,返回所需信息。

奇怪。
rc.c
的那一部分实际执行了吗?另一个问题是,在printk中使用哪个日志级别?KERN_信息、KERN_警告或其他什么?我尝试了KERN_信息日志级别。我在rc.c中的很多函数中都用到了它,但我不能100%确定这些函数是否运行过。我将尝试查看是否在另一个文件上尝试printk。我还将阅读有关procfs的内容,并按照Mellowcandle的建议进行尝试。谢谢,我想补充一点,你也可以在debugfs中创建一个文件并将信息转储到那里。非常感谢你的回复。我将查找procfs,然后进行尝试。很抱歉迟了答复。我也不熟悉在debugfs中创建文件,但我会阅读并尝试一下。非常感谢你。