LINUX.ORG.RU

отключение питания от usb


0

2

Задача стоит в следующем: берем мультиметр и мерием напрящение в порту usb = 5, нужно сделать ноль или переслать байт информации на порт, не подключая никаих устройств.

Гугл говорит: echo suspend > /sys/bus/usb/devices/<choose your own>/power/level и тому подобное, но результат нулевой.

Ось Debian версию ядро старое, версию сечас точно не скажу, обновлению система не подлежит.

Подскажите как быть.

Ноль - никак не сделать.

greenman ★★★★★
()

гугль брешет, вообще непонятно что эти команды делают. И традиционный вопрос, а на фига это нужно ?

ilovewindows ★★★★★
()

ЕМНИП 5В это питание. Оно там дежурит. А средние два провода передают инфу.

vahtu
()
Ответ на: комментарий от ilovewindows

И традиционный вопрос, а на фига это нужно ?

Не знаю как там у ТСа, но например такая вещь позволит убедиться, что все ненужные потребители отключены. Например можно подключить много USB-дисков к машине и включать их только по необходимости.

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

Могу я чем-то помочь в поиске вертикальной твердой поверхности ?

ilovewindows ★★★★★
()

там боюсь мультиметр не спасет.

в виндоус у меня к примеру USB-HDD не обесточиваются.

там хитро как-то сделано.

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

С отключение ,имхо, нет проблем, тот же udisks отключает . Включить без передергивания проблемка, только через сброс OHCI (EHCI) хоста.

ilovewindows ★★★★★
()
Ответ на: комментарий от ilovewindows

Что он отключает? Ну вот допустим хаб, в который воткнуто N устройств - udisks сможет отключить конкретные дырки? А вообще в USB может быть воткнуто что угодно - блютутхы разные, DVB-приёмники, хоть пылесос для клавиатуры. Понимает ли воткнутое устройство команды к засыпанию - тот ещё вопрос. Кроме того, иногда хотелось бы убедиться что утройство отключено: например какая-нибудь специфическая плата может быть подключена к компьютеру как tty (вполне типичный случай), а какой-нибудь неумолимый ModemManager будет неконтролируемо слать туда свои странные байты с реальным риском вывсести оборудование из строя.

anonymous
()

Товарищи, так все же. Делать то, что? Пробовал посмотреть какой модуль определяет ubs и выгрузить его, эффекта все равно нет, точнее 5v как было, так они ни куда и не деваются.

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

Решений несколько
1. Погуглить и купить «USB-хаб c управлением»
2. Подключить все USB устройства через управляемые реле, будут отрубаться даже устройства разработчики которых тупо забили на функцию отключения.
3. Сделать патчи на драйвера устройств и усб-хабов на предмет их отключения
4. Поплакаться на нерешаемость абстрактной задачи «хочу отключить нечто»

ilovewindows ★★★★★
()
Ответ на: комментарий от imirrori

А и не денется. «Отключение питания» / cаспенд делаются программно, а контакт +5В просто сидит через резистор / дроссель / электронный ключ (на случай, если в BIOS'е включишь пробуждение с клавиатуры) / etc напрямую на шине питания.

YAR ★★★★★
()
Ответ на: комментарий от ilovewindows

1. Погуглить и купить «USB-хаб c управлением»

Какие-то монстры там нагугливаются.

2. Подключить все USB устройства через управляемые реле, будут отрубаться даже устройства разработчики которых тупо забили на функцию отключения.

Это на мосфетах получится эстетичнее, надёжнее и экономичнее. Но это костыль. Впрочем как и предыдущий пункт.

3. Сделать патчи на драйвера устройств и усб-хабов на предмет их отключения

Для этого в хабах должен быть предусмотрен стандартный метод отключения питания. Иначе потребуется писать под каждый хаб специфичный драйвер. И ты ещё сперва найди спецификацию на серийный хаб хоть один, которая позволила бы создать такой драйвер и потом уже умничай.

4. Поплакаться на нерешаемость абстрактной задачи «хочу отключить нечто»

Вобщем-то я и не ждал что ты сообщишь нам что-либо полезное по теме треда.

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

электронный ключ

Вот это и управляет питанием. По крайней мере в современных лэптопах можно биосу указать - обесточивать порт или нет (много устройств же может заряжаться/питаться от USB) - значит теоретически подачей питания на порты можно было бы управлять.

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

Покажи личико гульчитай, потом жди от меня что-то полезное

ilovewindows ★★★★★
()
Ответ на: комментарий от ilovewindows

1. Погуглить и купить «USB-хаб c управлением»

Ну это не вариант)

