Questions tagged «udev»

Udev是一个Linux进程,用于管理/ dev下的设备文件条目

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 

5
udev和hald有什么区别?
我才刚刚开始研究Linux的内部结构,我想知道udev和hal守护程序之间的区别是什么。从我的收集来看,似乎两者都负责管理可热插拔设备... udev暂停使用它们来监听,还是它们是两个独立的东西?
11 udev  daemon 

2
如何使用“ udev”更改/ sys中的权限以更改LED /灯的状态?
我有一个Thinkpad,并且想使用ThinkLight(屏幕上方的白色闪光灯来照亮键盘)来通知收到的Jabber消息。 这很容易实现,因为只需要更改/sys/class/leds/tpacpi::thinklight/brightness为255即可。我将使用一个简单的Bash脚本来实现,该脚本将使指示灯闪烁三下。 但是要做到这一点,我需要更改权限,不仅root能够更改此文件。 而且我不想sudo chmod o+w /sys/class/leds/tpacpi::thinklight/brightness每次启动后都这样做。 我认为,最好的解决方案是udev为此使用。但是,我从未使用udev过,并且对在线找到的教程感到非常困惑。 我尝试了以下udev规则: KERNEL=="tpacpi::thinklight", MODE="0666" 以及 KERNEL="thinklight", MODE="0666" 但这行不通。虽然我在运行时没有出现错误udevadm test /class/leds 感谢您的帮助和帮助。也许还有其他解决方案。

2
udev规则中来自各种父设备的属性
我很难理解如何在规则中评估来自不同父设备的udev设备属性。我想为特定的串行USB设备(HUAWEI调制解调器)编写一条规则,属性遍历如下: $ udevadm info --attribute-walk --name=/dev/ttyUSB0 looking at device '/devices/platform/bcm2708_usb/usb1/1-1/1-1.3/1-1.3:1.0/ttyUSB0/tty/ttyUSB0': KERNEL=="ttyUSB0" SUBSYSTEM=="tty" DRIVER=="" looking at parent device '/devices/platform/bcm2708_usb/usb1/1-1/1-1.3/1-1.3:1.0/ttyUSB0': KERNELS=="ttyUSB0" SUBSYSTEMS=="usb-serial" DRIVERS=="generic" ATTRS{port_number}=="0" looking at parent device '/devices/platform/bcm2708_usb/usb1/1-1/1-1.3/1-1.3:1.0': KERNELS=="1-1.3:1.0" SUBSYSTEMS=="usb" DRIVERS=="usbserial_generic" ATTRS{bInterfaceClass}=="ff" ATTRS{bInterfaceSubClass}=="02" ATTRS{bInterfaceProtocol}=="01" ATTRS{bNumEndpoints}=="03" ATTRS{supports_autosuspend}=="1" ATTRS{bAlternateSetting}==" 0" ATTRS{bInterfaceNumber}=="00" looking at parent device '/devices/platform/bcm2708_usb/usb1/1-1/1-1.3': KERNELS=="1-1.3" SUBSYSTEMS=="usb" DRIVERS=="usb" ATTRS{bDeviceSubClass}=="00" ATTRS{bDeviceProtocol}=="00" ATTRS{devpath}=="1.3" ATTRS{idVendor}=="12d1" …
11 arch-linux  udev 

1
如何在启动服务之前等待/ dev / video0
我可以编写依赖于安装的单元文件,因为我可以列出它们,然后将其添加到中Requires=xxx,例如: # systemctl list-units | grep data mount-data.service loaded active exited Manage the data partition 我想做的是在将网络摄像头插入设备后启动服务。systemctl list-units | grep video0什么也不返回。有人可以简单地向我解释一下,我该怎么做才能确保做到这一点?我不希望发生的是启动服务的时候/dev/video0,/dev/video1等出现。 我从这篇文章中得到了一个线索,我将需要编写udev规则,但是我不知道在这里到底需要做什么。帮帮我?
11 systemd  udev 

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

5
如何在Udev事件上运行长时间的进程?
我想在连接USB调制解调器时运行ppp连接,所以我使用以下udev规则: ACTION=="add", SUBSYSTEM=="tty", ATTRS{idVendor}=="16d8",\ RUN+="/usr/local/bin/newPPP.sh $env{DEVNAME}" (我的调制解调器显示/dev为ttyACM0) newPPP.sh: #!/bin/bash /usr/bin/pon prov $1 >/dev/null 2>&1 & 问题: 该udev事件触发,并newPPP.sh正在运行,但newPPP.sh过程后〜4-5s杀害。ppp没有时间进行连接(拨号超时为10秒)。 我如何运行一个长时间的过程,而这一过程不会被杀死? 我尝试使用nohup,但它也不起作用。 系统:Arch Linux 更新资料 感谢maxschlepzig,我在这里找到了解决方案。 我以前是at now用来运行与udev进程分离的工作的。 但还有一个问题没有答案:为什么nohup和&不工作?
11 linux  udev  ppp 

2
重命名无线局域网接口
我知道这个问题类似于“ Udev:重命名我的网络接口 ”,但是我不认为它是重复的,因为我的接口不是通过udev规则命名的,该问题中的其他答案都对我无效。 因此,我在此便携式计算机上安装了一个WiFi适配器,我想将接口从wlp5s0重命名为wlan0: root@aj-laptop:/etc/udev/rules.d# iwconfig wlp5s0 IEEE 802.11 ESSID:off/any Mode:Managed Access Point: Not-Associated Tx-Power=off Retry short limit:7 RTS thr:off Fragment thr:off Encryption key:off Power Management:on eth0 no wireless extensions. lo no wireless extensions. root@aj-laptop:/etc/udev/rules.d# ifconfig wlp5s0 wlp5s0: flags=4098<BROADCAST,MULTICAST> mtu 1500 ether 00:80:34:1f:d8:3f txqueuelen 1000 (Ethernet) RX packets 0 bytes …
11 wifi  udev 

