Questions tagged «kernel-modules»

使用此标记可以解决有关加载,配置或编译它们的问题。有关特定硬件要使用哪些模块的问题,另请参阅/ drivers。内核模块是可以在系统运行时由管理员添加到内核中的少量代码,通常提供一种功能,例如文件系统。

1
无法加载模块:不同意符号module_layout的版本
按照本教程编写我的第一个驱动程序。 Makefile是: # Makefile – makefile of our first driver # if KERNELRELEASE is defined, we've been invoked from the # kernel build system and can use its language. ifneq (${KERNELRELEASE},) obj-m := ofd.o # Otherwise we were called directly from the command line. # Invoke the kernel build system. …

3
将打印机挂载在/ dev / usb并仍使用CUPS
由于使用了新版本的CUPS,我突然失去了以前在可以使用的打印机的直接路径/dev/usb/lpXXX。我用它直接从命令行打印。echo "test" > /dev/usb/lp0。 搜索后,我发现了一个方法来解决这个问题,注释掉blacklist usblp在/etc/modprobe.d/blacklist.conf。确实可以,但是如果我这样做,CUPS将不再能够与任何打印机通信(我确实需要)。那么,如何才能有某种直接通往打印机的直接路径,而CUPS仍能正常工作? 注意:CUPS无法识别某些(接收)打印机,因此lpr不适用于那些打印机。

1
如何正确重新加载内核模块?
相关问题 我无法重新加载用于尝试新标志的内核模块。 示例:thinkpad_acpi默认为不带fan_control=1。因此,如果我的计算机真的很热,而风扇没有达到全速运行,则有时可以临时加载模块,fan_control然后将风扇设置为可能的最高速度几分钟,然后将所有设备恢复为正常后置状态。 这是不可能的,因为似乎某些内核模块依赖于其他内核模块,并且现代Linux内核似乎正在对此进行检查。 所以到目前为止我做了什么: 检查依赖项 modinfo -F depends thinkpad_acpi 尝试卸载这些模块 rmmod 要么 modprobe -r $dependencies 一些模块再次依赖于其他模块,也尝试卸载它们。即使没有“依赖项”也无效(或至少modinfo告诉我) 谷歌很多 modprobe: FATAL: Module x is in use. 阅读tldp

1
如何理解modinfo的输出?
我只是想了解modinfo描述内核模块的输出。例如,对于module i915,输出如下所示: $ modinfo i915 filename: /lib/modules/4.2.0-1-amd64/kernel/drivers/gpu/drm/i915/i915.ko license: GPL and additional rights description: Intel Graphics author: Intel Corporation [...] firmware: i915/skl_dmc_ver1.bin alias: pci:v00008086d00005A84sv*sd*bc03sc*i* [...] depends: drm_kms_helper,drm,video,button,i2c-algo-bit intree: Y vermagic: 4.2.0-1-amd64 SMP mod_unload modversions parm: modeset:Use kernel modesetting [KMS] (0=DRM_I915_KMS from .config, 1=on, -1=force vga console preference [default]) (int) [...] 我能够理解某些领域,但我不知道以下含义: …

2
使用可加载的内核模块向Linux 3.2.x添加新的系统调用
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为Unix&Linux Stack Exchange 的主题。 7年前关闭。 我想在Linux内核3.2.x中添加一个特定的新系统调用,但作为可加载的内核模块(因为我不想一次又一次地重新编译内核) 我通读了Internet和SO上的许多文章,有些地方声称不可能将系统调用实现为可加载模块,而另一些地方则认为可以实现。 哪有 如果有可能怎么办?

4
如何解决“构建主要访客添加模块失败”的问题
我尝试在运行CentOS的VM guest虚拟机中安装VirtualBox Guest Additions模块,但在其他一切正常的情况下,我收到此错误消息: 构建主要的访客添加模块失败 由于我是CentOS和VirtualBox的新手,所以我不打算解决此问题,也无法找到任何在Internet上搜索的解决方案(我发现的唯一帖子对我没有帮助)。 这是日志: /usr/src/vboxguest-4.1.14/vboxguest/build_in_tmp:第55行:make:命令未找到为来宾添加创建用户。为来宾添加内核模块创建udev规则

1
如何在Debian中为多个内核映像版本编译DKMS模块?
我安装了3.16和4.0版本的linux-image软件包。登录期间,我可以在“高级选项”菜单项中选择要引导的内核。但是,当我安装DKMS模块时,它仅针对较新版本进行编译: Setting up fglrx-modules-dkms (1:14.12-1) ... Loading new fglrx-14.12 DKMS files... Building only for 4.0.0-1-amd64 相关的包(linux-headers,linux-kbuild,linux-compiler-gcc)安装了3.16了。 为什么不为旧的内核映像编译软件包?我可以配置一些东西以便对其进行编译吗?

1
为什么用户空间应用程序需要内核标头?
我正在为嵌入式设备构建busy-box和iptables,它们的依赖项之一是内核标头。 我已经在整个文件系统中搜索* .ko文件,但没有找到。所以我得出结论,这些应用程序没有创建任何可加载的驱动程序(内核模块)。 用户空间应用程序还需要内核头文件还有哪些其他情况?

1
如何禁用键盘?
在不拔出键盘的情况下,我想从终端禁用它;我希望可以使用此方法完成操作,rmmod但是根据我当前加载的模块,它看起来不可能。 有人有什么想法吗?

