faq обучение настройка
Текущее время: Сб июл 19, 2025 00:31

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 25 ]  На страницу Пред.  1, 2
Автор Сообщение
 Заголовок сообщения:
СообщениеДобавлено: Ср ноя 24, 2004 22:38 
Не в сети

Зарегистрирован: Сб окт 23, 2004 18:11
Сообщений: 128
Откуда: Moscow
Gusakov_Dmitry писал(а):
я щас это прочел и осознал на сколько dlink500t не стабильный модем, а возможно сама по сабе adsl технология не совершенна, но к моему сожалению я не пробовал других модемов. щас я наблюдаю картину как фирма выбросила сырые модемы на рынок, а мы те кто решили сэкономить и взять САМЫЕ дешевые модемы выступаем теперь в качестве бета-тестеров. шлем логи, ковыряемся с прошивками. а вам не задумывалось, что то что вы сочиняете должно было быть уже вшито в модем? т.е. вы выполняете за бесплатно работу.

Ой, я прям прослезился :lol:

Цитата:
ну да ладно раз уж мы собрались тут все братья по несчастью я выскажусь и по теме, нормальный модем даже при обрыве связи должен восстанавливать коннект, чего наш любимый девайс не всегда делает, лично я сам в ручную когда нажимаю пимпочку connect/dissconect в разделе Connection status не получаю результата (хотя прошивка у меня последняя 20041014), поэтому я раньше

А что такое "обрыв звязи", может лучше лог закинуть? И уже не факт, что последняя прошивка будет работать лучше предыдущей. Тут где-то в соседней теме хороший человек доступно о сплитерах/фильтрах рассказал, прочти.

Цитата:
правда у меня есть еще один более автоматизированный метод на заметке, но все руки его до ума довести не доходят - а идея вот в чем, знаете есть программируемые telent клиенты, там простейшие скрипты уровня bat файлов, вот написать например такой скрипт, чтобы он через телнет логинился на модем, а там уже перезапускал ppp и прочие нужные рюшечки. в качестве программируемого клиента телнета есть много всего, например тот же zoc.

Зачем zoc (там язык хитрозадый), достаточно plink+vbscript. Хотя мне тоже интересно, какой командой можно перегрузить pppd.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср сен 12, 2007 14:59 
Не в сети

Зарегистрирован: Ср фев 25, 2004 12:49
Сообщений: 32
Откуда: Moscow
to alexc
Цитата:
Ой, я прям прослезился
А что такое "обрыв звязи", может лучше лог закинуть


А чего его закидывать? Проблема у многих возникает.

Цитата:
И уже не факт, что последняя прошивка будет работать лучше предыдущей


Тем не менее, служба поддержки будет рекомендовать переходить на новую прошивку.


to Gusakov_Dmitry
Цитата:
telent клиенты


Телнет лучше не использовать, лучше использовать ssh. Просто так написать скрипт уровня bat не получится, надо передать пароль в ответ на запрос сервера (модема). А вот на perl буквально несколько строчек вместо того "безобразия" что приводилось выше. Могу кинуть скрипт.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср сен 12, 2007 22:37 
Не в сети

Зарегистрирован: Ср фев 25, 2004 12:49
Сообщений: 32
Откуда: Moscow
Следующий скрипт не заработал, я разбиратся не стал, так как модуль Net::SSH::Expect еще сырой, надо писать разработчику:
#!/usr/bin/perl
# cat > /etc/ppp/restartADSL2.pl
# chmod 500 /etc/ppp/restartADSL2.pl
use Net::SSH::Expect;
print("ADSL action ... ");
my $ssh = Net::SSH::Expect->new (
host => "192.168.1.1",
password=> 'Your password',
user => 'root',
raw_pty => 1,
);
my $login_output = $ssh->login();
my $ls = $ssh->exec("reboot");
print($ls);
$ssh->close();
print("done\n");
#---------------------------------------------------
А вот этот скрипт заработал (я использовал более низкий уровень):
#!/usr/bin/perl
# cat > /etc/ppp/restartADSL.pl
# chmod 500 /etc/ppp/restartADSL.pl
use Expect;
print("ADSL action ... ");
my $timeout = 1; my $spawn_ok;
my $exp = new Expect;
$exp->raw_pty(1); $exp->log_stdout(0);
$exp->spawn("ssh -l root 192.168.1.1")
or die "Cannot spawn ssh: $!\n";
$exp->expect($timeout,
[
qr 'password: $',
sub {
$spawn_ok = 1; my $fh = shift;
$fh->send("Your password\n");
exp_continue;
}
],
[
eof =>
sub {
if ($spawn_ok) {
die "ERROR: premature EOF in login.\n";
} else {
die "ERROR: could not spawn ssh.\n";
}
}
],
[
timeout =>
sub {
die "No login.\n";
}
],
'-re', qr'[#] $',
);
$exp->send("reboot\n");
$exp->soft_close();
print("done\n");
#---------------------------------------------------

