LinuxForum.Fans
Тема

Проблема с usb 3.0 на Debian 7.6

Автор: u_____________7 7 сообщений 2636 просмотров
#387669

Добрый всем день!

Имею файлопомойку на сабже, винт внешний, подрублен по usb 3.0. Сегодня при старте системы начал ругаться на ошбку следующего вида:



UUID проверил - совпадает. При попытке заменить на /dev/sdaX также не грузится. Эксперимента ради перетыкнул в USB 2.0 - завелось с полпинка. Потом уже досмотрелся, что в списке модулей нет xhci. Что посоветуете, чтобы завести на USB 3? Чипы там явно живые, как и контроллер на диске - Debian грузится на другой машине штатно.

#387683
"Драко Стаарн" написал:
Потом уже досмотрелся, что в списке модулей нет xhci.

В списке загруженных модулей? Или самих файлов модулей?

Посмотрите:

text

find /lib/modules/`uname -r` -type f -name "xhc*"
text

ls /lib/modules/ -1
uname -r
#387708

Нашёл только

text
/lib/modules/3.2.0-4-686-pae/kernel/drivers/usb/host/xhci-hcd.ko

Этот есть и в списке загруженных

#387713
"Драко Стаарн" написал:
Нашёл только

/lib/modules/3.2.0-4-686-pae/kernel/drivers/usb/host/xhci-hcd.ko

Этот есть и в списке загруженных

Ну а что же вы тогда пишете:

"Драко Стаарн" написал:
Потом уже досмотрелся, что в списке модулей нет xhci.

С модулями у вас всё в порядке. Делайте перезапуск системы, потом подключайте к USB 3.0 порту USB накопитель, затем выкладывайте на pastebin сервис вывод

text

dmesg

целиком.

А ссылку сюда.

Так же сюда можете поместить и вывод

text

blkid
#387716

kostik87, как я понял, речь идет о загрузке с диска с интерфейсом USB3. Тогда, как советует сама система (см. первое сообщение), ядру надо передать параметр rootdelay=n, где n - 3...5 секунд ожидания загрузки модуля ядра и инициализации им интерфейса. Кроме того, наличие модуля в системе лишь дает возможность использовать управляемое этим модулем железо. В Debian в процессе загрузки используется initrd, в котором как раз данного модуля может не быть, что и мешает нормально загрузиться при использовании USB3. Решением является пересборка initrd с включением в него требуемого модуля с его зависимостями, например:

text
# mkinitrd -c -k 3.10.17-smp_yars -m xchi-hcd

В Debian команда будет другой, см. man update-initramfs, если не ошибаюсь.

#387719
"yars" написал:
kostik87, как я понял, речь идет о загрузке с диска с интерфейсом USB3.

Да, вы скорее всего правы. Но в таком случае претензия к ТС в неясном описании проблемы в шапке темы.

"yars" написал:
Решением является пересборка initrd с включением в него требуемого модуля с его зависимостями, например:
# mkinitrd -c -k 3.10.17-smp_yars -m xchi-hcd
В Debian команда будет другой, см. man update-initramfs, если не ошибаюсь.

Так пересобирать initrd совсем необязательно. Можно просто распаковать initrd, положить в него необходимый модуль и запаковать обратно, это более универсальный способ.

text

mkdir /tmp/initramfs
cd /tmp/initramfs
gunzip -c -9 /boot/initrd... | \
cpio -i -d -H newc --no-absolute-filenames 

Далее копируем в /tmp/initramfs/lib/modules/версия_ядра/ модуль для поддержки USB 3.0, возможно так же необходимо скопировать и файл с зависимостями модулей.

text

cd /tmp/initramfs
find . | cpio -o -H newc | gzip -9 > /boot/initrd...

Алгоритм сжатия может быть не gzip, а bzip2 или xz, в таком случае в качестве распаковщика нужно использовать соответствующие утилиты, а для определения алгоритма сжатия использовать:

text

file /boot/initrd...
Войдите или зарегистрируйтесь, чтобы ответить.