Автор Тема: P9, Контроллер PCI-E VIA VL805 4xUSB3.0 не работает  (Прочитано 15233 раз)

Оффлайн kiav

  • Завсегдатай
  • *
  • Сообщений: 527
  • Стич-спасатель
    • Email
$ uname -a
Linux main.localdomain 5.4.55-std-def-alt1 #1 SMP Fri Jul 31 23:17:53 UTC 2020 x86_64 GNU/Linux

$ lspci | fgrep USB
01:00.0 USB controller: Advanced Micro Devices, Inc. [AMD] 300 Series Chipset USB 3.1 xHCI Controller (rev 02)
08:00.0 USB controller: VIA Technologies, Inc. VL805 USB 3.0 Host Controller (rev 01)
09:00.2 USB controller: NVIDIA Corporation TU106 USB 3.1 Host Controller (rev a1)
09:00.3 Serial bus controller [0c80]: NVIDIA Corporation TU106 USB Type-C UCSI Controller (rev a1)

При загрузке системы на устройстве 08:00.0 было два контроллера (не знаю почему так):
авг 09 16:57:05 main.localdomain kernel: xhci_hcd 0000:08:00.0: xHCI Host Controller
авг 09 16:57:05 main.localdomain kernel: xhci_hcd 0000:08:00.0: new USB bus registered, assigned bus number 3
авг 09 16:57:05 main.localdomain kernel: xhci_hcd 0000:08:00.0: hcc params 0x002841eb hci version 0x100 quirks 0x0000000000000090
авг 09 16:57:05 main.localdomain kernel: hub 3-0:1.0: USB hub found
авг 09 16:57:05 main.localdomain kernel: hub 3-0:1.0: 1 port detected
авг 09 16:57:05 main.localdomain kernel: xhci_hcd 0000:08:00.0: xHCI Host Controller
авг 09 16:57:05 main.localdomain kernel: xhci_hcd 0000:08:00.0: new USB bus registered, assigned bus number 4
авг 09 16:57:05 main.localdomain kernel: xhci_hcd 0000:08:00.0: Host supports USB 3.0 SuperSpeed
авг 09 16:57:05 main.localdomain kernel: usb usb4: We don't know the algorithms for LPM for this host, disabling LPM.
авг 09 16:57:05 main.localdomain kernel: hub 4-0:1.0: USB hub found
авг 09 16:57:05 main.localdomain kernel: hub 4-0:1.0: 4 ports detected

