(Я сделаю это ответ и добавлю к нему, хотя у меня нет готового решения. Это просто слишком неудобно в комментариях.)
Проблема не в этом udev
, поэтому «отладка udev» не поможет. udev
просто реагирует на сигнал, поступающий в .408114 от ядра.
Предполагая, что нет никаких других сообщений, dmesg
кроме тех, которые вы показали (что означает «вообще ничего», а не «ничего, что вы считаете связанным», в противном случае, пожалуйста, отредактируйте вопрос с частью до и после вашего фрагмента), все, что мы знаем, это то, что ядро пытается отправить команды на смарт-часы, чтобы узнать больше об устройстве хранения, и оба (защита от записи и кэш) не работают. После этого ядро, возможно, больше взаимодействует и в итоге решает, что это не USB-устройство хранения данных, потому что оно не отвечает или возвращает ошибки. Таким образом, ядро удаляет его со слоя хранения, отправляет сигнал udev
и udev
делает то, что должно, и удаляет узлы устройства. Даже если вы не сможете udev
удалить узлы устройства, они не будут присутствовать на уровне ядра, поэтому они будут бесполезны.
Что вы можете сделать, это использовать usbmon
для прослушивания пакетов USB между ПК и умными часами. wireshark
может интерпретировать те. Если вы хотите отладить это, вам нужно прочитать о том, как работает USB, как работает USB-накопитель и как работают команды SCSI, которые обеспечивают работу USB-накопителя. Это может или не может дать намек на то, что идет не так. Стандарты не сложно найти, немного погуглив.
Также возможно, что дешевые умные часы просто неправильно реализуют стандарт USB-накопителя и имеют специальный драйвер Windows, написанный производителем, который скрывает этот факт. В этом случае вы также можете прослушать USB-трафик в Windows, чтобы выяснить, как он работает, но тогда вам придется написать собственное ядро Linux или драйвер для пользовательского пространства, что является большой работой.