Почему USB не работает в Linux, когда он работает в UEFI/BIOS?

Вы проверили, что резервные копии создаются со всем корректным содержанием?

Существует несколько причин, Вы могли видеть ошибки.

  1. Вы, возможно, наблюдение чисто информационных ошибок, связанных с установкой атрибута файла во время создания (во время tar и mv команды). NTFS или файловая система FAT, лежащая в основе монтирования CIFS, не могут на самом деле поддерживать некоторые системные вызовы, и это не может быть фактическими ошибками.

  2. Вы попытались создать tar заархивируйте локально, и затем просто копирование его к NAS?

Кроме того, можно включить еще некоторый подробный вход через (от fs.cifs README):

отзовитесь эхом 7>/proc/fs/cifs/cifsFYI

cifsFYI функционирует как небольшую маску. Установка его к 1 включает дополнительное журналирование ядра различных информационных сообщений. 2 позволяет регистрироваться ненулевых кодов возврата SMB, в то время как 4 позволяет регистрироваться запросов, которые занимают больше времени, чем одна секунда для завершения (за исключением запросов блокировки диапазона байта). Установка его к 4 требует определения CONFIG_CIFS_STATS2 вручную в исходном коде (обычно путем установки его в начале cifsglob.h), и установка его к семь включает все три. Наконец, через трассировку запуска кого-то запросы и ответы можно включить:

отзовитесь эхом 1>/proc/fs/cifs/traceSMB

Те две опции могут предоставить Вам достаточно информации для знания, каковы следующие шаги должны быть.

31
17.04.2013, 06:14
8 ответов

