I have installed peak_drivers 7.15 and OS Ubuntu 14.04.
I need to use 4 can interfaces and I want to set a persistent ID for all of them.
I want to set a rule to udev with a relation of unique attrs
In /sys/class/net I have can0, can1, can2 and can3.
The attrs that I can read for all are as follow.
Code: Select all
udevadm info -a -p /sys/class/net/can0
looking at device '/devices/virtual/net/can0':
KERNEL=="can0"
SUBSYSTEM=="net"
DRIVER==""
ATTR{mtu}=="16"
ATTR{type}=="280"
ATTR{netdev_group}=="0"
ATTR{flags}=="0x80"
ATTR{addr_assign_type}=="0"
ATTR{dev_id}=="0x0"
ATTR{gro_flush_timeout}=="0"
ATTR{iflink}=="5"
ATTR{addr_len}=="0"
ATTR{address}==""
ATTR{operstate}=="down"
ATTR{carrier_changes}=="0"
ATTR{broadcast}==""
ATTR{tx_queue_len}=="10"
ATTR{dev_port}=="0"
ATTR{ifalias}==""
ATTR{ifindex}=="5"
ATTR{link_mode}=="0"
SUBSYSTEM=="net", ACTION=="add", KERNEL=="can*",ATTR{iflink}=="5", NAME="privateCan"
The attributes that changes are ATTR{iflink}=="5" and ATTR{ifindex}=="5" but I think that it is an autoincrement value so in the same session the value could be different with unplug/plug peak-can
So, when I try to identify a persisten and different attrs for use its on Udev rules I can´t.
If I run this code against /sys/class/usbmisc/can0 I can read:
Code: Select all
KERNEL=="pcanusb0"
SUBSYSTEM=="usbmisc"
DRIVER==""
ATTR{pcan_hwtype}=="11"
ATTR{pcan_devid}=="16"
ATTR{pcan_minor}=="0"
looking at parent device '/devices/pci0000:00/0000:00:11.0/0000:02:00.0/usb2/2-2/2-2.2/2-2.2:1.0':
KERNELS=="2-2.2:1.0"
SUBSYSTEMS=="usb"
DRIVERS=="pcan"
ATTRS{bInterfaceClass}=="00"
ATTRS{bInterfaceSubClass}=="00"
ATTRS{bInterfaceProtocol}=="00"
ATTRS{bNumEndpoints}=="04"
ATTRS{supports_autosuspend}=="0"
ATTRS{bAlternateSetting}==" 0"
ATTRS{bInterfaceNumber}=="00"
looking at parent device '/devices/pci0000:00/0000:00:11.0/0000:02:00.0/usb2/2-2/2-2.2':
KERNELS=="2-2.2"
SUBSYSTEMS=="usb"
DRIVERS=="usb"
ATTRS{bDeviceSubClass}=="00"
ATTRS{bDeviceProtocol}=="00"
ATTRS{devpath}=="2.2"
ATTRS{idVendor}=="0c72"
ATTRS{speed}=="12"
ATTRS{bNumInterfaces}==" 1"
ATTRS{bConfigurationValue}=="1"
ATTRS{bMaxPacketSize0}=="16"
ATTRS{busnum}=="2"
ATTRS{devnum}=="5"
ATTRS{configuration}==""
ATTRS{bMaxPower}=="200mA"
ATTRS{authorized}=="1"
ATTRS{bmAttributes}=="80"
ATTRS{bNumConfigurations}=="3"
ATTRS{maxchild}=="0"
ATTRS{bcdDevice}=="1c10"
ATTRS{avoid_reset_quirk}=="0"
ATTRS{quirks}=="0x0"
ATTRS{version}==" 1.00"
ATTRS{urbnum}=="24"
ATTRS{ltm_capable}=="no"
ATTRS{removable}=="unknown"
ATTRS{idProduct}=="000c"
ATTRS{bDeviceClass}=="00"
looking at parent device '/devices/pci0000:00/0000:00:11.0/0000:02:00.0/usb2/2-2':
KERNELS=="2-2"
SUBSYSTEMS=="usb"
DRIVERS=="usb"
ATTRS{bDeviceSubClass}=="00"
ATTRS{bDeviceProtocol}=="00"
ATTRS{devpath}=="2"
ATTRS{idVendor}=="0e0f"
ATTRS{speed}=="12"
ATTRS{bNumInterfaces}==" 1"
ATTRS{bConfigurationValue}=="1"
ATTRS{bMaxPacketSize0}=="8"
ATTRS{busnum}=="2"
ATTRS{devnum}=="3"
ATTRS{configuration}=="VMware Virtual USB Hub"
ATTRS{bMaxPower}=="0mA"
ATTRS{authorized}=="1"
ATTRS{bmAttributes}=="e0"
ATTRS{bNumConfigurations}=="1"
ATTRS{maxchild}=="7"
ATTRS{bcdDevice}=="0100"
ATTRS{avoid_reset_quirk}=="0"
ATTRS{quirks}=="0x0"
ATTRS{version}==" 1.10"
ATTRS{urbnum}=="66"
ATTRS{ltm_capable}=="no"
ATTRS{removable}=="unknown"
ATTRS{idProduct}=="0002"
ATTRS{bDeviceClass}=="09"
ATTRS{product}=="VMware Virtual USB Hub"
looking at parent device '/devices/pci0000:00/0000:00:11.0/0000:02:00.0/usb2':
KERNELS=="usb2"
SUBSYSTEMS=="usb"
DRIVERS=="usb"
ATTRS{bDeviceSubClass}=="00"
ATTRS{bDeviceProtocol}=="00"
ATTRS{devpath}=="0"
ATTRS{idVendor}=="1d6b"
ATTRS{speed}=="12"
ATTRS{bNumInterfaces}==" 1"
ATTRS{bConfigurationValue}=="1"
ATTRS{bMaxPacketSize0}=="64"
ATTRS{authorized_default}=="1"
ATTRS{busnum}=="2"
ATTRS{devnum}=="1"
ATTRS{configuration}==""
ATTRS{bMaxPower}=="0mA"
ATTRS{authorized}=="1"
ATTRS{bmAttributes}=="e0"
ATTRS{bNumConfigurations}=="1"
ATTRS{maxchild}=="2"
ATTRS{bcdDevice}=="0319"
ATTRS{avoid_reset_quirk}=="0"
ATTRS{quirks}=="0x0"
ATTRS{serial}=="0000:02:00.0"
ATTRS{version}==" 1.10"
ATTRS{urbnum}=="32"
ATTRS{ltm_capable}=="no"
ATTRS{manufacturer}=="Linux 3.19.0-25-generic uhci_hcd"
ATTRS{removable}=="unknown"
ATTRS{idProduct}=="0001"
ATTRS{bDeviceClass}=="09"
ATTRS{product}=="UHCI Host Controller"
looking at parent device '/devices/pci0000:00/0000:00:11.0/0000:02:00.0':
KERNELS=="0000:02:00.0"
SUBSYSTEMS=="pci"
DRIVERS=="uhci_hcd"
ATTRS{irq}=="18"
ATTRS{subsystem_vendor}=="0x15ad"
ATTRS{broken_parity_status}=="0"
ATTRS{class}=="0x0c0300"
ATTRS{label}=="usb"
ATTRS{driver_override}=="(null)"
ATTRS{consistent_dma_mask_bits}=="32"
ATTRS{dma_mask_bits}=="32"
ATTRS{local_cpus}=="ff"
ATTRS{device}=="0x0774"
ATTRS{enable}=="1"
ATTRS{msi_bus}=="1"
ATTRS{local_cpulist}=="0-7"
ATTRS{vendor}=="0x15ad"
ATTRS{acpi_index}=="16777728"
ATTRS{subsystem_device}=="0x1976"
ATTRS{d3cold_allowed}=="0"
looking at parent device '/devices/pci0000:00/0000:00:11.0':
KERNELS=="0000:00:11.0"
SUBSYSTEMS=="pci"
DRIVERS==""
ATTRS{irq}=="0"
ATTRS{subsystem_vendor}=="0x15ad"
ATTRS{broken_parity_status}=="0"
ATTRS{class}=="0x060401"
ATTRS{driver_override}=="(null)"
ATTRS{consistent_dma_mask_bits}=="32"
ATTRS{dma_mask_bits}=="32"
ATTRS{local_cpus}=="ff"
ATTRS{device}=="0x0790"
ATTRS{enable}=="1"
ATTRS{msi_bus}=="1"
ATTRS{local_cpulist}=="0-7"
ATTRS{vendor}=="0x15ad"
ATTRS{subsystem_device}=="0x0790"
ATTRS{d3cold_allowed}=="0"
looking at parent device '/devices/pci0000:00':
KERNELS=="pci0000:00"
SUBSYSTEMS==""
DRIVERS==""
Do you think there is any way to "complete" /sys/class/net/canX attributes?
Regards and sorry for my english.