LINUX.ORG.RU

Контроль над питанием USB-модема


0

0

Всем доброго времени суток!

Имеется 3G-модем ZTE-627. В принципе, устройство неплохое, но есть у него неприятная особенность - через некоторое время работы в интернете модем как будто зависает, иногда при этом обрывается соединение, иногда нет. Так сложилось, что других способов доступа в Интернет в данный момент не имеется.

Спасает от зависания только «перезагрузка» модема, то есть отключение его от шнурка (используется штатный USB-удлинитель на полметра) и потом поднятие соединения через ppp.

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

И вот, внимание, вопрос - есть ли какой-либо способ управлять питанием модема? Какая-нибудь команда, программа... По идее, после отключения порта и включения его, модем тоже должен перезагружаться. Опровергните, если не так. Была мысль сделать какой-нибудь аппарат из старого cd-rom и открывать-закрывать его, но не могу придумать, как прикрутить модем к cd-rom.

Какие у кого есть мысли, поделитесь, пожалуйста!


> Была мысль сделать какой-нибудь аппарат из старого cd-rom и открывать-закрывать его

/me из USB-мыши делал =)

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

А можно немножко побольше подробностей? Как именно и что из этого получилось, например?

И вообще, я так понимаю, эта проблема с подвисаниями есть не только у меня?

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

У меня (некоторое время назад) был ZTE AC8700, так же само вис, иногда достаточно часто. Для устранения проблемы решил снимать питание с модема, но сам модем не умеет саспендиться, зато умеет компьютерная мышь (или флешка). Нашел на USB-мыши точку, меняющую свой уровень при саспенде и прицепил туда ключ, нагруженный на реле. В результате получилось такое устройство - http://rain.homelinux.org/fileupload/photos/hardware/switcher_01.jpg - сейчас оно в разобранном виде, в общем 2 провода от реле размыкали шину питания модема. Модем, соответственно, втыкается через переходник слева.

Ну а дальше - скрипт, который вызывался после падения интерфейса (тут помогал wvdial) и отсылал сначала suspend, потом on в /sys/bus/usb/devices/${device}/power/level, давал время на инициализацию модема и снова запускал wvdial.

http://rain.homelinux.org/fileupload/photos/my_modem_01.jpg - в таком виде оно и работало (гусары, молчать!).

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

YAR ★★★★★ ()

Имхо, проще релюхи на LPT навешать и через простенькую программу всем этим рулить.

Сам собирался так сделать, когда мопед вис (не 3жэ, а коаксиал, ну не суть). Правда, потом все решилось заменой мопеда в рамках сервисного обслуживания (если быть точным, я выел мозг саппортам) :)

nnz ★★★★ ()

Проще всего найти нормальный модем, который не падает от длительной нагрузки. Но это не Ъ.

ist76 ★★★★★ ()

Наверное, можно снять кожух с CD-ROM, просверлить дырочки в лотке, притянуть к лотку модем, а разъем удлинителя прикрепить к неподвижной части, но, ИМХО, у СD-ROМ просто может не хватить усилия выдернуть модем из разъёма, так что лучше паять. Но конструктивно, USB-раъем сначала подаёт питание, а уже потом данные, не знаю, можно ли рвать один проводник питания, как это делал YAR.

mky ★★★★★ ()

>Какие у кого есть мысли, поделитесь, пожалуйста!

Возможно поможет: в ядре CONFIG_USB_SUSPEND=y

echo «suspend» > /sys/bus/usb/..../power/level echo «on» > /sys/bus/usb/..../power/level

и почитать Documentation/usb/power-management.txt

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

Общий провод всегда подключен, так что все ок.

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

Спасибо за хорошее описание технологии, а особенно за фотографии!

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

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

Сегодня попробуем собрать опытный образец. Там и выясним, хватит ли ему силы.

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

>А теперь перечитай мой пост выше еще раз :)

И чего там интересного кроме корявой перезагрузки от контроллера мыши ?

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

> отсылал сначала suspend, потом on в /sys/bus/usb/devices/${device}/power/level

Специально для тебя выделил в отдельный абзац, но...

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

Да - это пропустил, но факт кривости решения это не отменяет :) Во-первых модемы разные, поэтому неизвестно сработает это или нет на 627, во вторых - это же целый миникомпьютер c arm ядром и dsp, даже если у него на usb-девайсе саспенд отключен есть еще диагностический режим (помоему у всех qualcomm это AT$QCDMG) а там наверняка есть команды сброса, нужно только их откопать.

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

> модемы разные, поэтому неизвестно сработает это или нет на 627

Мой костыль выполняет одну безотказную вещь - отключает модем от шины и подключает обратно :) В моем случае хватает одного провода питания. Это гораздо проще, чем искать возможно несуществующий отладочный режим. Если тут можно обойтись чем-то более простым - прекрасно.

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

>Это гораздо проще, чем искать возможно несуществующий отладочный режим.

То что режим этот существует - это 100%, иначе как по твоему меняют прошивки и разлочивают эти модемы ? почти наверняка команда перехода в этот режим именно та что я написал, только дальше сложности с нахождением команд - там уже специальные последовательности (не АТ команды) и они у всех разные и производители их скрывают. Те кому это нужно берут фирменные тулзы и снифят usb, если поискать думаю найдется и готовое решение, искать только нужно не на линуксячих форумах для блондинок типа лора.

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

>Через JTAG?

Некоторые особо умные могут и под электронным микроскопом лазером на кристалле ченить выжигать, остальные нормальные люди это делают штатными средствами через usb/uart.

anonymous ()

у меня была точно такая же хрень. продал zte, купил Huawei EC226. у него нет такой проблемы (если надо r-uim то EC228). советую и вам тоже самое сделать, потому как потраченное на трах со всякими реле время не стоит того.

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