2. Подключить все USB устройства через управляемые реле, будут отрубаться даже устройства разработчики которых тупо забили на функцию отключения.

Собственно да, но проблема управления релешкой то же так се решения имеет. Если им управлять через USB порт то, придется туда ставить микрочип, что бы запрограммировать, а это 300 руб на чип + 200 на овес + 2 недели ждать прибытия какой нибуть ATMEL AM89. Можно управление через другой порт влепить, но управлять USB через com это маразм.

3. Сделать патчи на драйвера устройств и усб-хабов на предмет их отключения

Ну я тока за, покажите библиотеку, в которой можно отключать питание. Если вы про linux/usbdevice_fs.h единственная константа подходящее под это дело USBDEVFS_RESET, которая на порт D+ подает сигнал и уровень меняется с 3V на 1.5V, что собственно бесполезно, т.к. теоретически устройства не существует, а значит его не будет в девайсах, что бы с ним работать.

4. Поплакаться на нерешаемость абстрактной задачи «хочу отключить нечто»

Почему «нечто»? Я хочу отключить ПОРТ. И все, никакие устройства, просто ПОРТ. Что бы он как батон был.

imirrori
() автор топика

Я не совсем понял: тебе нужно питание отключить или сделать так, чтобы система не реагировала на подключение устройства в конкретный порт? Если первое, то смотри в сторону hub-ctrl, но лично я вообще не видел хабов, умеющих управлять питанием. Хотя говорят, что можно взять китайский чип и спаять самому. Если второе, то я ничего не посоветую...

Deleted
()
Ответ на: комментарий от imirrori

Ладно, с первым вопросом ясно, бюджет около нуля.
attiny2313 стоит порядка 60 рублей+ резистор 1.5 кОм, кварц, 3 шт. керам. кондера + электролитик. Усб делается программно, прошивок для управления выходами в интернете полно, только подключить реле или транзисторный ключ. В 100 рублей можно уложится. Выглядит глупо, отключать усб порт, через другой усб порт, хотя если штук 10 отключать, может и не глупо.
Имхо библиотеки нет, надо смотреть конкретно микросхему на маме , есть управление отключением или нет. Скорее нет, ибо ставить ключи и городить схему управления на входе автомата, который заточен на обнаружение подключения на фиг никому не нужно. Пять вольт там не просто так болтаются, как только начинает течь ток идут запросы на инициализацию устройства. Короче, «просто ПОРТ» это абстракция и в общем случае нерешаемая задача, если это один раз сделать на конкретном компе, можно попытать изучить матчасть на маме, интернет есть, исходники есть. Опять же не понимаю зачем понадобилось «Что бы он как батон был».

ilovewindows ★★★★★
()
Ответ на: комментарий от ilovewindows

Усб делается программно, прошивок для управления выходами в интернете полно.

А полно это сколько?) Можете хоть одно такое чудо показать, желательно с исходниках, хотя как получится.

imirrori
() автор топика
Ответ на: комментарий от Deleted

hub-ctrl

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

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

Примите, за «стандартный метод», только не проверяйте сильно , так оно спокойнее.

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

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

Я сейчас скачал документацию к китайскому «хабному» чипу GL850G, так похоже там для каждого порта есть ножка, которая как раз и управляет питанием. Думаю к ней можно подключить схему с реле. А проблема видимо не в том, что это дорого стоит, а в том, что это мало кому нужно 8).

Deleted
()
Последнее исправление: Deleted (всего исправлений: 1)
Ответ на: комментарий от Deleted

Посмотрел даташит на эту микруху: «PWREN1# is the only power-enable output for GANG mode.» - не знаю что это за режим такой и нафига порты объединять банду, но сдаётся мне, эти ножки необязательно могут управляться от хоста.

