Linux USB映射问题

时间:2009-12-17 21:14:57

标签: python linux usb dbus

我正在开发一个可以在linux上自动安装插入的USB记忆棒的实用程序。我已经连接到D-Bus以接收插入设备的时间的通知,并且效果很好。但是,我需要确定/ dev中的哪个设备映射到插入的USB记忆棒。我收到D-Bus通知,然后用pyUSB(0.4)扫描USB系统。我过滤USB_MASS_STORAGE_DEVICE类,我可以看到已添加或删除的设备。我需要安装此设备,以便查询可用空间并将其报告给我们的应用程序,以便我们确定是否有足够的可用空间,以便我们可以编写数据。

我正在使用python执行此任务。我不确定我们的目标发行版是什么,只是它至少是2.6

编辑:我的问题是:如何确定/ dev中的哪个设备映射到我从pyUSB获得的buss设备号。

3 个答案:

答案 0 :(得分:2)

您应该向HAL询问此事。你说你已经通过D-Bus从HAL收到通知......它维护USB设备的列表,以及它们的ID和设备名称(block.device属性)。

以下是如何获取设备文件名以及新USB设备通知的一个很好的示例:How can I listen for 'usb device inserted' events in Linux, in Python?

答案 1 :(得分:0)

为什么不使用“os”模块来挂载文件系统:

os.system ("mount ... ")

或者如果你想检查输出使用“popen”:

l = op.popen ("mount ....").readlines()

答案 2 :(得分:0)

如何使用dmesg输出来查找设备名称(sdc1等...)

在dbus告诉您插入USB后会立即使用它。你可以做tail dmesg例如