ОК, это дикое предположение и обходной путь (а не правильное понимание проблемы), но это должно сработать.
Создайте файл правил udev
, скажем, /etc/udev/rules.d/z30-seagate-disk.rules
и добавьте следующее правило:
ATTRS{manufacturer}=="Seagate", ATTRS{product}=="BUP Slim BK", SYMLINK+="seagate"
Это должно заставить udev
сделать второй проход и добавить диск как /dev/seagate
блочное устройство. Вам также нужно будет добавить этот файл в переменную FILES
в /etc/mkinitcpio.conf
, чтобы он попал в initramfs
. (И запустите mkinitcpio -p linux
для восстановления initramfs
)
Предупреждение: Проверено на Arch, не на Debian, и без использования USB 3.0.
Другим обходным решением будет заставить uas
(USB SCSI) всегда загружаться ядром. Добавьте в файл, скажем, /etc/modules-load.d/seagate-disk.conf
имя модуля:
uas
usb_storage
usbcore
scsi_mod
usb_common
Теоретически нужен только uas
, но я не могу воспроизвести вашу проблему, поэтому я бы попробовал переборщить все, что нужно для управления USB HDD. Опять же, добавьте этот файл в FILES
в /etc/mkinitcpio.conf
.
Это заставит ядро иметь uas
всегда загруженным. Возможно, пока udev
работает с шинами, он ошибочно полагает, что USB-концентраторы/шины ничем не загружены, поскольку в ядре нет загруженных USB-модулей.