Да, и hub-ctrl среди всего множества хабов у меня не нашёл ни одного, который бы поддерживал обесточивание.

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

Производителю невыгодно, если уж они контакты неиспользуемые в разъемах убирают, то на много миллионных тиражах делать фичу, которая используется только админами на просторах СНГ для сброса кривых железок, и подавно делать не будут.

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

Посмотрел даташит на эту микруху: «PWREN1# is the only power-enable output for GANG mode.» - не знаю что это за режим такой и нафига порты объединять банду, но сдаётся мне, эти ножки необязательно могут управляться от хоста.

Как я понял, в режиме GANG все порты управляются пачкой, по сигналу с одного вывода (PWREN1), а без режима GANG - индивидуально по сигналам с PWREN1 - PWREN4 (но все они выведены только из корпуса LQFP48).

По поводу управления - ИМХО эти выводы должны управляться программного с хоста. Иначе какой в них смысл? Хотя я во внутренностях USB я практически не разбираюсь и могу ошибаться...

Deleted
()
Последнее исправление: Deleted (всего исправлений: 1)
Ответ на: комментарий от anonymous

Нашёл ещё один чип: FE1.1. Там в документации даже схема подключения есть. И я его у себя нашёл в активном USB-удлинителе. Если осилю самодельные печатные платы - потом попробую спаять управляемый хаб...

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

Похоже на правду.
Судя по поиску, хабами с чипами TERMINUS народ пользуется, модемы пересбрасывают. Хабы безымянных китайских контор , цена «монстра» 7 баксов, так что должно получиться, если китайцы не подсуетятся и конкурента не грохнут.

ilovewindows ★★★★★
()
Ответ на: комментарий от ilovewindows

Судя по поиску, хабами с чипами TERMINUS народ пользуется, модемы пересбрасывают. Хабы безымянных китайских контор , цена «монстра» 7 баксов, так что должно получиться, если китайцы не подсуетятся и конкурента не грохнут.

Проблема только в том, что к этим чипам схемы управления питанием подключать не обязательно. Так что далеко не все хабы с подходящими чипами могут отключать питание.

Deleted
()

Что только люди не сделают, чтобы не протягивать руку для включения/отключения устройства.

Xenon ★★★
()
Ответ на: комментарий от Xenon

Устройство может стоять на расстоянии превышающем длину твоей руки. На несколько тысяч километров превышающем.

anonymous
()

Никак. Вообще говоря, в стандарте описано управление питанием портов, но как правило, на это кладут болт, ставят только защиту по оверкарренту, а в эмбеддеде питанием чаще всего заправляет ключик на мосфете, щелкающийся от гпио.

AiFiLTr0 ★★★★★
()
Ответ на: комментарий от AiFiLTr0

И что там означает управление питанием? На уровне протокола хаб должен понимать некие команды включения-выключения питания? В смысле ну ладно ноги не разведены, но он на них состояние менять будет?

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

RTFM: http://www.usb.org/developers/docs/usb_20_071012.zip

Я уже не помню. Просто в тех хабах, что я юзаю для своих поделок Fe1.1s по полтора юаня/штука, эти где PM и не пахнет. Я щелкаю питание тупо p-канальным мосфетом через GPIO.
Ну либо, ежели хоста нет, вешаю на 1 из 4х портов attiny2313 с vusb внутри.

AiFiLTr0 ★★★★★
()
Последнее исправление: AiFiLTr0 (всего исправлений: 1)
Ответ на: комментарий от AiFiLTr0

RTFM: http://www.usb.org/developers/docs/usb_20_071012.zip

Хм, вычитал там таковы слова:

«Port Power: (PORT_POWER) This field reflects a port’s logical, power control state. Because hubs can implement different methods of port power switching, this field may or may not represent whether power is applied to the port. The device descriptor reports the type of power switching implemented by the hub. 0 = This port is in the Powered-off state. 1 = This port is not in the Powered-off state.»

Зашибись у них стандарты 8-/

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

На практике на индивидуальном павер свитчинге портов экономят. В овер 90% ширпотребных хабов питание с апстрим порта соединено с питанием всех даунстрим портов дорогой по плате. И к этому напрямиг еще подрублен провод внешнего питания хаба, если оно есть. Такие дела.

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