Questions tagged «devices»

设备指的是有关Unix / Linux设备专用文件的问题,通常这些文件在/ dev下。请勿将此标签用于物理设备(例如用于usb或pci的设备)。

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


2
/ dev / input-这到底是什么?
我对硬件如何与操作系统交互感到好奇,并发现这篇文章:键盘输入和文本输出如何工作? 似乎很多魔术发生在/ dev / input目录中。我决定看一下自己的操作系统(Ubuntu 16.10),以了解可以找到的内容。所有这些文件都列为0字节,当我这样做时,我会sudo cat mouse0 | hexdump -C得到一堆看起来像这样的十六进制数据: 00000000 b3 82 8a 58 00 00 00 00 53 74 09 00 00 00 00 00 |...X....St......| 00000010 01 00 1c 00 00 00 00 00 b3 82 8a 58 00 00 00 00 |...........X....| 00000020 53 74 …
12 linux  devices 

4
为什么特殊设备文件具有inode?
设备文件本身不是文件。它们是一个I / O接口,用于在类似Unix的操作系统中使用设备。它们不使用磁盘上的空间,但是,它们仍然使用stat命令所报告的索引节点: $ stat /dev/sda File: /dev/sda Size: 0 Blocks: 0 IO Block: 4096 block special file Device: 6h/6d Inode: 14628 Links: 1 Device type: 8,0 设备文件是否在文件系统中使用物理索引节点,为什么它们根本需要它们?

2
我可以停止Linux作为键盘来监听USB输入设备,但仍通过程序捕获事件吗?
我在/dev/input/event0(/dev/input/by-id/usb-Metrologic_Metrologic_Scanner-event-kbd)处有一个USB条形码扫描仪,扫描条形码会使它发送按键事件。我正在使用libdevinput Ruby库捕获这些按键,效果很好。问题在于,每个条形码也要作为用户名输入,然后在Raspberry Pi上输入密码,从而导致很多登录尝试失败。(Raspberry Pi将无头,并且位于微波炉内。) 如何阻止Linux将条形码扫描仪视为输入设备,并使我的程序成为唯一的事件使用者?还是有其他更好的解决方案?
11 linux  debian  devices  events 

2
为什么会有这么多虚拟终端设备?
我读过《高级Linux编程》一书,其中提到了虚拟终端,如果我正确理解的话,它是Linux特定的功能(Unix中没有),允许在非X11系统中使用多个登录控制台。您通过按ALT-F2键来创建虚拟终端。我正在运行Linux Mint,并且在我的/ dev文件夹中,尽管我看到很多tty设备,但我不知道它们的用途。这是grepped的输出: crw-rw-rw- 1 root tty 5, 0 Jan 2 19:45 tty crw--w---- 1 root tty 4, 0 Jan 2 19:10 tty0 crw-rw---- 1 root tty 4, 1 Jan 2 19:10 tty1 crw--w---- 1 root tty 4, 10 Jan 2 19:10 tty10 crw--w---- 1 root tty 4, 11 Jan …
11 linux  console  devices  tty 

1
了解udevadm info -a -n / dev / sdb的输出
我将外部硬盘插入笔记本电脑。我尝试通过以下方式查找信息 $ udevadm info -a -n /dev/sdb Udevadm info starts with the device specified by the devpath and then walks up the chain of parent devices. It prints for every device found, all possible attributes in the udev rules key format. A rule to match, can be composed by the …
11 usb  udev  devices  storage  pci 

2
如何从lsusb输出或设备路径获取设备文件名
相关问题:USB连接/断开通知 插入/拔出设备后,我会立即收到通知,这很棒。但是要使其(几乎)完美,我还希望获得设备文件名,例如/dev/ttyUSB0,甚至更好的是所有指向它的符号链接。 但是,我找不到如何从udev,或从lsusb或其他方式获取此信息。我拥有的设备的唯一ID是类似的设备路径/devices/pci0000:00/0000:00:1d.0/usb5/5-1。如何从中获取设备文件名?
11 linux  usb  devices  udev 

1
找出特定设备是否为USB大容量存储
语境 我正在从现有的dd工厂映像中自动执行SD卡映像。SD卡始终通过外部USB卡读取器进行连接,因此在系统中显示为SCSI块设备/dev/sd*。 目前,我的命令语法为:SD卡块设备write-image DEVICE在哪里DEVICE,例如。/dev/sdd。 问题 我已经在进行基本检查DEVICE以验证它的格式,/dev/sd*但这还不够:我担心用户(不习惯Linux的生产人员)会犯一个错误,并指定另一个看似有效的设备,例如。/dev/sda。您会看到迫在眉睫的灾难,尤其是因为我的映像脚本需要root权限(请注意,请不要写映像本身,而是事后修改SD卡,包括根据SD卡的实际大小调整分区的大小)... 题 我想确认指定的设备实际上是一些USB大容量存储设备(或至少是可移动设备),以便保护系统磁盘免遭意外损坏。我怎样才能做到这一点? 我/proc在网上或网上都找不到任何相关内容,现在我很茫然。

