我是linux模块编程的新手。 我需要一些如何能够对linux中的ath9k驱动程序进行一些调整。 我终于得到了ath9k的compat无线源代码,在ubuntu 11.04中进行编译,并尝试使用代码。 我尝试使用printk试图了解发生了什么。 首先我将printk放在init.c文件中,当我在终端中使用dmesg时,我打印的消息显示出来。但是,当我尝试在rc.c这样的另一个文件中使用相同的printk时,它根本没有显示出来。 我想知道为什么会这样? 还有其他一些方法,我可以如何记录代码中的一些信息类似于fprintf。我需要的是我需要以某种方式从驱动程序中提取数据包标题。
谢谢 最诚挚的问候。
答案 0 :(得分:1)
阅读proc fs,它是一个从设备驱动程序中提取数据的好框架。 一旦您将设备节点注册为proc fs,您就可以从中读取。 一旦调用了read函数,您定义的回调函数就会创建输出。这是从设备检索数据的绝佳方法。
还有另外两种方法,一种是sysfs,你可以google for it。第二, 如果设备是char设备,你可以实现一个ioctrl函数,它返回你需要的信息。