Articles of UDEV

Linux的Ubuntu的自动分配每个物理USB端口相同的挂载点

我是一个初学者在Linux 我想要Ubuntu的映射一个给定的USB物理端口的每个USB存储钥匙相同的安装点。 udev的? 谢谢

使用iSerialNumber USB设备描述符来唯一标识GoPro相机

我感兴趣的领域是从以下输出的iSerial: lsusb -d <idVendor>:<idProduct> -v 非唯一iSerialNumber的示例输出: Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 1.10 bDeviceClass 239 Miscellaneous Device bDeviceSubClass 2 ? bDeviceProtocol 1 Interface Association bMaxPacketSize0 64 idVendor 0x0402 ALi Corp. idProduct 0x9665 Gateway Webcam bcdDevice 0.09 iManufacturer 3 iProduct 1 iSerial 0 <– Three string descriptors exist to provide details of the manufacturer, product […]

如何枚举USB设备*和*读/写给他们?

有一个我需要与之通信的自定义USB设备。 没有特定的驱动程序。 该设备不显示为/dev/tty* 。 我发现如何使用libudev来枚举USB设备,假设我设法得到相应的struct udev_device 。 我弄不明白的是如何open(2)设备,以便我可以write(2)和从中read(2) 。 是否有可能与通用的USB设备进行通信,设置波特率和只读/写? 如果是这样,我findlibudev的设备后,应该打开什么“文件”? 如果不是,编写一个内核级驱动程序是必要的?

如何知道是否启用了udev或mdev

我有一个连接到进程的spi总线的设备,但不会显示在/ dev /中。 spi设备驱动程序应自动创build节点。 所以我想检查我的系统中是否启用了udev或mdev。 谁能告诉我如何检查? 我在/ sbin或/ bin中看不到udev或mdev。 这是否意味着什么? 谢谢!

apt-get升级冻结,同时设置udev

我正在尝试升级我的debian系统,但是在试图设置udev的时候它会一直冻结, ~$ sudo apt-get upgrade Reading package lists… Done Building dependency tree Reading state information… Done Calculating upgrade… The following packages were automatically installed and are no longer required: … Use 'apt-get autoremove' to remove them. Done The following packages will be upgraded: …. 79 upgraded, 0 newly installed, 0 to remove and 0 not […]

如何为ETH设置udev规则“link down”/“link up”?

当连接eth0时,我喜欢打开绿色LED(通过GPIO连接)。 断开连接时,我喜欢切换绿色LED和红色LED。 认为udev也许是正确的地方。 我创build了简单的演示规则: KERNEL=="eth0", SUBSYSTEM=="net", ACTION=="add", RUN+="/sbin/set_BSPleds eth0 on" 这个规则应该在添加eth0时调用一个脚本。 它从未被执行。 在通过在shell中input“udevadm monitor -k -u”来查看udev监视器之后。 拔下插头时,没有事件发生。 root@sama5d3xek:/etc/udev/rules.d# udevadm monitor -k -uh0 monitor will print the received events for: UDEV – the event which udev sends out after rule processing KERNEL – the kernel uevent root@sama5d3xek:/etc/udev/rules.d# 似乎没有eth0的事件。 以太网驱动程序提供了我的ATMEL。 我正在Yocto的帮助下构build一个定制的Linux。 我的问题是,如何获得“链接”/“链接”事件到udev? 如果它不适用于udev,最好的select是什么?

在安装Raspberry Pi时自动将文件复制到USB

我目前正在做一个项目,需要一个文件被自动复制到安装的USB棒。 基于我在互联网上的研究,我相信这是可行的使用udev规则。 所以,当USB插入我的RPi2时,udev规则将执行一个python脚本,允许将文件复制到USB棒。 问题是,我也听说脚本会在RPi挂载USB之前执行,这意味着文件不会被复制。 有针对这个的解决方法吗? python脚本执行时,我内部复制文件(在RPi本身不是USB),它只是不工作,当我试图将其复制到USB。 以下是我的代码: Udev统治 KERNEL=="sd*1", ACTION=="add", RUN=="/home/pi/datalogger/autocopy.sh" Shell脚本 cd / cd /home/pi/datalogger sudo /usr/bin/python autocopy.py cd / exit Python脚本 import shutil import datetime # File to be copied source = "/home/pi/copied.txt" # USB name must be changed to 'USB1' in order for auto copy to work destination = "/media/pi/USB1/datalogger_backup_%s.txt" % datetime.datetime.now().date() […]

在Linux上popupUSB设备

我在python中通过dbus使用Udisk来卸载一个USB设备(在这个例子中是一个Kindle),但是我想向它发送popup信号,因为这会将Kindle从USB模式退回到它通常的界面。 Udisk不会让我DriveEject,因为它不是一个实际的驱动器,我收集这是一个function。 给出的错误是: dbus.exceptions.DBusException: org.freedesktop.UDisks.Error.Failed: Device is not a drive Udisks 文档提到可抛出的属性: ID_DRIVE_EJECTABLE 驱动器中的介质是否是物理可popup的。 如果驱动器真正使用(或不)可popup介质,只设置为1(或0)。 尤其是,对于例如需要通过popup(1)发送命令的iPod或Kindle设备,这不是必需的,因为桌面用户会话将为可移动设备提供这个选项,而不pipe它们是否可popup。 如果未设置此属性,将使用启发式方法确定介质是否可popup(使用光盘驱动器,Zip或Jaz介质被视为可popup)。 但不解释如何从桌面用户会话做到这一点。 (Nautilus可以让我从桌面shellpopup,popup的shell命令将会卸载,但不会在没有sudo的情况下将popup信号发送到设备) 有没有什么合法的办法可以和Udisk进行呢?如果不是的话,Nautlius怎么去做呢?

如何检测或testing在unix / linux开发节点创build的USB闪存驱动器插入

我正在用C编写一个linux系统。 我想插入一个USB闪存驱动器,让udev创build开发节点(例如在/ dev / sdc和/ dev / sdc1),并且只有在/ dev / sdc出现时才采取行动。 我一直在做的是把它看作是我的C应用程序中的一个等待循环,等待一个由udev守护进程创build的开发节点。 像下面这样: if( /* /dev/sdc exists */) { do_something(); } else { wait(); } 我的第一个问题是,什么C库函数可以在我的if()testing中返回值为“/ dev / sdc exists”。 我的第二个问题是,我是否错误地接近了这个问题? 我应该使用udev监视器结构来从udev直接检测到这个吗?

如何防止安装所有的USB大容量存储?

我想要防止使用udev规则挂载各种usb大容量存储。 我已经可以使用以下规则检测连接到我的系统的所有usb大容量存储器: SUBSYSTEMS=="scsi", SUBSYSTEM=="block" KERNEL=="sd[bh]1" 但我不知道我怎么能阻止他们安装! 我知道我必须将其相关的USB设备的授权文件设置为零! 但如何findUSB设备path? $ DEVPATH给了我存储设备块的path,例如sdb1! 编辑:我有一个应用程序,应该给一些USB大容量存储权限。 所以用来阻挡usb大容量存储的方法不应该是非常静态的! 提前致谢。