LINUX.ORG.RU

обозначения USB

 


0

1

Доброй ночи,

Просветите пожалуйста по поводу значков USB. Ну и вообще. А именно у меня в старом лаптопе три входа USB. Рядом друг с другом находятся, как-то так (mspaint madskillz)

Причем значок рядом с «левым» разъемом очень маленький, поэтому трудно сказать на самом деле это https://www.sony.kz/image/4df8f52001533a1b2e8326393390e486?fmt=png-alpha&wid=400 или может что-то вроде https://image.flaticon.com/icons/png/512/16/16891.png. Но скорее всего то первое, если судить по https://andiriney.ru/wp-content/gallery/interfaces/USB-Type-C-1.jpg, т.е. просто значок, что это мол USB? А почему он тогда только у одного входа? Рядом с остальными двумя входами такого обозначения нету. Я думал, это, мол, может какое-нибудь PoweredUSB? Или он один на все три разъема? Они рядом.

Ну и в общем я туда (в тот самый «левый» разъем) по-началу usb hub воткнул на 4 входа и в 3 из них воткнул usb bluetooth adapter, клавиатуру и мышь. И я заметил такую вещь: когда открыто много окон firefox, при этом включен Tree Style Tab и Tab Selection Manager, то при активном переключении между окнами и вкладками в них звук начинает «заикаться», как бы не успевает и появляются «sloppy» 1-несколько секунды пока какая-нибудь нагруженная скриптами и картинками страница не загрузится. Тогда я вынул usb bluetooth adapter из хаба и вставил его в третий (тот, что на рисунке справа) свободный разъем (картинки обозначения usb рядом с ней нету). Так или иначе теперь мухи (открываемые сайты) и котлеты (всякий фриджаз с элементами трип-хоп-метала) не мешают друг другу и музыка звучит «без перерывов». Но закладывается гаденькая мысль, что это пока не мешают.

Я попытался при помощи usbview и им подобных проверить, что там собственно происходит. Но я практически ничего не понял:

