Parece haver um fator distintivo aqui:
ATTRS{interface}=="Intel(R) RealSense(TM) 415 Depth"
vs.
ATTRS{interface}=="Intel(R) RealSense(TM) 415 RGB"
E para diferenciar várias câmeras, você provavelmente precisará desta:
ATTRS{serial}=="736613021813"
A página udev(7)
man diz:
If multiple keys that match a parent device are specified in a single rule, all these keys must match at one and the same parent device.
O atributo que torna as interfaces distinguíveis está no bloco pai e o atributo que torna as câmeras distinguíveis está no bloco de avós. Então, você terá que usar várias linhas de regra.
Para cada câmera, deve haver um grupo de regras como este:
SUBSYSTEM=="video4linux", ATTRS{serial}!="736613021813", GOTO="not_first_camera"
SUBSYSTEM=="video4linux", KERNEL=="video*", ATTRS{interface}=="Intel(R) RealSense(TM) 415 Depth", SYMLINK+="cam1_depth"
SUBSYSTEM=="video4linux", KERNEL=="video*", ATTRS{interface}=="Intel(R) RealSense(TM) 415 RGB", SYMLINK+="cam1_rgb"
LABEL="not_first_camera"
A primeira regra ignora as duas regras a seguir, se o número de série da câmera não corresponder. Dessa forma, entre a primeira regra e o LABEL associado a ela, podemos ter certeza da identidade da câmera de que estamos falando e podemos nos concentrar em diferenciar as interfaces.
Cada bloco deve ter uma instrução exclusiva LABEL=
e GOTO=
que corresponda ao rótulo exclusivo. Claro que você pode nomear o SYMLINK
s como quiser.