问题标签 [linux-device-driver]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
10783 浏览

linux-device-driver - 编写 I2C 设备驱动程序时探测问题

我是编写linux设备驱动程序的新手,如果有什么愚蠢的问题和我的英语不好请原谅我^^
我正在尝试为触摸面板编写驱动程序,它通过I2C与CPU通信。
我尝试在linux平台上添加一个设备驱动,注册成功,我的意思是驱动加载了,但是probe函数没有启动!!

以上是我写的驱动的部分代码。

以上是用于注册 i2c 设备的平台(/kernel/arch/arm/mach-pxa/saarb.c)中的部分代码。

欢迎任何建议和意见,谢谢^^

0 投票
2 回答
4614 浏览

android - 如何在 ANDROID 中实现/调试传感器驱动程序

有谁知道在android中设置传感器的演练或任何代码示例。

我有可用的驱动程序。


我还按照sensors.h模板中的Android-Reference中的说明实现了传感器库。

我仍然无法在应用程序级别得到任何响应。

我如何追踪这个问题?可能是什么问题?

提前致谢


更新:

Jorgesys下面的链接指向一个很棒的应用程序来测试传感器驱动程序是否正常运行。

现在我知道它们不起作用,关于在哪里挖掘的任何想法??

0 投票
3 回答
3092 浏览

usb - linux usb驱动程序:探测已经插入的设备

我正在编写一个 USB 驱动程序,但我遇到了一个问题。当我在事先已经插入设备的情况下安装驱动程序时,不会调用探测函数。只有在我断开设备并重新插入后才会调用它。我想让它在我启动我的电脑并插入设备时工作。

有人可以帮我吗?

0 投票
1 回答
667 浏览

linux-kernel - Linux 驱动程序 phys_mem_access_prot 未定义

我有一个可加载模块,在 Ubuntu 9.10(Linux 2.6.31-22-server)下构建时会发出有关 phys_mem_access_prot 的警告。

该函数确实显示在 System.map-2.6.31-22-server 文件中

并且驱动程序加载,所以我很困惑为什么modpost不开心。这是一个问题,因为内核没有导出函数EXPORT_SYMBOL()吗?

0 投票
1 回答
1934 浏览

networking - 以太网交换机设备驱动程序

我们正在设计一个基于 SoC 的网络设备,它包含 MIPS 内核和 5 端口交换内核,通过内部 MII 端口连接到 CPU。

芯片供应商提供的设备驱动程序从操作系统的角度将 5 端口交换机表示为单个接口;该驱动程序还支持 VLAN,目前它在两个 VLAN 组中拆分了 5 个端口。在评估板上,这个方案以某种方式起作用,结合了软件桥、软件 vlan 和防火墙规则。

不过我们打算用外置的24口交换机,通过内部交换机的两个口连接到SoC,这两个口分别作为WAN口和LAN口,应该可以有IP地址,因此我们的设计看起来与参考设计不同。因此,我认为没有其他方法,而是让这五个内部端口看起来像是从操作系统的角度来看的不同接口。

然后允许分配这些接口的 WAN 和 LAN 地址,并将外部交换机的接口放入相应的 VLAN 组中。

你认为这种机制行得通吗?其次,如果我制作这些不同的接口,是否会强制在软件而不是硬件中进行任何切换?

谢谢。

0 投票
1 回答
104 浏览

linux - 如何查看内核中特定模块的更改日志

我想知道如何查看内核中模块的更改日志或提交消息。实际上我在 kernel2.6.26 中修改了 virtio_net。现在 2.6.34 中的 virtio_net 似乎与 2.6.26 中的有很大不同。不同版本的 virtio_net 应该有一些 git 提交消息或更改日志。我想知道 2.6.26 和 2.6.34 中模块功能的渐进差异。怎么做?谢谢...

谢谢,巴拉

0 投票
2 回答
3237 浏览

linux-kernel - Linux 内核驱动程序:NVRAM 访问的模型是什么?

我刚刚在我的板上为 NXP RTC 芯片编写了一个 RTC 驱动程序,效果很好。该芯片还具有一些电池支持的 RAM,我希望将其提供给用户空间应用程序。RTC 框架不支持这一点。它只有 512 个字节,但我在做一个可搜索的 CHAR 驱动程序或一个完整的 BLOCK 驱动程序之间折腾。我以前从未做过块驱动程序,但它似乎需要比简单的 CHAR 更多的信息。

我也可以与 IOCTLS 交互,但感觉不像它应该的那样干净。让这些字节对用户态可用的最佳方式是什么?

[编辑] 我忘了提到 RTC 芯片挂在 I2C 端口上,它没有映射到内存中,因此不适合映射。[/编辑]

0 投票
6 回答
160278 浏览

c - “致命:未找到模块错误”使用 modprobe

我的命令有问题modprobe...我编译了 hello world 模块并加载了它insmod,它工作正常,当我这样做时lsmod,我可以在输出列表中看到它。但是当我使用插入这个模块时,modprobe我得到一个致命错误:

这是模块代码:

和 Makefile

0 投票
3 回答
1012 浏览

linux - Linux - 安装用户空间文件系统(模仿一个:-))作为文件系统

我有一段 C 代码,它带有一块内存(静态数组)可以模拟文件操作(它具有类似于fopen/fclose等的 API)。因此,使用这个模仿 FileSystem 编译的任何代码都可以使用这些 API 作为 FileSystem 来满足他们的所有需求:)

但我想知道,是否有可能以某种方式将这些 API 注册到 Linux 系统/安装这个文件系统,从而使任何客户端都可以通过使用普通的 FileSystem 调用来使用这个 FS(不需要将它与 My_FileSystem 静态链接)。

在寻找解决方案时,我想到了将 my_FileSystem 作为驱动程序的想法!!!=> 是否可以将我的代码编译为设备驱动程序(在驱动程序中使用内存块)并挂载这个 File_system @ say "/mnt/MyFs",并像 USB 驱动程序一样转移 FileSystem 调用?(如果可以做到这一点,您能否解释一下它是如何完成的,或者指向我可以阅读的地方)。

我不想将这些添加为新的系统调用并重新编译内核(并使想要使用它的人的生活变得困难)。

这主要适用于运行 Linux 的嵌入式系统......但也欢迎其他建议。:)

谢谢你,

微内核:)

0 投票
3 回答
13955 浏览

linux - Linux内核模块中的module_init和init_module有什么区别?

我一直在尝试移植一些 linux 驱动程序,并意识到 linux 的内核版本 2.4 和 2.6 之间存在很大差异。

在 2.4 版本的内核中,模块编程如下:

但是,对于 2.6 版本的内核,必须对模块执行以下操作 -

在内核 2.6 中进行此类更改的优势是什么?为什么在 linux 的内核 2.6 中需要进行更改?