Но естественно, если так жестко перегрузить модем на работающей линии, то Стрим заблокирует вход на 10 минут, поэтому желательно сначала закрыть сесию.


Последний раз редактировалось NewStep Чт сен 13, 2007 10:11, всего редактировалось 3 раз(а).

Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт сен 13, 2007 09:10 
Не в сети

Зарегистрирован: Вт июл 03, 2007 10:24
Сообщений: 584
Откуда: Советский Союз
Как всё сложно. Разве телнет в 500-м уже отменили? Imho, куда проще в командной строке всё необходимое делать.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт сен 13, 2007 09:50 
Не в сети

Зарегистрирован: Ср фев 25, 2004 12:49
Сообщений: 32
Откуда: Moscow
to CeTKo
Цитата:

Как всё сложно. Разве телнет в 500-м уже отменили? Imho, куда проще в командной строке всё необходимое делать.


Без разницы чем ребутить - телентом или ssh. И в том и другом случае необходимо ввести ручками пароль. А это приводит к том, что обычным скриптом, без дополнительной внешней программы, это сделать нельзя.

Ну а ssh лучше телнета или http тем, что пароль в открытом виде по сети не передается.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт сен 13, 2007 10:18 
Не в сети

Зарегистрирован: Вт июл 03, 2007 10:24
Сообщений: 584
Откуда: Советский Союз
Я не о скрипте говорил - это-то понятно, что он нужен. Решение для telnet/ssh получается заметно проще, чем парсинг html-я - те же putty и teraterm умеют и ssh, и выполнять скрипты.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт сен 13, 2007 10:50 
Не в сети

Зарегистрирован: Ср фев 25, 2004 12:49
Сообщений: 32
Откуда: Moscow
to CeTKo
Цитата:
putty и teraterm

Насчет teraterm не знаю, а вот в putty - пароль ручками imho


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт сен 13, 2007 11:05 
Не в сети

Зарегистрирован: Вт июл 03, 2007 10:24
Сообщений: 584
Откуда: Советский Союз
В putty куда удобнее пользоваться ключами (pagent). Либо есть kitty (по-моему так пишется), которая умеет сама пароль передавать.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт сен 13, 2007 11:13 
Не в сети

Зарегистрирован: Ср фев 25, 2004 12:49
Сообщений: 32
Откуда: Moscow
to CeTKo
Цитата:
В putty куда удобнее пользоваться ключами

Интересно, а куда Вы ключ на модеме пропишите?....
:)
Если бы это было возможно, проблем вообще бы не было, а обычные батники или sh скрпиты пошли бы на ура....


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вс ноя 04, 2007 13:37 
Не в сети

Зарегистрирован: Пн авг 20, 2007 15:24
Сообщений: 19
Когда-то я на скорую руку такой скриптик сваял, может кому пригодится:

---
#!/usr/bin/perl
use Net::Telnet;
$t=new Net::Telnet (timeout=>5);
$t->open("ip модема"); $t->login("логин","пароль");
$t->errmode("return"); $t->cmd("reboot");
---

Но "отладить" не успел - из командной строки запускаешь - модем на ура перегружается. А из cronа - фиг. Быстро понять почему не получилось.


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ Сообщений: 25 ]  На страницу Пред.  1, 2

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 97


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB