Lambert 5 Опубликовано: 2009-02-12 21:50:04 Share Опубликовано: 2009-02-12 21:50:04 ОС: FreeBSD 6.2 Задача: сваять программку, которая по запуску поднимала бы какую-нить ногу LPT-порта в высокий уровень и спустя минуту дропала обратно и завершалась. Это нужно для аппаратной перезагрузки железяки, которой свойственно время от времени зависать Или может кто-то натыкался на готовое решение? Помню, в студенческие годы мы подобное писали, но... заучил, сдал, забыл - сейчас не осилю Спасибо за внимание Ссылка на сообщение Поделиться на других сайтах
Oleg Doneck 94 Опубліковано: 2009-02-12 21:52:26 Share Опубліковано: 2009-02-12 21:52:26 ОС: FreeBSD 6.2Задача: сваять программку, которая по запуску поднимала бы какую-нить ногу LPT-порта в высокий уровень и спустя минуту дропала обратно и завершалась. Это нужно для аппаратной перезагрузки железяки, которой свойственно время от времени зависать Или может кто-то натыкался на готовое решение? Помню, в студенческие годы мы подобное писали, но... заучил, сдал, забыл - сейчас не осилю Спасибо за внимание тебе модем будать? Ссылка на сообщение Поделиться на других сайтах
Lambert 5 Опубліковано: 2009-02-12 22:03:47 Автор Share Опубліковано: 2009-02-12 22:03:47 Да, именно так. Нужно модем ребутать, когда оный зависает и по IP отвечать перестает Ссылка на сообщение Поделиться на других сайтах
Oleg Doneck 94 Опубліковано: 2009-02-13 05:34:53 Share Опубліковано: 2009-02-13 05:34:53 Да, именно так. Нужно модем ребутать, когда оный зависает и по IP отвечать перестает дружище я помню ещё тот топик где ты спрашивал про скрипт который перезагружал модем, кстати я его сваял и он даже пол года проработал, потом модем полетел а новый зависал наглухо, приходилось по питанию перезагружать вобщем самый лучший выход это поставить модем в бридж, после чего с сервака поднять пппое на аплинк и будет тебе такое счастье... этот выход самый лучший потому как 1 все роутерные функции ложатся на сервер 2 модем невиснет - потому как виснуть нечему 3 на одну сетевую карту можно повесить пачку модемов через свитч 4 сесия рвётся раз в сутки а не при каждом зависании модема Ссылка на сообщение Поделиться на других сайтах
frig 2 Опубліковано: 2009-02-13 06:18:23 Share Опубліковано: 2009-02-13 06:18:23 а как на счет мегарешения с открыванием сидюка? пинговалку поставь и все. а на LPT это будет из области того-же сидюка, имхо. Ссылка на сообщение Поделиться на других сайтах
fenix-vt 81 Опубліковано: 2009-02-13 08:12:18 Share Опубліковано: 2009-02-13 08:12:18 пинговалку поставь и все. ага. еквиком такие аппаратные ребутеры делает. проще в разы! Ссылка на сообщение Поделиться на других сайтах
Lambert 5 Опубліковано: 2009-02-13 08:20:05 Автор Share Опубліковано: 2009-02-13 08:20:05 Дык это.. скрипт пинговалки я отстроил, вкрутил в него перезагрузчик через модемную вебморду.. Но за эти несколько месяцев работы выяснилось, что модем иногда умеет зависнуть так, что не отвечает его вебморда Помогает только вырубить на минуту-две и потом опять включить Сейчас думаю над автоматизацией процесса. Скрипт переделать - раз плюнуть, а вот чем подрыгать ножкой порта? Электроники там два ключа, на пять минут работы с паяльником модем - Motorola SB5100 и никаких бриджей оно не умеет Ссылка на сообщение Поделиться на других сайтах
frig 2 Опубліковано: 2009-02-13 08:32:18 Share Опубліковано: 2009-02-13 08:32:18 еквиком такие аппаратные ребутеры делает. проще в разы! smile.gif а дело не в проще а в независимости от того же серванта. его бы тоже можно ребутать. только там не пинговалка нужна а watch dog, наверное... тогда можно построить систему, в которой зависание любого не приводит к зависанию всего. перекрестный контроль! Lambert, я ж говорю - сидюк юзай! шутка, конечно... Ссылка на сообщение Поделиться на других сайтах
wermer 28 Опубліковано: 2009-02-13 08:58:49 Share Опубліковано: 2009-02-13 08:58:49 Писал когда-то для себя такую программулину. Лови исходники. lptsend.txt Ссылка на сообщение Поделиться на других сайтах
Lambert 5 Опубліковано: 2009-02-13 09:05:37 Автор Share Опубліковано: 2009-02-13 09:05:37 Писал когда-то для себя такую программулину.Лови исходники. Спасибо! Вот бы еще подсказал глубокоуважаемый автор, как сие скомпилять.. а то у меня сходу не получилось Ссылка на сообщение Поделиться на других сайтах
wermer 28 Опубліковано: 2009-02-13 09:06:51 Share Опубліковано: 2009-02-13 09:06:51 cc lptsend.txt -o lptsend Ссылка на сообщение Поделиться на других сайтах
frig 2 Опубліковано: 2009-02-13 09:14:32 Share Опубліковано: 2009-02-13 09:14:32 Lambert, поделился бы с общественностью схемой Электроники там два ключа, на пять минут работы с паяльником и инструкцией. обязательно кому-то пригодится. Ссылка на сообщение Поделиться на других сайтах
Lambert 5 Опубліковано: 2009-02-13 10:15:20 Автор Share Опубліковано: 2009-02-13 10:15:20 cc lptsend.txt -o lptsend Спасибо, буду пробовать Только дальше "lptsend.txt: file not recognized: File format not recognized" я пока не продвинулся Ссылка на сообщение Поделиться на других сайтах
fenix-vt 81 Опубліковано: 2009-02-13 14:08:23 Share Опубліковано: 2009-02-13 14:08:23 Спасибо, буду пробоватьТолько дальше "lptsend.txt: file not recognized: File format not recognized" я пока не продвинулся переименуй в lptsend.с Ссылка на сообщение Поделиться на других сайтах
Lambert 5 Опубліковано: 2009-02-13 20:12:56 Автор Share Опубліковано: 2009-02-13 20:12:56 переименуй в lptsend.с Есть Собралось и работает Спасибо! Ссылка на сообщение Поделиться на других сайтах
Lambert 5 Опубліковано: 2009-02-24 19:49:08 Автор Share Опубліковано: 2009-02-24 19:49:08 Если кому-то интересно - могу выложить скрипт и схему управления. Так сказать, краткий ликбез для реализации такого вот костыля. Пока вроде работает как надо, есть правда бока с инициализацией порта при перезагрузке машины - но это я пока не знаю как бороть, да и не буду наверное. Ссылка на сообщение Поделиться на других сайтах
frig 2 Опубліковано: 2009-02-25 06:50:42 Share Опубліковано: 2009-02-25 06:50:42 выложи выложи. даже если сейчас никто не откликнется - потом обязательно кому-то пригодится. Ссылка на сообщение Поделиться на других сайтах
Lambert 5 Опубліковано: 2009-02-25 09:33:30 Автор Share Опубліковано: 2009-02-25 09:33:30 Хорошо. Значит, по сути дела: по крону раз в пять минут запускается скрипт-чекер */5 * * * * /usr/local/etc/scripts/nevolya.sh сам скрипт выглядит так: #!/bin/sh # for host in "82.144.211.1"; do /usr/local/sbin/fping -q $host RV=$? if [ $RV -eq 0 ]; then echo "Link is OK:" `date` >>/var/log/volia.log elif [ ]; then else /usr/local/bin/lptsend -s -d 0 -w 65535 echo "Link is broken at:" `date` >>/var/log/volia.log fi done exit Управление модемом собрано на базе схемки, приведенной ниже перерисовать свою нечем, но вратце расскажу что надо: управляющий выход LPT-порта - STROBE, сигнальный пин №1 земля - пин №18 вместо диода на входе оптопары - гасящий резистор (у меня 1.5К, но надо подбирать под имеющуюся оптопару) реле с нормально замкнутыми контактами, включенными в разрыв цепи питания модема блок питания у модема - 12В, схема кормится от него же Принцип работы всей лабуды прост по крону запускается чекер, пытается пинговать заданный в скрипте айпишник если ответ пришел - гут, выключаемся до следующего раза если нет - запускается lptsend с параметрами, которые выставляют канал STROBE в высокий уровень примерно на минуту схема переключает реле, питание на модем обрывается и оный отдыхает по истечению минуты (или сколько зададите в параметрах запуска lptsend) программа завершается, выход возвращается в состояние нуля, реле отпускается - модем аппаратно перезагружен Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Создайте аккаунт или войдите в него для комментирования
Вы должны быть пользователем, чтобы оставить комментарий
Создать аккаунт
Зарегистрируйтесь для получения аккаунта. Это просто!
Зарегистрировать аккаунтВхід
Уже зарегистрированы? Войдите здесь.
Войти сейчас