Подробности на форуме. Основное начинается с сообщения https://forum.altlinux.org/index.php?topic=37068.msg291212#msg291212
Дополню с форума. Проблема в правиле # Generic entry for most Huawei devices, excluding Android phones ATTRS{idVendor}=="12d1", ATTRS{manufacturer}!="Android" У прблемного смартфона параметры такие: ATTR{idProduct}=="1037" ATTR{idVendor}=="12d1" ATTR{manufacturer}=="Huawei Incorporated" ATTR{product}=="Android Adapter" Видимо, проверка на "Android" должна быть не только у атрибута "manufacturer".
Кстати, интересно, а ATTR{} и ATTRS{} одинаково обрабатываются, получается ? Иначе непонятно, каким образом срабатывает правило ATTRS{idVendor}=="12d1".
(В ответ на комментарий №2) > Кстати, интересно, а ATTR{} и ATTRS{} одинаково обрабатываются, получается ? > Иначе непонятно, каким образом срабатывает правило ATTRS{idVendor}=="12d1". Нет, один из них относится к устройству, а другой к родительскому устройству (не помню какой куда). Это написано в документации к udev.
Разобрался. Полностью исходное правило выглядит так: ATTRS{idVendor}=="12d1", ATTRS{manufacturer}!="Android", ATTR{bInterfaceNumber}=="00", ATTR{bInterfaceClass}=="08", RUN+="usb_modeswitch '%b/%k'" То есть, из-за наличия ATTR{bInterfaceNumber}=="00", ATTR{bInterfaceClass}=="08" оно срабатывает не при добавлении устройства, а добавлении его подустройства (usb-storage получается). В этот момент нужные атрибуты присутствуют, как раз, у родительского устройства, потому и ATTRS. Проблема, видимо, должна решиться добавлением ATTRS{product}!="Android*" в правило.