LINUX.ORG.RU
ФорумTalks

Умеет ли USB надёжно сбросить устройство?

 


0

2

Можно ли программно-драйверно добиваться физического мегасброса девайса?

Я так понимаю, если девайс воткнут физически в USB, то программно нельзя отобрать у него питание 5V. Т.е. если девайс решил намертво зависнуть и эту ошибку можно решить высовыванием-засовыванием, то программно это высовывание никак не сделать?

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

Скажем эта веб-камера зависла наглухо так, что перестала понимать даже нормальные системные USB-пакеты. Как программно её жесточайше ребутнуть? Почему в USB-шине не предусмотрено программное отрубалово питания? Если бы оно было, можно было бы буквально физически ребутнуть повисший девайс и увеличить безотказность какой-нибудь системы видеонаблюдения, построенной например из нескольких USB-вебкамер, одна из которых периодически жёстко морозится.

Ответ на: комментарий от timdorohin

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

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

Ты пробовал умные хабы? Да неужели?

Вешается, если из ядра попытаться такое провернуть с обычными портами. Поэтому эту лавочку прикрыли с 2.6.32

А умный хаб делает то же самое, что и пользователь - вырубает питание устройству к чертовой матери.

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

Извини, неправильно выразился.

Иногда даже сторонний контроллер на материнской плате поддерживает per-port power switching.

ИЧСХ, ни один южный мост такое не умеет, это именно внешние контроллеры.

Просто южный мост умным контроллером таки не является - он не контролирует питание usb (хотя должен, по спецификациям usb, но всем лень). Увы...

Главная проверка на то, является ли контроллер, собственно, умным - втыкание в порт нагрузки больше 300мА, бросив сигнальные линии в воздухе. Умный контроллер автоматом вырубит питание, т.к. такая нагрузка не согласована с ним.

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

USB на маме кладут на все спецификации по току, особенно на серверных мамах, ничего они не согласовывают, только внешнее питание, какое уж per-port power switching. Слышал я про эти хабы, экзотика, не знаю зачем они нужны, видеонаблюдение на USB камерах никто не не делает.

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

Для дома есть девайс на atmega стоимостью 100-200 руб, щелкай реле через усб или СОМ или LPT, даже террористический вариант с реле вместо вибратора в старом сотовом.

ilovewindows ★★★★★
()

У меня к тебе вопрос - на компе есть lpt?

Если да, я знаю как тебе выйти из такой ситуации. Если его нет, нужна ардуинка/плата с lpt

Суть в том, чтоб в разрыв питания камеры засандалить p-канальный mosfet и управлять им с компа.

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

я просто не понял речь про камеру или про юсб или еще про что

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

Вот здесь были https://www.obdev.at/products/vusb/projects.html релюшки управляемые через усб, делал с этой библиотекой USB-COM и программатор для контроллеров, как калашников работают. Если на компе есть COM или LPT проблема отключения камеры решается транзистором и реле, если уж собирать по босяцки.

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

Тогда уж полнофункциональный access-node из какого-нибудь одноплатника вроде малины сразу собрать, чтоб и комп ребутнуть мог, и boot-password ему ввести для LUKS раздела системного, и исходящий vpn туннель держал до access-сервера твоего, и картинку со своей мини-камеры передавал.

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

Малина вещь отличная, только по цене это уже видеорегистратор. Лень искать и сравнивать дешевые IP и USB камеры. Не знаю цен.

ilovewindows ★★★★★
()
Последнее исправление: ilovewindows (всего исправлений: 1)

зависит от контроллера. большинство контроллеров умеет (и должны уметь) отключать питание. слышала про такие, которые не умеют, но живьём не попадались.

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

Iron_Bug ★★★★★
()

Если девайсина не обрабатывает port reset, то обычно никак. В теории хаб может управлять питанием отдельных портов, на практике обычно одна линия питания на всех.

gadfly ★★
()

https://mysku.ru/blog/aliexpress/53349.html

Обозреваемый девайс включается в разрыв линии питания роутера, между низковольтным штекером блока питания и гнездом питания самого роутера. Также отвисатору потребуется от роутера один lan-порт. Смысл прост. Девайс раз в несколько минут пингует последовательно несколько заведомо живых ресурсов (в моём случае это публичные DNS-серверы Яндекса и Гугля). И, если с нескольких попыток не допингуется ни до одного, он разрывает линию питания роутера на несколько секунд, физически перезагружая всю систему.

Не совсем то, что нужно ТС, но как затравка.

greenman ★★★★★
()
Последнее исправление: greenman (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.