That is, I want a rule for creating a symlink that describes the USB port something is plugged into, rather than the specific device plugged into it. Linux USB has a way of representing the location of each physical jack, even when hubs are involved. For devices like USB serial and USB MIDI, I'd like apps to be able to refer to devices by where they're plugged in.
I used udevadm to generate the info for a USB MIDI converter. The first three levels look like this: looking at device '/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.2/1-1.2:1.0/sound/card1/m idiC1D0': KERNEL=="midiC1D0" SUBSYSTEM=="sound" DRIVER=="" looking at parent device '/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.2/1-1.2:1.0/sound/card1': KERNELS=="card1" SUBSYSTEMS=="sound" DRIVERS=="" ATTRS{id}=="XMidi1X1" ATTRS{number}=="1" looking at parent device '/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.2/1-1.2:1.0': KERNELS=="1-1.2:1.0" SUBSYSTEMS=="usb" DRIVERS=="snd-usb-audio" ATTRS{authorized}=="1" ATTRS{bAlternateSetting}==" 0" ATTRS{bInterfaceClass}=="01" ATTRS{bInterfaceNumber}=="00" ATTRS{bInterfaceProtocol}=="00" ATTRS{bInterfaceSubClass}=="01" ATTRS{bNumEndpoints}=="00" ATTRS{supports_autosuspend}=="1" (There may be spurious line breaks in there, due to email.) I'd like an alias for this device to be "/dev/midi1-1.2:1.0". I tried the following: KERNEL=="midiC*", DRIVERS=="snd-usb-audio", SYMLINK+="midi%k" It did bupkis. The man page seems to imply that, while a single rule can't match items from different parents, it's okay to match something in the device and then something else in a parent. So I would expect the KERNEL key would match the device itself, DRIVERS would match a parent, but what then does %k refer to, the kernel name in the device or the kernel name in the parent? But it not only didn't create a "midi1-1.2:1.0", it didn't create a "midimidiC1D0" either, so it doesn't look like the rule matched at all. There is already a symlink "/dev/snd/by-path/platform-3f980000.usb-usb-0:1.2:1.0", but it refers to the useless "controlC1" interface. It also doesn't appear to be generated by an explicit rule anywhere that might show me what to do. What am I doing wrong? Do I need a rule that just matches the MIDI device, and then runs a script that searches for the parent name? -- Ciao, Paul D. DeRocco Paul mailto:pdero...@ix.netcom.com _______________________________________________ systemd-devel mailing list systemd-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/systemd-devel