2
内核模块:.o与.ko
似乎包含内核模块文件被称为.o,至少这是我的身影看着像一个教程时,这一个。但是,在我的debian压缩框中,这些文件似乎称为.ko。 它依赖于分布(或其verison)文件是否被称为.o或.ko,并且是他们或多或少相同,否则?

1
ALSA / ASoC:如何正确加载设备/驱动程序?
我正在使用Buildroot为NXP LPC3250微控制器构建嵌入式Linux(2.6.39.2)系统。 现在,我正在尝试启动和运行ALSA / ASoC,但是在使模块协同工作方面存在一些问题。(我认为!) 一些重要的背景: 我正在测试的板是Embedded Artists 3250 V2开发板。V2与V1的不同之处在于,它没有LCD屏幕,但包含 I2S音频编解码器:NXP UDA1380。LPCLinux版本的内核包含对EA3250 V1的主板支持。还有一个名为Phytec 3250的不同开发板,其中包含相同的UDA1380编解码器芯片。LPCLinux发行版还支持Phytec板以及音频编解码器芯片。据我所知,Phytec 3250开发板在I2C地址0x18上具有UDA1380编解码器。在我的EA3250 V2板上,音频编解码器位于I2C地址0x1a上。(我已经验证了芯片已通电,并且可以使用I2C工具包与之通信。它可以响应i2cdetect,并且可以使用i2cget从芯片正确读取寄存器。) 修改源: 我需要编辑Phytec 3250驱动程序文件以更改编解码器芯片的地址。我编辑了lpc3xxx-uda1380.c的这一部分: static struct snd_soc_dai_link phy3250_uda1380_dai[] = { { .name = "uda1380", .stream_name = "UDA1380 Duplex", #if defined(CONFIG_SND_LPC32XX_USEI2S1) .cpu_dai_name = "lpc3xxx-i2s1", #else .cpu_dai_name = "lpc3xxx-i2s0", #endif .codec_dai_name = "uda1380-hifi", .init = phy3250_uda1380_init, .platform_name …

2
更新后无法启动archlinux:找不到uuid
我用“ pacman -Syu”更新了archlinux,然后重新启动后,系统无法启动。这是报告: Warning: /lib/modules/4.11.9-1-ARCH/modules.devname not found - ignoring version 232 Error: device 'UUID=b5a9a977-e9a7-4d3d-96a9-dcf9c3a9010d' not found. Skipping fsck. Error: can't find UUID=b5a9a977-e9a7-4d3d-96a9-dcf9c3a9010d You are now being dropped into a emergency shell. Can't access tty: job control turned off 在那个外壳中,我的键盘不起作用。 我正在尝试使用archlinux的livecd:安装分区并使用chroot。我在“ / etc / fstab”中检查根分区的uuid。这是我的fstab: # /dev/sda2 UUID=b5a9a977-e9a7-4d3d-96a9-dcf8c3a9010d / ext4 rw,relatime,data=ordered …

2
“ usb 3-2:无法设置配置#1,错误-110”-USB键盘可在Windows 8笔记本电脑中使用,但只能在PC上使用,直到Linux启动
我尝试了2个新的USB键盘,这些键盘在Linux开始启动之前一直有效。 开机时我看到: [ 8.365211] usb 3-2: New USB device found, idVendor=1a2c, idProduct=0b23 [ 8.404863] usb 3-2: New USB device strings: Mfr=1, Product=2, SerialNumber=0 [ 8.444623] usb 3-2: Product: USB Keyboard [ 10.641472] EXT4-fs (sda2): mounted filesystem with ordered data mode. Opts: (null) [ 13.481363] usb 3-2: can't set config #1, …

1
声卡和HDMI都使用Intel HDA驱动程序时,声音不起作用。如何交换设备加载顺序?
我有一台Acer Aspire One 522上网本,其中有一个基于Conexant CX20584芯片组的Intel HDA声卡。尽管KDE在启动时确实会输出声音,但是Flash和其他可能寻找/dev/dsp设备的其他应用程序却无法通过它输出声音,从而带来了几乎无用的多媒体体验。 当我使用来检查我的ALSA播放设备时aplay -l,我可以看到主要音频设备被识别为卡1而不是0,而卡已被连接到HDMI: **** List of PLAYBACK Hardware Devices **** card 0: Generic [HD-Audio Generic], device 3: HDMI 0 [HDMI 0] Subdevices: 1/1 Subdevice #0: subdevice #0 card 1: SB [HDA ATI SB], device 0: CONEXANT Analog [CONEXANT Analog] Subdevices: 1/1 Subdevice #0: subdevice #0 …

1
insmod:错误:无法插入模块8188eu.ko:无效的模块格式
我正在尝试将TL-WN725N用作Fedora 20的USB WiFi适配器。 我遵循了这些指示,并且适配器在最近几周内运行良好,甚至在两次更新中都幸免于难。 然后我做了一个yum update今天,它仍然可以正常工作,直到我重新启动计算机。我试图重新加载模块并得到insmod: ERROR: could not insert module 8188eu.ko: Invalid module format。 我发现,内核和模块中的内核头不再相同,并且我不得不更新内核,所以我做到了 sudo yum install kernel-headers Loaded plugins: langpacks, refresh-packagekit Package kernel-headers-3.17.3-200.fc20.x86_64 already installed and latest version Nothing to do 现在我对如何正确加载模块有些困惑。有人知道吗?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.