Вставляю рабочую флешку в порт и получаю среди прочих ошибку:
xhci_hcd 0000:08:00.0: AMD-Vi: Event logged [IO_PAGE_FAULT domain=0x000d address=0xd4afb000 flags=0x0000]
Спойлер
авг 09 17:41:22 main.localdomain kernel: usb 3-1.1: new high-speed USB device number 3 using xhci_hcd
авг 09 17:41:22 main.localdomain mtp-probe[9427]: checking bus 3, device 3: "/sys/devices/pci0000:00/0000:00:01.3/0000:01:00.2/0000:02:07.0/0000:08:00.0/usb3/3-1/3-1.1"
авг 09 17:41:22 main.localdomain mtp-probe[9427]: bus: 3, device: 3 was not an MTP device
авг 09 17:41:22 main.localdomain kernel: usb-storage 3-1.1:1.0: USB Mass Storage device detected
авг 09 17:41:22 main.localdomain kernel: scsi host11: usb-storage 3-1.1:1.0
авг 09 17:41:22 main.localdomain kernel: usbcore: registered new interface driver usb-storage
авг 09 17:41:22 main.localdomain kernel: usbcore: registered new interface driver uas
авг 09 17:41:22 main.localdomain mtp-probe[9448]: checking bus 3, device 3: "/sys/devices/pci0000:00/0000:00:01.3/0000:01:00.2/0000:02:07.0/0000:08:00.0/usb3/3-1/3-1.1"
авг 09 17:41:22 main.localdomain mtp-probe[9448]: bus: 3, device: 3 was not an MTP device
авг 09 17:41:23 main.localdomain kernel: scsi 11:0:0:0: Direct-Access     ADATA    USB Flash Drive  1100 PQ: 0 ANSI: 4
авг 09 17:41:23 main.localdomain kernel: sd 11:0:0:0: [sde] 60620800 512-byte logical blocks: (31.0 GB/28.9 GiB)
авг 09 17:41:23 main.localdomain kernel: sd 11:0:0:0: [sde] Write Protect is off
авг 09 17:41:23 main.localdomain kernel: sd 11:0:0:0: [sde] Mode Sense: 43 00 00 00
авг 09 17:41:23 main.localdomain kernel: sd 11:0:0:0: [sde] No Caching mode page found
авг 09 17:41:23 main.localdomain kernel: sd 11:0:0:0: [sde] Assuming drive cache: write through
авг 09 17:41:23 main.localdomain kernel:  sde: sde1
авг 09 17:41:23 main.localdomain kernel: sd 11:0:0:0: [sde] Attached SCSI removable disk
авг 09 17:41:23 main.localdomain kernel: xhci_hcd 0000:08:00.0: AMD-Vi: Event logged [IO_PAGE_FAULT domain=0x000d address=0xd4afb000 flags=0x0000]
авг 09 17:41:54 main.localdomain kernel: usb 3-1-port1: cannot reset (err = -110)
авг 09 17:41:55 main.localdomain kernel: usb 3-1-port1: cannot reset (err = -110)
авг 09 17:41:56 main.localdomain kernel: usb 3-1-port1: cannot reset (err = -110)
авг 09 17:41:57 main.localdomain kernel: usb 3-1-port1: cannot reset (err = -110)
авг 09 17:41:58 main.localdomain kernel: usb 3-1-port1: cannot reset (err = -110)
авг 09 17:41:58 main.localdomain kernel: usb 3-1-port1: Cannot enable. Maybe the USB cable is bad?
авг 09 17:41:59 main.localdomain kernel: usb 3-1-port1: cannot disable (err = -110)
авг 09 17:42:00 main.localdomain kernel: usb 3-1-port1: cannot reset (err = -110)
авг 09 17:42:01 main.localdomain kernel: usb 3-1-port1: cannot reset (err = -110)
авг 09 17:42:02 main.localdomain kernel: usb 3-1-port1: cannot reset (err = -110)
авг 09 17:42:03 main.localdomain kernel: usb 3-1-port1: cannot reset (err = -110)
авг 09 17:42:04 main.localdomain kernel: usb 3-1-port1: cannot reset (err = -110)
авг 09 17:42:04 main.localdomain kernel: usb 3-1-port1: Cannot enable. Maybe the USB cable is bad?
авг 09 17:42:05 main.localdomain kernel: usb 3-1-port1: cannot disable (err = -110)
авг 09 17:42:06 main.localdomain kernel: usb 3-1-port1: cannot reset (err = -110)
авг 09 17:42:07 main.localdomain kernel: usb 3-1-port1: cannot reset (err = -110)
авг 09 17:42:09 main.localdomain kernel: usb 3-1-port1: cannot reset (err = -110)
авг 09 17:42:10 main.localdomain kernel: usb 3-1-port1: cannot reset (err = -110)
авг 09 17:42:11 main.localdomain kernel: usb 3-1-port1: cannot reset (err = -110)
авг 09 17:42:11 main.localdomain kernel: usb 3-1-port1: Cannot enable. Maybe the USB cable is bad?
авг 09 17:42:12 main.localdomain kernel: usb 3-1-port1: cannot disable (err = -110)
авг 09 17:42:13 main.localdomain kernel: usb 3-1-port1: cannot reset (err = -110)
авг 09 17:42:14 main.localdomain kernel: usb 3-1-port1: cannot reset (err = -110)
авг 09 17:42:15 main.localdomain kernel: usb 3-1-port1: cannot reset (err = -110)
авг 09 17:42:16 main.localdomain kernel: usb 3-1-port1: cannot reset (err = -110)
авг 09 17:42:17 main.localdomain kernel: usb 3-1-port1: cannot reset (err = -110)
авг 09 17:42:17 main.localdomain kernel: usb 3-1-port1: Cannot enable. Maybe the USB cable is bad?
авг 09 17:42:18 main.localdomain kernel: usb 3-1-port1: cannot disable (err = -110)
авг 09 17:42:19 main.localdomain kernel: usb 3-1-port1: cannot disable (err = -110)
авг 09 17:42:19 main.localdomain kernel: sd 11:0:0:0: [sde] tag#0 FAILED Result: hostbyte=DID_TIME_OUT driverbyte=DRIVER_OK
авг 09 17:42:19 main.localdomain kernel: sd 11:0:0:0: [sde] tag#0 CDB: Read(10) 28 00 03 9c ff fd 00 00 01 00
авг 09 17:42:19 main.localdomain kernel: blk_update_request: I/O error, dev sde, sector 60620797 op 0x0:(READ) flags 0x80700 phys_seg 1 prio class 0
авг 09 17:42:19 main.localdomain kernel: sd 11:0:0:0: [sde] tag#0 FAILED Result: hostbyte=DID_ERROR driverbyte=DRIVER_OK
авг 09 17:42:19 main.localdomain kernel: sd 11:0:0:0: [sde] tag#0 CDB: Read(10) 28 00 03 9c ff f8 00 00 01 00
авг 09 17:42:19 main.localdomain kernel: blk_update_request: I/O error, dev sde, sector 60620792 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0
авг 09 17:42:19 main.localdomain kernel: Buffer I/O error on dev sde1, logical block 7577343, async page read
авг 09 17:42:24 main.localdomain kernel: hub 3-1:1.0: hub_ext_port_status failed (err = -110)

