Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 是否可以创建与I2C地址匹配的udev规则?_Linux_I2c_Udev_Iio - Fatal编程技术网

Linux 是否可以创建与I2C地址匹配的udev规则?

Linux 是否可以创建与I2C地址匹配的udev规则?,linux,i2c,udev,iio,Linux,I2c,Udev,Iio,我有许多相同设备的实例(基于I2C的IIO传感器),在两个I2C多路复用器后面有相同的I2C地址。我想基于确定性路径将iio:deviceX符号链接到一个更有意义的名称(例如,设备=0x29,在mux=0x70,在总线1上) 不幸的是,从udevadm info--attribute walk--name=/dev/iio \:device0来看,我似乎无法根据以下属性匹配I2C地址: looking at device '/devices/pci0000:00/808622C1:00/i2

我有许多相同设备的实例(基于I2C的IIO传感器),在两个I2C多路复用器后面有相同的I2C地址。我想基于确定性路径将
iio:deviceX
符号链接到一个更有意义的名称(例如,设备=0x29,在mux=0x70,在总线1上)

不幸的是,从
udevadm info--attribute walk--name=/dev/iio \:device0
来看,我似乎无法根据以下属性匹配I2C地址:

  looking at device '/devices/pci0000:00/808622C1:00/i2c-0/i2c-5/i2c-PRP0001:02/iio:device0':
    KERNEL=="iio:device0"
    SUBSYSTEM=="iio"
    DRIVER==""
    ATTR{name}=="vl53l0x"
    ATTR{in_distance_raw}=="8190"
    ATTR{in_distance_scale}=="0.001000"

  looking at parent device '/devices/pci0000:00/808622C1:00/i2c-0/i2c-5/i2c-PRP0001:02':
    KERNELS=="i2c-PRP0001:02"
    SUBSYSTEMS=="i2c"
    DRIVERS=="vl53l0x-i2c"
    ATTRS{name}=="vl53l0x"

  looking at parent device '/devices/pci0000:00/808622C1:00/i2c-0/i2c-5':
    KERNELS=="i2c-5"
    SUBSYSTEMS=="i2c"
    DRIVERS==""
    ATTRS{name}=="i2c-0-mux (chan_id 0)"

  looking at parent device '/devices/pci0000:00/808622C1:00/i2c-0':
    KERNELS=="i2c-0"
    SUBSYSTEMS=="i2c"
    DRIVERS==""
    ATTRS{name}=="Synopsys DesignWare I2C adapter"

  looking at parent device '/devices/pci0000:00/808622C1:00':
    KERNELS=="808622C1:00"
    SUBSYSTEMS=="platform"
    DRIVERS=="i2c_designware"
    ATTRS{driver_override}=="(null)"

  looking at parent device '/devices/pci0000:00':
    KERNELS=="pci0000:00"
    SUBSYSTEMS==""
    DRIVERS==""

我如何确定与这些传感器的匹配?我甚至不确定是否可以假设I2C多路复用器总是以相同的顺序初始化…

您是否运行了
iio\u info
并检查它是否有有有意义的字段?我非常确定
libiio
应该有一些东西可以让你区分这些设备。如果没有,我建议与库维护人员合作以获得您想要的。您是否运行了
iio_info
,并检查其中是否有有有意义的字段?我非常确定
libiio
应该有一些东西可以让你区分这些设备。如果没有,我建议与库维护人员合作,以获得您想要的。