udevadm not tracing parent devices on imx53 custom board

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

udevadm not tracing parent devices on imx53 custom board

1,135 Views
michaeljohn
Contributor IV

Hello,

I have a custom board using the imx536. The board has two USB devices, one wired to the OTG core and one wired to the Host1 core on the ixm53. Using the Linux BSP, kernel 2.6.35, and udev version 167 I'm not able to use "udevadm info" to determine which device is connected to which hub/port. During boot Linux enumerates the devices differently depending on which one it sees first. How can I get udevadm info to trace the USB chain further? I'm comparing this to a TI am3352 where I am able to trace back to which hub/port each USB device is connected to so I can create a custom udev rule.

Running 'udevadm info' on the two devices on my imx53 custom board:

# udevadm info -a -n /dev/sda1

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 of the device
and the attributes from one single parent device.

  looking at device '/block/sda/sda1':
    KERNEL=="sda1"
    SUBSYSTEM=="block"
    DRIVER==""
    ATTR{partition}=="1"
    ATTR{start}=="2048"
    ATTR{size}=="3909632"
    ATTR{alignment_offset}=="0"
    ATTR{discard_alignment}=="4293918720"
    ATTR{stat}=="       6        0       42        7        1        0        8       64        0       71       71"
    ATTR{inflight}=="       0        0"

  looking at parent device '/block/sda':
    KERNELS=="sda"
    SUBSYSTEMS=="block"
    DRIVERS==""
    ATTRS{range}=="16"
    ATTRS{ext_range}=="256"
    ATTRS{removable}=="1"
    ATTRS{ro}=="0"
    ATTRS{size}=="3911680"
    ATTRS{alignment_offset}=="0"
    ATTRS{discard_alignment}=="0"
    ATTRS{capability}=="51"
    ATTRS{stat}=="       7        0       50       24        1        0        8       64        0       88       88"
    ATTRS{inflight}=="       0        0"

# udevadm info -a -n /dev/sdb1

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 of the device
and the attributes from one single parent device.

  looking at device '/block/sdb/sdb1':
    KERNEL=="sdb1"
    SUBSYSTEM=="block"
    DRIVER==""
    ATTR{partition}=="1"
    ATTR{start}=="20480"
    ATTR{size}=="681984"
    ATTR{alignment_offset}=="0"
    ATTR{discard_alignment}=="4284481536"
    ATTR{stat}=="       0        0        0        0        0        0        0        0        0        0        0"
    ATTR{inflight}=="       0        0"

  looking at parent device '/block/sdb':
    KERNELS=="sdb"
    SUBSYSTEMS=="block"
    DRIVERS==""
    ATTRS{range}=="16"
    ATTRS{ext_range}=="256"
    ATTRS{removable}=="1"
    ATTRS{ro}=="0"
    ATTRS{size}=="15523840"
    ATTRS{alignment_offset}=="0"
    ATTRS{discard_alignment}=="0"
    ATTRS{capability}=="51"
    ATTRS{stat}=="       1        0        8        2        0        0        0        0        0        2        2"
    ATTRS{inflight}=="       0        0"

Thanks.

Labels (2)
Tags (2)
0 Kudos
Reply
2 Replies

890 Views
b36401
NXP Employee
NXP Employee

It seems this device (/block/sda) is hardcoded into kernel and udevadm utility do not need to parse it deeper.

Have a great day,
Victor

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos
Reply

890 Views
michaeljohn
Contributor IV

Where would this be hardcoded into the kernel?

Thanks.

0 Kudos
Reply