标签: devices

是什么导致 /dev/disk/by-label 被填充?

我注意到 Linux 发行版通常有一个 /dev/disk/by-label 目录,但情况并非总是如此(例如,CirrOS Linux 测试映像没有)。

在 Linux 系统上正确填充 /dev/disk/by-label 目录需要什么?

linux filesystems devices

15
推荐指数
1
解决办法
2万
查看次数

导致 I/O 错误的特殊文件

如果无法读取基本的 SQLite DB 文件(导致 I/O 错误),我想自动测试某个软件是否按预期做出反应。这正是几天前发生在客户身上的事情。我们手动修复了它,但现在我想创建自动代码来修复它,并且需要访问损坏的文件来测试它。

由于 Unix 中的一切都是一个文件,我怀疑可能有一个特殊的文件,当人们试图读取它时(例如在 /dev 中),它总是会导致 I/O 错误。

一些类似的文件(imo)是:

  • /dev/full 如果您尝试编写它,它总是显示“设备上没有剩余空间”
  • /dev/null/dev/zero

所以我认为必须有一个这样的文件(但还没有找到)。

有谁知道这样的文件或任何其他方法可以让我获得所需的结果(故意错误的分区映像,使用 LD_PRELOAD 围绕 open() 的包装器,...)?
去这里的最佳方式是什么?

linux io devices testing

15
推荐指数
3
解决办法
2万
查看次数

有没有办法更改 /dev 目录中的设备名称?

我写这个规则是为了测试目的:

SUBSYSTEMS=="usb", ATTRS{manufacturer}=="Kingston", ATTRS{serial}=="001CC0EC34A2BB318709004B", ATTRS{idVendor}=="0951", ATTRS{idProduct}=="1642", SYMLINK+="pen", NAME="pendrak"
Run Code Online (Sandbox Code Playgroud)

基于以下信息:

# udevadm info --name=/dev/sdb --attribute-walk

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 attributes of the device
and the attributes from one single parent device.

  looking at device '/devices/pci0000:00/0000:00:1d.7/usb2/2-5/2-5:1.0/host2/target2:0:0/2:0:0:0/block/sdb':
    KERNEL=="sdb"
    SUBSYSTEM=="block"
    DRIVER==""
    ATTR{ro}=="0"
    ATTR{size}=="30299520"
    ATTR{stat}=="     419 …
Run Code Online (Sandbox Code Playgroud)

udev devices

15
推荐指数
1
解决办法
4万
查看次数

为什么“cat ttyUSB0”不产生输出?

我将红外接收器连接到 USB 端口......(dmesg 的最后一行告诉设备文件)

$ dmesg
[10496.596063] usb 7-2: new full-speed USB device number 2 using uhci_hcd
[10496.751112] usb 7-2: New USB device found, idVendor=0df7, idProduct=0620
[10496.751117] usb 7-2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[10496.751120] usb 7-2: Product: USB-Serial Controller
[10496.751124] usb 7-2: Manufacturer: Prolific Technology Inc.
[10496.787441] usbcore: registered new interface driver usbserial
[10496.787467] usbcore: registered new interface driver usbserial_generic
[10496.787483] usbserial: USB Serial support registered for generic
[10496.795104] usbcore: registered new interface driver pl2303
[10496.795129] usbserial: …
Run Code Online (Sandbox Code Playgroud)

usb input devices files cat

15
推荐指数
2
解决办法
5万
查看次数

Posix 是否需要任何设备?

Posix 是否需要任何设备?例如,/dev/urandom,/dev/zero/dev/null?

我怀疑不是因为非 *nix 操作系统,而是想要求完整性。

devices posix

15
推荐指数
1
解决办法
2230
查看次数

如何获取USB设备的总线ID

我想绑定/解除绑定我的 USB 设备 - 无线适配器。

echo -n "1-1:1.0" > /sys/bus/usb/drivers/ub/unbind
Run Code Online (Sandbox Code Playgroud)

所以为了能够做到这一点,我需要总线 ID。lsusb打印出以下内容:

Bus 001 Device 002: ID 0424:9512 Standard Microsystems Corp. 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. 
Bus 001 Device 004: ID 148f:2573 Ralink Technology, Corp. RT2501/RT2573 Wireless Adapter
Run Code Online (Sandbox Code Playgroud)

并且lsusb -t

/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=dwc_otg/1p, 480M
    |__ Port 1: Dev 2, If 0, Class=hub, Driver=hub/3p, 480M
        |__ Port …
Run Code Online (Sandbox Code Playgroud)

usb devices

15
推荐指数
2
解决办法
3万
查看次数

/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 09 00 00 00 00 00  00 00 00 00 00 00 00 00  |St..............|
00000030  b6 82 8a 58 00 00 00 00  06 56 …
Run Code Online (Sandbox Code Playgroud)

linux devices

15
推荐指数
2
解决办法
2万
查看次数

使用 bash 的 `/dev/udp`,我怎么知道端口是否打开?

我没有访问netcatnmap因此我试图使用bash/dev/udp/特殊文件到测试端口。

我可以做这样的事情:

echo "" > /dev/udp/example.com/8000
Run Code Online (Sandbox Code Playgroud)

但在使用 UDP 时$?总是如此0。我假设那是因为那是echo ""命令的返回值正确吗?

我基本上是在尝试复制我能做的事情,nmap并且netcat

nmap -sU -p 8000 example.com | grep open >/dev/null && echo 'open'
nc -z -u example.com 8000 && echo 'open'
Run Code Online (Sandbox Code Playgroud)

我将如何做到这一点/dev/udp

networking bash devices

14
推荐指数
2
解决办法
2万
查看次数

设备文件、ioctl、sysfs、netlink的用法区别

我试图阐明哪种是在 Linux 中与设备交互的最有用(就功能而言)方法。据我了解,设备文件只公开了部分功能(块设备中的地址块,字符设备中的流等......)。 ioctl(2)似乎是最常用的,但有人说它不安全,等等。

一些好的文章或其他相关的指针将受到欢迎。

devices sysfs ioctl

14
推荐指数
1
解决办法
4032
查看次数

udev/uevent 如何工作?

所以我只是想知道我对 udev 的解释及其工作原理是否正确,我的理解是否正确,请告诉我。

所以我对udev的理解是它是Linux 上的动态设备管理器,作为守护进程运行

  • 设备发生更改时,例如设备插入内核时,udev 会向 udev发送 uevent ,然后 udev 可以转到 sysfs 查找设备的详细信息,例如供应商、设备名称和型号等。
  • 一旦获得设备的详细信息, Udev 就会将这些属性与特定类型设备的规则集进行匹配,在本例中,该设备可能是 USB 设备。如果存在“为所有 USB 设备创建符号链接”之类的规则,那么 udev 将执行此操作。udev 检查规则并匹配属性以验证设备,然后可以开始向设备添加更改以及执行规则对设备规定的任何操作。

这基本上是我目前的理解,如果我错了,请纠正我,并告诉我额外的信息。

kernel udev devices

14
推荐指数
1
解决办法
2万
查看次数

标签 统计

devices ×10

linux ×3

udev ×2

usb ×2

bash ×1

cat ×1

files ×1

filesystems ×1

input ×1

io ×1

ioctl ×1

kernel ×1

networking ×1

posix ×1

sysfs ×1

testing ×1