реклама на сайте
подробности

 
 
> USB HUB c поддержкой индикации портов, как настроить?
Hoodwin
сообщение Jun 15 2016, 16:32
Сообщение #1


Знающий
****

Группа: Участник
Сообщений: 881
Регистрация: 21-03-10
Из: _// \\_
Пользователь №: 56 107



Не знает ли кто, как в линуксе настраивается работа модуля /drivers/usb/core/hub.c по части управления поведения стандартными светодиодами в USB hub-ах? Микросхема CY7C65632 имеет встроенную поддержку индикаторов каждого порта, однако они работают не так как я хотел бы.

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

есть еще параметр модуля hub.c:
Код
     58 /* cycle leds on hubs that aren't blinking for attention */
     59 static bool blinkenlights = 0;
     60 module_param (blinkenlights, bool, S_IRUGO);
     61 MODULE_PARM_DESC (blinkenlights, "true to cycle leds on hubs");


но он в запущенной системе всегда readonly, а модуль собран в ядро, так что у меня не получилось поменять его на лету.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Jury093
сообщение Jun 15 2016, 21:30
Сообщение #2


Знающий
****

Группа: Участник
Сообщений: 959
Регистрация: 11-01-06
Из: Санкт-Петербург
Пользователь №: 13 050



Цитата(Hoodwin @ Jun 15 2016, 19:32) *
Зеленый светодиод загорается сразу, как только устройство проходит нумерацию, а желтый не загорается вообще никогда.

они работают согласно описанию чипа:
Код
On power up the CY7C6563X defaults to automatic mode, where the color of the Port Indicator (green, amber, off) indicates the functional status of the CY7C6563X port

в теории, если у вас хаб подключен правильно, то закоротив пинцетом питание выходного порта можно созерцать работу светодиода "amber", у нас так проверяют исправность защиты ключей питания портов на USB..
(если у вас не использованы сигналы PWR/OVR, то пинцет не ваш случай..)

Цитата
А я бы хотел сделать так, чтобы зеленый загорался когда устройство опозналось драйвером, (а еще лучше, чтобы открылось приложением), а желтый символизировал обмен данными. Например, если я втыкаю в USB WiFi адаптер, то желательно увидеть зеленый светодиод, когда запускается wpa_supplicant или хотя бы просто интерфейс поднимается (ifup). А желтый чтобы показывал, что идет передача по сети.

в том же мане упоминаются 2 режима:
Код
The CY7C6563X port indicators has two modes of operation: automatic and manual

поищите на их форуме или спросите у суппорта - авось что ответят на вопрос "как включить ручной режим?"
далее, поищите в сети спецификацию на USB 2.0, там расписаны поля для хабов, вас должен интересовать downstream port с полем "by bit 7 of the wHub"
далее, посредством несложной утилитки можно по USB дергать этот бит в нужное положение, _может_быть_ это отобразится на состояние светодиода

у вас линукс.. на мой взгляд проще чем возится с таким подключением, лучше использовать пару GPIO от проца (или взять обычный i2c gpio expander) и объявить свои светодиоды в классе gpio-led. тогда через sysfs вы получите все свои плюшки с минимальными хлопотами
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 31st July 2025 - 03:18
Рейтинг@Mail.ru


Страница сгенерированна за 0.01332 секунд с 7
ELECTRONIX ©2004-2016