Linux.org.ua

Технічні питання => Апаратні засоби => Гілку створено: ukrkyi від 2016-04-17 00:09:34

Тема: Працює лиш один USB порт
Автор: ukrkyi від 2016-04-17 00:09:34
Добридень панове, в мене тут зʼявилася проблемка.

На ноуті при відключенні зовнішнього живлення лишається робочим лише один USB-порт.
При підʼєднанні будь-якого пристрою до інших портів нічого не відбувається.
В сенсі зовсім нічого, в dmesg нічого нема, lsusb нічого не виявляє.
Я підозрюю, що це TLP грається, повністю знеструмлюючи хаб, але жодних документальних підтверджень не маю :-/

Реально на компі два usb3.0 і два usb2.0.
Пристрої такі:
ukrkyi@linux-xwol:~> lsusb -t
/:  Bus 04.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/2p, 480M
    |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/6p, 480M
/:  Bus 03.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/2p, 480M
    |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/6p, 480M
        |__ Port 3: Dev 3, If 0, Class=Video, Driver=uvcvideo, 480M
        |__ Port 3: Dev 3, If 1, Class=Video, Driver=uvcvideo, 480M
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 5000M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 480M
Де:
- Bus 01 - Один з портів usb2.0, окрім того, в ньому зʼявляються пристрої usb2, зʼєднані з портом usb3
- Bus 02 - Два порти usb3.0, при підʼєднанні пристрою usb2 - він зʼявляється в Bus 01
- Bus 03 - нормально працюючий порт, один з usb2.0, до нього, як видно, також підʼєднана камера( :-? )
- Bus 04 - ніколи не активується, не знаю що це, взагалі

Супутня проблема — зовнішні жорсткі диски usb3 нормально power-off`ляться лише при зʼєднанні з одним із usb2, інакше перезапускаються.

Питання такі:
- Чому при роботі від акумулятора працює лиш один порт? Це можна якось відлагодити?
- Що за чортівня з Bus1 & Bus2, коли всі usb2 пристрої, встромлені в bus 2, зʼявляються в bus 1?
- Чому usb3-диски нормально працюють лише на bus1&bus3? Я розумію так: якщо це повʼязане із різною конфіґурацією bus, то виходить, що bus1&bus2 - різні пристрої, тоді див. минуле питання, якщо із драйверами — то і там і там xhci, якщо з версією порта — тоді, знову ж таки, минуле питання.

Все разом написав, бо думаю, що це якось взаємоповʼязане. Якщо не повʼязане, тоді головне питання — те що в темі.
Тема: Re: Працює лиш один USB порт
Автор: prapor від 2016-04-17 20:20:49
Дуже часто це викликано реалізацією на апаратному рівні. Тобто, USB2.0 реалізовано системною логікою (південний міст)а USB3 — сторонній набір мікросхем.
Маю таку підозру, що це десь помилка у політиках контролю живлення. Спробуйте, для експерименту запустити powertop, та погратись там з autosuspend`ом для USB.
Тема: Re: Працює лиш один USB порт
Автор: ukrkyi від 2016-04-18 00:27:27
Ага, при вимкненні autosuspend все працює нормально.
То треба його назавжди вимкнути? Але ж не хочеться якось збільшувати енергоспоживання :-/
Тим більше, що для одного порту норм усе suspendиться…

Тож лишається актуальним питання по решті портів: чому один usb2.0 керується xhci? звідки в ньому зʼявляються пристрої, підʼєднані до портів 3.0?
Тема: Re: Працює лиш один USB порт
Автор: prapor від 2016-04-18 08:21:21
Є підозра, що то режим оберненої сумісності. Тобто порт насправді USB3, але показує USB2, бо пристрій вміє лише USB2. Чи ще якесь обмеження спрацьовує.
Ну а по autosuspend`у — пишіть багрепорт у свій дистрибутив.
Тема: Re: Працює лиш один USB порт
Автор: ukrkyi від 2016-04-18 09:47:24
Ага, напишу багрепорт, подивимось… :)

А з тими портами дивіться яка штука.
Є два Bus - 01 & 02.
Обидва керуються xhci.
Bus 02 - 5000M
Bus 01 - 480M
Три реальних порти — два поруч, на них написано "SS", і один окремо.
При підʼєднанні будь-якого пристрою до порту 3 він показується в bus 1.
При підʼєднанні пристрою usb3 до портів 1..2 він зʼявляється в bus 2.
Це було б нормально, але:
При підʼєднанні пристрою usb2 до портів 1..2 він зʼявляється в bus1!!!
Якщо, як ви кажете, усі три порти usb3, а різні bus існують лише для сумісності, тоді пристрої usb3, підʼєднані до порта 3, мали б працювати як usb3! А вони працюють як usb2.
Є якась можливість подивитися, що там фізично?
Бо ноут ще на гарантії, тож не хочеться розкручувати…
Off-topic:
Форматування тексту в мене вже як у Озі стає… :-X
Тема: Re: Працює лиш один USB порт
Автор: prapor від 2016-04-18 10:56:30
Хіба що знайдете datasheet або service manual на свій лептоп. До речі, це буде навіть краще ніж дивитись очіма не маючи добрячого досвіду. Я он не дуже полюбляю лазити у середину заліза, бо то не моя частина роботи.
Тема: Re: Працює лиш один USB порт
Автор: ukrkyi від 2016-04-18 13:23:38
Знайшов. Там: фізично два порти usb3 і два порти usb2 - окремі конектори, кожен на два порти.
Тоді ЧОМУ кожен порт usb2 хендлиться різним bus та ще й різним драйвером?
ЯК пристрої перескакують з одного конектора на інший??
Тема: Re: Працює лиш один USB порт
Автор: prapor від 2016-04-18 19:21:51
Bus 03, судячи з того що я бачу — то внутрішня шина, нікуди не виведена, на неї підвішено вебкамеру. Тобто з USB2.0 все ОК, там як раз хаб на два порти + один хаб на для вебкамери та іншого внутрішнього заліза. Що помітив, у мене 4 USB3.0 на десктопі, lsusb показує 2 xhci хаби. А от lsusb -t — вже чотири.
Й судячи з того, що я бачу, підтримка USB2.0 реалізована як «додаткова шина», всередині USB3.0. Бо 5000М та 480М — то як раз стандартні швидкості у мегабітах для USB3.0 та USB2.0 відповідно. Тобто, я чомусь впевнений що Bus01 та Bus02 — один й той саме фізичний пристрій.
Тема: Re: Працює лиш один USB порт
Автор: ukrkyi від 2016-04-18 19:27:09
Bus01 та Bus02 — один й той саме фізичний пристрій.
От я теж так думав…

Але тоді від чого може залежати power-off зовнішніх дисків?
Адже він нормально відбувається, коли диск підʼєднаний до будь-яких usb2 портів(включно з bus 01, який керується xhci), але не відбувається на usb3 (коли пристрій показується в bus 02)