Флешка после этих опытов жива.

Я уже поискал в сети:

Первый переключился на iommu=soft (но у меня VirtualBox ..). Опыты у другого товарища с iommu успехом не закончились.

Оффлайн kiav

  • Завсегдатай
  • *
  • Сообщений: 527
  • Стич-спасатель
    • Email
Да, если использовать программный iommu, то контроллер работает. Флешка доступна, мышка тоже работает. С дорогой клавиатурой пока повременю (но сомнений нет, тоже все будет в порядке).

VirtualBox тоже работает. Но мне кажется, что чуть-чуть помедленнее.

Видел, что это проблема решается заменой драйвера. Существует ли нормальный драйвер для VL805?

Оффлайн kiav

  • Завсегдатай
  • *
  • Сообщений: 527
  • Стич-спасатель
    • Email
Проверил на свежем un-def (5.7.13-un-def-alt1). Проблема таже.

Все, что мог сделать сам, я сделал. Тут варианта 2:
  • Переходить на программный iommu.
  • Искать драйвер VL805 поддерживающий аппаратный iommu от AMD (на прошлом ПК с Intel болячки я не припомню)

# lspci
00:00.2 IOMMU: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) I/O Memory Management Unit

Хотя, есть третий вариант - контроллер USB на другом наборе микросхем. Но я такого не знаю.

Оффлайн Александр Ерещенко

  • Завсегдатай
  • *
  • Сообщений: 1 153
Я когда себе на старенький комп подбирал контроллер PCI-E USB 3.0, то от VIA стразу отказался - отзывы по работе под линукс были не очень - у одних вроде нормально, но много случаев со странными непонятками.
Взял в итоге такой:
# lspci -v -s 03:00.0
03:00.0 USB controller: Renesas Technology Corp. uPD720202 USB 3.0 Host Controller (rev 02) (prog-if 30 [XHCI])
        Flags: bus master, fast devsel, latency 0, IRQ 19, NUMA node 0
        Memory at feafe000 (64-bit, non-prefetchable) [size=8K]
        Capabilities: [50] Power Management version 3
        Capabilities: [70] MSI: Enable- Count=1/8 Maskable- 64bit+
        Capabilities: [90] MSI-X: Enable+ Count=8 Masked-
        Capabilities: [a0] Express Endpoint, MSI 00
        Capabilities: [100] Advanced Error Reporting
        Capabilities: [150] Latency Tolerance Reporting
        Kernel driver in use: xhci_hcd
Каких-либо проблем пока не заметил

Оффлайн kiav

  • Завсегдатай
  • *
  • Сообщений: 527
  • Стич-спасатель
    • Email
Каких-либо проблем пока не заметил
IOMMU у Вас от AMD?

Оффлайн Александр Ерещенко

  • Завсегдатай
  • *
  • Сообщений: 1 153
