我在我的BeagleBoard-xm上运行Angström。我想使用网络摄像头(我有 Microsoft LifeCam Cinema 和 Logitech C310)。我安装了,并使用 opkg。但是网络摄像头没有出现在文件夹中。也找不到他们。v4l-utilslibv4l-devkernel-module-uvcvideo/devcheese
这是输出dmesg:
[ 8925.347137] usb 2-2.4.3: new high speed USB device using ehci-omap and address 8
[ 8925.489044] usb 2-2.4.3: New USB device found, idVendor=045e, idProduct=075d
[ 8925.496490] usb 2-2.4.3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 8925.504333] usb 2-2.4.3: Product: Microsoft?? LifeCam Cinema(TM)
[ 8925.510528] usb 2-2.4.3: Manufacturer: Microsoft
[ 8926.635742] 8:3:1: cannot get freq at ep 0x82
Run Code Online (Sandbox Code Playgroud)
这是输出lsusb …
我得到了供应商提供的最小 linux 安装。从对上一个问题的回答中,我发现可以在有或没有模块支持的情况下构建内核。我有一个需要附加的 CANBUS 设备,它带有 .ko 文件形式的驱动程序。我希望能够使用提供的安装脚本安装这些,但首先我需要知道我的内核是否使用模块支持构建 - 我是否可以从命令行检测到这一点?
当我运行lsmod它时,它什么都不返回,所以我知道目前没有 .ko 文件 - 但这是否意味着内核不允许我安装 .ko 文件?
在“Linux debian 2.6.32-5-amd64 #1 SMP”安装中,需要在启动 sshd 后延迟加载内核模块 (mpt2sas) 并且用户可以远程登录,mpt2sas 模块被禁止加载单用户启动,通过:
$ echo 'blacklist mpt2sas' >> /etc/modprobe.d/mpt2sas.conf; depmod -aeF /boot/System.map-2.6.32-5-amd64; update-initramfs -u -k $(uname -r)
Run Code Online (Sandbox Code Playgroud)
稍后modeprobe -v mpt2sas将在 /etc/rc.local 中运行。
安装较新的 mpt2sas 驱动程序后,使用dpkg -i mpt2sas-15.00.00.00-3_Debian6.0.5.amd64.deb结果是旧驱动程序重命名/lib/modules/2.6.32-5-amd64/kernel/drivers/scsi/mpt2sas/mpt2sas.ko为/lib/modules/2.6.32-5-amd64/kernel/drivers/scsi/mpt2sas/mpt2sas.ko.orig,新驱动程序安装在/lib/modules/2.6.32-5-amd64/weak-updates/mpt2sas/mpt2sas.ko.
副作用是blacklist mpt2sas in行/etc/modprobe.d/mpt2sas.conf 不再有任何影响,当在单用户引导过程中加载模块时,mpt2sas 作为第一个内核模块加载。
回归:
depmod -aeF /boot/System.map-2.6.32-5-amd64; update-initramfs -u -k -t $(uname -r); reboot并没有改善。modprobe.blacklist=mpt2sas并没有改善。如何在单用户引导阶段阻止加载新的 mpt2sas 内核模块?(我仍然想modprobe在 /etc/rc.local 中使用加载 …
我在lsmod一个板子的模拟器上运行命令,输出是Not tainted. 这意味着什么 ?
我有Kubuntu 14.10开发工作站,最近我买了一个 秦恒电子 HL-340 USB-Serial适配器。HL-340 is USB<---->Serial adapter它被我的内核识别:
user@comp001:~$ lsusb
Bus 007 Device 010: ID 1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter
[..]
Run Code Online (Sandbox Code Playgroud)
我正在尝试通过此适配器与Raspberry Pi B+电路板启动通信,但我经常失败。
无论我向Raspberry Pi B+via发送什么文本minicom,线路上的流量都已死,我已经检查过范围。我已经仔细检查了Raspberry Pi B+ setup,接线(用万用表三重检查),示波器接线和串行通信已经死机。端口Raspberry Pi B+正在工作,因为我已经在串行端口的传输引脚上连接了示波器(在 Raspberry Pi B+ 侧),如果我从Raspberry Pi B+(通过隧道minicom下ssh)发送文本,我会在示波器上获得活动。
我无法通过USB serial dongle. 如何测试加密狗是否有效?
我的日志中出现以下错误:
kernel: snd_hda_intel 0000:00:1b.0: IRQ timing workaround is
activated for card #0. Suggest a bigger bdl_pos_adj
Run Code Online (Sandbox Code Playgroud)
谷歌在这里和这里找到了一些处理同样问题的旧帖子。提供的解决方案建议更改内核模块的值:
options snd-hda-intel enable_msi=1 bdl_pos_adj=1,48
Run Code Online (Sandbox Code Playgroud)
然而,没有任何地方可以解释这些数字的含义。此外,我现在拥有的当前(默认)值有多个数字:
# cat /sys/module/snd_hda_intel/parameters/bdl_pos_adj
-1,1,-1,-1,-1,-1,-1,-1
Run Code Online (Sandbox Code Playgroud)
有人可以解释一下所有这些数字的含义,以及如何更改它们以消除错误吗?
我正在使用 Tiny Core Linux 并尝试安装 Vmware Tools,这当然需要内核头文件 :-)。
看起来他们没有在包中随时可用的内核头文件,但他们确实有内核源代码。因此,我下载了该源代码,并尝试从中创建标题,但我不知道自己在做什么。
在我遇到的谷歌搜索中,它听起来像:
make headers_install
Run Code Online (Sandbox Code Playgroud)
可能会做我需要它做的事情,这实际上是一个正确的 make 目标,但它会出现以下错误:
tc@box:/usr/src/linux-3.16.6$ make headers_install
CHK include/generated/uapi/linux/version.h
HOSTCC arch/x86/tools/relocs_32.o
In file included from arch/x86/tools/relocs_32.c:1:0:
arch/x86/tools/relocs.h:17:32: fatal error: tools/le_byteshift.h: No such file or directory
#include <tools/le_byteshift.h>
^
compilation terminated.
scripts/Makefile.host:134: recipe for target 'arch/x86/tools/relocs_32.o' failed
make[1]: *** [arch/x86/tools/relocs_32.o] Error 1
arch/x86/Makefile:181: recipe for target 'archscripts' failed
make: *** [archscripts] Error 2
Run Code Online (Sandbox Code Playgroud)
我在这里是在正确的轨道上,我只是缺少依赖项或其他东西,还是我完全在错误的轨道上?
有人可以给我有关下一步如何进行的任何指示吗?看起来“tools/le_byteshift.h”不知何故丢失了,但我不确定从哪里开始隔离哪个包才能使其正常工作。
如何从源代码制作内核头文件?任何指针都非常感谢!
我刚刚编译了一个新内核并问自己:在编译过程中是什么决定了内核中静态构建了哪些内核模块?
然后我删除了/lib/modules,重新启动并发现我的系统工作正常,所以看起来所有基本模块都是静态构建在内核中的。
如果没有/lib/modules,内核会加载 22 个。在目录存在的情况下,它会加载 67 个模块。
让我们假设一个 Linux 系统已启动并正常运行的场景。用户来了并热插拔了 USB 存储设备。
发生的事件顺序如下图所示:
modprobe 在哪里加载它的驱动程序?所请求设备的驱动程序是/sys/bus/drivers在 modprobe 加载之后还是之前找到的?
我在这里试图建立的是/sys/上图中的条目和发生的事件之间的关系。
kernel-modules ×10
linux ×5
kernel ×4
drivers ×3
linux-kernel ×3
audio ×1
boot ×1
camera ×1
debian ×1
header-file ×1
logs ×1
modprobe ×1
serial-port ×1
sysvinit ×1
udev ×1
usb ×1
video ×1