Не понял я, конкретно, следующего:

  1. Ну, собственно, действительно ли помогло умещение usb bluetooth адаптера в отдельном «собственном» разъеме (или даже хабе), т.е. такой setup значительно уменьшает количество «затинок» звука?
  2. Важно ли то, что я воткнул usb hub в разъем с рисунком, а usb bluetooth в разъем без или это рисунок «один на все три раъема»?
  3. У меня всего 3 разъема USB и как видно EHCI Host Controller’ы (которые usb 2.0 как бы не используются (а остальные UHCI Host Controller’ы умеют usb 1.10)
  4. Таки есть какая-то разница между разъемом, рядом с рисунком и остальными или нету?
  5. Куда бы я не втыкал хаб и адаптер в usbview, я вижу примерно похожую картину. А кстати! Интересно что будет, если я еще одну ерунду воткну (например мышь из хаба в средний вход).. А если usb bluetooth в средний ход. В общем выходят разные комбинации:

И в общем это рисует такую картину: https://raw.githubusercontent.com/xor512/trashbin/master/usb/usb_connectors_controllers.png

В общем что меня более всего интересует - это:

  1. Отличается ли разъем с рисунком или рисунок общий на все три разъема?
  2. Мне кажется, что перемещение usb bluetooth adapter’а на отдельный хаб уменьшило количество дефектов звука при загруженности CPU?
  3. Почему для EHCI Host Controller, который поддерживает USB2 нету разъема? Или это все виртуально и, мол, воткни я что-то USB3 и оно независимо от физического положения будет прикреплено к EHCI? Но ведь мой usb bluetooth adapter заявлен как USB 2.0!
  4. Что это за неиспользуемые EHCI/UHCI контроллеры вообще?

PS Вот еще пару аутпутов так на случай чего.

~ >>> lsusb 
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 006 Device 019: ID 093a:2510 Pixart Imaging, Inc. Optical Mouse
Bus 006 Device 018: ID 1a2c:2c27 China Resource Semico Co., Ltd 
Bus 006 Device 017: ID 058f:9254 Alcor Micro Corp. Hub
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 002: ID 0a12:0001 Cambridge Silicon Radio, Ltd Bluetooth Dongle (HCI mode)
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
~ >>> lspci | grep -i usb 
00:1a.0 USB controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #4 (rev 03)
00:1a.1 USB controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #5 (rev 03)
00:1a.7 USB controller: Intel Corporation 82801H (ICH8 Family) USB2 EHCI Controller #2 (rev 03)
00:1d.0 USB controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #1 (rev 03)
00:1d.1 USB controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #2 (rev 03)
00:1d.2 USB controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #3 (rev 03)
00:1d.7 USB controller: Intel Corporation 82801H (ICH8 Family) USB2 EHCI Controller #1 (rev 03)
~ >>> lsusb -v 2>&1 | grep -i bcdusb
  bcdUSB               2.00
  bcdUSB               1.10
  bcdUSB               2.00
  bcdUSB               1.10
  bcdUSB               1.10
  bcdUSB               1.10
  bcdUSB               2.00
  bcdUSB               1.10
  bcdUSB               2.00
  bcdUSB               1.10
  bcdUSB               1.10

заботишься ниачом. если тебя вообще это волнует, то тебя должно волновать только что у тебя старый хлам без xhci

anonymous ()
Ответ на: комментарий от dissident

не знаю, с кем ты меня спутал, но похоже тебе уже написали про то же самое. это должно наводить тебя на определённые мысли

anonymous ()

найс подрыв, продолжаю наблюдение

anonymous ()

Лучше смотреть в sysfs.

[root@aio ~]# cd /sys/bus/usb/devices/
[root@aio devices]# ls -al
total 0
drwxr-xr-x. 2 root root 0 Jul  6 06:48 .
drwxr-xr-x. 4 root root 0 Jul  6 06:48 ..
lrwxrwxrwx. 1 root root 0 Jul  5 19:42 1-0:1.0 -> ../../../devices/pci0000:00/0000:00:14.0/usb1/1-0:1.0
lrwxrwxrwx. 1 root root 0 Jul  5 19:42 1-1 -> ../../../devices/pci0000:00/0000:00:14.0/usb1/1-1
lrwxrwxrwx. 1 root root 0 Jul  5 19:42 1-10 -> ../../../devices/pci0000:00/0000:00:14.0/usb1/1-10
lrwxrwxrwx. 1 root root 0 Jul  5 19:42 1-10:1.0 -> ../../../devices/pci0000:00/0000:00:14.0/usb1/1-10/1-10:1.0
lrwxrwxrwx. 1 root root 0 Jul  5 19:42 1-10:1.1 -> ../../../devices/pci0000:00/0000:00:14.0/usb1/1-10/1-10:1.1
lrwxrwxrwx. 1 root root 0 Jul  5 19:42 1-1:1.0 -> ../../../devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1:1.0
lrwxrwxrwx. 1 root root 0 Jul  5 19:42 1-1:1.1 -> ../../../devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1:1.1
lrwxrwxrwx. 1 root root 0 Jul  5 19:42 1-1:1.2 -> ../../../devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1:1.2
lrwxrwxrwx. 1 root root 0 Jul  5 19:42 1-1:1.3 -> ../../../devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1:1.3
lrwxrwxrwx. 1 root root 0 Jul  5 19:42 1-2 -> ../../../devices/pci0000:00/0000:00:14.0/usb1/1-2
lrwxrwxrwx. 1 root root 0 Jul  5 19:42 1-2:1.0 -> ../../../devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2:1.0
lrwxrwxrwx. 1 root root 0 Jul  5 19:42 1-3 -> ../../../devices/pci0000:00/0000:00:14.0/usb1/1-3
lrwxrwxrwx. 1 root root 0 Jul  5 19:42 1-3:1.0 -> ../../../devices/pci0000:00/0000:00:14.0/usb1/1-3/1-3:1.0
lrwxrwxrwx. 1 root root 0 Jul  5 19:42 1-4 -> ../../../devices/pci0000:00/0000:00:14.0/usb1/1-4
lrwxrwxrwx. 1 root root 0 Jul  5 19:42 1-4:1.0 -> ../../../devices/pci0000:00/0000:00:14.0/usb1/1-4/1-4:1.0
lrwxrwxrwx. 1 root root 0 Jul  5 19:42 1-6 -> ../../../devices/pci0000:00/0000:00:14.0/usb1/1-6
lrwxrwxrwx. 1 root root 0 Jul  5 19:42 1-6:1.0 -> ../../../devices/pci0000:00/0000:00:14.0/usb1/1-6/1-6:1.0
lrwxrwxrwx. 1 root root 0 Jul  5 19:42 1-7 -> ../../../devices/pci0000:00/0000:00:14.0/usb1/1-7
lrwxrwxrwx. 1 root root 0 Jul  5 19:42 1-7:1.0 -> ../../../devices/pci0000:00/0000:00:14.0/usb1/1-7/1-7:1.0
lrwxrwxrwx. 1 root root 0 Jul  5 19:42 1-7:1.1 -> ../../../devices/pci0000:00/0000:00:14.0/usb1/1-7/1-7:1.1
lrwxrwxrwx. 1 root root 0 Jul  5 19:42 1-8 -> ../../../devices/pci0000:00/0000:00:14.0/usb1/1-8
lrwxrwxrwx. 1 root root 0 Jul  5 19:42 1-8:1.0 -> ../../../devices/pci0000:00/0000:00:14.0/usb1/1-8/1-8:1.0
lrwxrwxrwx. 1 root root 0 Jul  5 19:42 2-0:1.0 -> ../../../devices/pci0000:00/0000:00:14.0/usb2/2-0:1.0
lrwxrwxrwx. 1 root root 0 Jul  5 19:42 usb1 -> ../../../devices/pci0000:00/0000:00:14.0/usb1
lrwxrwxrwx. 1 root root 0 Jul  5 19:42 usb2 -> ../../../devices/pci0000:00/0000:00:14.0/usb2

Схема именования такая: usbN это корневые хабы, N-M это устройство на M-ном порту N-ного корневого хаба, N-M[.K] это устройство на K-том порту хаба, подключенного в M-ный порт N-ного корневого хаба. USB-устройства содержат USB-интерфейсы, их названия содержат :X.Y в конце – это номер конфигурации и номер интерфейса.

Вот у меня видно, что все устройства подключены в корневой хаб usb1 (у всех название 1-M). Промежуточных хабов нет (нет устройств с названием 1-M.K). По содержимому симлинков usb1 и usb2 видно, что оба корневых хаба расположены на одном PCI-устройстве 0000:00:14.0, это USB-контроллер:

[root@aio devices]# lspci -nn -s 0000:00:14.0
00:14.0 USB controller [0c03]: Intel Corporation Cannon Lake PCH USB 3.1 xHCI Host Controller [8086:a36d] (rev 10)

Скорость устройств:

[root@aio devices]# grep . */speed
1-10/speed:12
1-1/speed:12
1-2/speed:1.5
1-3/speed:1.5
1-4/speed:12
1-6/speed:480
1-7/speed:480
1-8/speed:480
usb1/speed:480
usb2/speed:10000

Значение имеет скорость хаба и согласованная скорость подключенного к нему устройства. Согласованная скорость устройства не может быть выше скорости хаба. На моей платформе контроллер сам решает, к какому корневому хабу подключить устройство (видимо, в зависимости от скорости устройства, у меня нет USB 3 устройств чтобы проверить).

У тебя два USB-контроллера с PCI-адресами 00:1a и 00:1d. На каждом один корневой хаб на 480 Mbps (USB 2.0) и несколько корневых хабов на 12 Mbps (USB 1.1). На шине PCI они выглядят как разные функции одного PCI-устройства, но это не важно. Причём корневые хабы 480 имеют имена usb1 и usb2, а корневые хабы 12 имеют имена usb3..7. Как сгруппированы хабы по контроллерам по выводу lsusb не видно, это видно только по выводу ls /sys/bus/usb/devices. Поэтому не понятно, usb5, к которому подключен bt-донгл, и usb6, к которому подключен хаб, находятся на одном USB-контроллере, или на разных.

iliyap ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.