Каких-либо проблем пока не заметил
IOMMU у Вас от AMD?
Процессор Athlon II X4 630,
Чипсет Nvidia MCP78S
# dmesg | grep IOMMU
[    0.235822] AGP: Please enable the IOMMU option in the BIOS setup
[    0.804327] PCI-DMA: using GART IOMMU.
[    0.804328] PCI-DMA: Reserving 64MB of IOMMU area in the AGP aperture
В BIOS настройки на тему IOMMU отсутствуют

Оффлайн kiav

  • Завсегдатай
  • *
  • Сообщений: 527
  • Стич-спасатель
    • Email
Контроллер IOMMU виден в lspci (не в логе).
В BIOS у меня тоже таких настроек нет. Сомневаюсь, что они вообще бывают в явном виде.

Оффлайн yaleks

  • Мастер
  • ***
  • Сообщений: 6 222
IOMMU не всегда так называется в BIOS, возможны другие варианты.

Оффлайн Александр Ерещенко

  • Завсегдатай
  • *
  • Сообщений: 1 153
Контроллер IOMMU виден в lspci (не в логе).
В BIOS у меня тоже таких настроек нет. Сомневаюсь, что они вообще бывают в явном виде.
lspci я глянул первым делом - ничего там нет. Так что единственно, где iommu упоминался - в dmesg
00:00.0 RAM memory: NVIDIA Corporation MCP78S [GeForce 8200] Memory Controller (rev a2)
00:01.0 ISA bridge: NVIDIA Corporation MCP78S [GeForce 8200] LPC Bridge (rev a2)
00:01.1 SMBus: NVIDIA Corporation MCP78S [GeForce 8200] SMBus (rev a1)
00:01.2 RAM memory: NVIDIA Corporation MCP78S [GeForce 8200] Memory Controller (rev a1)
00:01.3 Co-processor: NVIDIA Corporation MCP78S [GeForce 8200] Co-Processor (rev a2)
00:01.4 RAM memory: NVIDIA Corporation MCP78S [GeForce 8200] Memory Controller (rev a1)
00:02.0 USB controller: NVIDIA Corporation MCP78S [GeForce 8200] OHCI USB 1.1 Controller (rev a1)
00:02.1 USB controller: NVIDIA Corporation MCP78S [GeForce 8200] EHCI USB 2.0 Controller (rev a1)
00:04.0 USB controller: NVIDIA Corporation MCP78S [GeForce 8200] OHCI USB 1.1 Controller (rev a1)
00:04.1 USB controller: NVIDIA Corporation MCP78S [GeForce 8200] EHCI USB 2.0 Controller (rev a1)
00:06.0 IDE interface: NVIDIA Corporation MCP78S [GeForce 8200] IDE (rev a1)
00:07.0 Audio device: NVIDIA Corporation MCP72XE/MCP72P/MCP78U/MCP78S High Definition Audio (rev a1)
00:08.0 PCI bridge: NVIDIA Corporation MCP78S [GeForce 8200] PCI Bridge (rev a1)
00:09.0 SATA controller: NVIDIA Corporation MCP78S [GeForce 8200] AHCI Controller (rev a2)
00:10.0 PCI bridge: NVIDIA Corporation MCP78S [GeForce 8200] PCI Express Bridge (rev a1)
00:12.0 PCI bridge: NVIDIA Corporation MCP78S [GeForce 8200] PCI Express Bridge (rev a1)
00:13.0 PCI bridge: NVIDIA Corporation MCP78S [GeForce 8200] PCI Bridge (rev a1)
00:14.0 PCI bridge: NVIDIA Corporation MCP78S [GeForce 8200] PCI Bridge (rev a1)
00:18.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 10h Processor HyperTransport Configuration
00:18.1 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 10h Processor Address Map
00:18.2 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 10h Processor DRAM Controller
00:18.3 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 10h Processor Miscellaneous Control
00:18.4 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 10h Processor Link Control
02:00.0 VGA compatible controller: NVIDIA Corporation GT215 [GeForce GT 240] (rev a2)
02:00.1 Audio device: NVIDIA Corporation High Definition Audio Controller (rev a1)
03:00.0 USB controller: Renesas Technology Corp. uPD720202 USB 3.0 Host Controller (rev 02)
05:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 02)

Оффлайн kiav

  • Завсегдатай
  • *
  • Сообщений: 527
  • Стич-спасатель
    • Email
Так что единственно, где iommu упоминался - в dmesg
Видимо, он у Вас программный. С таким и на VL805 проблем нет.