2
为什么在/ dev文件夹中找不到MAKEDEV?
我目前正在探索Linux Mint上的目录树,同时通过购买的书来支持它。好吧,这本书专门说: 该/dev目录包含所有设备的特殊设备文件。设备文件是在安装过程中创建的,以后会使用/dev/MAKEDEV脚本创建。该/dev/MAKEDEV.local是由系统管理员写了一个脚本,创建仅本地设备文件或链接(...) 我找不到该脚本,应该找到它还是在安装新设备时生成?

5
在Debian上自动安装USB记忆棒
我在可插拔计算机(仅SSH,无GUI)上运行Debian Squeeze,而我想做的就是获取它,以便在插入USB记忆棒时会自动挂载它。 我要做的是安装autofs,只要知道设备所在的位置,就可以根据我的收集进行自动安装/dev。 问题在于USB记忆棒并不总是使用相同的设备名称。有时是/dev/sdc1,有时/dev/sdd1是等等。 我认为要纠正这一点,我需要udev确保USB记忆棒始终使用相同的名称。 我得到以下信息udevadm: 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 …

1
Udev规则可匹配任何USB存储设备
如何udev为插入的任何USB大容量存储设备而不只是特定设备实施规则?什么应该改变的idVendor,和idProduct? ACTION=="add", SUBSYSTEM=="usb", SYSFS{idVendor}=="0204", SYSFS{idProduct}=="6025", RUN+="/home/workspace/bash_script.sh"
10 udev 

1
列出所有udev规则(例如,针对设备)?
我想知道如何列出所有udev规则。 我知道它们可以潜在地以行(一行=一个规则)的形式*.rules存储在这些目录中的文件中 /etc/udev/rules.d /lib/udev/rules.d /run/udev/rules.d /var/run/udev/rules.d 因此,尽管我可以通过简单地压缩*.rules这些目录中的所有文件来找到所有规则。这似乎不起作用(因为执行了一些规则,我在这些目录中找不到任何软件作为规则)。 充其量我以为udevadm接口有一个命令,可以让我打印出udev当前拥有的所有规则。 可以肯定的是,我对man udevadm(尤其是关于)部分进行了审查,udevadm info [parameters]似乎未产生任何结果。 鉴于udev允许针对同一设备的所有文件和规则,因此不知道为设备组合所有规则的有效/可行方法令人沮丧。
10 udev 

1
Udev规则:ACTION ==“ add”有效,但ACTION ==“ remove”无效!
我已经写文件90-usb.rules下/etc/udev/rules.d/包含: ACTION=="add", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="2008", RUN+="/bin/mkdir /home/pandya/Desktop/testdir" ACTION=="remove", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="2008", RUN+="/bin/rmdir /home/pandya/Desktop/testdir" 当我插入设备时,udev ACTION=="add"通过以下方式创建目录RUN+="/bin/mkdir /home/pandya/Desktop/testdir"(工作正常) 但是当我拔出类似udev的设备时ACTION=="remove ,不会通过以下方式删除目录RUN+="/bin/rmdir /home/pandya/Desktop/testdir" 这没有问题,/bin/rmdir因为我也检查了另一个mkdir(RUN+="/bin/mkdir /home/pandya/Desktop/testdir2")的位置,但这也无法正常工作。 因此,我想知道为什么删除操作不起作用?我如何解决它?
10 udev  trisquel 

2
用Udev规则挂载磁盘不起作用
我在/etc/udev/rules.d/81-external-disk.rules中包含以下内容: ENV{ID_FS_UUID}=="6826692e-79f4-4423-8467-cef4d5e840c5", RUN{program}+="/bin/mount -o nofail,x-systemd.device-timeout=1 -t ext4 -U 6826692e-79f4-4423-8467-cef4d5e840c5 /backup/external" 运行后: udevadm control --reload ; udevadm trigger /dev/sdb1 它什么都不做。但是,如果II将挂载命令更改为/ bin / touch / tmp / xyz之类的命令,它将起作用。 版本: [root@helsinki rules.d]# rpm -qa | grep udev libgudev1-219-19.el7_2.12.x86_64 python-pyudev-0.15-7.el7_2.1.noarch [root@helsinki rules.d]# rpm -qa | grep systemd systemd-libs-219-19.el7_2.12.x86_64 systemd-219-19.el7_2.12.x86_64 systemd-sysv-219-19.el7_2.12.x86_64 [root@helsinki rules.d]# cat /etc/redhat-release …
9 mount  udev 

1
克隆的系统+网络接口
我已经制作了系统的映像,并将其提供给某人来运行。他们已成功用映像刷新了系统并正在运行它。 问题如下: 系统通常具有2个无线适配器。两者都出现在lsusb中: pi@raspberry:~ $ lsusb Bus 001 Device 004: ID 7392:7811 Edimax Technology Co., Ltd EW-7811Un 802.11n Wireless Adapter [Realtek RTL8188CUS] Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. SMSC9512/9514 Fast Ethernet Adapter 我已经通过/etc/udev/rules.d/70-persistent-net.rules文件的mac或hw地址在文件中设置了接口,这在我的系统上可以正常工作,但是在他的系统上,显然(尽管他使用相同类型和型号的硬件)它们是不同的,因此,他的mac地址是不同的,因此他的70-persistent-net.rules毫无用处,并且给了他一些问题。 为了避免将来发生这种情况,有一种方法可以设置它,以便它可能寻找模型的类型,例如: EW-7811Un -> wlan0 SMSC9512 -> wlan1 并设置这些,而不是依靠mac地址?

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.