linux-device-driver 相关问题

设备驱动程序在Linux内核中扮演着特殊的角色。它们是以编程方式抽象的“黑盒子”,使特定的硬件响应明确定义的内部编程接口;他们完全隐藏了设备如何工作的细节。

pci_driver.probe函数没有被调用所以pci_device_id错误?

我正在迈出 Linux 内核设备驱动程序开发的第一步。 我了解到,对于 pci-e 卡,我必须调用 pci_register_driver 通过 pci_driver 类型的对象提供信息(是...

回答 3 投票 0

Linux 中的设备节点访问权限

我正在为嵌入式android编写一个字符设备驱动程序。 device模块,将自身注册为char设备,并在/dev下创建对应的设备节点。问题在于访问

回答 1 投票 0

Linux内核现在如何在platform_data中放入什么?

我正在分析设备驱动程序,例如TI TCA6408设备,驱动程序是gpio-pca953x。 ->probe() 函数中有一个从设备检索平台数据的部分: 静态整型

回答 1 投票 0

用收到帧的内容填充sk_buff

我正在编写一个内核网络模块,当我收到一个以太网DIX帧(它表示为连续的字节序列)时,我必须正确地将收到的数据包的所有内容放入sk_bu...

回答 1 投票 0

spi_driver.id_table 和 spi_driver.driver.of_match_table 的区别

我目前正在尝试了解 Linux 驱动程序是如何工作的。据我所知,当内核解析设备树中相应的.兼容字符串时,会调用驱动程序的probe/init函数。

回答 1 投票 0

rpi - pwm_get() - 如何使用静态查找表或设备树

我有一个 Raspberry Pi 3B,在 pwmchip0 (pwm0/pwm1) 上有两个电机。 我成功地通过 sysfs 控制了 pwm 芯片,但现在我想将其放入内核模块中。 我看到了 和

回答 2 投票 0

设备树设备与设备驱动程序的绑定顺序

我需要在配置以太网控制器之前(即在以太网控制器驱动程序和设备绑定之前)使用GPIO向交换机发送重置信号。我已经添加了重置l...

回答 1 投票 0

这个Makefile怎么写?

我是编程新手,我需要制作以下Makefile,但找不到网站向我解释。 稍微解释一下: F.c - 内核模块,它使用 A.h、B.h、C.h.... 中声明的函数

回答 1 投票 0

如何修改PCI设备初始化时传递给内核的信息字段?

根据这个答案,系统中的PCI/PCIe设备(比如GPU)在使用之前需要经过一个初始化过程: 操作系统内核获取PCI配置寄存器中的值...

回答 1 投票 0

如何控制内核空间中的 LED 列表

我正在尝试为 Linux 构建一个内核模块,以尝试控制 LED 设备列表,从而按顺序打开/关闭它们。例如,绿色-->红色-->绿色-->橙色,然后重复。 ...

回答 1 投票 0

如何访问 WSL2 上的输入设备?

当我输入 cat /dev/input 时,没有目录。 当我输入 cat /proc/bus/input/devices 时,那里也什么也没有。 因为我曾经在我的 VMWare Ubuntu 上输入这些命令,它们只适用于...

回答 1 投票 0

udev启动的程序如何调用socket()?

程序(u50/u60 USB 设备驱动程序守护程序)从 shell 成功,但如果通过 udev 启动则失败。 我尝试使用 sd_listen_fds() 但它返回 0。 国际长; // 文件描述符...

回答 1 投票 0

外部内核模块如何在 modpost 期间查找导出的符号

我有 3 个相互依赖的外部内核模块。更具体地说,C 包含来自 B 的符号,而 B 又包含来自 A 的符号。 我尝试按以下顺序构建模块。 使...

回答 1 投票 0

使用 procfs 测试 WiFi Linux 驱动程序进行认证问题

我正在使用基于NXP(w8987o)的无线模块。该模块不需要进行太多的软件集成即可在 Linux 内核版本 5.15.67 下开始工作。内核似乎已经...

回答 1 投票 0

如果我在 drivers/usb/storage/usb.c 中添加几行代码,会出现什么问题?

只是想知道如果我添加 3 到 4 行简单的代码,事情会变得多么错误,假设像在 usb_storage_probe 函数内部的一个小数组上执行线性搜索,例如并记录...

回答 1 投票 0

错误:“func”[drivers/bluetooth/hci_uart.ko] 未定义

我有一个大型存储库要修改。我正在研究的部分基本上是一个经过一些修改的Linux内核。 简化的文件结构如下所示: ├── 汇编 │   ├── mytee.h ...

回答 1 投票 0

调用alloc_netdev时出现分段错误

我在编写 Linux 驱动程序时遇到了麻烦。当尝试在这一行中分配 netdev 时: dev = alloc_netdev(sizeof(struct dev_priv),"super_giga_interface",NET_NAME_UNKNOWN,ipsec_setup); 我...

回答 1 投票 0

设备驱动程序中的中断处理

我编写了一个简单的字符驱动程序,并在 gpio 引脚上请求 IRQ,并为其编写了一个处理程序。 err = request_irq(irq, irq_handler,IRQF_SHARED | IRQF_TRIGGER_RISING, INTERRUPT_DEVICE_NAME,

回答 3 投票 0

Comfast CF-953AX 无法在 Ubuntu 22.04 中工作

我最近买了一张USB无线网卡。它是 Comfast CF-953AX 卡,带有内核驱动程序。 产品信息 我在Ubuntu 22.04上使用它,内核是5.15x,没有这个卡驱动程序。所以我升级了...

回答 1 投票 0

如何读取设备驱动程序中的寄存器?

在Linux设备驱动程序中,在设备的init函数中,我尝试读取一个地址(即arm64的SMMUv3设备),如下所示。 uint8_t *addr1; addr1 = ioremap(0x09050000, 0x20000); 优先...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.