1
编写/ dev / random文件?
如果执行以下操作,会发生什么? cat /dev/random > ~/randomFile # don't run 会一直写到驱动器空间用完之前,还是系统会看到此问题并停止它(例如无限符号链接循环)?
10 kernel  devices  random 


1
某个设备文件背后的驱动程序是什么?
给定一个设备文件,例如/dev/sdb,可以确定它背后的驱动程序吗? 具体来说,我想确定存储设备正在使用什么驱动程序。fdisk -l列出2个设备:/dev/sda和/dev/sdb。一个是SATA硬盘驱动器,另一个是USB大容量存储设备-实际上是SD卡。 如何通过编程确定哪个是哪个? 我正在写一个软件,我想保护初学者免于淘汰其硬盘驱动器,同时允许他们淘汰其SD卡。

1
为什么我的SATA设备显示在/ proc / scsi / scsi下?
我的系统上有3个SATA设备。它们显示在下/proc/scsi/scsi,尽管它们不是SCSI设备。为什么我的SATA设备显示在SCSI目录下? $ cat /proc/scsi/scsi Attached devices: Host: scsi0 Channel: 00 Id: 00 Lun: 00 Vendor: ATA Model: WDC WD2500AAJS-6 Rev: 01.0 Type: Direct-Access ANSI SCSI revision: 05 Host: scsi1 Channel: 00 Id: 00 Lun: 00 Vendor: TSSTcorp Model: CDDVDW TS-H653Z Rev: 4303 Type: CD-ROM ANSI SCSI revision: 05 Host: scsi4 …
10 linux  sata  scsi  devices 

2
我能否查询当前正在访问麦克风的进程(如果有)?
我正在运行Debian(技术上是Raspbian),试图获得Star-Trek风格的语音命令系统。我已经开始运行它了,但是出于隐私和爵士乐的考虑,我不希望麦克风一直在录音。 我想知道,是否有一种方法可以轮询当前正在访问麦克风的进程(如果有)?我的想法是让自己成为一个指示器,以告诉麦克风当前是否正在录制音频。 我的最终目标是使用电视遥控器打开和关闭麦克风,并通过LED指示灯指示其打开或关闭。我已经完成所有硬件工作,现在只需要软件结束即可。 我相信,虽然我可能是错的,但现在我已配置为纯ALSA,即不是PulseAudio。

1
如何在Linux上调试无法绑定到设备的驱动程序?
我试图弄清楚为什么我的Creator CI20上的驱动程序未安装以下设备。供参考,我使用Linux内核v4.13.0并在本地进行编译: make ARCH=mips ci20_defconfig make -j8 ARCH=mips CROSS_COMPILE=mipsel-linux-gnu- uImage 从正在运行的系统中,我可以看到: ci20@ci20:~# find /sys | grep rng /sys/firmware/devicetree/base/jz4780-cgu@10000000/rng@d8 /sys/firmware/devicetree/base/jz4780-cgu@10000000/rng@d8/compatible /sys/firmware/devicetree/base/jz4780-cgu@10000000/rng@d8/name /sys/bus/platform/drivers/jz4780-rng /sys/bus/platform/drivers/jz4780-rng/bind /sys/bus/platform/drivers/jz4780-rng/unbind /sys/bus/platform/drivers/jz4780-rng/uevent 因此内核在运行时可以看到该设备,现在缺少的部分是为什么驱动程序从未绑定?我本来期望这样的事情: /sys/bus/platform/drivers/jz4780-rng/100000d8.rng 我确实找到了其他一些文章来解释如何调试正在运行的系统,例如: /programming/28406776/driver-binding-using-device-tree-without-compatible-string-in-the-driver /programming/35580862/device-tree-mismatch-probe-never-所谓 /programming/41446737/platform-device-driver-autoloading-mechanism 是否可以使用正在运行的内核的/ sys获取设备树的信息? 尽管这些帖子的信息准确无误,但对我来说却不是很有帮助。由于我是在本地构建内核(我printk在jz4780-rng驱动程序的probe函数中添加了),所以我的问题是: 我应该在编译时打开什么选项,以便内核在无法调用jz4780-rng驱动程序的probe函数时输出准确的信息? 特别是我该如何打印经过测试的总线/驱动器的完整列表driver_probe_device? 我printk可以在代码中的任何地方添加调试它。问题在于:哪个函数正在遍历设备树并调用probe / init函数? 以供参考: $ dtc -I fs -O dts /sys/firmware/devicetree/base | grep -A 1 …

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.