- Хабы, адреса, хост-контроллеры
- USB 2.0 где ты?
- USB 2.0 где ты?
- USB 2.0 где ты?
- USB 2.0 где ты?
- USB 2.0 где ты?
- USB 2.0 где ты?
- USB 2.0 где ты?
- USB 2.0 где ты?
- USB 2.0 где ты?
- USB 2.0 где ты?
- USB 2.0 где ты?
- Как интерпретировать вывод lsusb — что это за корневые хабы Linux Foundation?
- Системное администрирование и мониторинг Linux/Windows серверов и видео CDN
- Статьи по настройке и администрированию Windows/Linux систем
- Включение/выключение питания USB устройств из консоли
- Сервис управления бесперебойным питанием в сети (NUT)
- Сервер NUT
- Настройка клиентов NUT
- Проверка системы
Хабы, адреса, хост-контроллеры
Кратко опишем аппаратуру хоста. На стороне хоста должен обязательно присутствовать, хотя бы один хост-контроллер и связанный с этим хост-контроллером корневой хаб. В современных PC имеется несколько хост-контроллеров и соответственно несколько корневых хабов. Основателем каждой шины USB является корневой хаб, поэтому, если на PC несколько корневых хабов, то и несколько шин. В Linux, имеющиеся шины USB, можно посмотреть с помощью команды lsusb. Ниже приведен дамп вывода на моем компьютере:
В колонке слева перенумерованы шины USB имеющиеся в компьютере, а значит и контроллеры хабов и корневые хабы. Каждое USB устройство на шине имеет уникальный адрес, диапазон адресов от 1 до 127. Нулевой адрес выполняет служебные функции и не может быть назначен USB устройству постоянно. Адреса распределяются по устройствам на шине хостом, в процессе энумерации, и сохраняются на все время работы устройства на шине. Из работы программы lsusb видно, что мышь USB подключена к шине 03 и на этой шине ей назначен адрес 02. Устройство хранения данных подключено к шине 01 с адресом 03. Можно поэкспериментировать, поменять последовательность включения и посмотреть, как это отразится на выводе lsusb. В следующей колонке указан идентификационный код устройства ID. Этот код состоит из 2 частей, идентификатора изготовителя (vendor ID) и идентификатора изделия (product ID). Они представляют собой два уникальных числа, используемых для идентификации конкретного устройства. Операционная система, по этим кодам может определять, какой драйвер требуется загрузить для работы. Значение кода изготовителя назначается форумом разработчиков USB по заказу фирмы. Код устройства устанавливает сам производитель. Программист микроконтроллеров может задать произвольно эти числа. Другое дело, что такие устройства, поступившие в широкую продажу, могут вызвать возражения фирмы собственника кода. Кроме этих чисел, для идентификации, можно использовать номер версии устройства (ID Device).
Рисунок 2 |
Для ОС Windows имеется программка usbview от Microsoft. Программа имеет графический интерфейс, слева в виде иерархического дерева представлены хост-контроллеры, корневые хабы и USB устройства. Если в левом окне выделить элемент, то в правом окне увидим разв.рнутую информацию. Смотри рисунок 2. Порт хаба (шина) к которой подключено устройство, можно увидеть в левом окне, а адрес можно найти в правом, это атрибут «Device Address». Программа «USB Device Tree Viewer» от Uwe Sieber из Германии, более удобна в использовании.
Источник
USB 2.0 где ты?
Имею http://www.linux.org.ru/add.jsp?group=126 в описании 4 USB 2.0 Сзади на мамке 4 порта (порта подписанные USB1 на матери) + на мамке под нижним PCI USB2 USB3 Вот что имеем в реале.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 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
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Почему так? Где 2.0? Перетыркивал мышаню по всем портам, читаю lsusb — в 2.0 попасть невозможно. Купил и установил 4hub PCI USB 2.0 — lsusb выдает ему такую-же картину (куда не воткни , USB2.0 свободен).
Как поймать мерзавца?
USB 2.0 где ты?
Ядро-то умеет USB2.0?
USB 2.0 где ты?
lsmod |grep ehci
должен быть загружен модуль
ehci_hcd 35276 0
USB 2.0 где ты?
А что, мыши уже по 2.0 работать начали?
USB 2.0 где ты?
Если мамка не старая — они все USB 2.0. В BIOS смотри.
USB 2.0 где ты?
и таки да, мыши и клавиатуры USB 1.1 )
надо проверять флешкой
USB 2.0 где ты?
Телепаты до сих пор в отпуске и видать уже не вернутся, может у вас там Intel 82815 815 или ещё чего старее, я же не спрашиваю почему нет хотя бы одного USB 3.0, потому что прежде чем спросить надо самому, самому (паспорт от материнки, гугл и т.п.)
USB 2.0 где ты?
Если модель не старше 7-8 лет, там всё USB 2.0, а мышам оно не надо.
USB 2.0 где ты?
У меня такая же проблема. lsusb:
При том у флешки, подключенной к одному порту, скорость записи 8 Мб/с, что хотя бы нормально, а когда она же подключена к другому скорость 1 Мб/с. Вот, что выдает lspci | grep USB:
USB 2.0 где ты?
Спасибо за совет, попробовал флешкой, в 2.0 не становится ни в какую.
Минт 7 должен держать USB 2.0 на ядре, подскажите как подгрузить нужный модуль чуть подробнее, только осваиваю `nixы
вывод lsmod
Module Size Used by
nls_iso8859_1 12032 0
nls_cp437 13696 0
vfat 18816 0
fat 58272 1 vfat
usb_storage 82880 0
binfmt_misc 16776 1
bridge 56340 0
stp 10500 1 bridge
bnep 20224 2
video 25360 0
output 11008 1 video
input_polldev 11912 0
xfs 552104 1
lp 17156 0
snd_via82xx 32152 3
gameport 19340 1 snd_via82xx
snd_ac97_codec 112292 1 snd_via82xx
ac97_bus 9856 1 snd_ac97_codec
snd_pcm_oss 46336 0
snd_mixer_oss 22656 1 snd_pcm_oss
snd_pcm 82948 3 snd_via82xx,snd_ac97_codec,snd_pcm_oss
snd_page_alloc 16904 2 snd_via82xx,snd_pcm
snd_mpu401_uart 15104 1 snd_via82xx
ppdev 15620 0
snd_seq_dummy 10756 0
snd_seq_oss 37760 0
snd_seq_midi 14336 0
snd_rawmidi 29696 2 snd_mpu401_uart,snd_seq_midi
snd_seq_midi_event 15104 2 snd_seq_oss,snd_seq_midi
snd_seq 56880 6 snd_seq_dummy,snd_seq_oss,snd_seq_midi,snd_seq_midi_event
snd_timer 29704 2 snd_pcm,snd_seq
snd_seq_device 14988 5 snd_seq_dummy,snd_seq_oss,snd_seq_midi,snd_rawmidi,snd_seq
snd 62628 17 snd_via82xx,snd_ac97_codec,snd_pcm_oss,snd_mixer_oss,snd_pcm,snd_mpu401_uart,sn d_seq_oss,snd_rawmidi,snd_seq,snd_timer,snd_seq_device
pcspkr 10496 0
soundcore 15200 1 snd
i2c_viapro 15892 0
shpchp 40212 0
parport_pc 40100 1
parport 42220 3 lp,ppdev,parport_pc
via_agp 16256 1
agpgart 42696 1 via_agp
reiserfs 236288 2
usbhid 42336 0
via_rhine 30856 0
8139too 32128 0
8139cp 27776 0
mii 13312 3 via_rhine,8139too,8139cp
floppy 64324 0
fbcon 46112 0
tileblit 10752 1 fbcon
font 16384 1 fbcon
bitblit 13824 1 fbcon
softcursor 9984 1 bitblit
вывод $ lspci | grep USB
00:10.0 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 81)
00:10.1 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 81)
00:10.2 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 81)
00:10.3 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 81)
00:10.4 USB Controller: VIA Technologies, Inc. USB 2.0 (rev 86)
USB 2.0 где ты?
$ lsusb
Bus 008 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 007 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Источник
Как интерпретировать вывод lsusb — что это за корневые хабы Linux Foundation?
Недавно я узнал о команде lsusb при устранении неполадок с гарнитурой.
Мой ноутбук работает под управлением Debian и в настоящее время ничего не подключен к USB, но когда я запускаю команду «lsusb», я все равно получаю немного информации:
Может кто-нибудь объяснить, что это значит более подробно?
Карта SanDisk подключается через PCMCIA, а не через USB. Перечислены ли в lsusb карты ПК и USB-устройства?
У меня нет внешнего Bluetooth подключен, зачем этот дисплей?
Почему некоторые корневые хабы 1.1, а некоторые 2.0? Означает ли это, что некоторые из моих портов USB 2.0, а другие нет?
Что такое корневой концентратор, просто пустой USB-порт?
Концентратор USB — это устройство, которое имеет один шнур, который подключается к одному порту USB, но предоставляет несколько портов USB для подключения устройств. По сути, это USB-мультиплексор.
Корневой концентратор AFAIK — это внутренний USB-концентратор. Например, на материнской плате может быть только один USB-слот, но есть несколько внешних портов, поскольку к материнской плате подключен внутренний корневой концентратор. (Это, конечно, упрощенно. Я не специалист по аппаратному обеспечению.)
Устройство Bluetooth — это микросхема внутри вашего компьютера, которая фактически транслирует радиотрафик Bluetooth. Вероятно, он подключен через USB-порт внутри корпуса компьютера.
Что касается отображения «Linux Foundation», я думаю, что именно отсюда и драйверы. Но я не уверен.
«Корневой концентратор» является фальшивым устройством и представляет собой саму шину. У него всегда есть номер устройства 1 на любой шине, на которой он сидит. «Изготовитель» — это всегда 1d6b, «Linux Foundation», но, насколько я могу судить, это просто для создания «корня» для «ветвей» дерева (как вы увидите из lsusb -t, как предлагает Вагнер). Характер шины (версии 1.1, 2.0, 3.0) отражен в идентификаторе устройства (0001, 0002, 0003).
(Тонкий момент — на самом деле это «USB Host Controller», который является физическим устройством, но сам по себе он НЕ является устройством USB! Обычно это устройство PCI. Например, на моей машине у меня есть две шины USB и две Хост-контроллеры USB видны по команде lspci. Они сделаны Intel, а не Linux Foundation. «Корневой концентратор USB» представляет физическое устройство PCI. Я полагаю, что вся сущность «Linux Foundation» возникла, потому что физическое устройство имеет PCI, а не USB, идентификаторы. ( Http://www.usblyzer.com/usb-topology.htm )
Устройство SanDisk может представляться внешнему миру как слот PCMCIA (я полагаю), но внутренне оно подключено к шине USB 001. (Опять же, оно помечено как устройство 002, поскольку сама шина является устройством 001.)
Точно так же устройство Bluetooth является внутренним (как отмечалось в стружке) и снова подключается к шине USB, в данном случае к шине 004, которая является шиной USB 1.1 (низкоскоростной). Это имеет смысл, поскольку Bluetooth имеет относительно низкую скорость. На той же шине находится устройство AuthenTec, которое является сканером отпечатков пальцев, опять же низкоскоростное.
Таким образом, этот вывод показывает, что у вас есть восемь (!) Встроенных шин USB с тремя подключенными к ним устройствами. И у вас есть две высокоскоростные шины USB и шесть низкоскоростных. Некоторые или все из них могут иметь внешние порты для подключения различных внешних USB-устройств. Вы можете попробовать подключить устройство и снова запустить lsusb, чтобы увидеть, какой порт подключен к какой шине.
Источник
Системное администрирование и мониторинг Linux/Windows серверов и видео CDN
Статьи по настройке и администрированию Windows/Linux систем
- Полезное
- Карта сайта
- Мой сайт-визитка
- Рубрики
- Linux
- VoIP
- Безопасность
- Видеопотоки
- Системы виртуализации
- Системы мониторинга
- Windows
- Интересное
- Сеть и Интернет
- Linux
- Мета
- Войти
- RSS Feed
Включение/выключение питания USB устройств из консоли
Иногда бывают ситуации, когда нужно отключить USB флешку, сделать настройку какой-то программы и потом опять подключить для нормальной работы. Но что делать если эти действия нужно сделать на удаленном сервере, к которому у нас нет физического доступа. Можно обратиться в службу поддержки, но можно и сделать все своими силами «не отходя от кассы». Расскажу как это делается.
Допустим, наша флешка уже втыкнута в USB-порт. Первым делом нужно проверить так ли это.
Как видим, USB-флешка находиться на шине Bus 001. Следовательно нам нужно найти в /sys/bus/usb/devices/ соответствующее USB устройство и выключить питание.
Чтобы копаться в системных устройствах нужны права суперпользователя.
По скольку мы знаем, что наша USB флешка на физической шине с номером 1. Следовательно, нужно отключить питание устройства 1-6, так как именно оно отвечает за первую шину.
Приведенная выше команда, отключит питание устройства на лету. Проверим теперь, так ли это.
Как видим — устройство отключено.
После внесения нужных изменений, подключаем питание USB устройства.
Источник
Сервис управления бесперебойным питанием в сети (NUT)
Как бы мы не уходили от понятия железа в облака, если есть в локальной сети серверное оборудование, то сразу возникает вопрос как бороться с перепадами и стабильностью напряжения и как быть когда пропадает питание в сети?
Решение обычно — это развертывание некой системы, которая обеспечит управление мягким отключением питания нашего оборудования. Как правило, производители систем бесперебойного питания (ИБП) имеют свою системы, но не всегда они бесплатны и доступны, например для простых моделей.
Для реализации подобной задачи развернем NUT в локальной сети.
NUT — NetworkUPSTools программа мониторинга и управления различными ИБП. Состоит из сервера и клиента. Сервер мониторит состояние ИБП и передает команды на клиентов.
В качестве сервера выбран Linux Debian 10, тут нет сильных отличий при установке. Клиентами будут выступать Linux и Windows машины.
Сервер NUT
Установим NUT на сервер:
Список поддерживаемых ИБП (драйвера) можно посмотреть тут — /usr/share/nut/driver.list или выбрать драйвер для устройства на сайте — https://networkupstools.org/stable-hcl.html
Какое именно устройства подключено и на каком порту смотрим командой:
Посмотрим подробно информацию про наш ИБП:
Настройки NUT
Определим драйвер, в данном примере — usbhid-ups и настроим параметры:
Настройка драйвера NUT для работы с нашим ИБП
Чтобы NUT мог управлять ИБП через USB, необходимо разрешить данные действия в системе. Для этого пропишем правила в udev.
udev — это подсистема управления устройствами, в псевдо-файловой системе /dev находятся активные подключенные устройства к системе.
Создаем файл с правилом для udev:
Перезапустим сервис udev:
и проверим настройки:
Если вывод похож на этот, то настроено правильно.
Настройка адресов и портов прослушивания подключений к NUT
В /etc/nut/upsd.conf раскомментируем или добавим:
Теперь настроим пользователей и пароли для подключения клиентских устройств к серверу NUT:
Пользователю upsadm разрешили управлять NUT через утилиту upscmd, менять все параметры ИБП (строка actions = SET и instcmds = ALL). Если нужно разрешить менять только определенные параметры, то их нужно описать в опции instcmds, например:
Запустим сервер NUT и проверим статус:
Проверим слушает ли NUT настроенные порты:
Сервер наш готов.
Протестируем соединение с ИБП, должно сообщить о своем состоянии:
Настройка клиентов NUT
Подготовим пользователей клиентов от имени которых будет подключение к NUT. В /etc/nut/upsd.conf добавим секции с пользователями:
- local_mon — пользователь локального (серверного) клиента
- linux_mon — пользователь linux клиента
- win_mon — пользователь windows клиента
/etc/nut/upsmon.conf и приведем его к виду:
Разберем значения MONITOR:
- apc@localhost — имя и адрес ИБП (берется из /etc/nut/ups.conf)
- 1 — количество ИБП
- srv_mon srv_passwd — логин и пароль
- master — опция которая определяет, что данный сервер будет выключен после отключения всех slave серверов
Настройка клиента NUT на сервере под управлением Linux
Для разнообразия в качестве клиента будет выступать Linux CentOS 7, по сути клиента для Debian систем мы настроили на сервере.
/etc/ups/upsmon.conf и приведем к виду:
Перезапустим сервис и включим автостарт при загрузке:
Проверим подключение к серверу NUT:
Настройка клиента Windows
Скачиваем NUT клиент для Windows — и устанавливаем.
В папку где установили NUT в bin находим и кладем библиотеки OpenSSL, о которых предупреждал при установке, ssleay32.dll, libssl32.dll и libeay32.dll. Библиотеки входят в дистрибутив openssl или просто находим отдельными файлами.
NUT\etc\nut.conf.sample переименовываем в NUT\etc\nut.conf и правим:
Аналогично upsmon.conf.sample в upsmon.conf и правим:
Далее через Пуск — Программы — NUT:
Или через консоль:
Еще один рабочий вариант — это использовать приложение WinNUT с GUI. Настройки более понятны и просты, есть подробный readme.
Проверка системы
Протестируем нашу систему. Отправим сигнал отключения, наши сервера поочередно пойдут выключаться и в конце выключится сервер NUT.
Источник