So I expect only one of these can be the culprit. Actually a 'GROUP="audio"' setting exists only in
/lib/udev/rules.d/50-udev-default.rules
and
/lib/udev/rules.d/69-libmtp.rules
The former is probably no problem as it assigns this group only to devices of 'SUBSYSTEM=="sound"" where the latter seems to be actually the culprit.
First it includes some devices explicitly and then it lists thousands of supported devices. In the end there is some rule for passing a wide range of devices through an auto-probing:
The device path of the printer I have taken from the blob in the udevadm output (attached to previous comment) which also contains "ID_MEDIA_PLAYER=1". So mtp-probe identifies my printer as a media player and assigns the device file to the "audio" group.
I assume that this happens to most or even all HP printers, so an exclusion of only my device via Vendor and Product ID would not be the correct solution.
Either mtp-probe needs to get fixed or before said rule in the end of the 69-libmtp.rules file and after the lines explicitly identifying media players from HP, there should be placed a line to exclude further HP devices, like
----------
...
# Exclude any further, not explicitly specified HP devices
ATTR{idVendor}=="03f0", GOTO="libmtp_rules_end"
# Autoprobe vendor-specific, communication and PTP devices
ENV{ID_MTP_DEVICE}!="1", ENV{MTP_NO_PROBE}!="1", ENV{COLOR_MEASUREMENT_DEVICE}!="1", ENV{ID_GPHOTO}!="1", ENV{libsane_matched}!="yes", ATTR{bDeviceClass}=="00|02|06|ef|ff", PROGRAM="mtp-probe /sys$env{DEVPATH} $attr{busnum} $attr{devnum}", RESULT=="1", SYMLINK+="libmtp-%k", MODE="660", GROUP="audio", ENV{ID_MTP_DEVICE}="1", ENV{ID_MEDIA_PLAYER}="1"
Now I tried to investigate from which UDEV rule the wrong setting comes from. First I searched all UDEV rules for the word "audio":
till@till-x1yoga:~$ grep -l '\baudio\b' /*/udev/ rules.d/ *.rules rules.d/ 50-udev- default. rules rules.d/ 60-persistent- v4l.rules rules.d/ 69-libmtp. rules rules.d/ 70-uaccess. rules rules.d/ 90-pulseaudio. rules
/lib/udev/
/lib/udev/
/lib/udev/
/lib/udev/
/lib/udev/
till@till-x1yoga:~$
So I expect only one of these can be the culprit. Actually a 'GROUP="audio"' setting exists only in
/lib/udev/ rules.d/ 50-udev- default. rules
and
/lib/udev/ rules.d/ 69-libmtp. rules
The former is probably no problem as it assigns this group only to devices of 'SUBSYSTEM= ="sound" " where the latter seems to be actually the culprit.
First it includes some devices explicitly and then it lists thousands of supported devices. In the end there is some rule for passing a wide range of devices through an auto-probing:
--------- MTP_DEVICE} !="1", ENV{MTP_ NO_PROBE} !="1", ENV{COLOR_ MEASUREMENT_ DEVICE} !="1", ENV{ID_ GPHOTO} !="1", ENV{libsane_ matched} !="yes" , ATTR{bDeviceCla ss}=="00| 02|06|ef| ff", PROGRAM="mtp-probe /sys$env{DEVPATH} $attr{busnum} $attr{devnum}", RESULT=="1", SYMLINK+ ="libmtp- %k", MODE="660", GROUP="audio", ENV{ID_ MTP_DEVICE} ="1", ENV{ID_ MEDIA_PLAYER} ="1"
# Autoprobe vendor-specific, communication and PTP devices
ENV{ID_
---------
And this auto-probing tests positive on my printer:
till@till-x1yoga:~$ /lib/udev/mtp-probe /sys/devices/ pci0000: 00/0000: 00:14.0/ usb1/1- 1 001 012
1
till@till-x1yoga:~$
The device path of the printer I have taken from the blob in the udevadm output (attached to previous comment) which also contains "ID_MEDIA_ PLAYER= 1". So mtp-probe identifies my printer as a media player and assigns the device file to the "audio" group.
I assume that this happens to most or even all HP printers, so an exclusion of only my device via Vendor and Product ID would not be the correct solution.
Either mtp-probe needs to get fixed or before said rule in the end of the 69-libmtp.rules file and after the lines explicitly identifying media players from HP, there should be placed a line to exclude further HP devices, like
---------- =="03f0" , GOTO="libmtp_ rules_end" MTP_DEVICE} !="1", ENV{MTP_ NO_PROBE} !="1", ENV{COLOR_ MEASUREMENT_ DEVICE} !="1", ENV{ID_ GPHOTO} !="1", ENV{libsane_ matched} !="yes" , ATTR{bDeviceCla ss}=="00| 02|06|ef| ff", PROGRAM="mtp-probe /sys$env{DEVPATH} $attr{busnum} $attr{devnum}", RESULT=="1", SYMLINK+ ="libmtp- %k", MODE="660", GROUP="audio", ENV{ID_ MTP_DEVICE} ="1", ENV{ID_ MEDIA_PLAYER} ="1"
...
# Exclude any further, not explicitly specified HP devices
ATTR{idVendor}
# Autoprobe vendor-specific, communication and PTP devices
ENV{ID_
LABEL=" libmtp_ rules_end"
----------