--- Makefile.am | 1 + rules/60-persistent-firewire.rules | 26 ++++++++++++++++++++++++++ 2 files changed, 27 insertions(+), 0 deletions(-) diff --git a/Makefile.am b/Makefile.am index 3b7ec0b..415fae6 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1510,6 +1510,7 @@ dist_udevrules_DATA += \ rules/60-persistent-input.rules \ rules/60-persistent-alsa.rules \ rules/60-persistent-storage.rules \ + rules/60-persistent-firewire.rules \ rules/75-net-description.rules \ rules/75-tty-description.rules \ rules/78-sound-card.rules \ diff --git a/rules/60-persistent-firewire.rules b/rules/60-persistent-firewire.rules new file mode 100644 index 0000000..2eb8cfe --- /dev/null +++ b/rules/60-persistent-firewire.rules @@ -0,0 +1,26 @@ +# do not edit this file, it will be overwritten on update + +ACTION=="remove", GOTO="persistent_firewire_end" +SUBSYSTEM!="firewire", GOTO="persistent_firewire_end" + +ATTR{is_local}=="1", OPTIONS="link_priority=1" + +TEST=="guid", SYMLINK+="firewire/by-id/guid-$attr{guid}" + +# Most devices have the model name in the root directory. +TEST=="vendor_name", TEST=="model_name", \ + OPTIONS="string_escape=replace", \ + SYMLINK+="firewire/by-name/$attr{vendor_name} $attr{model_name}" +# Some devices have the model name only in the first unit directory, so we have +# to get the name from the corresponding subdevice. (The detour through cat is +# necessary because $attr does not allow substitutions in its file name.) +TEST=="vendor_name", TEST!="model_name", TEST=="$kernel.0/model_name", \ + PROGRAM=="/bin/cat $sys$devpath/$kernel.0/model_name", \ + OPTIONS="string_escape=replace", \ + SYMLINK+="firewire/by-name/$attr{vendor_name} $result" +# To make the preceding rule work when the subdevice is added after the parent +# device, force a 'change' event to rerun that rule in this case. +ACTION=="add", DEVPATH=="*/fw[0-9]*/fw[0-9]*.0", TEST=="model_name", TEST!="../model_name", \ + ATTR{../uevent}="change" + +LABEL="persistent_firewire_end" -- To unsubscribe from this list: send the line "unsubscribe linux-hotplug" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html