Pull to refresh

Comments 56

Почему бы не использовать контроллер горячего подключения вместо двухступенчатого включения питания?
Напримерimage
Я использовал для передергивания удаленной аппаратуры Сетевое реле Laurent-2 там и релюшки есть и можно внешние подключить. Реакция идет на отсутствие пингов или по времени.
На сколько я знаю, некоторые USB умеют отключать питание. По крайней мере у меня на ноутбуке в некоторых режимах сбережения энергии порты USB отключат питание при нективности девайса. Очень не удобно на мышке — чуть зазевался и она отвалилась — перетыкай.

Собственно раньше были даже джамперы на материнке — там питание можно быловыбрасть прямо с линии +5в от БП или от управляемой шины.

Понятно — не в любом компе схемотехнически реализовано управлеие питанием USB (USB2), но внешнее, да еще и РЕЛЕ!!! это ИМХО как-то уж очень… там по уму один ключик нужен — не те там токи (разрешенные) что бы на них реле ставить.

В USB3 — на сколько я понял беглый просмотр спеки «по диогонали», управление питанием — штатная фича.

В немного похожей ситуации — промышленный компьютер с linux внутри,
просто выключал и включал питание USB порта, для этого то ли нужно
было чуть-чуть поправить стандартный driver, то ли уже была готовая утилита
управляющая питанием с помощью sysfs, и нужно было ее только скомпилировать — давно было.

Там не только в драйверах дело. Есть еще и аппаратная поддержка управлением питания USB. На сколько я понимаю — она не на любом «железе» реализована.
На самом деле, очень многие матплаты позволяют на USB-портах отключать и включать питание (Тестировал как под Linux, так под Windows). Но, конечно, зависит от контроллера.

Автор, на ваших железках не будет возможности проверить? Тут, ан Хабре, даже статьи были, ЕМНИП.
На самом деле, сам уже забыл как под Windows это.
ЕМНИП, опять же, была утилитка специальная (или сам писал, возможно), но под Windows работаю очень редко уже как много лет.
Как вариант — остаётся devcon
Нужные команды:
devcon status *
devcon status usb*
devcon findall usb*
devcon find *usb*
devcon disable "@usb\root_hub\нужный_ID"
devcon enable "@usb\root_hub\нужный_ID"
devcon restart "@usb\root_hub\нужный_ID"
devcon remove
devcon rescan

Инфу и сам devcon легко нагуглить.
Работает в WinXP и некоторых других (Не уверен что будет работать в Vista/7/8/10).

Но мне самому любопытно.
устройство само может не хотеть включаться/перезапускаться, пока не будет разомкнуто питание usb
мне как то не удалось запустить флешку после того как сделал ей eject /dev/sdX
Ну если у них такие суровые модемы, которые вызывают перезагрузку при подключении в USB, то и банальное «echo on > /sys/bus/usb/devices/usb1/power/level» тоже могло вызывать перезагрузку.

Впрочем, это или более усовершенстванное управление питанием USB, возможно станет следующим усовершенствованием.
Аналогичные сторожевые таймеры очень давно используется в платежных терминала с модемами питающимися от 5 и 12 В, в терминалах оба питания берутся с компьютерного Б.П.
Логика чуть шире — если нет обращений от компьютера то выдается сигнал на ресет компьютера.
image
Первое что пришло на ум это плавное включение на полевом транзисторе. Цена вопроса 50руб.
1. только с другой стороны надо включать (комплементарный), а то модем очень удивится

2. даже в самых дешёвых китайских роутерах бывает возможность вкл/выкл питанию usb-порта.
> Обычные USB-модемы (т. н. «свистки») зарекомендовали себя очень плохо: они слишком часто зависают

Если не секрет, какие модели использовали и что используете сейчас?
Сейчас используются Teleofis 3G Terminal (это у них на входе два больших конденсатора).

