如果使用阶数大于 1 的 __get_free_pages() 如何创建 vm_area 映射?
我正在 DMA 的设备驱动程序中重新实现 mmap。 我看到这个问题: Linux 驱动程序:mmap() 内核不使用 nopage 缓冲到用户空间,其答案是使用 vm_insert_…
设备驱动程序开发中的工作队列?
现在我正在处理设备驱动程序编码。作为开发的一部分,需要对workqueues和work_struct进行探索。 我对此只有很少的参考。 html">http://www.hackchina.…
低级驱动程序和 tty 驱动程序之间的链接
我正在为 Linux 编写一个控制台驱动程序,我遇到了需要为此驱动程序设置的 tty 接口。我对 tty 驱动程序如何与低级驱动程序绑定感到困惑。 很多时候根…
如何在内核中分配不可缓存的物理内存?
如果要分配不可缓存的物理内存(DRAM)供驱动程序使用, (即,不希望数据被缓存到CPU的数据缓存中 数据被访问)我该怎么做? 有像 kmalloc()、get_fr…
/dev/port 与 /dev/mem
我需要一些澄清。我可以直接写入 /dev/port 以直接访问并行端口,并且它工作正常(我可以打开插入端口连接器的 LED)。但是,我想我可以对 /dev/mem …
以太网未收到广播数据包
我正在开发在 cisco IPTV 上运行的 2.6.15 内核。当盒子出现时,DHCP 客户端挂断。其原因是 DHCP 客户端无法获取广播的 DHCP Offer 消息。 当我读取 /…
初学者希望编写 linux 设备驱动程序(usb、pci)。设备建议?
我阅读 Linux 内核开发和设备驱动程序已有一段时间了。我准备在真正的硬件上尝试一下。我想为台式计算机的 USB(或者 PCI)设备编写一个驱动程序。但…
Linux中tcp/ip协议栈如何获取net_device接口
我正在阅读网络设备驱动程序代码。我的驱动程序遵循驱动程序模型。参考:kernel/Documentation/driver-model。 读取interface.txt: { 设备接口是关联…
一个模块的 insmod 和 rmmod 是否可以从另一个模块的驱动程序触发?
我们正在尝试让一个模块的 insmod 和 rmmod 在一定条件下从另一个模块的 ioctl 工作;这可能吗?如果没有,有什么办法可以达到同样的效果。…
连接到 USB 端口时索尼爱立信注册两个设备
我很好奇为什么每部索尼爱立信手机(w200i、2660 等)通过 USB 连接到 PC 时都会注册两个 ttyACM 设备?这也带来了与移动设备交互的复杂性。 有人能解…
如何在编译模块时集成 Module.symvers
我有一个 Module.symvers 文件,其中包含我需要在其他模块(例如 B)中使用的符号(来自模块 A)。 但我无法对原始模块 A 进行更改。有没有办法告诉模…