GNU/Linux >> Belajar Linux >  >> Linux

Linux – Mengapa Usb Tidak Berfungsi Di Linux Saat Berfungsi Di UEFA/bios?

Sebagai latar belakang, saya baru saja membuat mesin baru dengan perangkat keras modern termasuk:

  • AMD FX-8350
  • Motherboard Gigabyte GA-990FXA-UD3
  • RAM 16GB
  • NVidia GTX 650 Ti
  • Kingston SSD

Karena itu, saya mencoba menginstal berbagai versi Linux pada SSD dan hampir setiap saat gagal. Saya mencoba menginstal Arch, Debian stable, Debian sid, dan Ubuntu 12.10 dari USB thumb drive tetapi ketika BIOS melihat drive USB dan mulai mem-boot darinya, segera setelah OS mencoba menghitung perangkat USB saya kehilangan semua fungsi USB (termasuk perangkat boot).

Akhirnya saya membakar DVD dan menginstal Ubuntu 12.10 ke SSD. Perlu dicatat bahwa keyboard (dan mouse) USB saya berfungsi dengan baik saat berada di American Megatrends UEFI/BIOS. Bahkan ketika saya berada di menu pra-instalasi pada DVD Live Ubuntu, keyboard berfungsi dengan baik.

Segera setelah Linux di-boot (baik Live DVD atau dari SSD), saya kehilangan semua fungsi USB dan hanya dapat menavigasi OS menggunakan keyboard PS/2.

Apa yang saya lihat di dmesg/syslog adalah beberapa baris tentang “failed to load microcode amd_ucode/microcode_amd_fam15h.bin ” dan saya dapat melihat perangkat USB gagal diinisialisasi.

Jika saya melakukan lsusb Saya dapat melihat semua pengontrol host USB tetapi tidak ada perangkat. Melakukan lspci menunjukkan semua perangkat keras yang saya harapkan. Dan melakukan lsmod Saya tidak melihat modul usb dimuat (usb_ehci misalnya).

Saya mencoba melewati noapic ke string boot kernel dan itu tidak berpengaruh pada masalah ini.

Motherboard mendukung USB 3.0 tetapi semua perangkat yang saya colokkan ke port USB 2.0 normal.

Saya agak bingung dengan apa yang bisa mematikan/mencegah USB (dan kartu jaringan terpasang saya) bekerja di Linux . Sepertinya tidak ada masalah dengan perangkat ini yang bekerja di BIOS dan saya tidak memiliki instalasi Windows yang tersedia untuk menguji dan melihat apakah itu berfungsi.

Saya sudah RMA motherboard sekali tetapi yang kedua memiliki perilaku yang persis sama jadi saya pikir saya dapat dengan aman mengesampingkan kegagalan perangkat keras (karena perilakunya identik, saya tidak berpikir aneh saya mendapatkan dua papan yang rusak identik lebih besar dari kemungkinan ini menjadi masalah Linux).

Apa lagi yang bisa saya coba agar USB (dan idealnya jaringan saya, tetapi kami akan tetap menggunakan USB untuk saat ini) berfungsi?

Edit #1:

Karena saya tidak memiliki jaringan, saya hanya dapat menghubungkan bagian-bagian menarik dari dmesg di sini.

Yang menarik di dmesg Saya dapat melihat bahwa saya memiliki 11 pengontrol host USB (OHCI, EHCI, dan xHCI). Ini mendeteksi perangkat USB saya dan kemudian langsung gagal sebagai berikut:

usb 3-1: new high-speed USB device number 2 using ehci_hcd
usb 3-1: device descriptor read/64, error -32

Itu berulang beberapa kali dengan menambah nomor dan mencoba pengontrol Host USB lainnya hingga jatuh kembali ke pengontrol OHCI yang juga gagal tetapi memiliki pesan tambahan:

Terkait:Linux – Kapan Anda akan menggunakan pivot_root daripada switch_root?

usb 8-1: device not accepting address 4, error -32

Saya pikir masalah jaringan saya ada hubungannya dengan fakta bahwa saya tidak mengaktifkan IPv6 di router saya dan itu tampaknya menjadi masalah

eth1: no IPv6 routers present

Edit #2:

lspci -vvv menunjukkan bahwa adaptor jaringan saya (baik onboard dan ekspansi) adalah Realtek Semiconductor (tidak mengherankan); RTL8111/8168B dan RTL8169/8110 masing-masing. Kontroler USB saya adalah Etron Technology EJ168 (xHCI) dan AMD nee ATI SB7x0/SB8x0/SB9x0 (EHCI &OHCI)

Sekarang jalankan Debian wheezy modprobe menunjukkan usb_common , usbcore , xhci_hcd , ehci_hcd , dan ohci_hcd semua dimuat dan berfungsi.

Jawaban yang Diterima:

Saya menemukan jawaban dari utas ini (http://ubuntuforums.org/showthread.php?t=2114055) di ubuntuforums.org.

Tampaknya dengan mainboard Gigabyte yang lebih baru (setidaknya) ada opsi BIOS yang disebut IOMMU Controller yang dinonaktifkan secara default dan tidak memberikan petunjuk atau indikasi untuk apa itu.

Mengaktifkan pengaturan ini dan mem-boot ulang “secara ajaib” akan memulihkan semua masalah USB dan jaringan saya di OS Linux 64-bit (tidak masalah yang mana).

Saya agak terkejut dan gembira karena ini adalah pencarian yang begitu lama untuk perbaikan yang begitu sederhana.

Terima kasih semuanya atas bantuan dan saran Anda. Semoga orang lain akan menemukan ini bermanfaat.

Pembaruan: Saya hanya ingin menambahkan bahwa pengaturan BIOS saya saat ini juga termasuk mengaktifkan XHCI Handoff dan EHCI Handoff selain IOMMU Controller. Orang lain juga telah menyebutkan hal ini dan mengaktifkan kedua handoff tersebut juga memungkinkan port USB 3.0 saya berfungsi seperti yang diharapkan.


Linux
  1. fflush() tidak berfungsi di Linux

  2. linux limit.conf tidak berfungsi?

  3. Perintah Linux 'akan' tidak berfungsi

  1. mengapa sftp rmdir tidak berfungsi?

  2. Perintah tanggal Linux tidak berfungsi

  3. Mengapa USB tidak berfungsi di Linux saat berfungsi di UEFI/BIOS?

  1. Linux – Kapan Saya Tidak Harus Membunuh -9 Proses?

  2. Linux – Mengapa Setuid Tidak Bekerja??

  3. caps lock led tidak berfungsi di konsol Linux