Я нашел ответ от этого потока (http://ubuntuforums.org/showthread.php?t=2114055) по ubuntuforums.org.

Это кажется с более новыми системными платами Гигабайта (по крайней мере), существует названная опция BIOS IOMMU Controller это отключено по умолчанию и не дает ключа к разгадке или признака относительно того, для чего это.

Включение этой установки и перезагрузки "волшебно" восстанавливает весь мой USB, и сетевые проблемы в 64-разрядном Linux ОС (не имеет значения который).

Я скорее потрясен и ликующий, что это был такой долгий поиск такой простой фиксации.

Спасибо все для Вашей справки и предложений. Надо надеяться, другие найдут это полезным.

Обновление: я был бы точно так же, как, чтобы добавить, что мои текущие настройки BIOS также включают включение Передача XHCI и Передача EHCI в дополнение к Контроллеру IOMMU. Другие упомянули, что это также и разрешающий те две передачи также позволяет моим портам USB 3.0 функционировать как ожидалось.

25
27.01.2020, 19:38
  • 1
    я укажу, что для меня даже при том, что включение IOMMU работало на меня, он деактивировал весь мой внутренний USB 3 порта. Кроме того, я ранее испытывал некоторые проблемы с портом Ethernet, но включал IOMMU, устранил те проблемы. Отредактированный –  Robbie 21.01.2015, 17:02
  • 2
    Вы пытались позволить xHCI Передаче зафиксировать порты USB 3.0? –  Stuart P. Bentley 19.03.2016, 01:50
  • 3
    @StuartP.Bentley да xHCI и настройки eHCI Handoff включен, а также Контроллер IOMMU. Это действительно включает мои порты USB 3.0, но по любой причине не позволяет моей клавиатуре USB работать в BIOS или экранах личинки - однако, моя мышь USB делает (пойди разберись). У меня есть вторая клавиатура стиля PS/2, включенная только для начальной загрузки в BIOS. –  BrionS 19.03.2016, 05:18
  • 4
    Существует больше к нему. Если Вы направляетесь через все форумы человечности, Вы находите, что установке загрузчика рекомендуют ("iommu=soft") с Отключенным IOMMU. Мой ГБ 990FXA-UD3 значения по умолчанию к включенному и я не мог использовать свой внешний концентратор USB3. НИЖНЯЯ СТРОКА: это не может решить Вашу проблему. В противном случае продолжайте гуглить. –  Bruce 21.07.2016, 20:16
  • 5
    рекомендуется оставить передачу EHCI отключенной в BIOS для лучшей производительности с USB2.0. –  Marc.2377 22.06.2017, 02:47

К вашему сведению, технические причины, почему Linux не может использовать устройства "через" BIOS: после того как ОС перешла к "защищенному режиму" (32-разрядный) или "длинный режим", (64-разрядный), это больше не может отправлять прерывания на BIOS. В "реальном режиме" (16-разрядный, при начальной загрузке) это может назвать прерывания BIOS, чтобы считать диски, ввод с клавиатуры, и т.д.

Но это также получило оборотные стороны. Для одного у Вас даже нет мегабайта адресуемой памяти. Так переключатель современной ОС из реального режима почти первая вещь. (На самом деле я верю переключателям личинки к защищенному режиму перед ним равномерные нагрузки ядро).

Подробнее: http://wiki.osdev.org/Real_Mode http://wiki.osdev.org/Protected_Mode

3
27.01.2020, 19:38

У меня есть тот же proc (но 8 ядер) тот же МБ (газуют 3), та же сумма RAM (Kingston)

Подсказка с IOMMU помогла немногому - все порты видят клавиатуру usb, концентратор usb монитора и usb (Realtek) адаптер Wi-Fi, но никакой флеш-накопитель.

Это кажется, что это решение помогло мне:

cd /sys/bus/pci/drivers/ehci_hcd
ls

Вы будете видеть файл с 0000:00:xx.x форматом. Выполните следующую команду:

sudo sh -c 'echo -n "0000:00:xx.x" > unbind'

Замените xx.x числами, отображенными на Вашем файле. Это должно отключить ehci_hcd.

Можно теперь использовать следующий сценарий для отключения ehci_hcd.

cd /sys/bus/pci/drivers/ehci_hcd/
sudo sh -c 'find ./ -name "0000:00:*" -print| sed "s/\.\///">unbind'

http://www.geekdevs.com/2010/04/solved-unable-to-enumerate-usb-device-disabling-ehci_hcd/

2
27.01.2020, 19:38
  • 1
    Было бы более полезно, если бы Вы предоставили решение здесь в тексте, и только используйте ссылки для справочной информации и несущественных деталей. Без этого, после того как Ваша ссылка становится недопустимой, Ваш ответ не имеет никакого значения. –  Anthon 30.05.2013, 13:34
  • 2
    Как один из пользователей, прокомментированных в ссылке Вы, если "Это не фиксация. Это означает, что Вы не используете свой диск в полной скорости. Это похоже на помещение лейкопластыря на разъединенной конечности". –  enthusiasticgeek 21.08.2015, 23:28

Достаточно странно, даже при том, что у меня есть почти идентичная установка (та же материнская плата, процессор FX8350), разрешение IOMMU не имело никакого значения для меня. Все еще никакой USB, сети, и т.д.

Что действительно помогало, тем не менее, добавлял "iommu=soft" к командной строке ядра. Теперь все это хорошо работает (за исключением того, что по некоторой странной причине мой Logitech Zone Touch Mouse не работает).

4
27.01.2020, 19:38
  • 1
    Они никогда не то же. Даже различие всего нескольких недель в производственных датах могло означать новый источник для общего компонента материнской платы и/или superio пересмотра. Производство печатных плат является теневым низом живота вычислений. –  mikeserv 16.06.2014, 07:36

У меня есть такой же FX8350, работающий на гигабайте 990FXA-UD3 с использованием OpenSuse 13.1. Решение, которое работало для меня, заключалось в редактировании загрузчика с помощью YAST, выбор по умолчанию (или выбор, который вы используете для загрузки OpenSuse 13.1 в моём случае), "iommu=pt" после "quiet showopts".

Например:

"resume=/dev/disk/by-id/ata-Hitachi_HDS721010CLA332_JP2921HQ1076NA-part2 splash=silent quiet showopts iommu=pt"

Теперь все мои USB-порты 2.0 и 3.0 работают, и моя сеть интернет тоже работает! Также убедитесь, что IOMMU включен в BIOS.

2
27.01.2020, 19:38

Я только что узнал с моим GA-990FXA-UD7, что и для контроллеров USB 2.0 и USB 3.0, и для встроенного Ethernet-контроллера правильно работать в Linux (я использую Mint 17. 1) в BIOS потребовались следующие настройки:

  • xHCI handoff - Enabled
  • EHCI handoff - Enabled
  • IOMMU controller - Enabled

Не забудьте отключить UEFI и поменять все опции загрузки на "Legacy Only".

Если вам действительно нужно загрузиться с жесткого диска емкостью >2.2 ТБ, у вас может возникнуть другая проблема.

Я использую SSD 256GB для загрузочного диска и пару жестких дисков емкостью 3 ТБ в массиве RAID 1 (зеркальный), используя mdadm для моего /home, и все работает хорошо.

Работая с платами Gigabyte довольно много, я знаю, что 990FXA-UD5 и 990FXA-UD3 имеют очень похожий BIOS, так что, скорее всего, то же самое будет и с этими платами.

5
27.01.2020, 19:38

Эти шаги сработали для меня с GIGABYTE 970A-DS3P и AMD-FX-8320 под управлением Ubuntu 15.04

  • Передача обслуживания xHCI - Включено
  • Передача обслуживания EHCI - Включено
  • Контроллер IOMMU - Включено
  • UEFI - Выключено
  • Все параметры загрузки - только устаревшие
2
27.01.2020, 19:38

Вчера у меня возникла эта проблема при установке Ubuntu на мою материнскую плату ASUSTek M5A99X. Моей целью было переустановить Ubuntu с USB-накопителя в режиме UEFI, чтобы исправить обнаружение IOMMU ОС (моя система была установлена ​​в режиме «Legacy BIOS», я подумал, что это могло быть причиной).

Раньше я пробовал это, устанавливая Ubuntu с USB-накопителя.Хорошо с Legacy, UEFI всегда был проблемой - либо моя клавиатура / мышь / Wi-Fi не работали должным образом (только питание) при входе в установщик, либо установщик не мог загрузить пользовательский интерфейс с сообщениями в консоли:

  • (…) дескриптор устройства прочитан / 64, ошибка -32 (для каждого USB-устройства)
  • (…) невозможно найти живой носитель, содержащий живую файловую систему (после 5-6 минут чтения с флешки). У этой ошибки есть обходной путь, заключающийся в изменении типа USB-накопителя на «Force Hard Disk», но система загрузки вызвала другие проблемы позже после установки.

Я думал, что проблемы из-за «Unetbootin» или «Startup Disk Creator» - это не так. Потратил более 2 часов на пробу всех настроек в BIOS (у меня нет настроек IOMMU Controller или xHCI Handoff ), но помогло только одно - обновление BIOS до последней версии с файлом ПЗУ, загруженным с веб-сайта Asus для моей модели материнской платы. Это просто, как разархивировать и скопировать файл ROM на USB-накопитель и использовать «EZ Flash utility» (в BIOS) для прошивки прошивки.

Это исправило все мои ошибки; Мне удалось установить и использовать Ubuntu в режиме UEFI. Более того, теперь Ubuntu волшебным образом без проблем обнаруживает IOMMU. Это означает, что мои проблемы были вызваны ошибками прошивки BIOS, связанными с поддержкой USB 2.0 / 3.0 и поддержкой IOMMU. (если вам не нужен IOMMU, вы должны отключить его в разделе «Дополнительно», потому что это не обычное дело).

1
27.01.2020, 19:38

Теги

Похожие вопросы