Иногда использовали операторские модемы (когда с собой не было Teleofis'а).
> Обычные USB-модемы (т. н. «свистки») зарекомендовали себя очень плохо: они слишком часто зависают
Хм, Huawei e1750 работает в tp-link 1043nd под openwrt месяцами без перезагрузки
У разных модемов очень по разному. e303-те, например, не виснут неделями, в то время, как e3131 живет трое-четверо суток. CDMA свистки от Скайлинка не выдерживали и суток.
Неделями тоже не годится. У нас одна станция в Певеке — там неделями можно ждать вертолёта, чтоб уехать. А расчётный срок эксплутации комплекса — 5 лет.
Такое чувство, что это разработка лет 10 назад была сделана. В виде курсовой работы 3-4 курса.
Сейчас используем похожее решение проблемы зависающих USB-свисков. Только вот плата (на нашем жаргоне — «сопли») обходятся нам намного дешевле (около 250р). Паяем сами небольшими партиями (15-20 шт) по мере необходимости. Плата на CP2102, и двух транзисторах, подключается напрямую в колодку USB на материнской плате.
А можно схемку ссылку или на словах пояснить по 2 транзистора? Тоже стоит такая задача, подключил FTDI232 к модулю реле и сигналом DTR или RTS реле щёлкаю, как прототип годится. Но реле сильно габаритное, хотелось бы уменьшить, упростить. Поможете?
Схемы у меня нет, к сожалению, делали подрядчика.
Общая идея такая: на короткое время питание открывается транзистором через резистор, чтобы ограничить максимальный ток и зарядить сглаживающие конденсаторы в модеме. Далее уже включается реле, без резистора.
Наш подрядчик использовал какое-то небольшое импортное реле. Можно и транзистор задействовать.
Разве простое отключение устройства в диспетчере устройств не снимает питание с порта? Написать тот же скрипт, передёргивающий устройство, как по мне, куда проще и дешевле, чем клепать девайс за 2.5к и тревожить людей с его установкой.
К сожалению, не всегда это работает. Видимо, зависит от матплаты, устройства и контроллера.
Но, как я уже писал выше, очень многие материнки это позволяют (Может потребоваться настройка в биосе/эфи)
Я понимаю, когда вы покупаете дешевые usb-свистки, и остаетесь один на один со своими проблемами.
Но дорогие, промышленные… они же дорогие не потому что там золотые дорожки, а ради саппорта, который НУЖНО пинать больно и часто.

обращались в службу поддержки модемов? что вам ответили?
У себя в проекте использую дешевые китайские USB реле (300 рублей) и 4G модем Huawei E3372:
image

Все надежно работает на Ubuntu Server 16.04.2 LTS с регулярными обновлениями.
Можно ссылку на али или где брали? У нас на РЖД есть тоже комплексы, где под линуксом (кстати, есть ли информация как управлять этим реле? нужен ли root или обычным пользователем можно?) работает, и подключено много usb устройств, а одно из них периодически «отваливается», лечится передёргиванием кабеля usb. Проблеме не один год уже, и проблема плавающая, нельзя просто взять и посмотреть, что не работает, т.к. в 99,9% времени всё работает. Пробовали и usb перезапускать, и комп перезагружать и выключать-включать — всё не то. Разве что вот такие костыли приделать, и интегрировать в систему, чтобы автоматом перезапускала когда устройство отвалится.
Брал на ebay через поиск по «usb relay»
Про драйвер написано тут http://diyhobby.ru/articles/mikroshema-ch340-i-modul-ch340g. На ebay в описании товара есть команды.
Если не секрет, что за устройство?
Видеонаблюдение с веб камер и торговый терминал со сканерами штрих-кода.
Все подключено к портам usb 3.0 на мини-компьютере GB-BACE-3160.

Советую брать платформы только с usb 3.0 портами, проблем будет меньше.
Это Вам мало что скажет: электронный терминал самообслуживания (часть комплекса «электронный маршрут машиниста»)
Спасибо, раньше работал в сфере разработки СЦБ, всего лишь остаточный интерес.
Двухступенчатое включение это конечно круто, но мне кажется конденсатор в пару сотен микрофарад перед реле решил бы проблему.
И да следующий этап как я понимаю сторожевые таймеры для самих компьютеров, они ведь тоже могут зависнуть.
Или это вопрос уже решен?
Там же промышленный комп, у него watchdog штатный.
У нашей модели штатного Watchdog нет.
Иногда компьютеры зависали, тогда просили кнопкой перезапустить. Особо боязливых и пожилых сотрудников на метеостанциях просто просили выдернуть из розетки на два часа (чтобы ИБП разрядился).

Бывало, слетал Windows. Вероятно, из-за непредвиденного пропадания питания. Решили так: если GPS-приёмник полчаса работает от встроенного аккумулятора, то компьютер получает по USB об этом информацию (вместе с потоком данных) и просто штатно выключается. ИБП постоянного тока компьютера хватает как раз примерно на час. Включается по таймеру BIOS (когда будет питание).
А почему монтаж без DIN-реек? Ради охлаждения?
UFO just landed and posted this here
Соглашусь по всем пунктам, кроме 2. Далеко не на всех платах можно управлять питанием USB. Отключать сам интерфейс — да, но это совсем не то же самое, что отключение питания на порту USB. На большинстве дешёвых и даже не совсем дешёвых материнках питание заведено с силовых +5В, через предохранители (обычно группами по 2-4 порта), в лучшем случае — через микросхему типа ncp380 — вот только в этом случае можно управлять питанием. C usb3 всё несколько сложнее.
1. Наши модемы должны работать годами, а командировка в некоторые пункты обходится в десятки тысяч рублей.

2. На нашем устройстве питанием USB управлять нельзя.

3. Зачем?

4. Механическое реле и транзистор с резистором в качестве первой ступени.

5. Для наших задач Windows намного более удобен, а достойный софт для работы с дорогостоящими GNSS-приёмниками под Linux никто не написал.

6. Возможно.

7. Увы, их мощностей не хватает. А настройка и разработка того, что уже есть готовое под Windows, обошлись бы дороже. На фоне стоимости комплекса цена ОС несущественна, если Вы переживаете об этом.
А какой GNSS приемник? Это смотрели http://gnss-sdr.org?
UFO just landed and posted this here
Проблема с зависаниями модемов, зачастую, является не проблемой самих модемов, а действиями операторов связи. В каждой сети Билайн, Мегафон, Теле2, МТС, не имеет значения кто, раз в определенный промежуток времени происходит магическое действие под названием LACupdate. В этот момент сеть заставляет все абонентов перерегистрироваться в сети. Кто не смог, того сеть считает выключенным. Заставить модем зарегистрироваться снова можно с помощью AT команд.
Главное, что процедура перерегистрации зависит не от цены модема, а от многих других факторов уже связанных с сетью.
Для модемов лучше делать отдельное питание, а не питать их от USB.
Модемы очень прожорливы и капризны к питанию. Не каждый USB может выдать достаточное питание и в результате модемы виснут, тупят, перезагружаются и т.д., но в результате во всём винят модемы.
Мы замеряли, было чуть больше 100 мА. Возможно, конечно, в каких-то ситуациях потребление больше, но паять отдельное питание для USB-модема — это как-то слишком сложно. И не гарантирует бесперебойной его работы.
известная проблема. каждую ночь —
/sbin/modprobe -vr ehci_hcd
/sbin/modprobe -v ehci_hcd
Модемы телеофис имеют настраиваемый внутренний вотчдог.
Когда я его правильно настроил (перезагрузка модема при зависании и 1 раз в сутки) — то забыл о том, что такое зависший модем навсегда.
А до этого тоже хотел внешний «отключатель» городить.
1. То есть то, что модемы зависают, никого не удивляет.
2. То, что компьютер может уйти в ребут после подключения USB устройства, никого не удивляет.
3. То, что ребята не знают о существовании термисторов, удивляет только меня.

Что я делаю не так, если мои АТС работают годами без перезагрузки, или теперь так принято?
Грустно как то…
1. Зачастую зависают не модемы, а теряется регистрация в сети.
2. Всякое бывает.
3. Кто на что учился.

АТС она для этого и разрабатывалась, что бы бесперебойно работать годами (если мы говорим о хардварных решениях типа SI2000, 1000S12...). Жалобы на зависание, в основном, идут на бытовые модемы типа Е171 и т.д. Повторюсь, в большинстве случаев отсутствие связи является не проблемой модема, а особенностью работы сети связи в данном месте.
Sign up to leave a comment.

Articles