PDA

Просмотр полной версии : Роутер D-Link DIR320 / Asus WL500gpV2


Страницы : [1] 2

monstr
16.09.2011, 17:53
Вместе с Malice перехожу на роутер Asus WL500gpv2 (у меня) / D-Link DIR-320 (у него), который будет поддерживать связь и управлять базовыми функциями обсерватории. Тем самым, в планах держать постоянно включенным один комп, а не два. Что положительно скажется на счёте за электроэнергию :). А возможно и на надёжности системы. Плюс, наверное, на удобстве.

Роутер, по сути, представляет из себя маленький компик с линухом внутри. А линух я знаю хорошо. Уже заставил его щёлкать релюшками и общаться с устройствами на usb-com переходниках (самодельный термометр, к примеру). Вебку он уже поддерживает (не все, правда, далеко не все, но ...).

Вот накидал макет страницы, думаю что ещё добавить: http://astro.milantiev.com/router/
Кидайте идеи. :)

Влад
16.09.2011, 17:59
Свет "потушить" нет кнопки.
Можно в домике поставить 2 вэбки по углам напротив? Чтобы иметь полный обзор внутреннего состояния.

monstr
16.09.2011, 18:09
Свет "потушить" нет кнопки.
Можно в домике поставить 2 вэбки по углам напротив? Чтобы иметь полный обзор внутреннего состояния.

Ага, это я только начал делать страницу.
Свет потушим. Ещё управление питанием разных линий (до 8 в сумме с крышей (два канала) и светом)

Ставить вторую вебку придётся через удлинители-хабы и активный хаб на конце, подводить ему питание... в общем, достаточно замороченное занятие. Я б вот лучше объектив у вебки поменял на ширик от охранки какой....

Дядя Вова
17.09.2011, 20:22
Вместе с Malice перехожу на роутер Asus WL500gpv2 (у меня) / D-Link DIR-320 (у него), который будет поддерживать связь и управлять базовыми функциями обсерватории. Тем самым, в планах держать постоянно включенным один комп, а не два. Что положительно скажется на счёте за электроэнергию :). А возможно и на надёжности системы. Плюс, наверное, на удобстве.

Роутер, по сути, представляет из себя маленький компик с линухом внутри. А линух я знаю хорошо. Уже заставил его щёлкать релюшками и общаться с устройствами на usb-com переходниках (самодельный термометр, к примеру). Вебку он уже поддерживает (не все, правда, далеко не все, но ...).

Вот накидал макет страницы, думаю что ещё добавить: http://astro.milantiev.com/router/
Кидайте идеи. :)
О! Оч. интересно!
Может поподробнее опишешь?
Что надо для подключения термометров и Com-портов?
Вебка у тебя тоже на роутере висит?

BorisE
18.09.2011, 01:15
О! Оч. интересно!
Может поподробнее опишешь?
Что надо для подключения термометров и Com-портов?
Вебка у тебя тоже на роутере висит?
Да, очень интересно! Сам сейчас пытаюсь приспособить WL500gP под аналогичные цели.
И если ты сумел подключить к нему вебку, то очень интересно - какую? Потому как единственная вебка, которую моя WL500gP увидела - это ToUCam 2003 года. Из-за этого даже купил ASUS RT-N16, но с ним тоже пока не все гладко...

BorisE
18.09.2011, 13:23
Вместе с Malice перехожу на роутер Asus WL500gpv2 (у меня) / D-Link DIR-320 (у него), который будет поддерживать связь и управлять базовыми функциями обсерватории. Тем самым, в планах держать постоянно включенным один комп, а не два. Что положительно скажется на счёте за электроэнергию :). А возможно и на надёжности системы. Плюс, наверное, на удобстве.

Кидайте идеи. :)
С целью дальнейшего уменьшения счета за электроэнергию: держать и этот компьютер выключенным, и включать из роутера по необходимости.
Я так свой домашний компьютер использую для ресурсоемких операций по обработке снимков - включаю из консоли wl500 командой ether-wake -b <mac address> запускаю через ramdin, например, калибровку серии, а затем по ftp забираю результат. Ну и выключаю, соответственно, из radmin'а.

На твой страничке можно сделать кнопку "Включить компьютер" и поставить индикатор "комьютер включен" (а проверять этот факт можно, например, пробуя открыть на чтение файл из расшаренной папки компьютера )

monstr
18.09.2011, 14:27
Объектив от дверного глазка не пробовал?

Ваня Ионов вскользь сказал, что глазок не подойдёт. Я ещё не изучал сей момент. Но простые ширики для охранок стоят не так дорого:
http://cctvonyx.ru/index.php?categoryID=1957&sort=Price&direction=ASC
у меня валяется парочка, можно их приспособить на герметике...

О! Оч. интересно!
Может поподробнее опишешь?
Что надо для подключения термометров и Com-портов?
Вебка у тебя тоже на роутере висит?

Вебку ещё не запустил. Три те, что у меня есть, не опознались на роутере.
Вот, кстати, список поддерживаемых вебок
http://wiki.hasanov.ru/hardware/network/asus_wl-500g_premium
Можно попробовать скомпилить другие дрова, но это нетривиально.

Железный ком пока не доделал. Точнее, сделал, но нет времени отладить.
Поэтому, пока что запустил на USB-COM. Роутер поддерживает pl2303, ft232 и кой-какие другие usb-uart преобразователями.

Собственно, stty 19200 parodd -F /dev/usb/tts/0 ставит нужную скорость на порту, дальше echo -n "0" > /dev/usb/tts/0 шлёт байт в порт. Плата реле pl001 от purelogic щёлкает 8 реле.

Термометр пока свой кинул через ещё один usb-com. Термометр просто раз в секунду пишет в порт данные 1...8 датчиков. Их можно считывать и сохранять.

Да, очень интересно! Сам сейчас пытаюсь приспособить WL500gP под аналогичные цели.
И если ты сумел подключить к нему вебку, то очень интересно - какую? Потому как единственная вебка, которую моя WL500gP увидела - это ToUCam 2003 года. Из-за этого даже купил ASUS RT-N16, но с ним тоже пока не все гладко...

Собственно, это вопрос программной совместимости, а не аппаратной. Думаю поискать в продаже вебку из списка. Подешевле. Для удалёнки 640х480 более чем достаточно, вопрос в объективе, матрицы вебок не сильно отличаются - обычно это 1/5" или мельче. Её любой объектив покроет с запасом.

monstr
18.09.2011, 14:33
С целью дальнейшего уменьшения счета за электроэнергию: держать и этот компьютер выключенным, и включать из роутера по необходимости.
Я так свой домашний компьютер использую для ресурсоемких операций по обработке снимков - включаю из консоли wl500 командой ether-wake -b <mac address> запускаю через ramdin, например, калибровку серии, а затем по ftp забираю результат. Ну и выключаю, соответственно, из radmin'а.

На твой страничке можно сделать кнопку "Включить компьютер" и поставить индикатор "комьютер включен" (а проверять этот факт можно, например, пробуя открыть на чтение файл из расшаренной папки компьютера )

Это хорошо, если за бортом выше ~-10 градусов. А если холодней, комп скорей всего не заведётся вовсе :(.

Для уменьшения энергопотребления я думаю найти бук с убитым экраном. Ну или убить его самому первой же зимой :), заодно имея наконец-то ответ на вопрос: убивает ли мороз TFT телеки или нет.

Комп я щас уже могу включать, коммутируя его 220В. В BIASе ставлю "включаться по появлению питания", а выключаю комп обычным образом через Пуск / Выключение. Но только ... см. выше. :)

Фотка: http://photo.milantiev.com/big.php?file=1663-9&max=7

monstr
21.09.2011, 10:13
С вебкой в роутер, и правда, пока косяк. Пока не было времени заняться вплотную. Поискал в продаже в М камеры из списка, нашёл только бу на авито.ру.
Всё-таки, не до конца понятно, почему в достаточно свежей прошивке нет современных модулей (драйверов) камер. Попробую собрать нужный модуль самостоятельно.

UPD:
Загуглил на тему "WL500 UVC", получил кучу ссылок на тему: "обновим прошивку на последнюю, там есть UVC (usb video camera), но взамен вырезаны самба, фтп, что-то ещё. В принципе, я этим всем не пользуюсь. Думаю, обновить прошивку на эту: http://code.google.com/p/wl500g/wiki/News , точней для моей железки, эту: http://code.google.com/p/wl500g/downloads/detail?name=WL500gpv2-1.9.2.7-rtn-r3300.trx&can=2&q= (обновлена 4 дня назад).

UVC - это почти все современные дешёвые вебки. В частности, на нормальном линухе я через uvccapture запускал эту дешёвую вебку с микрофоном: http://www.oldi.ru/catalog/element/0173226/ , у меня их две :).

Правда, пишут, что нет бинарной совместимости со старыми прошивками, то есть придётся переставлять весь софт на флешке. Но я не так много установил, переставлю.

monstr
21.09.2011, 22:43
Схемку обсерватории набросал.
Все компоненты есть, на днях начну собирать.

Слева-направо:
- блок реле-исполнителей от Purelogic.ru PL001 (опробован);
- рядом с ним: их же блок событий, PL002 (ещё не пробовал);
- далее: семипортовый активный USB-хаб Dlink (пока кручу на четырёхпортовом, не суть);
- роутер (уже работал с двумя, оба в названии темы);
- комп обсерватории (тут всё понятно).

USB устройства на роутере:
- флешка 8Гб вместо его винта;
- вебка (буду пробовать свою uvc). В принципе, если запустится одна, запустится и две;
- skylink модем (уже работает два разных модема);
- два шнурка usb-com на pl2303 (опробованы, работают). Лучше, конечно, найти или собрать свои на ft232 (знаю где продаётся за 550р). Оба чипа поддерживаются текущей прошивкой роутеров;
- термодатчик с ком-портом, вот этот (http://photo.milantiev.com/?dir=1355) - меряет температуру в 1...8 точках, пишет в ком-порт, роутер пишет это в файл, файл доступен в вебе.

Дядя Вова
21.09.2011, 23:59
monstr,
была речь про зависания роутера http://www............../forum/index.php/topic,59362.msg1563245.html#msg1563245
У меня Dir-320 точно пару раз зависал.

И в этой методе активный хаб - вредность, как я понял.
Но замечал, что при перезагрузке роутера активный хаб (Dlink 7 портовый у меня) тоже перезапускается, как и модем.

monstr
22.09.2011, 08:55
monstr,
была речь про зависания роутера http://www............../forum/index.php/topic,59362.msg1563245.html#msg1563245
У меня Dir-320 точно пару раз зависал.

И в этой методе активный хаб - вредность, как я понял.
Но замечал, что при перезагрузке роутера активный хаб (Dlink 7 портовый у меня) тоже перезапускается, как и модем.

Питание роутера (точнее всей нижней розетки) коммутируется компом (правой PL001), у которого свой GPRS свисток. Ежли уж совсем всё будет печально и не поможет встроенный watchdog.

Malice
22.09.2011, 10:19
Схемку обсерватории набросал.
Все компоненты есть, на днях начну собирать.

:vo:vo:vo:vo:vo:vo:vo:vo


- термодатчик с ком-портом, вот этот (http://photo.milantiev.com/?dir=1355) - меряет температуру в 1...8 точках, пишет в ком-порт, роутер пишет это в файл, файл доступен в вебе.

Олег, дык в итоге, COM-порт, который ты распаял на роутере под какое устройство? Я думал, что на "честный" COM посадим PLA001, а градусник и PLA002(плата внешних событий - для тех, кто в танке :) на USB через USB-COM переходники?

monstr,
была речь про зависания роутера http://www............../forum/index.php/topic,59362.msg1563245.html#msg1563245
У меня Dir-320 точно пару раз зависал.
Дядя Вова, скажите, как часто это происходило? Сбросили потом по питанию? У меня роутер пока только пару недель без выключения работал, глюков не наблюдал. У Вас прошивка от Олега? У меня последняя релизная, началом 2011 года датируется.

И в этой методе активный хаб - вредность, как я понял.
Но замечал, что при перезагрузке роутера активный хаб (Dlink 7 портовый у меня) тоже перезапускается, как и модем.

Там, в веб-интерфейсе роутера, в настройках модема, можно установить, что бы модем, после 5-ти неудачных реконнектов, сбрасывался. У меня инет не зависал ни разу за эти две недели. Судя по всему, работает :)

Я так свой домашний компьютер - включаю из консоли wl500 командой ether-wake -b <mac address> запускаю через ramdin, например, калибровку серии, а затем по ftp забираю результат. Ну и выключаю, соответственно, из radmin'а.

Очень интересно, Борис! То есть, Вы говорите, что можете с роутера ВКЛючать компьютер по команде из консоли? Для этого, я так понимаю, нужна сетевая карта с поддержкой WOL (http://ru.wikipedia.org/wiki/Wake-on-LAN#.D0.A2.D1.80.D0.B5.D0.B1.D0.BE.D0.B2.D0.B0.D0. BD.D0.B8.D1.8F_.D0.BA_.D0.BA.D0.BE.D0.BC.D0.BF.D1. 8C.D1.8E.D1.82.D0.B5.D1.80.D1.83_.D0.B4.D0.BB.D1.8 F_.D1.80.D0.B0.D0.B1.D0.BE.D1.82.D1.8B_.D1.81_Wake-on-LAN)? Или У вас имеется для этой цели какая-то аппаратная поддержка?

Я для этой цели собираюсь подпаяться к кнопкам reset и power и управлять ими при помощи PLA001.

глазок не подойдёт. Я ещё не изучал сей момент. Но простые ширики для охранок стоят не так дорого:
http://cctvonyx.ru/index.php?categoryID=1957&sort=Price&direction=ASC
у меня валяется парочка, можно их приспособить на герметике... Зачем герметик? На вебках резьба М12 и объективы с таким же посадочным местом. Опробовал ширик 2,8 мм. - результат положительный! Гоооораздо шире, чем штатный. Фокусируется нормально. Такие объективы можно прикручивать почти к любой вебке. Купил еще один :), еще шире - 2,1 мм., пока не опробовал, но, похоже, что это то, что надо. Запятых то соколько#-oКак роутер Олег доделает, могу показать скрины этих объективов.

Сегодня заказал аж ТРИ камеры из списка (http://wiki.hasanov.ru/hardware/network/asus_wl-500g_premium), хочется закрыть этот вопрос побыстрее. :p

Кирилл.

monstr
22.09.2011, 10:54
Верно, на "железный" ком-порт: http://photo.milantiev.com/?dir=1663 повесим самую ответственную часть - плату реле PLA001.

> Сегодня заказал аж ТРИ камеры из списка, хочется закрыть этот вопрос побыстрее.
Ок. Тогда, пока что, не перешиваю твой роутер на прошивку с поддержкой UVC вебок.

> Я для этой цели собираюсь подпаяться к кнопкам reset и power и управлять ими при помощи PLA001.
Мне кажется, ресет - перебор. В редких случаях необходимости сброса компа я использую выключение на 20 секунд питания (220). Включается комп сам по подаче питания, согласно настройкам в биосе.

Malice
22.09.2011, 12:45
В редких случаях необходимости сброса компа я использую выключение на 20 секунд питания (220). Включается комп сам по подаче питания, согласно настройкам в биосе.

Ученье свет!
Не знал, что так можно с биосом. Думал включать буду с кнопки...

BorisE
22.09.2011, 13:01
Очень интересно, Борис! То есть, Вы говорите, что можете с роутера ВКЛючать компьютер по команде из консоли? Для этого, я так понимаю, нужна сетевая карта с поддержкой WOL (http://ru.wikipedia.org/wiki/Wake-on-LAN#.D0.A2.D1.80.D0.B5.D0.B1.D0.BE.D0.B2.D0.B0.D0. BD.D0.B8.D1.8F_.D0.BA_.D0.BA.D0.BE.D0.BC.D0.BF.D1. 8C.D1.8E.D1.82.D0.B5.D1.80.D1.83_.D0.B4.D0.BB.D1.8 F_.D1.80.D0.B0.D0.B1.D0.BE.D1.82.D1.8B_.D1.81_Wake-on-LAN)? Или У вас имеется для этой цели какая-то аппаратная поддержка?
Как я понимаю, уже много лет все материнские платы имеют поддержку Wake-on-Lan (ее только надо включить в BIOS'е). И все. Вышеуказанная команда отлично будит компьютер :)

Сегодня заказал аж ТРИ камеры из списка (http://wiki.hasanov.ru/hardware/network/asus_wl-500g_premium), хочется закрыть этот вопрос побыстрее. :p
Не подскажите где именно?

Кстати, насчет надежности роутеров. Про Dir320 ничего не могу сказать, но WL500gP у меня с 2009 года сначала на прошивке "от Олега", а затем на ее развитии "от энтузиастов" - роутер перегружал всего несколько раз и то, это касалось отваливания WiFi, простой ethernet работал. А вот за полгода на RT-N16, несмотря на заметно более мощное железо, WiFi слетал уже раз 5. Но опять же, проводной доступ работает без проблем.

Malice
22.09.2011, 13:20
Не подскажите где именно?

Web-камера HERCULES Hercules Classic (http://www.citilink.ru/search/?text=563282+) - эту уже купил, если она подойдет, другие брать не буду.

HP Pro Webcam (1.3Mpixl), 640x480(VGA) at 30fps (http://serveroom.ru/catalog/computer/EA340521-1B8B-48A2-9B46-656DDEDC74BD/009007-258/)

Web-камера Logitech Web Labtec 1200 USB (http://kib-net.ru/shop/multimedia/webcam/005119.html?sphrase_id=1229)

Пожалста.

Дядя Вова
22.09.2011, 20:45
:vo:vo:vo:vo:vo:vo:vo:vo
Дядя Вова, скажите, как часто это происходило? Сбросили потом по питанию? У меня роутер пока только пару недель без выключения работал, глюков не наблюдал. У Вас прошивка от Олега? У меня последняя релизная, началом 2011 года датируется.



Там, в веб-интерфейсе роутера, в настройках модема, можно установить, что бы модем, после 5-ти неудачных реконнектов, сбрасывался. У меня инет не зависал ни разу за эти две недели. Судя по всему, работает :)

Кирилл,
за лето пару раз вис. Но второй раз не была установлена галка "Call on Demand"

Сегодня пытался подключить камеру pcvc740. Не получилось. Может потому, что почему-то не переключается драйвер. Пытался поставить прошивку поновее - перестал подключаться модем :( Откатился на WL500gpv21.9.2.7-d-r2624)

Кстати, вопрос: мне не попадалась инфа в чем разница в прошивках с буквами -d- и -rtn-? Для разных роутеров DIR-320 и RTN-16?

Ed_Vazhorov
23.09.2011, 13:25
Советую сразу же заменить стандартный блок питания роутера на другой, более мощный и надежный аналог (мы для своего ASUS N11 покупали импульсный Robiton 2А).
Как показывает практика, стандартные б/п у последних изделий ASUS из числа роутеров не справляются с нагрузками и устройство начинает глючить, вешает сеть по WiFi и т.п..

monstr
23.09.2011, 14:40
Кирилл,
за лето пару раз вис. Но второй раз не была установлена галка "Call on Demand"

Сегодня пытался подключить камеру pcvc740. Не получилось. Может потому, что почему-то не переключается драйвер. Пытался поставить прошивку поновее - перестал подключаться модем :( Откатился на WL500gpv21.9.2.7-d-r2624)

Кстати, вопрос: мне не попадалась инфа в чем разница в прошивках с буквами -d- и -rtn-? Для разных роутеров DIR-320 и RTN-16?

D старое ядро, как я понял. rtn посовременней.
Первая камера из списка не пошла, буду изучать что я делаю не так.

А вообще хочется обновить до r3300 или 3150, там есть поддержка современных камер.
http://code.google.com/p/wl500g/ - сама прошивка

http://wl500g.info/showthread.php?t=24814&highlight=uvc - про uvc-камеры на этой прошивке

http://roboforum.ru/wiki/DIR-320 - про установку камеры (в т.ч.) на довольно старой куцой прошивке.

или вообще openwrt поставить. Это ещё одна "прошивка для роутеров": http://linuxpc.info/node/68 . Там тоже uvc есть.

Пугает другое. Говорят, вебка сильно напрягает роутер. А это значит, понизится надёжность, повысится потребление. Которое напрямую связано с нагрузкой на БП, как верно замечено постом выше.

---------

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

monstr
23.09.2011, 17:26
Источник: http://code.google.com/p/wl500g/

1.9.2.7-d - стабильная, на ядре 2.4.37, развитие приостановлено
1.9.2.7-rtn - основная, на ядре 2.6.22, для устройств RT-N16, RT-N12, RT-N10, WL-500gP, WL-500W

BorisE
23.09.2011, 18:31
Источник: http://code.google.com/p/wl500g/
Дополню: на форумах (wl500g.info и др.) первая называтеся "прошивка от Олега", а вторую (-rtn) называют "развитие прошивки от Олега от энтузиастов". Я использую и на wl500gP, и rt-16n именно ее.

Дядя Вова
23.09.2011, 19:37
Установил веб-сервер с php на роутер, перекинул туда свою страничку, протестил запуск скриптов. Кажется, буду на даче в выходные, помучаю свою железку.
Ха! Я тоже сегодня это сделал. "Скрипт для чайника". И как раз правил там страничку встроенными средствами.
А твоя страничка в первом посте беззубая же! Вставь туда ту команду обращения к com- порту. Хочется попробовать.

Дядя Вова
23.09.2011, 19:47
Дополню: на форумах (wl500g.info и др.) первая называтеся "прошивка от Олега", а вторую (-rtn) называют "развитие прошивки от Олега от энтузиастов". Я использую и на wl500gP, и rt-16n именно ее.
У меня -rtn- не шьется чото :(

monstr
23.09.2011, 23:04
Только что успешно прошил 1.9.2.7-rtn-r3300 (последняя). Раздел вебкамер теперь выглядит так (аттач).

Модем (Anydata A310 - скайлинк) переподключать не пришлось, сразу в инете. Щас попробую вебку подцепить. Есть три штуки тут. С прошлой прошивкой все три отказались работать.

----------

Камера сразу определилась.


Sep 23 19:04:53 kernel: usb 1-1.1.3: new high speed USB device using ehci_hcd and address 6
Sep 23 19:04:53 kernel: usb 1-1.1.3: configuration #1 chosen from 1 choice
Sep 23 19:04:53 kernel: uvcvideo: Found UVC 1.00 device USB2.0 Camera (1871:01f0)
Sep 23 19:04:53 kernel: input: USB2.0 Camera as /class/input/input0
Sep 23 19:04:54 USB webcam: attached

Попыталась запуститься прога стриминга (мне она не нужна, буду пользоваться прогой захвата кадров). Буду искать где стереть её запуск.

Sep 23 19:05:03 MJPG-streamer [482]: starting application
Sep 23 19:05:03 MJPG-streamer [482]: enabling daemon mode
Sep 23 19:05:03 MJPG-streamer [484]: MJPG Streamer Version.: 2.0
Sep 23 19:05:03 MJPG-streamer [484]: Using V4L2 device.: /dev/video0
Sep 23 19:05:03 MJPG-streamer [484]: Desired Resolution: 320 x 240
Sep 23 19:05:03 MJPG-streamer [484]: Frames Per Second.: 1
Sep 23 19:05:03 MJPG-streamer [484]: Format............: MJPEG
Sep 23 19:05:03 MJPG-streamer [484]: init_VideoIn failed

monstr
23.09.2011, 23:12
Переключил в YUV (говорят, есть много проца, щас проверю). Вебка сразу заработала. Чё я такой зелёный на снимке - не важно, вебка ~300р стоит :), главное что это первая попавшаяся вебка и она работает.

----------

лог сервера

Sep 23 19:06:43 MJPG-streamer [523]: starting application
Sep 23 19:06:43 MJPG-streamer [523]: enabling daemon mode
Sep 23 19:06:43 MJPG-streamer [525]: MJPG Streamer Version.: 2.0
Sep 23 19:06:43 MJPG-streamer [525]: Using V4L2 device.: /dev/video0
Sep 23 19:06:43 MJPG-streamer [525]: Desired Resolution: 320 x 240
Sep 23 19:06:43 MJPG-streamer [525]: Frames Per Second.: 1
Sep 23 19:06:43 MJPG-streamer [525]: Format............: YUV
Sep 23 19:06:43 MJPG-streamer [525]: JPEG Quality......: 50
Sep 23 19:06:43 MJPG-streamer [525]: www-folder-path...: disabled
Sep 23 19:06:43 MJPG-streamer [525]: HTTP TCP port.....: 7776
Sep 23 19:06:43 MJPG-streamer [525]: username:password.: disabled
Sep 23 19:06:43 MJPG-streamer [525]: commands..........: enabled
Sep 23 19:06:43 MJPG-streamer [525]: starting input plugin
Sep 23 19:06:43 MJPG-streamer [525]: starting output plugin: output_http.so (ID: 00)
Sep 23 19:06:45 MJPG-streamer [525]: serving client: 192.168.1.2
(1.2 - это комп с которого я заходил)

top (загрузка проца)

Load average: 0.12 0.08 0.12 2/34 529
PID PPID USER STAT VSZ %MEM %CPU COMMAND
525 1 monstr S 8328 29% 12% mjpg_streamer -b -p /var/run/rcamd.pid
529 465 monstr R 1380 5% 0% top
360 1 monstr S 1580 5% 0% watchdog
1 0 monstr S 1560 5% 0% /sbin/init
426 359 monstr S 1536 5% 0% pppd call wan0_pppd
359 1 monstr S 1396 5% 0% /bin/bash /usr/ppp/dial wan0_

12...15% без клиента. Щас подключусь

То же самое.

Это гут. Я где-то увидел 100% загрузки проца. Так, конечно, не годилось бы.

monstr
23.09.2011, 23:15
Да, железка у меня WL500gpV2. Белая с 8Мб флеша и 2USB портами.

Дядя Вова
24.09.2011, 13:50
Только что успешно прошил 1.9.2.7-rtn-r3300 (последняя). Раздел вебкамер теперь выглядит так (аттач).

Модем (Anydata A310 - скайлинк) переподключать не пришлось, сразу в инете. Щас попробую вебку подцепить. Есть три штуки тут. С прошлой прошивкой все три отказались работать.

Dir 320 очередная попытка прошить - 1.9.2.7-rtn-r3015M Удачно. Но видимо это адаптированная под dir320: http://www.wl500g.info/showthread.php?t=17641
До 3300 поднятся не удалось.

Модем определился, но незаработал пришлось вид/пид ручками прописать.
Камера Филипс740 - загорелся светодиод, но превью не показывает.

Отличия от лога monstra:Sep 24 13:47:06 kernel: usb 1-1.7: configuration #1 chosen from 1 choice
Sep 24 13:47:06 MJPG-streamer [724]: starting application
Sep 24 13:47:06 MJPG-streamer [724]: enabling daemon mode
Sep 24 13:47:06 MJPG-streamer [726]: MJPG Streamer Version.: 2.0
Sep 24 13:47:06 MJPG-streamer [726]: Using V4L2 device.: /dev/video0
Sep 24 13:47:06 MJPG-streamer [726]: Desired Resolution: 320 x 240
Sep 24 13:47:06 MJPG-streamer [726]: Frames Per Second.: 1
Sep 24 13:47:06 MJPG-streamer [726]: Format............: YUV
Sep 24 13:47:06 MJPG-streamer [726]: JPEG Quality......: 50
Sep 24 13:47:06 MJPG-streamer [726]: init_VideoIn failed
Sep 24 13:47:06 miniupnpd[475]: ioctl(s, SIOCGIFADDR, ...): Cannot assign requested address
Sep 24 13:47:07 miniupnpd[475]: ioctl(s, SIOCGIFADDR, ...): Cannot assign requested address
Sep 24 13:47:08 miniupnpd[475]: ioctl(s, SIOCGIFADDR, ...): Cannot assign requested address
Sep 24 13:47:09 miniupnpd[475]: ioctl(s, SIOCGIFADDR, ...): Cannot assign requested address
Sep 24 13:47:10 miniupnpd[475]: ioctl(s, SIOCGIFADDR, ...): Cannot assign requested address

А у удачливого monstrа:
Sep 23 19:06:43 MJPG-streamer [523]: starting application
Sep 23 19:06:43 MJPG-streamer [523]: enabling daemon mode
Sep 23 19:06:43 MJPG-streamer [525]: MJPG Streamer Version.: 2.0
Sep 23 19:06:43 MJPG-streamer [525]: Using V4L2 device.: /dev/video0
Sep 23 19:06:43 MJPG-streamer [525]: Desired Resolution: 320 x 240
Sep 23 19:06:43 MJPG-streamer [525]: Frames Per Second.: 1
Sep 23 19:06:43 MJPG-streamer [525]: Format............: YUV
Sep 23 19:06:43 MJPG-streamer [525]: JPEG Quality......: 50
Sep 23 19:06:43 MJPG-streamer [525]: www-folder-path...: disabled
Sep 23 19:06:43 MJPG-streamer [525]: HTTP TCP port.....: 7776
Sep 23 19:06:43 MJPG-streamer [525]: usernameassword.: disabled
Sep 23 19:06:43 MJPG-streamer [525]: commands..........: enabled
Sep 23 19:06:43 MJPG-streamer [525]: starting input plugin
Sep 23 19:06:43 MJPG-streamer [525]: starting output plugin: output_http.so (ID: 00)
Sep 23 19:06:45 MJPG-streamer [525]: serving client: 192.168.1.2

Дядя Вова
25.09.2011, 00:08
Откатился на 1.9.2.7-d-r2624, т.к. перестал работать веб-сервер. Запустил опять "скрипт для чайников". Через некоторое время обнаружил, что работает камера. Рецептом поделиться не могу - только догадки.

monstr
25.09.2011, 20:38
Верно, httpd вырезали.

Вот, только что повторил твой путь:
----------------------------------------------------------------------

Пробовал прошить DIR320 под UVC камеру.

http://vampik.ru/proshivka-dlya-d-link-dir-320/
- качнул последнюю, то есть DIR320-1.9.2.7-d-r2985M.trx

- загрузил её в роутер. Проверил. Тот 1.9.2.7-d-r2985M, всё ок.
глянул в веб-интерфейс/веб-камеру, там старьё...

- пошёл на старлаб, там Дядя Вова пишет, что камера у него завелась.
http://starlab.ru/showpost.php?p=426708&postcount=28
http://www.wl500g.info/showthread.php?t=17641

- через tftp и спичку перешил. Проверил - 1.9.2.7-rtn-r3015M, перешился стало быть

- глянул в usb-вебкамеру - то, что надо.

- зашёл в консоль, там tail -f /tmp/syslog.log

- воткнул первую попавшуюся вебку..
Jan 1 03:01:46 kernel: usb 1-1: new high speed USB device using ehci_hcd and address 2
Jan 1 03:01:46 kernel: usb 1-1: configuration #1 chosen from 1 choice
Jan 1 03:01:46 USB audio: attached
То есть, не видна как вебка.

- воткнул другую.
Жизнь наладилась
Jan 1 03:03:06 kernel: usb 1-1: USB disconnect, address 2
Jan 1 03:05:07 kernel: usb 1-1: new high speed USB device using ehci_hcd and address 3
Jan 1 03:05:07 kernel: usb 1-1: configuration #1 chosen from 1 choice
Jan 1 03:05:08 USB webcam: attached

- пошёл в интерфейс
Jan 1 03:07:46 MJPG-streamer [352]: starting application
Jan 1 03:07:46 MJPG-streamer [352]: enabling daemon mode
Jan 1 03:07:46 MJPG-streamer [354]: MJPG Streamer Version.: 2.0
Jan 1 03:07:46 MJPG-streamer [354]: Using V4L2 device.: /dev/video0
Jan 1 03:07:46 MJPG-streamer [354]: Desired Resolution: 320 x 240
Jan 1 03:07:46 MJPG-streamer [354]: Frames Per Second.: 1
Jan 1 03:07:46 MJPG-streamer [354]: Format............: MJPEG
Jan 1 03:07:46 MJPG-streamer [354]: init_VideoIn failed
в обоих доступных режимах вебка не работает :(

- воткнул для теста третью вебку - ничего не поменялось

- ищу теперь, как поженить uvc на этом урезаном роутере.
Вот что из него вырезали:
http://wl500g.info/showthread.php?t=26479

Принял решение о замене роутера. 4Мб очень мало. Этот тоже можно куда-нить применить. К примеру, как выделенный веб-сервер с usb-sata переходником и винтом 2Тб :).

Дядя Вова
25.09.2011, 22:24
Олег,
а разве у тебя D-Link роутер, что-то я думал, что АSUSWL500
Хм.

Так вот. делюсь наблюдением - камера работает ПОСЛЕ ВТЫКАНИЯ В РОУТЕР. Т.е. если ты перезагрузился, а камеру не переткнул, то не факт, что заработает.

Еще. Видел, что камера определяется вместе с модемом (USB location 1.7). Возможно, что именно тогда она и не работает. Вот сейчас камера работает и обзоре модемов камеры нет.

Напомню. У меня на DIR-320 прошивка WL500gpv2-1.9.2.7-d-r2624.trx

monstr
25.09.2011, 22:34
Олег,
а разве у тебя D-Link роутер, что-то я думал, что АSUSWL500
Хм.

Так вот. делюсь наблюдением - камера работает ПОСЛЕ ВТЫКАНИЯ В РОУТЕР. Т.е. если ты перезагрузился, а камеру не переткнул, то не факт, что заработает.

Еще. Видел, что камера определяется вместе с модемом (USB location 1.7). Возможно, что именно тогда она и не работает. Вот сейчас камера работает и обзоре модемов камеры нет.

Напомню. У меня на DIR-320 прошивка WL500gpv2-1.9.2.7-d-r2624.trx
У меня сейчас их два :), роутера.
Один мой, wl500gpv2 стоит на даче.

Второй, Кирилла (Malice), лежит дома. С ним и экспериментировал.

Честно сказать, всё чаще возвращаюсь к мысли "нафига козе баян". В том плане, что раньше я достаточно уверенно думал "зачем нужны эти недолинухи на ограниченных железках, если можно купить нетбук и крутить полноценный линух на нём?". Потом мысль, уж не помню почему, пошла по пути "железка всё ж стабильней и шустрей... особенно важна надёжность".

А теперь я вижу ограниченное по возможностям железо с странными на сегодня параметрами, типа 32Мб ОЗУ против современных ~гигабайт и т.п.
Сравнивать цену тоже не совсем корректно - WL500gpV2 обошёлся мне в 2000р, жаль мои асусы eeePC701 перестали продавать, он мне обошёлся в 4500р, но годик...два назад.

Есть о чём подумать...

Дядя Вова
26.09.2011, 00:30
Воткнутая и включившаяся камера грузит проц на 50%. Независимо от настроек в веб-интерфейсе. :(

Malice
26.09.2011, 01:43
Я пошел в гамазин... Что брать бум?

Malice
26.09.2011, 05:19
Я вот, ято подумал. Возможно ли будет пользоваться вебкой только тогда, когда она нужна? Ведь ели вебка подключена к роутеру, то она полюбому будет тормозить его, да же если картинка не выводится на монитор? Ели так, тогда; Релюхами управления Олег уже может щелкать через роутер, коммутировать USB-устройства прм помощи реле, вроде, то же получается(правда именно вебку я не пробовал, надо испытать. То есть, по мере необходимости, можно подключать/отключать вебку от роутера только тогда, когда надо посмотреть, скажем,расположение трубы скопа или проконтролировать закрытие/открытме крыши.

Все таки, тема об использовании некоего устройства, которое, изначально, было рссчитано для раздачи инета и, как максимум, принт-сервер. На мой взгляд, Господа, это предел для устройств из данной железячно-ценовой категории.

Изначально была поставлена задача, что бы избавиться от второго компа в удаленно управляемой обсерватории. Для этой цели и были приобретены роутеры. Задача решена целиком и полностью (!), не считая оставщихся острых углов, которые мы обязательно стешем в процессе эксплуатации!!!

Дядя Вова, DIR-320 тормозит оч. сильно с вебкой? Даже если картинку с камеры сильно минимизировать? Возможно ли в это время вообще то работать с роутером?

Кирилл.

monstr
26.09.2011, 08:51
Воткнутая и включившаяся камера грузит проц на 50%. Независимо от настроек в веб-интерфейсе. :(

Хм... Вероятно, это зависит от вебки. А может длинк и правда медленней асуса.
У меня максимум ~15%.

top (загрузка проца)

Load average: 0.12 0.08 0.12 2/34 529
PID PPID USER STAT VSZ %MEM %CPU COMMAND
525 1 monstr S 8328 29% 12% mjpg_streamer -b -p /var/run/rcamd.pid

12...15% без клиента. Щас подключусь

То же самое.


Я пошел в гамазин... Что брать бум?

Асус WL500gpV2, белый. Два USB на борту и, главное, 8Мб флеш.
Плюс ещё, он мне уже знаком.

Я вот, ято подумал. Возможно ли будет пользоваться вебкой только тогда, когда она нужна? Ведь ели вебка подключена к роутеру, то она полюбому будет тормозить его, да же если картинка не выводится на монитор? Ели так, тогда; Релюхами управления Олег уже может щелкать через роутер, коммутировать USB-устройства прм помощи реле, вроде, то же получается(правда именно вебку я не пробовал, надо испытать. То есть, по мере необходимости, можно подключать/отключать вебку от роутера только тогда, когда надо посмотреть, скажем,расположение трубы скопа или проконтролировать закрытие/открытме крыши.

Все таки, тема об использовании некоего устройства, которое, изначально, было рссчитано для раздачи инета и, как максимум, принт-сервер. На мой взгляд, Господа, это предел для устройств из данной железячно-ценовой категории.

Изначально была поставлена задача, что бы избавиться от второго компа в удаленно управляемой обсерватории. Для этой цели и были приобретены роутеры. Задача решена целиком и полностью (!), не считая оставщихся острых углов, которые мы обязательно стешем в процессе эксплуатации!!!

Дядя Вова, DIR-320 тормозит оч. сильно с вебкой? Даже если картинку с камеры сильно минимизировать? Возможно ли в это время вообще то работать с роутером?

Кирилл.

Её можно будет отключать програмно, если проблема будет замечена (см. выше).
К тому же, даже при 100% загрузке проца программой вебки, можно задать ей низкий приоритет, чтобы она не мешала окружающим её программам.

Дядя Вова
26.09.2011, 10:12
Дядя Вова, DIR-320 тормозит оч. сильно с вебкой? Даже если картинку с камеры сильно минимизировать? Возможно ли в это время вообще то работать с роутером?

Кирилл.
На глаз незаметно, что тормозит. Если Олег даст методу, то я померяю.
Как отключать-подключать тоже непонятно.

Олег, еще раз спрашиваю. Ткни пальцем как с .php страницы шнурок USB-COM читать-писать. И как определить куда он подключен, чтобы в модем не впилиться.

Malice
26.09.2011, 14:21
Как отключать-подключать тоже непонятно.

Дык в его наглой, роутеровской :) веб-морде, там про модем есть и отдельно про вебки. Самое простое отключить оттуда.

Дядь Вов, расскажите пожалуйста, что бы мне мой DIR-320 не выбрасывать, а приспособить еще где-нибудь (обогрев на даче загодя включать, температуру можно посмотреть, ну и так, за порядком),какая именно вебка заработала, какую прошивку ставил, с бубнами ставил иль голосом заклинал :), что да как, скрипты там? В общем, попрошу Вас рассказать по-шагово, если можно...

Кирилл.

Дядя Вова
26.09.2011, 15:09
Дык в его наглой, роутеровской :) веб-морде, там про модем есть и отдельно про вебки. Самое простое отключить оттуда.

выше писал, что не отключается и не подключается из наглой морды. (хотя вот сейчас перезагрузил роутер, камера заработала сама, т.е. перетыкать руками разъем не пришлось)

Дядь Вов, расскажите пожалуйста, что бы мне мой DIR-320 не выбрасывать, а приспособить еще где-нибудь (обогрев на даче загодя включать, температуру можно посмотреть, ну и так, за порядком),какая именно вебка заработала, какую прошивку ставил, с бубнами ставил иль голосом заклинал :), что да как, скрипты там? В общем, попрошу Вас рассказать по-шагово, если можно...


Кирилл, как я понял твой DIR-320 Олег по моей подсказке прошивал. Хотя нет. Вижу, что он в другими прошивками балуется.

Мне этот роутер для дачи и нужен. Вопрос про термометры я еще не поднимал "это следующим этапом". Но для тренировки хочу электросчетчик подключить.

Напомню. У меня на DIR-320 прошивка WL500gpv2-1.9.2.7-d-r2624.trx

monstr
26.09.2011, 15:17
На глаз незаметно, что тормозит. Если Олег даст методу, то я померяю.
Как отключать-подключать тоже непонятно.

Олег, еще раз спрашиваю. Ткни пальцем как с .php страницы шнурок USB-COM читать-писать. И как определить куда он подключен, чтобы в модем не впилиться.

В занятой порт ты писать не сможешь, подключенному модему не помешаешь, тут проблемы нет. Но есть проблема сползания ком-портов при пропадании устройств.
В линухе usb-ком-порты сейчас нумеруются как /dev/usb/tts/0 , потом 1, потом 2 и т.д. Допустим, загрузили роутер со всем железом, он первым поднял дрова модема, дал тому tts/0 и tts/1 (у него два порта). Дальше он поднял драйвер usb-com шнурка на pl2303, дал тому порт tts/2.
Эти порты не будут меняться, если устройство перегрузить, но могут меняться если, к примеру, повиснет модем и отключится от USB. Хотя, и этот случай, стоит проверить, возможно tts/2 останется закреплённым за usb-com шнурком.
Я пока что не собирал весь макет целиком, только отлаживал его компоненты - в выхи был занят убиением своей монти и покраской части дома :)

Из php можно выполнять любые шеловские команды. Нам нужно выполнить команду для установки скорости порта (можно не через php, а в стартовых скриптах):
stty 19200 parodd -cstopb -F /dev/usb/tts/0 (это для PLA001 на первом порту)
Дальше есть два метода. Или выполнить команду
echo -n "0" > /dev/usb/tts/0 (но вместо "0" нужный код), или же открыть файл /dev/usb/tts/0 на запись и слать туда нужные байты средствами PHP, например так:

$fp = fopen('/dev/usb/tts/0', 'w');
fwrite($fp, 0x10 );
fclose($fp);

monstr
26.09.2011, 15:21
выше писал, что не отключается и не подключается из наглой морды. (хотя вот сейчас перезагрузил роутер, камера заработала сама, т.е. перетыкать руками разъем не пришлось)


Кирилл, как я понял твой DIR-320 Олег по моей подсказке прошивал. Хотя нет. Вижу, что он в другими прошивками балуется.

Мне этот роутер для дачи и нужен. Вопрос про термометры я еще не поднимал "это следующим этапом". Но для тренировки хочу электросчетчик подключить.

Да-да, именно по твоей наводке и ушёл на ссылку как перешить dir320.
А что за счётчик? Он с com-интерфейсом? Жуть :).

Мой термометр спаян мною N месяцев назад ради побаловаться. Вот о нём: http://oleg.milantiev.com/material/?id=655
Надо б дооформить страничку.

Он пишет в порт данные по датчикам. Дальше их надо на стороне роутера складывать куда-нить, откуда показывать на морде.

Malice
26.09.2011, 15:57
Но для тренировки хочу электросчетчик подключить.ага, через плату управления нагрузками можно две нейтрали, те которые на счетчике слева подключаются, перемкнуть между собой и ... можно контролировать (в сторону уменьшения) счет за эл.энергию :)

Malice
26.09.2011, 16:25
Как то раз, покупая объектив- ширик для вебки я обратил внимание на то, что подавляющее большинство предлагаемых камер передают аналоговый сигнал. Такие камеры вполне приемлемы по стоимости, да и по габаритным размерам, но ,что бы оцифровать сигнал, нужна аппаратная поддержка. Такие устройства называются регистраторами и имеют минимум 4 канала. Сигнал с которых можно передавать сразу на мониторы. Для компьютеров существуют PCI-платы видеозахвата, а еще бывают (!) USB переходники на одну и более камер. Извините, что без ссылок, пишу с КПК, а в другой руке коляска :)

Уважаемые ЛА, может быть данный способ менее ресурсоемок чем простая вебка?

Кирилл.

monstr
26.09.2011, 18:29
Как то раз, покупая объектив- ширик для вебки я обратил внимание на то, что подавляющее большинство предлагаемых камер передают аналоговый сигнал. Такие камеры вполне приемлемы по стоимости, да и по габаритным размерам, но ,что бы оцифровать сигнал, нужна аппаратная поддержка. Такие устройства называются регистраторами и имеют минимум 4 канала. Сигнал с которых можно передавать сразу на мониторы. Для компьютеров существуют PCI-платы видеозахвата, а еще бывают (!) USB переходники на одну и более камер. Извините, что без ссылок, пишу с КПК, а в другой руке коляска :)

Уважаемые ЛА, может быть данный способ менее ресурсоемок чем простая вебка?

Кирилл.

Гляди, дело как обстоит. Все нормальные охранки построены на базе 1/3" чб чипа сони и ещё пары микрух обвеса. Им требуется 12В питания и да, по коаксиалу (кажется, 75 Ом) могут передавать сигнал без заметных потерь на десятки, а то и на сотню метров (точные цифры лучше уточнять).

Дальше тебе нужен или тюнер, или тот самый регистратор (по сути тот же тюнер, порой с квадратором. Может не правильно написал, но суть устройства в запихивании обычно 4х кадров в один. Бабульки в метро сидят и смотрят на телек с изображениями четырёх камер, к примеру).

Плюс такого решения в возможности удалять камеры на заметное расстояние. Минус - в цене. Дешёвая вебка стоит от 350р ерундовая до 800...1500 нормальная. Охранки обычно от тыщи и выше. Но это чувствительные чб камеры с известным посадочным креплением под объектив, то есть решение достаточно хорошее.. для компа. Ибо, для роутера я не видел даже намёка на дрова usb-тюнера. Можно поискать IP-тюнер, но его цена, я уверен, будет негуманной.

Дядя Вова
26.09.2011, 21:16
Из php можно выполнять любые шеловские команды. Нам нужно выполнить команду для установки скорости порта (можно не через php, а в стартовых скриптах):
stty 19200 parodd -cstopb -F /dev/usb/tts/0 (это для PLA001 на первом порту)
Дальше есть два метода. Или выполнить команду
echo -n "0" > /dev/usb/tts/0 (но вместо "0" нужный код), или же открыть файл /dev/usb/tts/0 на запись и слать туда нужные байты средствами PHP, например так:

$fp = fopen('/dev/usb/tts/0', 'w');
fwrite($fp, 0x10 );
fclose($fp);

Третья попытка: А ЧИТАТЬ КАК?

monstr
26.09.2011, 21:33
Третья попытка: А ЧИТАТЬ КАК?

А примерно так же, только fread, а не fwrite. Только надо учитывать, что если данных нет, скрипт повиснет в ожидании данных. Вводить таймауты и т.п.

Проще в старт-скрипте создать отдельный процесс:
cat /dev/usb/tts/0 >> /tmp/file &
, который будет писать всё приходящее с ком-порта в файл. При этом необходимо учитывать, что этот порт будет недоступен для других приложений. Стало быть, этот метод подходит для устройств, работающих только на чтение компом из них. К примеру, мой термомет, см. ссылку раньше.

А вот другой пример: PLA002 (порты ввода от purelogic). Плата работает по двуступенчатому протоколу:
1. шлём в порт 0xEE (шестнадцатеричное EE);
2. читаем байт состояния 8 входов.
Таким образом мы знаем, когда байт будет доступен для чтения и пхпшный скрипт не зависнет. Если устройство не отвалится.
Для повышения надёжности, процесс чтения из порта я бы вынес в отдельный шел-файл. К примеру, такой:

#/bin/sh
PORT="/dev/usb/tts/0"
FILE="/tmp/pla002"
stty что_там $PORT

while true; do
echo "î" -n > $DEV
cat $DEV > $FILE
sleep 1
done


Скрипт запускается в старт-скрипте в фоне (& в конце). А из пхп-скрипта читается состояние портов из файла и дата модификации = актуальность данных.
Надо только потестировать всё это дело. Возможны неточности и роутерная специфика.

Дядя Вова
26.09.2011, 21:37
А что за счётчик? Он с com-интерфейсом? Жуть :).

Самый дешевый многотарифник http://elektro.snabdost.ru/good90295.html
Внутри МК 89S52, как в EQ5 :)

Кстати, их теперь перепрограммировать надо - зимнее время-то престолоблюститель отменил.

monstr
30.09.2011, 12:15
Дома тыща детей, мало столов где можно разложить железо и заниматься им.
Так что взял роутер и всё что с ним к себе в офис.



----------------------
- Прошил последней прошивкой с http://code.google.com/p/wl500g/ .
В данный момент это WL500gpv2-1.9.2.7-rtn-r3300.trx;

- подключил оборудование (модем, хаб: флешка);

- зашёл в интерфейс, там включил модем, сохранил, перегрузил. Есть инет;

- зашёл телнетом на роутер, нашёл что флешка в /dev/discs/disca/part1
Отформатировал её в ext3
#mkfs.ext3 /dev/discs/disca/part1;

- создал исполняемый скрипт /usr/local/sbin/post-boot
#cd /usr/local
#mkdir sbin
#cd sbin
#vi post-boot

- через терминал (putty), которым зашёл телнетом и скопировал туда текст будущего post-boot (i, потом shift+ins):
---
#!/bin/sh
/bin/umount /tmp/mnt/disca_1
/bin/mount /dev/discs/disca/part1 /opt

mkdir -p /var/spool/cron/crontabs
/usr/sbin/crond
echo "*/15 * * * * wget http://ping.milantiev.com/zzzzzz.php -O - > /dev/null" | /usr/bin/crontab -
---
через ESC, потом shift+z два раза вышел из ненавистного VI с сохранением файла.

- установил файл post-boot запускаемым
#chmod +x post-boot

- скопировал его в post-mount
#cp post-boot post-mount

- сохранил флэш
#flashfs save && flashfs commit && flashfs enable

- перегрузил роутер
#reboot

- глянул, смонтировалась ли флешка в /opt
#mount
последняя строка моя. Гут...

- запустил обновление системы пакетов и начал ставить пакеты (инет включен)
#ipkg.sh update
#ipkg.sh install ipkg-opt
#ipkg update
теперь можно ставить нужный софт
#ipkg install mc
#ipkg install less
#ipkg install php-thttpd
#ipkg install w3cam
#ipkg install libpng
#ipkg install e2fsprogs




- настройка софта и железа
--------------------
mc
#echo "export TERMINFO=/opt/share/terminfo" >> /usr/local/root/.profile
#echo "export TERM=xterm" >> /usr/local/root/.profile
#flashfs save && flashfs commit && flashfs enable
#reboot

--------------------
e2fsprogs
#tune2fs -m0 /dev/discs/disca/part1

--------------------
php-thttpd
зашёл в mc
#mc -cd

там перешёл в каталог /usr/local/sbin и F4 отредактировал post-mount. Добавил в него строчку
/opt/etc/init.d/S80thttpd start

вышел из mc (f10 или, если не работает, esc нажал-отпустил, 0 нажал, согласился)
#flashfs save && flashfs commit && flashfs enable
#reboot

проверил, доступен ли веб по порту 8080 снаружи, в браузере бука набрал
http://192.168.1.1:8080
Чёт выдало... каталоги какие-то. Что гут.

Чтобы заходить снаружи, открыл mc (#mc -cd), там редактировал (f4) файл /usr/local/sbin/post-firewall
В него написал:
--
#!/bin/sh

iptables -I INPUT -p tcp -m tcp --dport 8080 -j ACCEPT
--
не забыл сделать файл исполняемым
#chmod +x /usr/local/sbin/post-firewall
и сохранить на флеш
#flashfs save && flashfs commit && flashfs enable
#reboot

--------------------
w3cam
подключил вебку, контроллируя системный лог
#tail -f /tmp/syslog.log
там появилась строчка webcam attached, когда воткнул вебку.
Сразу запустился встроенный вебкам-http-вещатель.
Зашёл в интерфейс, там disable в usb application / webcam, сохранил, перегрузил роутер

Сделал каталог для фоток
#mkdir /opt/share/www/webcam

Подгрузил нужные модули.
Для этого в mc (#mc -cd) открыл на редактирование (F4) файл /usr/local/sbin/post-boot
туда дописал строчки
----
insmod videodev
insmod input-core
insmod v4l2-common
insmod uvcvideo
----
Вышел из MC, сохранил флеш, перегрузил роутер
#flashfs save && flashfs commit && flashfs enable
#reboot

Проверил, работает ли vidcap (часть w3cam)
#vidcat -f jpeg -o /opt/share/www/webcam/1.jpg -d /dev/video0

:( дальше пока облом на этом направлении. Обе вебки, что я взял с собой древнючие, не uvc - их покупали из
расчёта подключить со старыми дровами (pwc, ovl) до перешивки роутера.

--------------------
подключил pl2303 usb-com переходник.
Подгрузил нужные модули.
Для этого в mc (#mc -cd) открыл на редактирование (F4) файл /usr/local/sbin/post-boot
туда дописал строчки
----
insmod pl2303
----
Вышел из MC, сохранил флеш, перегрузил роутер
#flashfs save && flashfs commit && flashfs enable
#reboot
(конечно, это можно было сделать, когда настраивал вебку)

Глянул в /dev
#ls /dev
там появился файл ttyUSB2 - мой переходник, кроме имеющихся раньше ttyUSB0 и ttyUSB1 (это skylink модем так определился)

Подключил реле, 12В питание реле.
Прописал в стартовый скрипт post-mount установку нужной мне скорости порта
--
stty 19200 parodd -cstopb -F /dev/ttyUSB2
--

Проверил, что реле щёлкает
#echo -n "0" > /dev/ttyUSB2

В стартовый скрипт добавил строку, чтобы дать всем права управлять ком-портом
--
chmod 666 /dev/ttyUSB2
--
не забыл сохранить на флеш всё

набросал простой php для коммутации нагрузки через реле, положил его через mc в /usr/share/www/index.php
--
<a href="?relay=1">on</a><br>
<a href="?relay=0">off</a><br>

<?php
$pla001 = '/dev/ttyUSB2';

if (strlen($_GET['relay']))
{
echo $_GET['relay'];
$fd = fopen($pla001, 'w');
fputs($fd, $_GET['relay']);
fclose($fd);
}
--
Всё потестил по инету. Реле переключается.

monstr
30.09.2011, 12:20
Осталось:
- дома найти второй pl2303 переходник под pla002, прописать её в веб, потестить входы;
- дома найти свежую вебку, настроить скрипт на захват и запись фоток, показ их в вебе;
- потестить третий pl2303 переходник на моём термометре и вывести в веб.

Собственно, что есть уже можно тащить на дачу, монтировать оборудование и донастраивать снаружи.

monstr
30.09.2011, 12:32
Вчера пришли детальки, но ещё не развёл плату под блок, который будет жить с моим wl500 на даче.
Плата на atmega16. У неё больше ног, чем у atmega8. Подключается к роутеру одним USB шнурком, дальше ft232rl микруха на борту (usb-com). Функции и плюсы перед решением, представленным выше:
- не нужен usb-com шнурок, точнее даже несколько шнурков;
- меряет температуру в 1..8 точек;
- управляет 8 (но можно больше, если ещё реле развести) нагрузок (оптоизолировано);
- получает 8 (опять таки, можно больше) входов (герконы, концевики, другие датчики) (оптоизолировано);
- коммутирует USB через герконовые реле.

Итого на роутере будет из железа:
- skylink;
- флешка;
- вышеописанная платка;
- 2..3 вебки. Так как будут опрашиваться по запросу через w3cam, а не все сразу, то тормозить роутер будут не больше чем одна вебка.

BorisE
30.09.2011, 12:54
Отличный мануал, спасибо! По чистой случайности прямо в момент его публикации на работе копался в своей RT-N16. Сразу же попробовал воспроизвести незнакомые мне части.

--------------------
w3cam

Подгрузил нужные модули.
[....]
----
insmod videodev
insmod input-core
insmod v4l2-common
insmod uvcvideo
----

[root@asus root]$ insmod uvcvideo
insmod: can't insert 'uvcvideo.ko': File exists
Означает, что у меня этот модуль уже подключен?


Проверил, работает ли vidcap (часть w3cam)
#vidcat -f jpeg -o /opt/share/www/webcam/1.jpg -d /dev/video0

vidcat: can't load library 'libpng12.so.0'
Где бы его взять? w3cam до этого был установлен (и вообще, зачем ему png?!)

Подключил реле, 12В питание реле.

Как раз привезли PLA001. Вопрос - ты 12В питания для реле берешь с отдельного блока питания или как-то по другому (на фотографии непонятно)?

monstr
30.09.2011, 14:20
[root@asus root]$ insmod uvcvideo
insmod: can't insert 'uvcvideo.ko': File exists
Означает, что у меня этот модуль уже подключен?

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


vidcat: can't load library 'libpng12.so.0'
Где бы его взять? w3cam до этого был установлен (и вообще, зачем ему png?!)

ipkg install libpng


Как раз привезли PLA001. Вопрос - ты 12В питания для реле берешь с отдельного блока питания или как-то по другому (на фотографии непонятно)?
Отдельным БП. Это правильно, т.к. создаётся гальваническая развязка.

BorisE
30.09.2011, 16:40
Вероятно, да.
Проверь командой lsmod - список загруженных модулей.
Спасибо, проверил - все именно так.
ipkg install libpng
Спасибо, помогло!
Отдельным БП. Это правильно, т.к. создаётся гальваническая развязка.
Спасибо, сегодня надеюсь поможет ;)

Вебкамера все еще не работает. Разбираюсь.

Дядя Вова
30.09.2011, 16:45
Не стал форматировать флешку. До этого был установлен "Скрипт для чайника"
Морда роутера имеет адресс: http://my.router:8080

Поэтому:
проверил, доступен ли веб по порту 8080 снаружи, в браузере бука набрал
http://192.168.1.1:8080
Чёт выдало... каталоги какие-то. Что гут.

Гуд у меня должен быть по 80 порту, как понимаю, а его нет :(
Где должна быть директория и настройка этого thttpd сервера?

BorisE
30.09.2011, 17:34
Отдельным БП. Это правильно, т.к. создаётся гальваническая развязка.
Не до конца понимаю матчасть, поэтому хочу спросить у общественности: блоки питания, которые сами автоматически выбирают напряжение питания между 12В и 19В (http://www.spire.nl/main/product_detail.asp?ProdID=992), не спалят такое хрупкое (с виду, по крайней мере) устройство как PLA001?

monstr
30.09.2011, 17:38
Не стал форматировать флешку. До этого был установлен "Скрипт для чайника"
Морда роутера имеет адресс: http://my.router:8080

Поэтому:

Гуд у меня должен быть по 80 порту, как понимаю, а его нет :(
Где должна быть директория и настройка этого thttpd сервера?

Что за "скрипт для чайника"? Где почитать о нём?
Ты установил thttpd? Тогда /opt/etc/thttpd.conf - там всего несколько строк, в т.ч. порт.

Не до конца понимаю матчасть, поэтому хочу спросить у общественности: блоки питания, которые сами автоматически выбирают напряжение питания между 12В и 19В (http://www.spire.nl/main/product_detail.asp?ProdID=992), не спалят такое хрупкое (с виду, по крайней мере) устройство как PLA001?

Не до конца понял, как БП выбирает выходное напряжение.
PLA001, скорее всего, будет работать на 19, но это приведёт к повышенному нагреву включённых реле, возможно к их преждевременному выходу из строя.
Сразу вряд ли сгорит, но лучше всё ж 12В, на которые рассчитаны релюхи.

Дядя Вова
30.09.2011, 17:42
Что за "скрипт для чайника"? Где почитать о нём?
Ты установил thttpd? Тогда /opt/etc/thttpd.conf - там всего несколько строк, в т.ч. порт.

Да, спасибо! Только что сам нашел. Поменял порт. Зарабоало. Едем дальше.

Дядя Вова
30.09.2011, 18:37
Sep 30 18:20:19 kernel: usb.c: registered new driver Philips webcam
Sep 30 18:20:19 kernel: pwc Philips PCVC740K (ToUCam Pro)/PCVC840 (ToUCam II) USB webcam detected.
Sep 30 18:20:19 kernel: pwc Registered as /dev/video0.
а вот video0 нет. Есть файл video и при подключении камеры появляется директория v4l.
Говорит - не могу открыть дивайс. файл jpg создается, но пустым.

И php не работает :(

С дачки уезжаю на пару дней.

monstr
30.09.2011, 22:50
а вот video0 нет. Есть файл video и при подключении камеры появляется директория v4l.
Говорит - не могу открыть дивайс. файл jpg создается, но пустым.

И php не работает :(

С дачки уезжаю на пару дней.

Не могу открыть девайс и у меня на трёх камерах.
Так что откатился к уже работающей mjpg_streamer.

Поизучав его документацию запустил трансляцию с камеры в серию жпегов раз в минуту.

mjpg_streamer -i "input_uvc.so -f 1 -d /dev/video0 -y -q 80" -o "output_file.so -f /opt/share/www/webcam/ -d 60000"

Удобно для архива. Для текущего просмотра надо раз в секунду вещать в веб, включив вебку в стандартном веб-интерфейсе. Сделаю переключатель в интерфейсе.

monstr
30.09.2011, 22:51
И php не работает :(

Давай подробно.
Уж в пхп я не одну собаку съел :)))))))))))
Уже аж воротит... от собак.

Дядя Вова
01.10.2011, 10:45
Давай подробно.
Уж в пхп я не одну собаку съел :)))))))))))
Уже аж воротит... от собак.
Подробно.
Установил "Пакет чайника" (http://wl500g.info/showthread.php?t=21889&highlight=192)- минмум + опцию phpCMSLite CMS, которая притащила еще web-броузер highlight.
Редактор сайта мне понравился. До тех пор пока я не попробовал php-код вставить. Не работает! И не работают другие php-страницы, кроме стартовой этой CMS.
Снести эту CMS - не знал как. Переустановил скрипт без этой CMS и пошел по "дорожной карте monstra". Но php так и не заработало.

timur555
01.10.2011, 20:57
Вот текст рабочего скрипта, который проверяет пинг до гугла, если пинг не удался, ждет 10 секунд и повторяет попытку. Если вторая тоже неудачна - переподсоединяется к интернету. Если и это не спасло - ребут.


#!/bin/sh
PINGRESOURCE="google.com"
if ( ! ping -c 3 ${PINGRESOURCE} >/dev/null 2>&1) then
logger -t user ping ${PINGRESOURCE} failed, trying to wait
sleep 10s
if ( ! ping -c 3 ${PINGRESOURCE} >/dev/null 2>&1) then
logger -t user ping ${PINGRESOURCE} failed twice

killall -1 pppd
sleep 35s
if ( ! ping -c 3 ${PINGRESOURCE} >/dev/null 2>&1) then
logger -t user ping ${PINGRESOURCE} connection didnt appear afer reconnect - will be rebooted
reboot
else
logger "Connection renewed successfully"
fi
else
logger -t user ping ${PINGRESOURCE} is alive!
fi
else
logger -t user ping ${PINGRESOURCE} OK!
fi

monstr
02.10.2011, 22:24
Подробно.
Установил "Пакет чайника" (http://wl500g.info/showthread.php?t=21889&highlight=192)- минмум + опцию phpCMSLite CMS, которая притащила еще web-броузер highlight.
Редактор сайта мне понравился. До тех пор пока я не попробовал php-код вставить. Не работает! И не работают другие php-страницы, кроме стартовой этой CMS.
Снести эту CMS - не знал как. Переустановил скрипт без этой CMS и пошел по "дорожной карте monstra". Но php так и не заработало.

Я именно с этой CMS не видел, по ней ничего подсказать не смогу.
Как ты определил, что "Но php так и не заработало"?
Самый простой путь, создать файл i.php, положить его в корень веб-сервера (если php-thttpd, то /opt/share/www). В него написать:

<?php
phpinfo();

Вызвать из браузера http://192.168.1.1:8080/i.php
Что выдаст?

Вот текст рабочего скрипта, который проверяет пинг до гугла, если пинг не удался, ждет 10 секунд и повторяет попытку. Если вторая тоже неудачна - переподсоединяется к интернету. Если и это не спасло - ребут.


Спасиб. Скрипт, думаю полезный. У меня пока мало наработки роутера, пока сбоев связи, которые он не решил бы сам не было, но...

--------

А я вот не удержался и свою платку на макетке частично собрал: http://starlab.ru/showpost.php?p=427869&postcount=40
Успешно проверил.

--------

Насчёт вебок на роутере. Запустились все камеры, в т.ч. которые не запустились раньше. Через встроенный mjpg_streamer. Единственная беда в ошибке (как пишут) uvc драйвера. Он просит всю ширину USB-канала, поэтому две вебки сразу не запускаются. Решил этот вопрос процедурой последовательного опроса всех вебок по кругу. Ещё не автоматизировал, жду развёртывания макета в боевых условиях... так как мне приходится постоянно разворачивать и сворачивать всё обратно. Дюже неудобно.

Дядя Вова
02.10.2011, 23:36
Я именно с этой CMS не видел, по ней ничего подсказать не смогу.
Как ты определил, что "Но php так и не заработало"?
Самый простой путь, создать файл i.php, положить его в корень веб-сервера (если php-thttpd, то /opt/share/www). В него написать:

<?php
phpinfo();
?>

Вызвать из браузера http://192.168.1.1:8080/i.php
Что выдаст?

Выдает текст страницы.
В роутере встроеный PHP. Может он по .htaccess не разносит или fast-cgi не работает.
Попробую на роутере открыть на запись /www И туда сунуть такую страницу. Ведь по порту :8080 (это веб-интерфейс роутера) - работает.

ps А может где Deny -Alow прописаны хитро

BorisE
03.10.2011, 00:06
Подключил новую вебку (Logitech С905; старая вебка так и не заработола) к RT-N16 (1.9.2.7-rtn-r3300) по вышеприведенному алгоритму (через mjpg_streamer). Единственное, чтобы работал запуск стримера вручную, нужно в вебинтерфейсе роутера отключить эту фичу.

Использую одновременный вывод и в поток, и сохраняю в папку: mjpg_streamer -i "input_uvc.so -d /dev/video0 -f 1 -r VGA -y -l off" -o "output_http.so -p 8090 -c user:pass -w /opt/share/www/" -o "output_file.so -f /opt/share/www/pics/ -d 60000" -b
Загрузка процессора роутера (команда top) при разрешении 640x480: ~17%, 800x600: ~25% и 5% при 320x240.
Попробовал убрать опцию "-y" (enable YUYV format and disable MJPEG mode) - и загрузка роутера упала до 0%! При этом базовая функциональность (поток в браузере и сохранение файлов) сохранилась. В чем подвох?


PHP заработал, только нужно было развести thttpd и mjpg_streamer по портам (хотя это вроде бы банально, но не сразу догадался)

В целом подтверждаю, что описанный Олегом алгоритм воспроизводим.
Пробую теперь управление PLA001 и начинаю программировать веб-интерфейс.
Насчёт вебок на роутере. Запустились все камеры, в т.ч. которые не запустились раньше. Через встроенный mjpg_streamer. Единственная беда в ошибке (как пишут) uvc драйвера. Он просит всю ширину USB-канала, поэтому две вебки сразу не запускаются. Решил этот вопрос процедурой последовательного опроса всех вебок по кругу. Ещё не автоматизировал, жду развёртывания макета в боевых условиях... так как мне приходится постоянно разворачивать и сворачивать всё обратно. Дюже неудобно.
Т.е. все же существует способ подключить сразу несколько вебкамер к одному роутеру? Напишешь потом подробнее?

Дядя Вова
03.10.2011, 07:08
Т.е. все же существует способ подключить сразу несколько вебкамер к одному роутеру? Напишешь потом подробнее?
В субботу наткнулся на способ подключения нескольких модемов. Чот ссылку не сохранил :(

monstr
03.10.2011, 16:55
Попробовал убрать опцию "-y" (enable YUYV format and disable MJPEG mode) - и загрузка роутера упала до 0%! При этом базовая функциональность (поток в браузере и сохранение файлов) сохранилась. В чем подвох?

Твоя вебка поддерживает mjpeg аппаратно. Хорошая вебка. Не то, что мои за бюджетные. Но и стоит, небось, чуток больше 350р?
При включении -y проц роутера сам преобразует кадр в jpeg.


Т.е. все же существует способ подключить сразу несколько вебкамер к одному роутеру? Напишешь потом подробнее?

Я думаю сделать так:
* по крону раз в минуту роутер будет запускать скрипт примерно такого содержания
-- убить mjpg_streamer
-- взять последний кадр из /tmp/somedir (куда пишет стример, см. дальше), скопировать его в архив, остальные прибить;
-- запустить следующий mjpg_streamer на следующую камеру (зацикленные из списка /dev/videoX);
-- новый mjpg_streamer сделает десяток кадров куда-нить в /tmp (нужно для авто-настройки выдержки камеры).

Таким образом каждая камера в дежурном режиме будет делать один архивный кадр раз в N минут, где N = количество камер.

* в интерфейсе будет ссылка (скажем, по клику на последнее архивное превью камеры), активирующая mjpg_streamer с этой камеры с частотой 1fps (для удалённого просмотра больше не нужно) или более - по желанию. В это время действие крон-скрипта блокируется до ссылки "закрыть" на странице просмотра камеры.

BorisE
06.10.2011, 22:56
Наконец подключил к роутеру PLA001 - релюшки щелкают!!!

Может кому-то будет полезно.
Загвоздка была в том, что кроме указанной в инструкции команды

--------------------
подключил pl2303 usb-com переходник.
Подгрузил нужные модули.
Для этого в mc (#mc -cd) открыл на редактирование (F4) файл /usr/local/sbin/post-boot
туда дописал строчки
----
insmod pl2303
----

необходимо было (по крайней мере в моем случае) подключить сначала модуль usbserial:
insmod usbserial
иначе руотер при подключении pl2303 выдавал сообщение
"insmod: can't insert 'pl2303.ko': unknown symbol in module, or unknown parameter"

Дядя Вова
07.10.2011, 00:58
набросал простой php для коммутации нагрузки через реле, положил его через mc в /usr/share/www/index.php
--
<a href="?relay=1">on</a><br>
<a href="?relay=0">off</a><br>

<?php
$pla001 = '/dev/ttyUSB2';

if (strlen($_GET['relay']))
{
echo $_GET['relay'];
$fd = fopen($pla001, 'w');
fputs($fd, $_GET['relay']);
fclose($fd);
}
--
Всё потестил по инету. Реле переключается.
Работает, но приходится обновлять страницу. Тогда порт выдает строку. Пробовал в Opere.

Непринципиально, конечно, но в моей прошивке шнурок видится /dev/usb/tts/3 (0-2 это модем).

И еще. Почему-то не работают самопальные файлы *.php . Приходится как шаблон использовать тамошний index.php

Botinok
07.10.2011, 11:45
Олег, я советую тебе найти модель роутера GP просто а не V2.
У меня оба, первая модель смотри во внешний мир и на ней сидят фтп, ssh и торрент а второй раздает интернет по всей квартире.
Я настраивал по этой теме
http://www.wl500g.info/showthread.php?t=21889

И еще вот это почитай.
http://wl500g.info/showthread.php?t=16895&page=7

Botinok
07.10.2011, 11:51
У первой модели есть неск существенных преимуществ. Более шустрый процессор. возможность допаять оперативки и нераспаяные ЮСБ.

Дядя Вова
07.10.2011, 13:00
Олег, я советую тебе найти модель роутера GP просто а не V2.
У меня оба, первая модель смотри во внешний мир и на ней сидят фтп, ssh и торрент а второй раздает интернет по всей квартире.
Я настраивал по этой теме
http://www.wl500g.info/showthread.php?t=21889

И еще вот это почитай.
http://wl500g.info/showthread.php?t=16895&page=7
А зачем два роутера для этого советуешь? Все это делает один. Правда, за торент сказать не могу.

Кстати, как подцепить второй роутер к первому. У меня не получилось. Девченки (сестра с племянницей роуеров понапокупали и я в лужу с ними сел)

Дядя Вова
07.10.2011, 13:19
Пишут (http://otvety.google.ru/otvety/thread?tid=11d65e03a565e688), что к первой версии камера не подключается, но это, видимо, с родным ПО.

А, да! Олегов скриптик не заработавший в Oper'e нормально работает в IE. Это хорошая новость, а сгорел электрорубанок - плохая:(

Botinok
07.10.2011, 17:53
А зачем два роутера для этого советуешь? Все это делает один. Правда, за торент сказать не могу.

Кстати, как подцепить второй роутер к первому. У меня не получилось. Девченки (сестра с племянницей роуеров понапокупали и я в лужу с ними сел)
Я не советую, это конечно не правильно, просто у меня заводской брак, на V1, и мощьность вайфай оч низкая. надо перепаятьодин кондер а у меня все руки никак не дойдут.

monstr
08.10.2011, 12:18
Сделал и отладил 3/4 компонент макета железки к асусу: http://starlab.ru/showthread.php?p=428568#post428568

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

Фото и железо Кирилла (Malice).

Дядя Вова
09.10.2011, 02:29
Проброска порта с помощью утилиты suart
Схема:
(((-WiFi-[ПК]--[USB-COM]--[COM-USB]---[USB-HUB]--[Router]-WiFi-)))

Шнурок USB-COM соединен с другим USB-COM, который подключен уже к компьютеру.
Имеется связь между роутером и компом по WiFi.
1. На роутере.
Скачиваем отсюда (http://roboforum.ru/wiki/DIR-320#.D0.9D.D0.B0.D0.BF.D1.80.D0.B0.D0.B2.D0.BB.D0. B5.D0.BD.D0.B8.D0.B5_1._.D0.9C.D0.BE.D0.B4.D0.B8.D 1.84.D0.B8.D0.BA.D0.B0.D1.86.D0.B8.D1.8F_.D0.B4.D0 .BB.D1.8F_.D0.BF.D1.80.D0.BE.D0.B1.D1.80.D0.BE.D1. 81.D0.BA.D0.B8_UART_.D0.BF.D0.BE_TCP.2FIP) эту програмку и устнанавливаем.
Запускаем в telnet:
/usr/local/suart -s/dev/usb/tts/3 -p3005 -d -b9600
Теперь 192.168.1.1:3005 привязан к USB-COM шнурку.

2.На компьютере понадобятся программы com0com и com2tcp(com2tcp-1.3.0.0-386) (http://ovpn.on.ufanet.ru/com.html)
2.1. com0com - виртуальный нуль-модем связывает два порта, у меня это COM0 и COM1.
2.2. Из деректории, где расположен файл com2tcp.exe, в окне cmd выполняем:
com2tcp.exe --ignore-dsr --baud 9600 \\.\COM2 192.168.1.1 3005
2.3. Для контроля запускаем два окна окна гипертерминала на порте COM2 и порте к которому подключен USB-COM и проверяем связь.

Теперь осталось роутер с подключить к монтировке/релюхам, а на компе запустить ПО настроенное на тот же COM1, то получим удаленный доступ к телескопу. При необходимости вместо WiFi - 3G модем.

Malice
09.10.2011, 18:48
Проброска порта с помощью утилиты suart
Схема:
(((-WiFi-[ПК]--[USB-COM]--[COM-USB]---[USB-HUB]--[Router]-WiFi-)))

Шнурок USB-COM соединен с другим USB-COM, который подключен уже к компьютеру.
Имеется связь между роутером и компом по WiFi.
1. На роутере.
Скачиваем отсюда (http://roboforum.ru/wiki/DIR-320#.D0.9D.D0.B0.D0.BF.D1.80.D0.B0.D0.B2.D0.BB.D0. B5.D0.BD.D0.B8.D0.B5_1._.D0.9C.D0.BE.D0.B4.D0.B8.D 1.84.D0.B8.D0.BA.D0.B0.D1.86.D0.B8.D1.8F_.D0.B4.D0 .BB.D1.8F_.D0.BF.D1.80.D0.BE.D0.B1.D1.80.D0.BE.D1. 81.D0.BA.D0.B8_UART_.D0.BF.D0.BE_TCP.2FIP) эту програмку и устнанавливаем.
Запускаем в telnet:
/usr/local/suart -s/dev/usb/tts/3 -p3005 -d -b9600
Теперь 192.168.1.1:3005 привязан к USB-COM шнурку.

2.На компьютере понадобятся программы com0com и com2tcp(com2tcp-1.3.0.0-386)
2.1. com0com - виртуальный нуль-модем связывает два порта, у меня это COM0 и COM1.
2.2. Из дериктории, где расположен файл com2tcp.exe, в окне cmd выполняем:
com2tcp.exe \\.\COM2 192.168.1.1 3005
2.3. Для контроля запускаем два окна окна гипертерминала на порте COM2 и порте к которому подключен USB-COM и проверяем связь.

Теперь осталось роутер с подключить к монтировке/релюхам, а на компе запустить ПО настроенное на тот же COM1, то получим удаленный доступ к телескопу. При необходимости вместо WiFi - 3G модем.
Дядя Вова, респект!
Я правильно понял, что у скопа только роутер? То есть, нужен роутер на одном конце(у скопа) и комп с WiFi на другом(в теплом домике:)?

Дядя Вова
09.10.2011, 20:37
Дядя Вова, респект!
Я правильно понял, что у скопа только роутер? То есть, нужен роутер на одном конце(у скопа) и комп с WiFi на другом(в теплом домике:)?
Да, понял правильно!
Но сегодня испытания неудались. :(
Докладаю!
1) Проверил то, что написал. Работает-вопросов нет!
2) Вынес роутер, хаб, шнурок на улицу к телескопу подключил.
3) Подключаю планетарий - не подключается. Мало того интернет пропадает, рвется соединение с роутером, т.е. он перезагружается.
4) При нес все назад. Не работает!!! :( Прога suart говорит, не видит USB-COM. А ls /dev/usb/tts показывает, правда показывает и когда USB-COM отключен

Сейчас буду разбираться.

Дядя Вова
09.10.2011, 23:11
А и правду пишет, что не находит USB-COM. Вот что было в логе роутера и что стало:

При подключенном модеме и USB-COM <strong>Status & Log - Diagnostic Information</strong> БЫЛО:
<strong>USB devfs Devices</strong>
Device : Location : Info
/dev/usb/tts/0 : 1.5.0 : Manufacturer="HUAWEI Technologies" : Product="HUAWEI Mobile"
/dev/usb/tts/1 : 1.5.1 : Manufacturer="HUAWEI Technologies" : Product="HUAWEI Mobile"
/dev/usb/tts/2 : 1.5.2 : Manufacturer="HUAWEI Technologies" : Product="HUAWEI Mobile"
/dev/usb/tts/3 : 1.2.0 : Manufacturer="Prolific Technology Inc." : Product="USB-Serial Controller C"

Сломалось и теперь в сточе вместо шнурка - пусто :(
USB devfs Devices
Device : Location : Info
/dev/usb/tts/0 : 1.5.0 : Manufacturer="HUAWEI Technologies" : Product="HUAWEI Mobile"
/dev/usb/tts/1 : 1.5.1 : Manufacturer="HUAWEI Technologies" : Product="HUAWEI Mobile"
/dev/usb/tts/2 : 1.5.2 : Manufacturer="HUAWEI Technologies" : Product="HUAWEI Mobile"
/dev/usb/tts/3 : 1.1.0

Замечу, что шнурки (а их два) рабочие.

Дядя Вова
09.10.2011, 23:31
Продолжаю "дневник". Это неопознавание вылечилось вытыканием USB с Save&Restart из веб-морды роутера, последующим втыканием.
Понес роутер к телескопу. (Какой я молодец, что освещение на лужайке сделал :) )

____________________
Упс! Ситуация повторилась - подключение к монтировке "выбивает" USB-COM из роутера :( Что это?
____________________
После смены шнурка (шило на мыло) и неосознанных перезагрузок. Шнурок устойчиво прописался на роутере. Телескоп же подключился при такой установке com2tcp:
com2tcp.exe --ignore-dsr --baud 9600 \\.\COM2 192.168.1.1 3005

monstr
10.10.2011, 09:25
Вот текст рабочего скрипта, который проверяет пинг до гугла, если пинг не удался, ждет 10 секунд и повторяет попытку. Если вторая тоже неудачна - переподсоединяется к интернету. Если и это не спасло - ребут.


Установил Кириллу скрипт.

Oct 10 05:23:06 user: ping google.com OK!
Посмотрим, как поведёт себя в случае сбоя.

Кстати, сейчас логи-то хранятся в /tmp/syslog.log и стираются при каждом перезапуске системы. Соответственно, смысла в строчках
logger чё-то
reboot
не так много. Думаю о переносе логов на флешку.

monstr
10.10.2011, 10:52
thttpd почему-то не всегда запускается.

Чуток доработал скрипт проверки связи, добавив туда проверку запущенных сервисов. Сейчас проверяет только факт наличия thttpd, но дополняется другими сервисами.
Взял отсюда: http://wl500g.info/showpost.php?p=16351&postcount=1

Этот скрипт:
LOGFILE=/opt/ep.log
time=`date +"%x %l:%M:%S%p"`
echo "`date +%m%d%H%M%C%y`" > /opt/time
ensure()
{
cmd=$2
name=$3
if [ -z "$2" ]; then cmd=$1; fi
if [ -z "$3" ]; then name=$1; fi
running=`ps | grep "$1" | grep -v "grep"`
if [ -z "$running" ]; then
echo $time $name": restarting" >> $LOGFILE
$cmd
fi
}

ensure thttpd "/opt/etc/init.d/S80thttpd start" Web-Server

Malice
10.10.2011, 11:09
Дяде Вове на заметку (http://www.aliexpress.com/product-gs/463704035-China-Post-shipping-free-Wireless-Wifi-Bridge-VAP-11G-Access-Points-AP-for-RJ45-wholesalers.html).

Malice
10.10.2011, 11:23
Установил Кириллу скрипт.
Ага, роутер сразу "зашевелился".

Тока камерку снова не видит :( Утром, еще из дома, видел...

На счет скрипта перезагрузки....
Я на своем D-Link DIR 320, (после перепрошивки от Олега он стал виден как ASUS), по совету "бывалых", прописал ребут, после 5 реконнектов, в веб-морде. Роутер в инете был всегда (электричество на даче рубят регулярно), только свой IPшник он не публиковал. Скриншот прикрепил.

Malice
10.10.2011, 11:26
еее! Веб-морда заработала!!!
:o:o:o:o:o:o:o:o:o:o:o

monstr
10.10.2011, 11:52
Ага, роутер сразу "зашевелился".

Тока камерку снова не видит :( Утром, еще из дома, видел...

На счет скрипта перезагрузки....
Я на своем D-Link DIR 320, (после перепрошивки от Олега он стал виден как ASUS), по совету "бывалых", прописал ребут, после 5 реконнектов, в веб-морде. Роутер в инете был всегда (электричество на даче рубят регулярно), только свой IPшник он не публиковал. Скриншот прикрепил.

По сути то же, но скрипт Тимура чуток лучше, так как роутер может думать, что соединение есть, а его по факту не будет. Единственный верный путь, это и правда, пинговать стабильно работающий хост / два и делать выводы, основываясь на результатах этой проверки.

еее! Веб-морда заработала!!!
:o:o:o:o:o:o:o:o:o:o:o

Ща пароль сделаю :), шоб не шастали "всякие" :).
В смысле, авторизацию всё равно надо делать, как ни крути.

Malice
10.10.2011, 12:42
Ща пароль сделаю :), шоб не шастали "всякие" :).

Ага, не пущает... :---)

Дядя Вова
10.10.2011, 12:57
Malic,
За ссылку на мост спасибо. Еще кинь идею -куда его прикрутить?

Моя любимая фраза:"У нас общий стол и следовательно - общий стул".
Роутеры, морды на них и проблемы с камерой одинаковые :)
Пока не переткнул разъем камеры - она не заработала. Заметил еще одну странность:
Меняю частоту смены кадра в веб-интерфейсе (было 20 ставлю 1). Получается
- страница превью обновляется 1/сек
- информация меняется 20/сек.
Опять делал Save&Restart. Помогло.

All, ткните меня носом в инструкцию - как выдвинуть роутер в интернет. Допустим, что я получу у своего проводного провайдера реальный ip на домашний роутер.

monstr
10.10.2011, 13:37
All, ткните меня носом в инструкцию - как выдвинуть роутер в интернет. Допустим, что я получу у своего проводного провайдера реальный ip на домашний роутер.

Вопрос не понят.
Если твой роутер с внешним IP, он уже "выдвинут в инет".

Дядя Вова
10.10.2011, 14:07
Вопрос не понят.
Если твой роутер с внешним IP, он уже "выдвинут в инет".

Понял! Получу реальный IP на домашний роутер. А "выдвинуть" нужно дачный.Вроде как VPN зовется.

monstr
10.10.2011, 14:28
Понял! Получу реальный IP на домашний роутер. А "выдвинуть" нужно дачный.Вроде как VPN зовется.

VPN, расширяя абреввиатуру - это Virtual Private Network (виртуальная частная сеть). Строится по простому принципу:
- есть vpn сервер, обычно с фиксированным, обязательно внешним IP. Обычно это программа на сервере, например на моём сервере;
- есть клиенты, не важно статика или динамика, не важно внешний или внутренний IP. Клиенты, подключаясь к vpn, соединяются с сервером, входя в эту самую "виртуальную частную сеть".

Допустим, твой роутер зашёл на выбранный тобой VPN сервер, получил IP1 в виртуальной сети.
Ты зашёл из дома на тот же VPN сервер, получил следующий IP2 из той же сети. Теперь ты можешь со своего домашнего компа набрать ping IP1 и получить отклик, использовать любые ip-сервисы.
Можно настроить VPN сервер, чтобы IP1/IP2 были фиксированными, чаще и проще всего, по MAC-адресу.

lazyBSD
10.10.2011, 14:54
Можно настроить VPN сервер, чтобы IP1/IP2 были фиксированными, чаще и проще всего, по MAC-адресу.
Не вводи людей в заблуждение, IP отдаётся исходя из логина-пароля.
Какой MAC может быть у p-t-p интерфейса?

monstr
10.10.2011, 15:00
Не вводи людей в заблуждение, IP отдаётся исходя из логина-пароля.
Какой MAC может быть у p-t-p интерфейса?

Однофигственно, сути не меняет.
Спс за корректуру.

BorisE
10.10.2011, 15:26
Кстати, сейчас логи-то хранятся в /tmp/syslog.log и стираются при каждом перезапуске системы. Соответственно, смысла в строчках
logger чё-то
reboot
не так много. Думаю о переносе логов на флешку.
Я для этого использовал решение
ipkg install syslog-ng
Подрбнее см. http://www.wl500g.info/showpost.php?p=109637&postcount=9


thttpd почему-то не всегда запускается.

Чуток доработал скрипт проверки связи, добавив туда проверку запущенных сервисов. Сейчас проверяет только факт наличия thttpd, но дополняется другими сервисами.
Взял отсюда: http://wl500g.info/showpost.php?p=16351&postcount=1
Этот скрипт:
Спасибо. У меня он тоже достаточно часто отваливается. Обычно - если скрипт слишком долго выполняется.

По вебкамерам - оказывается, можно все же подключить две камеры (может и больше?) с помощью mjpeg_streamer "в лоб", без танцев. С некоторой натяжкой можно даже два потока смотреть одновременно, но лучше чтобы одна была в режиме MJPEG.
Напомню, роутер RT-N16 (прошивка 1.9.2.7-rtn-r3300)

monstr
10.10.2011, 16:52
По вебкамерам - оказывается, можно все же подключить две камеры (может и больше?) с помощью mjpeg_streamer "в лоб", без танцев. С некоторой натяжкой можно даже два потока смотреть одновременно, но лучше чтобы одна была в режиме MJPEG.
Напомню, роутер RT-N16 (прошивка 1.9.2.7-rtn-r3300)

Обе вебки uvc, обе без MJPEG. Второй не хватает места на шине. Я гуглом нашёл упоминание, что это ошибка UVC драйвера, он забирает всю USB шину одной камерой.

Было бы хорошо, если б две запустились, потому как я уже сделал чтобы работали две через запуск / убиение mjpg_streamer, но это неоптимально.

Дядя Вова
10.10.2011, 19:07
VPN, расширяя абреввиатуру - это Virtual Private Network (виртуальная частная сеть). Строится по простому принципу:
- есть vpn сервер, обычно с фиксированным, обязательно внешним IP. Обычно это программа на сервере, например на моём сервере;
- есть клиенты, не важно статика или динамика, не важно внешний или внутренний IP. Клиенты, подключаясь к vpn, соединяются с сервером, входя в эту самую "виртуальную частную сеть".

Допустим, твой роутер зашёл на выбранный тобой VPN сервер, получил IP1 в виртуальной сети.
Ты зашёл из дома на тот же VPN сервер, получил следующий IP2 из той же сети. Теперь ты можешь со своего домашнего компа набрать ping IP1 и получить отклик, использовать любые ip-сервисы.
Можно настроить VPN сервер, чтобы IP1/IP2 были фиксированными, чаще и проще всего, по MAC-адресу.
Сузим вопрос:
VPN сервер на роутере может быть? Какие функции при этом в нем должны быть?

monstr
10.10.2011, 19:10
Сузим вопрос:
VPN сервер на роутере может быть? Какие функции при этом в нем должны быть?

Ответ: "не знаю, ибо не пробовал" :).
Уточняющий вопрос: У тебя есть роутер с постоянным внешним IP?

Дядя Вова
10.10.2011, 19:32
Ответ: "не знаю, ибо не пробовал" :).
Уточняющий вопрос: У тебя есть роутер с постоянным внешним IP?
К 21-00 должен быть. Как доберусь до дома. Договор заключил, оплатил. IP не пингуется пока, наверное renew надо сделать. (Роутер дома Level One какой-то, виснет часто. Видимо, менять придется)
vpn туннелирование - это функция vpn-сервера?

BorisE
10.10.2011, 19:37
Обе вебки uvc, обе без MJPEG. Второй не хватает места на шине. Я гуглом нашёл упоминание, что это ошибка UVC драйвера, он забирает всю USB шину одной камерой.

Было бы хорошо, если б две запустились, потому как я уже сделал чтобы работали две через запуск / убиение mjpg_streamer, но это неоптимально.

У меня одна MJPEG (как мы определили ранее; LOGITECH WebCam C905), вторая только uvc (A4Tech 730), но я для теста запускал первую в режиме uvc (опция -y).
В режиме "две uvc" иногда бывает, что одна из камер не успевает сохранить свой снимок (интервал 60 сек), но в режиме mjpeg+uvc все ок.

monstr
11.10.2011, 10:56
Продолжаю настраивать роутер Кирилла (потом решение скопирую себе).
Сегодня занимаюсь обработкой pla001, в последствие своей платы реле.


Чуток доделал _отображение_ (ещё реально не работает с пла1) реле.
Настройка реле хранится в отдельном файле, достаточно простого формата

bit - номер реле... точнее вес в итоговом числе, которое надо послать в порт.
order - пока не используется, задаёт порядок кнопок
title - заголовок. Можно писать на русском, у меня просто из терминала русские не редактируются, потом перетяну файл на комп, отредачу
time - временное включение / выключение. Для коммутации света не особо надо, а вот переключить питание компа или астрографа на 20 секунд - очень полезно. Ну и крышу открыть минуту, тоже хорошо.
block - это реле блокирует другое. Сделано для крыши, чтобы нельзя было нажать одновременно "открыть" и "закрыть". У моей лебёдки от этого крышу рвёт :)
invert - показывает, что линия инверсная, то есть реле скоммутировано на размыкание и при выключенном роутере питание компа, например, будет включено, а роутер будет иметь возможность выключить / включить эту линию.
usb - показывает, что при выключении этой линии будет одновременно выключаться и usb. Спорный пункт, стоит обдумать или сделать доп. подтверждением. Но мне показалось удобным, что если астрограф завис, то ПОЛНОСТЬЮ перегрузить его, а именно убрать питание со всего, включая usb-хаб и оборудование (монти, камеры, ...) плюс в это же время "выдернуть" и "вставить обратно" USB. Это решает 99% глюков.

'relay' => array(
'port' => '/dev/ttyUSB2',
'bit' => array(
1 => array(
'title' => 'Light',
'order' => 3,
'time' => array(30, 60),
),
2 => array(
'title' => 'Roof Open',
'order' => 1,
'time' => array(60),
'block' => 4,
),
4 => array(
'title' => 'Roof Close',
'order' => 2,
'time' => array(60),
'block' => 2,
),
8 => array(
'title' => 'PC Power',
'invert' => true,
'order' => 4,
'time' => array(20),
),
16 => array(
'title' => 'Telescope Power',
'invert' => true,
'usb' => true,
'order' => 5,
'time' => array(20),
),
),
),

monstr
11.10.2011, 11:06
Уже работают обе вебки. Пока что забирают изображения раз в N минут, где N = количество камер. Количество камер при этом не ограничено, хватило бы питания на хабе.

Крон ежеминутно запускает скрипт проверки связи

# crontab -l
* * * * * /opt/etc/ping-reboot.sh

(/opt - флешка)

В котором проверяется (см. выше) наличие нужных мне сервисов (в данный момент веб-сервер), проверяется связь до гугла и запускается мой скрипт камеры, вот часть ping-reboot.sh


# webcam get frame
if [ -f "/opt/etc/webcam.1" ]; then
/opt/etc/webcam.start.sh video1
rm /opt/etc/webcam.1
else
/opt/etc/webcam.start.sh video0
touch /opt/etc/webcam.1
fi


Стартовый скрипт камеры, /opt/etc/webcam.start.sh воспринимает как параметр имя устройства камеры относительно /dev , например, video0, то есть /dev/video0 будет использовано

#/bin/sh

mkdir /tmp/webcam
mjpg_streamer -i "input_uvc.so -f 1 -d /dev/$1 -y -q 80 -r CGA" -o "output_file.so -f /tmp/webcam/ -d 1000 -c /opt/etc/webcam.finish-$1.sh"

Скрипт запускает грабинг кадров раз в секунду с указанного uvc устройство с записью в только что созданный /tmp/webcam после каждого кадра запускается /opt/etc/webcam.finish-$1.sh ($1 подменяется на первый параметр), к примеру /opt/etc/webcam.finish-video0.sh

/opt/etc/webcam.finish-video0.sh:
#/bin/sh

/opt/etc/webcam.finish.sh 0

такая прослойка сделана из-за невозможности передать параметр через mjpg_streamer в стоп-скрипт.

/opt/etc/webcam.finish.sh (стоп-скрипт) воспринимает параметр - номер камеры:
#/bin/sh

if [ `ls /tmp/webcam | wc | awk '{print $1}'` -ge 5 ]; then
killall mjpg_streamer
cd /tmp/webcam
cp `ls | sort | tail -n1` /opt/share/www/webcam/$1/
cp `ls | sort | tail -n1` /opt/share/www/webcam/$1/current.jpg
rm -Rf /tmp/webcam
fi


Если кадров 5 или больше, убивает mjpg_streamer, копирует последний кадр в архив и в current.jpg для просмотра на морде.
Удаляет временный каталог.

Чуть позже добавлю возможность просмотра любой камеры "по старинке" с 1...сколько хочешь fps через output_http. Основной скрипт архива будет блокироваться на время просмотра потока.

Архив в вебе ещё не реализован.

Malice
11.10.2011, 11:15
Это решает 99% глюков.
+1

monstr
11.10.2011, 12:55
Реле заработало из веба.
Все исходники доступны здесь: ftp://home.milantiev.com/pub/router

Система легко настраивается под нужды Зазазчика выделенным конфигом, внешний вид через отдельные html-шаблоны, понятные "первокласнику" создания веб-сайтов. Допускает использования множественных шаблонов внешнего вида. К примеру, Кирилл сказал, что для него лучше бы смотрелся вариант с вкладками, в последствие будет папка шаблонов "slides".

monstr
16.10.2011, 15:07
Сделал архив фоток. Ссылка рядом с названием камеры.

Выбирается дата, потом час. Ждём, пока загрузятся все фотки за этот час (достаточно шустро грузятся, они мелкие), потом можно листать. Чуток неудобно, что нельзя кнопками листать, я взял готовое решение альбома. Можно какое-нить другое прикрутить потом. Название файла (время) - наведя на цифру мышку, покажется всплывающей подсказкой.

Файлы сохраняются в формате
/opt/share/www/webcam/НОМЕР/ДАТА/ВРЕМЯ.jpg , где:
- НОМЕР: 0 или 1 (две вебки, получается можно 10 поставить, чтобы не вышло за 1 разряд);
- ДАТА: 2011-10-14, например;
- ВРЕМЯ: 15:44, например.

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

Дядя Вова
16.10.2011, 15:25
А я как бы поставил сервер VPN на роутере http://31.42.39.8/site/news.
Но не могу придумать как теперь сделать через него доступ к удаленному WEB-серверу, т.е. сделать так:
Дома: реальный IP, DIR-320, VNP-сервер
На даче: 3G-DIR-320, Web-сервер.
Подскажите, какие слова гуглить надо? Как обратиться к удаленному роутеру? Там какой-то клиент VPN должен быть?

monstr
16.10.2011, 15:53
А я как бы поставил сервер VPN на роутере http://31.42.39.8/site/news.
Но не могу придумать как теперь сделать через него доступ к удаленному WEB-серверу, т.е. сделать так:
Дома: реальный IP, DIR-320, VNP-сервер
На даче: 3G-DIR-320, Web-сервер.
Подскажите, какие слова гуглить надо? Как обратиться к удаленному роутеру? Там какой-то клиент VPN должен быть?

На даче vpn клиент. Дома vpn сервер. Дачный роутер заходит в твою vpn-сеть, в итоге на домашнем роутере у тебя есть:
- внешний IP;
- внутренняя домашняя сеть/сети;
- vpn сеть, в которой, в том числе есть дачный роутер.

Если с домашнего роутера работает ping <дачный_ip>, если работает telnet <дачный_ip> <порт_веба> , то осталось только:
- открыть в файрволе на внешнем интерфейсе какой-либо <свободный_порт>;
- сделать проброс с <внешнего_ip> <свободного_порта> на <дачный_ip> <порт_веба> и наоборот.
Есть, к примеру, мелкая тулза, redir называется. Не знаю, собрана ли она под mips.

Можно проброс и штатными средствами сделать, но тогда на дачном роутере шлюз по умолчанию надо ставить на домашний VPN, что неудобно.

После чего можно браузером из мира обращаться к <внешний_ip>:<тот самый порт>

Дядя Вова
16.10.2011, 16:15
На даче vpn клиент.[...]

Я его в лицо не знаю! Ну, а на что он похож? :)


Можно проброс и штатными средствами сделать, но тогда на дачном роутере шлюз по умолчанию надо ставить на домашний VPN, что неудобно.

Да, вот такая мысль была. И что прямо это реальный ip шлюзом указать? А почему неудобно?

monstr
16.10.2011, 17:50
Я его в лицо не знаю! Ну, а на что он похож? :)


А шут его знает :), пусть вон Виктор подсказывает, он в юниксах умный.
Вероятно, тот же пакет openvpn. Или иной, в названии которого openvpn присутствует... и ещё может слово "client" есть. Лучше загуглить.

Да, вот такая мысль была. И что прямо это реальный ip шлюзом указать? А почему неудобно?

Добавляется зависимость. А их лучше избегать, так как они понижают общую надёжность системы.
Плюс весь трафик с дачи пойдёт через твой дом, что может быть... неудобно :).

monstr
18.10.2011, 01:02
Доделал realtime показ выбранной вебки, как в интерфейсе, так и в системе сохранения архива фоток с вебок.

Ссылка "realtime" рядом со ссылкой на архив открывает новую страницу с окном камеры.

Запускается, пока что, не сразу, а по грани минуты.
То есть, надо нажать на ссылку realtime нужной камеры и порой давить f5, пока в окне не появится трансляция с камеры (ждать не дольше 59 секунд).

Открытие основной страницы переключает камеры обратно в режим ведения архива. То есть, посмотрел realtime с нужной тебе камеры, потом нажал ссылку back, например, или обновил основную страницу, трансляция прекратилась, архив пошёл создаваться дальше.

Не особо удобно, бум пробовать и смотреть каково в деле. В принципе, мне внутренняя вебка в реальном времени нужна два раза за ночь: визуальный контроль открытия и визуальный контроль закрытия крыши. То есть, не особо оперативная задача и могу подождать 1...59 секунд до запуска потока. В общем, надо попробовать в деле, понять сильно ли мешает.

Веб-интерфейс, при открытии страницы камеры, создаёт файл /tmp/webcam.active.НОМЕР
Скрипт получения очередного кадра с камеры в архив проверяет на наличие этого файла и запускает mjpg_streamer с выбранной камеры в режиме http вещания.

/opt/etc/webcam.start.sh:
#/bin/sh

if [ -f "/tmp/webcam.live.0" ]; then
mjpg_streamer -b -i "input_uvc.so -f 2 -d /dev/video0 -q 50 -y -r CGA" -o "output_http.so -p 9990"
else
if [ -f "/tmp/webcam.live.1" ]; then
mjpg_streamer -b -i "input_uvc.so -f 2 -d /dev/video1 -q 50 -y -r CGA" -o "output_http.so -p 9990"
else
mkdir /tmp/webcam
killall mjpg_streamer
mjpg_streamer -i "input_uvc.so -f 2 -d /dev/$1 -y -q 80 -r CGA" -o "output_file.so -f /tmp/webcam/ -d 500 -c /opt/etc/webcam.finish-$1.sh"
fi
fi


Обновил исходники у себя на фтп, ссылка та же.

monstr
18.10.2011, 12:38
Очередной раз хочу бросить роутер и перенести всё на какой-нить бу-бук, типа этого: http://www.avito.ru/items/moskva_noutbuki_noutbuk_ibm_a21_rabochij_s_glyuchn .matrits.i_monit_32325157
Теперь мало памяти, приходится экономить...

память: 47%, процесс: php
память: 36%, процесс: /opt/sbin/thttpd -C /opt/etc/thttpd.co
память: 22%, процесс: mjpg_streamer -b -i input_uvc.so -f 1
память: 19%, процесс: mc -cd

Дядь Вов, можешь запустить top, там нажать шифт+M (сортировка по памяти) и глянуть, сколько ест lighthttpd? Хотя пхп всё равно будет много есть...

UPD: поставил перла, он меньше ест
26% perl

BorisE
18.10.2011, 13:04
Очередной раз хочу бросить роутер и перенести всё на какой-нить бу-бук, типа этого: http://www.avito.ru/items/moskva_noutbuki_noutbuk_ibm_a21_rabochij_s_glyuchn .matrits.i_monit_32325157
Теперь мало памяти, приходится экономить...

...или переходить на RT-N16. Вот моя загрузка по памяти:

12620 10% 0% mjpg_streamer -i input_uvc.so -d /dev/video0 -f 1 -r VGA -l off -o output_http.so
10976 9% 0% /opt/sbin/smbd -D -s /opt/etc/samba/smb.conf
10976 9% 0% /opt/sbin/smbd -D -s /opt/etc/samba/smb.conf
10460 8% 0% /opt/sbin/thttpd -C /opt/etc/thttpd.conf
10384 8% 0% /opt/sbin/thttpd -C /opt/etc/thttpd_local.conf
8980 7% 0% mjpg_streamer -i input_uvc.so -d /dev/video1 -f 1 -r VGA -y -l on -o output_file.so
2640 2% 0% /opt/sbin/syslog-ng

Процессор грузится на 0% (даже при потоковом вещании mjpeg камеры), или раз в минуту подскакивает до 5% (если есть записть раз в минуту uvc камеры).

monstr
18.10.2011, 13:19
...или переходить на RT-N16. Вот моя загрузка по памяти:

12620 10% 0% mjpg_streamer -i input_uvc.so -d /dev/video0 -f 1 -r VGA -l off -o output_http.so
10976 9% 0% /opt/sbin/smbd -D -s /opt/etc/samba/smb.conf
10976 9% 0% /opt/sbin/smbd -D -s /opt/etc/samba/smb.conf
10460 8% 0% /opt/sbin/thttpd -C /opt/etc/thttpd.conf
10384 8% 0% /opt/sbin/thttpd -C /opt/etc/thttpd_local.conf
8980 7% 0% mjpg_streamer -i input_uvc.so -d /dev/video1 -f 1 -r VGA -y -l on -o output_file.so
2640 2% 0% /opt/sbin/syslog-ng

Процессор грузится на 0% (даже при потоковом вещании mjpeg камеры), или раз в минуту подскакивает до 5% (если есть записть раз в минуту uvc камеры).

Полумера, однако.

При цене около 3500р там всего:
- 128 Мб памяти;
- 32 Мб флеш;
- 2 usb;
- 533 risc проц.
Очередной раз печалюсь, что пропал из продажи asus eeePC 701 и вообще нетбуки до 5к руб. Остались только бу, например вот (http://www.avito.ru/catalog/bytovaya_aelektronika-6/moskva-637640?name=asus%20eee%20pc%20701&gbot=1&utm_source=google&utm_medium=cpc&utm_term=asus%20eee%20PC%20701&utm_campaign=NewAvitoMOSCOW&ca_chid=2001415&ca_cid=4108567672&ca_adid=6687558947&ca_agid=1947889547&ca_source=gaw).
В нём за те же деньги:
- 512 Мб памяти;
- 4 Гб флеш (ssd);
- 3 usb;
- 1.6 atom проц.

В роутере куча сетевух, против одной в буке, wifi получше, наверное (ещё надо сравнить), всё остальное не идёт ни в какое сравнение по цене/качеству.

monstr
18.10.2011, 13:50
Написал скрипт, получает данные из моего же многозонного термометра (тынц (http://oleg.milantiev.com/material/?id=655)), висящего на ком-порту. Данные складываются в sqlite базу, потом выводятся на веб-морде (с датой актуальности). Ведётся архив с точностью до 2с и 0.1°С.

Пришлось перл чуток вспомнить, за то памяти немного сэкономил.
/opt/etc/termometer.pl:
#!/opt/bin/perl

$device = '/dev/ttyUSB4';

@temp = (0, 0);

open(PORT, $device);
while (<PORT>)
{
if (/^t(\d)=([+-\d.]+).C$/)
{
if ($temp[$1] ne $2)
{
$temp[$1] = $2;
`echo "replace into state (key, svalue, date) values ('t$1', '$2', strftime('%s','now'));" | sqlite /opt/share/templates/sqlite.db`;
`echo "insert into slog (key, subkey, value, date) values (0, $1, '$2', strftime('%s','now'));" | sqlite /opt/share/templates/sqlite.db`;
# print $1 . '=' . $2 . "\n";
}
}
}


Дописал проверку наличия в памяти демона термометра :)
в /opt/etc/ping-reboot.sh добавил:
ensure termometer "/opt/etc/termometer.pl &" Termometer-server


Кстати, скрипт работает. Веб-сервер порой падает, поднимается заново:
10/11/11 5:17:07PM web-server: restarting
10/12/11 9:41:08AM web-server: restarting
10/12/11 5:13:07PM web-server: restarting
10/13/11 3:59:07PM web-server: restarting
10/13/11 5:20:08PM web-server: restarting
10/13/11 6:23:08PM web-server: restarting
10/17/11 1:37:06PM web-server: restarting
10/17/11 6:54:06PM web-server: restarting
10/18/11 1:45:10PM Termometer-server: restarting

Дядя Вова
18.10.2011, 17:49
Дядь Вов, можешь запустить top, там нажать шифт+M (сортировка по памяти) и глянуть, сколько ест lighthttpd? Хотя пхп всё равно будет много есть...

Вот ты сейчас о чем меня просил? Какой-такой top?

Дядя Вова
18.10.2011, 18:14
top lighttpd: CPU 0%, Mem 4,7%

monstr
18.10.2011, 19:32
top lighttpd: CPU 0%, Mem 4,7%

Во. 5% против почти 30.. Это, правда, без пхп, оно вероятно подгружается каждый раз... Ок, как память кончится, попробую сменить веб-сервер.

Дядя Вова
18.10.2011, 21:55
в этом топе куча процессов php-cgi.

Олег,напомни какая у тебя прошивка? Тут жена купила wl500gpv2. Куда его - домой или на дачу? Вопрос - чем шить?

------
Пока оставлю 500-й VPN-сервером, а 320-й постараюсь переделать под VPN-клиент и на дачу его. Надеюсь сумею разобраться.

monstr
19.10.2011, 08:59
в этом топе куча процессов php-cgi.

Олег,напомни какая у тебя прошивка? Тут жена купила wl500gpv2. Куда его - домой или на дачу? Вопрос - чем шить?

------
Пока оставлю 500-й VPN-сервером, а 320-й постараюсь переделать под VPN-клиент и на дачу его. Надеюсь сумею разобраться.

500й я шил этим: http://code.google.com/p/wl500g/downloads/detail?name=WL500gpv2-1.9.2.7-rtn-r3300.trx

monstr
24.10.2011, 04:53
Что-то подвисает у меня ssh при входе в роутер. Причём, заходишь на второй аналогичный, тоже на скайлинке - всё ок, а в мой можно несколько минут ждать, пока зайдёт. Уж весь гугл вскопал, не пойму причину.

Будь то "большой линух", там надо reverse dns выключить, но dropbear (программа ssh-демон) не ресолвит адрес клиента...

Щас попробую переформатировать флешку, но что-то подсказывает, что не в этом дело....

Дядя Вова
24.10.2011, 13:33
Что-то подвисает у меня ssh при входе в роутер. Причём, заходишь на второй аналогичный, тоже на скайлинке - всё ок, а в мой можно несколько минут ждать, пока зайдёт. Уж весь гугл вскопал, не пойму причину.

Будь то "большой линух", там надо reverse dns выключить, но dropbear (программа ssh-демон) не ресолвит адрес клиента...

Щас попробую переформатировать флешку, но что-то подсказывает, что не в этом дело....
Ничем не помогу - не копенгаген :) Но сам прогой WinSCP(как понимаю по SSH) с удаленного роутера на Мегафоне лажу в домашний - проблем не замечал. Но очень долго.

Интересно узнать, а где логи смотреть? А то никак не могу VPN клиента поднать на удаленном роутере :( Правда, под виндами тоже не всегда с первого раза клиент конектится)

monstr
08.11.2011, 12:06
Научился компилить небольшие програмки на сях на роутер. Значительно уменьшу потребление памяти модулем общения с интерфейсной платой.
А то перл есть четверть памяти. Пхп не лучше. А програмка простая: кинул байт на порт, считал байт с порта... Порт в линухе - это просто файл со спец. именем, если до програмки его уже инициализировали.

monstr
08.11.2011, 20:52
Обобщил текущие наработки:

http://starlab.ru/showpost.php?p=432403&postcount=15

monstr
10.11.2011, 18:41
Чуть поломал мозг и всё же запустил openvpn.
Дядь Вов, у меня схема подключения чуть иная.

Два канала:
1. роутер через скайлинк. Есть внешний адрес, vpn не нужен. Могу заходить (через проброс) на комп, зная этот адрес.
2. комп с мегафон-модемом. Внутренний адрес. Заходит в openvpn на мой сервер. Я с оффисного или домашнего компа захожу openvpn на тот же сервер и могу подключиться по моему "внутреннему" ip.

Скрин как раз подключены два радмина к одному компу. Один через скай, второй через мегафон. Конечно, качество связи, в прямом смысле зависит от погоды... но вот прям сейчас мегафон+openvpn быстрей откликается, нежели скай+asus wl500. Не сильно, но всё же. То есть именно не скорость прокачки, а реакция на нажатие, скорость отклика то есть.

Дядя Вова
10.11.2011, 23:11
Чуть поломал мозг и всё же запустил openvpn.
Дядь Вов, у меня схема подключения чуть иная.

Два канала:
1. роутер через скайлинк. Есть внешний адрес, vpn не нужен. Могу заходить (через проброс) на комп, зная этот адрес.
2. комп с мегафон-модемом. Внутренний адрес. Заходит в openvpn на мой сервер. Я с оффисного или домашнего компа захожу openvpn на тот же сервер и могу подключиться по моему "внутреннему" ip.

да, такая схема у меня заработала почти сразу
1. http://wl500g.info/showthread.php?t=8880&highlight=%EA%EB%E8%E5%ED%F2, но с учетом наличия флешки
2. Но на компе с VPN-клиентом у меня сервера нет (поленился восстанавливать), и что-то стал как-то не спервого раза подниматься.

Мне обломился USB-HDD и теперь все настройки с начала :) Пробую поднять на этот раз SSH туннель, но эти ребята с Фобос-Грунтом начудили, короче некогда На НовостяхКосмонавтики флудят быстрее, чем я читаю. А еще в Шкоду планшет с Навителем "интегрирую" - интересно! А еще ipad появился, но с ним совсем некогда, а Recarrion говорил, что там удаленный рабстол в XP есть. И водопровод на даче за одну ночь замерз, благо - бойлер не треснул.

VN
12.11.2011, 12:50
Олег привет! Оказалось у меня тоже стоит роутер Asus 500, но несколько другой http://www.i-on.ru/ProductFullCharacteristics/8627/
У меня схема такая принтер -wi\fi-роутер (+HDD 630Gb)-wi\fi-комп-D-Link 5в1а-8хUSB устройства.
Чем он отличается от твоего и все ли Ваши приложения и прошивки будет поддерживать???
И что если сделать по твоей версии 8хUSB устройства - D-Link 5в1а-роутер(+HDD 630Gb)-wi-fi-комп+wi\fi принтер будет лучше или без разницы???

Посмотрел в сети - пишут что старую прошивку от Олега принимает.... Поновее я так понимаю Олег+пользователи???

Далее хочу поставить на него еще пару самых дешевых обзорных вебок - какие взять чтобы стазу на роутере встали???

monstr
14.11.2011, 11:57
Олег привет! Оказалось у меня тоже стоит роутер Asus 500, но несколько другой http://www.i-on.ru/ProductFullCharacteristics/8627/
У меня схема такая принтер -wi\fi-роутер (+HDD 630Gb)-wi\fi-комп-D-Link 5в1а-8хUSB устройства.
Чем он отличается от твоего и все ли Ваши приложения и прошивки будет поддерживать???
И что если сделать по твоей версии 8хUSB устройства - D-Link 5в1а-роутер(+HDD 630Gb)-wi-fi-комп+wi\fi принтер будет лучше или без разницы???

Посмотрел в сети - пишут что старую прошивку от Олега принимает.... Поновее я так понимаю Олег+пользователи???

Далее хочу поставить на него еще пару самых дешевых обзорных вебок - какие взять чтобы стазу на роутере встали???

Как я понимаю, эта железка WL500W такая же, как WL500gpV2, но там wifi шустрей.
http://www.thg.ru/forum/showthread.php?t=27358

Я только пока не понял, так же мало там ресурсов, как в моём wl500gpv2 или вдруг больше... Но явно не меньше. Меньше уж никак низя :).

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

Прошивку надо брать "от Олега + энтузиасты", отсюда: http://code.google.com/p/wl500g/ , нужна последняя из wl500*rtn , сейчас эта: WL500gpv2-1.9.2.7-rtn-r3497.trx

monstr
14.11.2011, 20:55
Хочу выкинуть в пропасть асус.
Три файла на флешке (/opt/etc/webcam*) стали вот такими. Там скрипт был, то есть осмысленный текст.

Видать, я слишком много хочу от железки за две тыщи.
Буду переползать на неттоп за 5к плюс мелкий винт.

lazyBSD
15.11.2011, 00:35
Три файла на флешке (/opt/etc/webcam*) стали вот такими. Там скрипт был, то есть осмысленный текст.
WTG: Монтируй стик RO. Все временные файлы на меморидиск.

monstr
15.11.2011, 07:59
WTG: Монтируй стик RO. Все временные файлы на меморидиск.

Угу. Первая мысль, что пришла в голову.
Вторая мысль: ДОСТАЛИ извращения для решения ПРОСТЫХ задач. Тратится слишком много времени моей жизни. Комп за +3 тыщи рублей (1 день сиденья в офисе и болтанье ногой) и я освобождён от кучи головняка на тему "использовать ли мне ненавистный перл вместо знакомого пхп только для экономии 10% памяти" и другие похожие мне не нужные заморочки.

BorisE
15.11.2011, 08:28
Тратится слишком много времени моей жизни.

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

monstr
18.11.2011, 09:36
"Приколы" продолжаются.

С утра зашёл на роутер. Флешка пустая.

[monstr@WL-BCAEC5C342EA /opt]$ mount
rootfs on / type rootfs (rw)
/dev/root on / type squashfs (ro)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devfs on /dev type tmpfs (rw,noatime)
devpts on /dev/pts type devpts (rw)
tmpfs on /tmp type tmpfs (rw,noatime)
usbfs on /proc/bus/usb type usbfs (rw)
/dev/discs/disca/part1 on /opt type ext3 (ro,data=ordered)
[monstr@WL-BCAEC5C342EA /opt]$ ls
[monstr@WL-BCAEC5C342EA /opt]$

Я конечно, допускаю, что моя новая трансенд-флешка оказалось плохой. Но "осадок остался". То по ssh не могу зайти, хоть сколько перепрошивай, то это. Ушёл в олди за нетбуком.



[monstr@WL-BCAEC5C342EA /opt]$ tail /tmp/syslog.log
Nov 18 05:39:53 kernel: scsi 0:0:0:0: rejecting I/O to dead device
Nov 18 05:39:53 kernel: EXT3-fs error (device sda1): ext3_find_entry: reading directory #420161 offset 0

Дядя Вова
18.11.2011, 09:45
Где-то читал, но недопонял, что флешка в режиме HDD долго не живет из-за частого свопа на неё. поэтому предлагали бить на несколько разделов и подставлять под своп очередной. или использовать две флешки. Одну на выброс.

monstr
18.11.2011, 09:52
А этот отличный роутер будет у меня в обсерватории роутить:
- skylink;
- wifi;
- ethernet.

Всё. Без флешки вовсе.

monstr
18.11.2011, 09:52
Где-то читал, но недопонял, что флешка в режиме HDD долго не живет из-за частого свопа на неё. поэтому предлагали бить на несколько разделов и подставлять под своп очередной. или использовать две флешки. Одну на выброс.

Своп не использую.

BorisE
18.11.2011, 10:13
"Приколы" продолжаются.
С утра зашёл на роутер. Флешка пустая.

У меня за 3х летню историю взаимоотношений с семейством WL500 было две таких истории - сначала с флешкой, а затем с внешним винчестером. Флешку выкинул, а с винчестером оказалось все банально - нужно было отключить функцию "уходить в сон через xxx минут". С тех пор все ок.

Дядя Вова
18.11.2011, 10:16
с винчестером оказалось все банально - нужно было отключить функцию "уходить в сон через xxx минут". С тех пор все ок.
А как это делается? Где почитать?

BorisE
18.11.2011, 10:43
А как это делается? Где почитать?
У меня Seagate FreeAgent XTreme (3,5" с вшеним питанием). Я выключил это под Windows с помощью идущего в комплекте софта.

monstr
18.11.2011, 11:36
Купил "ежа" (asus eeePC 1001) за 7400р. Пойдёт домой. Из дома возьму другого "ежа" помельче (asus eeePC 701), купленного давно за 4500р. Домой 1001й с XP, на дачу 701й с linux (fedora 16). Вопрос с роутером для себя закрыл.

monstr
05.12.2011, 23:49
Лежит у меня роутер asus wl500gpv2 без дела. Можно, конечно, применить его дома... Но просится он на дачу :).

Чёт у меня USB-GPRS модем Flyer U2 перестал стабильно работать под виндой без родной программы. Надо бы его на линух повесить. Есть там одна заморочка с этим модемом, которую я знаю как бороть под линухом (usb_modeswitch) и пока не знаю как под виндой победить. Стало быть, модем просится к переезду на линух: на неттоп или на роутер.

Думаю такую схемку на даче сделать:
- роутер с beeline модемом в бытовке. Он же wifi точка доступа и одна внешняя камера, одна плата комбайн. Без внешней флешки. Управление комбайном мелкими скриптами из флэша роутера. Надёжность.
- нетбук с skylink модемом в астробудке. Зарекомендовал себя только с лучшей стороны. Комбайн на нём, уже есть и работает. С USB глюков нет. Надёжность.
- виндовый комп. Управление обсерваторией. Возможно ещё один резервный инет без анлима. Если совсем тоска с двумя первыми.

VN
07.12.2011, 10:41
Подскажите как организовать связь между двумя роутерами на расстоянии примерно 100м.??? Практически прямая видимость, но первый стоит в помещении??? Или придется все таки провод тянуть?

Дядя Вова
07.12.2011, 11:45
Подскажите как организовать связь между двумя роутерами на расстоянии примерно 100м.??? Практически прямая видимость, но первый стоит в помещении??? Или придется все таки провод тянуть?
Надо с wiFi-ноутбуком/планшетом/телефоном походить/полазить. Если он законектится, тогда уж роутера мучить.

VN
07.12.2011, 12:16
Надо с wiFi-ноутбуком/планшетом/телефоном походить/полазить. Если он законектится, тогда уж роутера мучить.
Логично попробую.

Rain Dog
07.12.2011, 13:58
Подскажите как организовать связь между двумя роутерами на расстоянии примерно 100м.??? Практически прямая видимость, но первый стоит в помещении??? Или придется все таки провод тянуть?

Роутеры обычно мощные, на такое расстояние должно все работать. Можно попробовать антеннку купить с проводом и вынести ее наружу.

monstr
05.01.2012, 22:17
Купил неттоп де-факто на замену роутеру.
http://photo.milantiev.com/?dir=1764

Не то, чтобы жалею что ввязался в возню с роутерами, было интересно. Понял его плюсы и минусы, возможные области гарантированно надёжного применения: http://starlab.ru/showpost.php?p=439395&postcount=969

bykowina
13.01.2012, 19:08
Подскажите как организовать связь между двумя роутерами на расстоянии примерно 100м.??? Практически прямая видимость, но первый стоит в помещении??? Или придется все таки провод тянуть?

Антенну внешнюю с хорошим усилением на каждый роутер, для большей скорости необходим хороший сигнал. У меня работали уверенно на расстоянии ~ 300 метров. Стоимость антенн примерно от 1000 руб за каждую. С кабелем проблем гораздо больше, не считая того, что его надо еще тянуть.

Дядя Вова
03.02.2012, 17:27
Структура сети: OpenVPN
Сервер:
Роутер ASUS WL500
Ip 31.42.х.х
10.8.0.1
/\
||
\/
10.8.0.2
Клиент:
роутер DIR-320, USB-модем
динамический IP от Мегафона

Долгая история. Но так удалось наладить тунел под OpenVPN. Но проблема с клиентом.

на роутере. Пинги на 10.8.0.2 не идут

Thu Jan 1 04:00:23 1970 OpenVPN 2.2.0 mipsel-linux [SSL] [LZO2] [EPOLL] [eurephia] built on Apr 28 2011
Thu Jan 1 04:00:23 1970 NOTE: OpenVPN 2.1 requires '--script-security 2' or higher to call user-defined scripts or executables
Thu Jan 1 04:00:23 1970 TUN/TAP device tun0 opened
Thu Jan 1 04:00:23 1970 /sbin/ifconfig tun0 10.8.0.2 pointopoint 10.8.0.1 mtu 1500
Thu Jan 1 04:00:23 1970 Attempting to establish TCP connection with 31.42.x.x:5190 [nonblock]
Thu Jan 1 04:00:23 1970 TCP: connect to 31.42.x.x:5190 failed, will try again in 5 seconds: Network is unreachable
Thu Jan 1 04:00:28 1970 TCP: connect to 31.42.x.x:5190 failed, will try again in 5 seconds: Network is unreachable
Thu Jan 1 04:00:33 1970 TCP: connect to 31.42.x.x:5190 failed, will try again in 5 seconds: Network is unreachable
Thu Jan 1 04:00:38 1970 TCP: connect to 31.42.x.x:5190 failed, will try again in 5 seconds: Network is unreachable
Thu Jan 1 04:00:44 1970 TCP connection established with 31.42.x.x:5190
Thu Jan 1 04:00:44 1970 TCPv4_CLIENT link local: [undef]
Thu Jan 1 04:00:44 1970 TCPv4_CLIENT link remote: 31.42.x.x:5190
Thu Jan 1 04:00:45 1970 Peer Connection Initiated with 31.42.x.x:5190
Thu Jan 1 04:00:45 1970 Initialization Sequence Completed
т.е. тунель вроде налажен, вот Routing Table с роут ера:
Destination Gateway Genmask Flags Metric Ref Use Iface
10.8.0.1 * 255.255.255.255 UH 0 0 0 WAN tun0
10.112.112.112 * 255.255.255.255 UH 0 0 0 WAN ppp0
192.168.2.0 * 255.255.255.0 U 0 0 0 LAN br0
default 10.112.112.112 0.0.0.0 UG 0 0 0 WAN ppp0


Если сделать то же самое на WinXP на компе за роутером - работает, пинги 10.8.0.2 идут. Страницы открываются.

Wed Feb 01 22:01:44 2012 OpenVPN 2.2.2 Win32-MSVC++ [SSL] [LZO2] [PKCS11] built on Dec 15 2011
Wed Feb 01 22:01:44 2012 NOTE: OpenVPN 2.1 requires '--script-security 2' or higher to call user-defined scripts or executables
Wed Feb 01 22:01:44 2012 TAP-WIN32 device [Подключение по локальной сети 5] opened: \\.\Global\{850B6D09-9008-42CF-BF22-572A92290486}.tap
Wed Feb 01 22:01:44 2012 Notified TAP-Win32 driver to set a DHCP IP/netmask of 10.8.0.2/255.255.255.252 on interface {850B6D09-9008-42CF-BF22-572A92290486} [DHCP-serv: 10.8.0.1, lease-time: 31536000]
Wed Feb 01 22:01:44 2012 Successful ARP Flush on interface [196612] {850B6D09-9008-42CF-BF22-572A92290486}
Wed Feb 01 22:01:44 2012 Attempting to establish TCP connection with 31.42.x.x:5190
Wed Feb 01 22:01:45 2012 TCP connection established with 31.42.x.x:5190
Wed Feb 01 22:01:45 2012 TCPv4_CLIENT link local: [undef]
Wed Feb 01 22:01:45 2012 TCPv4_CLIENT link remote: 31.42.x.x:5190
Wed Feb 01 22:01:49 2012 Peer Connection Initiated with 31.42.x.x:5190
Wed Feb 01 22:01:54 2012 Initialization Sequence Completed
и route print WinXP
================================================== =========================
Список интерфейсов
0x1 ........................... MS TCP Loopback interface
0x2 ...00 ff 88 19 b1 b1 ...... TAP-Win32 Adapter V9 #2 - Teefer2 Miniport
0x10004 ...00 ff 85 0b 6d 09 ...... TAP-Win32 Adapter V9 - Teefer2 Miniport
0x10005 ...00 0c 6e c9 6d c0 ...... ASUSTeK/Broadcom 440x 10/100 Integrated Controller - Teefer2 Miniport
================================================== =========================
================================================== =========================
Активные маршруты:
Сетевой адрес Маска сети Адрес шлюза Интерфейс Метрика
0.0.0.0 0.0.0.0 10.8.0.1 10.8.0.2 1
10.8.0.0 255.255.255.252 10.8.0.2 10.8.0.2 30
10.8.0.2 255.255.255.255 127.0.0.1 127.0.0.1 30
10.255.255.255 255.255.255.255 10.8.0.2 10.8.0.2 30
31.42.x.x 255.255.255.255 192.168.2.1 192.168.2.3 1
127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1 1
169.254.0.0 255.255.0.0 192.168.2.3 192.168.2.3 20
192.168.2.0 255.255.255.0 192.168.2.3 192.168.2.3 20
192.168.2.3 255.255.255.255 127.0.0.1 127.0.0.1 20
192.168.2.255 255.255.255.255 192.168.2.3 192.168.2.3 20
224.0.0.0 240.0.0.0 10.8.0.2 10.8.0.2 30
224.0.0.0 240.0.0.0 192.168.2.3 192.168.2.3 20
255.255.255.255 255.255.255.255 10.8.0.2 10.8.0.2 1
255.255.255.255 255.255.255.255 10.8.0.2 2 1
255.255.255.255 255.255.255.255 192.168.2.3 192.168.2.3 1
Основной шлюз: 10.8.0.1
================================================== =========================
Постоянные маршруты:
Отсутствует


Клиент. post-firewall:
#!/bin/sh

# port for HTTP
iptables -I INPUT -p tcp --dport 80 -j ACCEPT
# port for rTorrent
iptables -I INPUT -p tcp -m tcp --dport 51778 -j ACCEPT

iptables -D INPUT -j DROP
iptables -I INPUT -p tcp --dport 5190 -j ACCEPT
iptables -t nat -I PREROUTING -i eth1 -p tcp --dport 5190 -j DNAT --to-destination $4:5190
iptables -A INPUT -j DROP
iptables -I INPUT -i tun0 -j ACCEPT
iptables -I FORWARD -i tun0 -j ACCEPT
iptables -I FORWARD -o tun0 -j ACCEPT
iptables -I OUTPUT -o tun0 -j ACCEPT Может поможет кто?:rolleyes:

monstr
03.02.2012, 19:30
В тест-целях почисть firewall на сервере и клиенте вовсе (iptables -F). Тем самым отбрось вероятность, что мешает firewall.
Поставь tcpdump (снифер) и слушай, что идёт по интерфейсу (tcpdump -lnt -i tun0 icmp - это слушать только icmp пакеты, пинги то есть на интерфейсе tun0).

Почему он пишет, что не может соединиться по 5190? Просто не было связи? Попробуй убить и запустить заново openvpn на роутере.
Вообще кто-нить запускал на роутере openvpn?

Дядя Вова
03.02.2012, 23:02
В тест-целях почисть firewall на сервере и клиенте вовсе (iptables -F). Тем самым отбрось вероятность, что мешает firewall.
Поставь tcpdump (снифер) и слушай, что идёт по интерфейсу (tcpdump -lnt -i tun0 icmp - это слушать только icmp пакеты, пинги то есть на интерфейсе tun0).
Спасибо! Попробовал. И на сервере, и на клиенте картина примерно одинаковая:
IP 192.168.2.3 > 10.8.0.1: ICMP echo request, id 1024, seq 43040, length 40
IP 192.168.2.3 > 10.8.0.1: ICMP echo request, id 1024, seq 43296, length 40
IP 192.168.2.3 > 10.8.0.1: ICMP echo request, id 1024, seq 43552, length 40
IP 192.168.2.3 > 10.8.0.1: ICMP echo request, id 1024, seq 43808, length 40
IP 192.168.2.3 > 10.8.0.1: ICMP echo request, id 1024, seq 44064, length 40
Почему он пишет, что не может соединиться по 5190? Просто не было связи? Попробуй убить и запустить заново openvpn на роутере.

Да, с модемом медленно подцепляется.

Вот, кстaти, post-firewall:
#!/bin/sh

# port for HTTP
iptables -I INPUT -p tcp --dport 80 -j ACCEPT
# port for rTorrent
iptables -I INPUT -p tcp -m tcp --dport 51778 -j ACCEPT

iptables -D INPUT -j DROP
iptables -I INPUT -p tcp --dport 5190 -j ACCEPT
iptables -t nat -I PREROUTING -i eth1 -p tcp --dport 5190 -j DNAT --to-destination $4:5190
iptables -A INPUT -j DROP
iptables -I INPUT -i tun0 -j ACCEPT
iptables -I FORWARD -i tun0 -j ACCEPT
iptables -I FORWARD -o tun0 -j ACCEPT
iptables -I OUTPUT -o tun0 -j ACCEPT

BorisE
11.02.2012, 22:05
В продолжении темы, поднятой раньше:
Проброска порта с помощью утилиты suart
Схема:
(((-WiFi-[ПК]--[USB-COM]--[COM-USB]---[USB-HUB]--[Router]-WiFi-)))


Для наших роутеров, оказывается, есть сборка (http://wl500g.info/showthread.php?t=9112) проекта USB/IP (http://sourceforge.net/projects/usbip/) - это утилита, позволяющая пробрасывать через Ethernet подключенные к роутеру USB устройства.

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

Я провел тест всех устройств, используемых при астросъемке, и получил следующие результаты:
+ Canon500D пробрасывается без каких либо проблем.
- QHY5 вроде бы как пробрасывается - драйвера становятся, но MaximDL съемку вести отказывается (выдает ошибку "failed with error 87" и "incompatible Camera Firmware version detected - found 99/expecting 20100813")
- EQDIR сбоит (PL2303 устройство определяется, но драйвера отказываются устанавливаться)
+ контроль фокусера Ивана Ионова работает
+ джойстик работает
- USB термометр не работает

Планирую еще немного помучить эту проблему в надежде запустить QHY5 и EQDIR. Если у кого есть идеи, с какой стороны подступиться, буду признателен.

monstr
11.02.2012, 22:19
В продолжении темы, поднятой раньше:


Для наших роутеров, оказывается, есть сборка (http://wl500g.info/showthread.php?t=9112) проекта USB/IP (http://sourceforge.net/projects/usbip/) - это утилита, позволяющая пробрасывать через Ethernet подключенные к роутеру USB устройства.

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

Я провел тест всех устройств, используемых при астросъемке, и получил следующие результаты:
+ Canon500D пробрасывается без каких либо проблем.
- QHY5 вроде бы как пробрасывается - драйвера становятся, но MaximDL съемку вести отказывается (выдает ошибку "failed with error 87" и "incompatible Camera Firmware version detected - found 99/expecting 20100813")
- EQDIR сбоит (PL2303 устройство определяется, но драйвера отказываются устанавливаться)
+ контроль фокусера Ивана Ионова работает
+ джойстик работает
- USB термометр не работает

Планирую еще немного помучить эту проблему в надежде запустить QHY5 и EQDIR. Если у кого есть идеи, с какой стороны подступиться, буду признателен.

Пропустил...
QHY5 замороченно подключается. В несколько шагов, с загрузкой "загрузчика", потом firmware. Со сменой vid/pid. В виртуалку её у меня тоже сходу не получилось провалить, но сильно долго не копался.

Странно, что pl2303 не установился. У него нет qhy5-подобных заморочек, просто vid/pid. Особенно странно, так как ftdi работает (фокусёр Вани Ионова на ft232rl).

Термометр USB-HID мастеркитовский?

Дядя Вова
14.02.2012, 14:46
Тяжело быть тупым :mad: Только вчера заметил, что у меня не пингуется тунель из сети ЗА роутером:
...И на сервере, и на клиенте картина примерно одинаковая:
IP 192.168.2.3 > 10.8.0.1: ICMP echo request, id 1024, seq 43040, length 40
IP 192.168.2.3 > 10.8.0.1: ICMP echo request, id 1024, seq 43296, length 40
IP 192.168.2.3 > 10.8.0.1: ICMP echo request, id 1024, seq 43552, length 40
IP 192.168.2.3 > 10.8.0.1: ICMP echo request, id 1024, seq 43808, length 40
IP 192.168.2.3 > 10.8.0.1: ICMP echo request, id 1024, seq 44064, length 40

а между роутерами - все хоккейно:

IP 10.8.0.1 > 10.8.0.2: ICMP echo request, id 27394, seq 119, length 64
IP 10.8.0.2 > 10.8.0.1: ICMP echo reply, id 27394, seq 119, length 64
IP 10.8.0.1 > 10.8.0.2: ICMP echo request, id 27394, seq 120, length 64
IP 10.8.0.2 > 10.8.0.1: ICMP echo reply, id 27394, seq 120, length 64

Уже кое-что :)

monstr
14.02.2012, 15:06
Тяжело быть тупым :mad: Только вчера заметил, что у меня не пингуется тунель из сети ЗА роутером:

а между роутерами - все хоккейно:

IP 10.8.0.1 > 10.8.0.2: ICMP echo request, id 27394, seq 119, length 64
IP 10.8.0.2 > 10.8.0.1: ICMP echo reply, id 27394, seq 119, length 64
IP 10.8.0.1 > 10.8.0.2: ICMP echo request, id 27394, seq 120, length 64
IP 10.8.0.2 > 10.8.0.1: ICMP echo reply, id 27394, seq 120, length 64

Уже кое-что :)
Дальше и правда проще. Раз туннель работает, дальше проверяй на всех компах что сеть 10.8.0.0/16 роутится через шлюз 10.8.0.1 (или 2).

В винде есть ключ -p в команде route add для задания перманентных (постоянных) элементов таблицы роутинга.

Дядя Вова
14.02.2012, 16:42
Дальше и правда проще. Раз туннель работает, дальше проверяй на всех компах что сеть 10.8.0.0/16 роутится через шлюз 10.8.0.1 (или 2).

В винде есть ключ -p в команде route add для задания перманентных (постоянных) элементов таблицы роутинга.

Наверное, да, но я не понял, о чем ты? :)
Добавил в пост-файрвол роутера 192.168.2.1:
route add -net 192.168.1.0 netmask 255.255.255.0 dev tun0

в другой - наоборот. И теперь из одной сети сожно обратиться к серверу другой.
А винда причем здесь? Я компы не трогал.

Теперь надо научиться обращаться к серверу роутера клиента из интернета. Как понимаю - это называется проброс портов.

Дядя Вова
14.02.2012, 23:36
Добавил в пост-файрвол роутера 192.168.2.1:
route add -net 192.168.1.0 netmask 255.255.255.0 dev tun0

Был неправ. Такая строчка в пост-файволе эффекта не дает. Только если ручками. Тогда да.
Вопрос как через iptables это вписать. Чтобы вот так было.
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.2.0 0.0.0.0 255.255.255.0 U 0 0 0 tun0

monstr
14.02.2012, 23:48
Был неправ. Такая строчка в пост-файволе эффекта не дает. Только если ручками. Тогда да.
Вопрос как через iptables это вписать. Чтобы вот так было.
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.2.0 0.0.0.0 255.255.255.0 U 0 0 0 tun0


iptables - команда управления firewall (грубо: закрыть, открыть какой-то порт)
route - команда добавления / удаления роутинга (маршрута).

Тебе надо дописать свою команду route add -net 192.168.1.0 netmask 255.255.255.0 dev tun0 или какую другую в скрипт подъёма интерфейса tun0. Как именно это сделать в openvpn я ещё не знаю.

dolph
13.03.2012, 13:48
а как можно сделать так: если роутер\модем зависает, винда автоматом поднимала соединение по своему модему?

monstr
13.03.2012, 17:35
а как можно сделать так: если роутер\модем зависает, винда автоматом поднимала соединение по своему модему?

например, через планировщик задач винды ежеминутно запускать cmd / vbs скрипт, который пингует роутер / модем и в случае отсутствия связи запускает программу запуска своего соединения.

Дядя Вова
13.03.2012, 21:27
iptables - команда управления firewall (грубо:

Тебе надо дописать свою команду route add -net 192.168.1.0 netmask 255.255.255.0 dev tun0 или какую другую в скрипт подъёма интерфейса tun0. Как именно это сделать в openvpn я ещё не знаю.
Вот она - та команда, вписанная в файлы конфигурации openvpn client.conf клиента 192.168.2.1
route 192.168.1.0 255.255.255.0
и аналогичная - для сервера 192.168.1.1
route 192.168.2.0 255.255.255.0
Теперь компьютеры за роутерами видят друг друга.

dolph
16.03.2012, 11:39
например, через планировщик задач винды ежеминутно запускать cmd / vbs скрипт, который пингует роутер / модем и в случае отсутствия связи запускает программу запуска своего соединения.

вот что получилось:
скрипт пингует заданный узел, если есть ответ заданного узла ничего не делает, ответа нет(в моем случае)- запускает программу мегафон модем, она настроена на автоматическое соединение при старте.
путь к программе должен быть без пробелов.
Option Explicit
Dim Shell, strCommand, strHost, ReturnCode,oShell
'Host or IP to ping
strHost = "8.8.8.8"
'Create shell object
Set Shell = wscript.createObject("wscript.shell")

'What to run in command line
strCommand = "ping -n 4 " & strHost

'Run command and get return code
ReturnCode = Shell.Run(strCommand, 0, True)
'MsgBox "*"& ReturnCode &" *"

'0 = pingable, 1 = no response

If ReturnCode = 1 Then

'MsgBox "нет соединения"
'wscript.echo strHost & " launsh megafon"

set oShell= WScript.CreateObject("WScript.Shell")
oShell.Run "C:\MegaFon\MegaFon_Modem.exe"
Else
'wscript.echo strHost & "noting to do"
'MsgBox " соединение есть "
End If

monstr
16.03.2012, 23:47
Вижу проблемку. Программа megafon_modem будет запускаться раз в минуту, пока лежит контроллируемый модем / роутер.

Я бы сохранил какой-нить флаг, а лучше нагуглить как из vbscript получить активен ли процесс с именем megafon_modem (или как он там представляется) - это и был бы флаг.
Соответственно, по этому флагу логика программы меняется.

Плюс контроллируемый модем можно при переключении на второй канал ещё и сбросить по питанию, послав в какой-нить usb-com порт на purelogic pla001 или мастеркитовое usb-реле, или аналогичное реле соответствующую команду. Не забыв о том, что сброс питания надо осуществлять не просто "включил" / "выключил", но с паузой секунд в 10.

В режиме наличия флага (запущенного резервного канала) можно продолжать пинговать основной модем и как только тот оживёт, кильнуть процесс megafon_modem, тот отдаст шлюз по умолчанию на преждний и инет восстановится по основному каналу.

Ну и msgbox хороши для отладки, но плохо подходят для реальной работы. Лучше всё писать в лог-файл, не забывая добавлять туда же date >> file

monstr
17.03.2012, 00:02
Кстати, продолжая тему включения / выключения питания....
http://starlab.ru/showthread.php?p=446767#post446767

Дядя Вова
17.03.2012, 00:27
Братцы, а что-то теперь проблемы не вижу.
У меня сей секунд такая конфигурация получилась:

Ethernet - РоутерА 192.168.1.1 - WinXP SP3 - WiFi-РоутерБ 192.168.2.1 - USB-модем

1) отключении Ethernet провайдера от роутера А через минуту появляется инет от Мегафона.
2) аналогично при вытаскивании модема из роутераБ.

Ключевым КМК является то, что комп торчит в двух сетках сразу.
Пинговать, наверное, надо шлюз предпочтительного провайдера и грохать альтернативный процесс.

Дядя Вова
12.04.2012, 23:04
Есть проблемка. Прошу пинка в нужном направлении.
Проблемка заключается в том, что не могу достучаться из интернета до web-сервера который в сетке за туннелем (openVPN)

Вот видно, что 192.168.2.1 не отвечает в интернет 83.149.9.147. Но отвечает компу из другой сетки с адреса 192.168.1.7
tcpdump -qlnt -i tun0 port 8080

IP 83.149.9.14.14887 > 192.168.2.1.8080: tcp 0
IP 83.149.9.14.14887 > 192.168.2.1.8080: tcp 0
IP 83.149.9.14.14887 > 192.168.2.1.8080: tcp 0

IP 192.168.1.7.1122 > 192.168.2.1.8080: tcp 0
IP 192.168.2.1.8080 > 192.168.1.7.1122: tcp 0
IP 192.168.1.7.1122 > 192.168.2.1.8080: tcp 0
IP 192.168.1.7.1122 > 192.168.2.1.8080: tcp 396
IP 192.168.2.1.8080 > 192.168.1.7.1122: tcp 0
IP 192.168.2.1.8080 > 192.168.1.7.1122: tcp 1364
IP 192.168.2.1.8080 > 192.168.1.7.1122: tcp 103
IP 192.168.2.1.8080 > 192.168.1.7.1122: tcp 151


Для справки:

post-firewall

#!/bin/sh
# port for HTTP
iptables -I INPUT -p tcp --dport 80 -j ACCEPT


Routing Table

Destination Gateway Genmask Flags Metric Ref Use Iface
10.64.64.64 * 255.255.255.255 UH 0 0 0 WAN ppp0
10.8.0.1 * 255.255.255.255 UH 0 0 0 WAN tun0
192.168.2.0 * 255.255.255.0 U 0 0 0 LAN br0
192.168.1.0 10.8.0.1 255.255.255.0 UG 0 0 0 WAN tun0
default 10.64.64.64 0.0.0.0 UG 0 0 0 WAN ppp0


Конфиг клиента openVPN

remote 31.42.х.х
dev tun0
port 5190
proto tcp-client
ifconfig 10.8.0.2 10.8.0.1
secret static.key

route 192.168.1.0 255.255.255.0

ping 15
ping-restart 45
ping-timer-rem
persist-tun
persist-key

Вопрос в том, что надо сделать чтобы сделать доступным сервер за тунелем из интернета?

monstr
13.04.2012, 10:37
А нарисуй плиз на бумажке. Не пойму что куда не ходит.
И лучше не post-firewall покажи, а iptables -L -n и iptables -L -n -t nat

Дядя Вова
13.04.2012, 12:28
А нарисуй плиз на бумажке. Не пойму что куда не ходит.


83.x.x.x |||
|| |
31.42.x.x 10.44.x.x
10.8.0.1======tun0=======10.8.0.2
192.168.1.1 192.168.2.1
|
192.168.1.7

192.168.2.1:8080 > 192.168.1.7 есть
192.168.2.1:8080 > 83.x.x.x нет


И лучше не post-firewall покажи, а iptables -L -n и iptables -L -n -t nat
В прицере. Для клиента, который не отвечает. И для сервера, на всякий случай.

monstr
14.05.2012, 09:46
Нет, ну почему этот роутер убил уже только что вторую флешку? :))) Это такой роутер прикольный, или флешки такие? (Одна новая из магазина, прожила полтора месяца, вторая старючая из шкафа - прожила больше полугода и туда же)

BorisE
14.05.2012, 10:02
Нет, ну почему этот роутер убил уже только что вторую флешку? :))) Это такой роутер прикольный, или флешки такие? (Одна новая из магазина, прожила полтора месяца, вторая старючая из шкафа - прожила больше полугода и туда же)

Два роутера RT-N16 и RT-N56 - две флешки, живы 1 год и 5 месяцев соответственно. Правда, может просто еще время моих не подошло..? До этого роутеры работали с внешним винтом.

monstr
14.05.2012, 10:03
Два роутера RT-N16 и RT-N56 - две флешки, живы 1 год и 5 месяцев соответственно. Правда, может просто еще время моих не подошло..? До этого роутеры работали с внешним винтом.

Перегрузил по питанию - флешка нашлась. ууууууу.........
В принципе, на той флешке просто набор удобных скриптов, надо перенести их в память роутера и отказаться от флешки вовсе. Пусть просто поддерживает инет и даёт возможность коммутировать USB / питание.

Дядя Вова
14.05.2012, 10:14
....
В принципе, на той флешке просто набор удобных скриптов, надо перенести их в память роутера и отказаться от флешки вовсе. Пусть просто поддерживает инет и даёт возможность коммутировать USB / питание.
Хорошая мысль. Ведь фунционала у этого роутера практически не осталось.

У меня на дачном роутере стоит 8ГБ флешка. Тоже подмывает снять, вместе с хабом. А то она сдохнет раньше, чем функционал для неё появится.

BorisE
14.10.2012, 22:46
Два роутера RT-N16 и RT-N56 - две флешки, живы 1 год и 5 месяцев соответственно. Правда, может просто еще время моих не подошло..? До этого роутеры работали с внешним винтом.

Случайно нашел возможное объяснение - у меня флешки были отформатированы по ext2, а роутер без доп. модулей форматирует под ext3, которая из-за журналирования гораздо быстрее портит флешку.

BorisE
14.10.2012, 23:47
Может кому будет полезно.

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

Дано: роутер WL500gpv2 с прошивкой "от энтузиастов" (http://code.google.com/p/wl500g/) и UPS APC BACK ES 700VA

1. Сначала нужно научить роутер определять UPS как USB устройство.
Для этого, с сайта "энтузиастов" нужно скачать Additional kernel modules (for WL-xxx), распаковать их в \opt\lib\modules\... Можно не все содержимое, а только ветку lib\modules\2.6.22.19\kernel\drivers\hid

2. В файл post-mount добавить загрузку модулей драйверов HID устройства.
insmod /opt/lib/modules/2.6.22.19/kernel/drivers/hid/hid.ko
insmod /opt/lib/modules/2.6.22.19/kernel/drivers/hid/usbhid/usbhid.ko
После первого рекомендуют добавить паузу в несколько секунд (sleep 2), но у меня работало и так.
После сохранения скрипта во флеше и перезагрузки, можно проверить, установился ли драйвер:
cat /proc/bus/usb/devices
и найти информацию об устройстве, в котором есть такие строки:
S: Manufacturer=APC
S: Product=Back-UPS ES 700G FW:871.O2 .I USB FW:O2
В этом разделе должно быть
I:* If#= 0 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=00 Prot=00 Driver=usbhid
Если вместо Driver=usbhid там указано Driver=(none), то значит модули по какой-то причине не загружены.
Кстати, эту же информацию можно посмотреть и через web-интерфейс роутера в разделе Status & Log/Diagnostic Info

3. Установить пакет apcupsd
В новых версиях прошивок opkg install apcupsd (раньше ipkg install apcupsd)

4. Настроить конфиг apcupsd
При установке пакета, он создаст конфиг по умолчанию в /opt/etc/apcupsd/apcupsd.conf
В нем нужно изменить несколько строчек:
UPSCABLE smart заменить на UPSCABLE usb
UPSTYPE apcsmart заменить на UPSTYPE usb
DEVICE /dev/ttyS0 заменить на просто DEVICE без параметров

5. Запустить на роутере демон apcupsd
/opt/sbin/apcupsd
В случае, если все работает хорошо, то команда apcaccess должна выдать текущую информацию с UPS’а
Для автозагрузки эту строчку нужно добавить в post-mount после строк подключения модулей hid устройства.

6. На компьютере(ах) установить apcupsd для windows
Скачать ее можно отсюда ( http://sourceforge.net/projects/apcupsd/files/win-binaries%20-%20Stable/)
После установки нужно поправить apcupsd.conf, который по умолчанию расположен в c:\apcupsd\etc\apcupsd
Там нужно исправить все те же строчки, указав:
UPSCABLE usb
UPSTYPE net
DEVICE 192.168.1.1:3551

7. Создать обработчики событий
Располагаются по умолчанию в c:\apcupsd\etc\apcupsd (под windows) и \opt\etc\apcupsd (на роутере).
Для создания обработчика событий мануал не рекомендует править файл apccontrol.bat (просто apccontrol под Linux), а создавать vbs файлы (просто скрипты без расширения), указывая в качестве имени файла имя события.
Например, onbattery.vbs (просто onbattery) будет запущен при потере питания, commfailure.vbs при потере связи с ups’ом.
Заканчивать скрипт нужно Wscript.Quit 0 (или exit 0 под Linux), если хотите, чтобы другие события по цепочке тоже отработали

8. Другое
Можно установить веб-сервер и смотреть информацию о состоянии UPS в реальном режиме времени. Но на мой взгляд, в apcupsd она достаточно бедная (хотя в родных утилитах APC все еще хуже)

BorisE
15.10.2012, 20:50
Нашел, как заставить роутер отправлять имейлы (например, при потере питания, см.выше) через gmail.

1. Установить пакет openssl
opkg install openssl-util
Сам sendmail уже содержится в прошивке.

2. Создать файл с текстом письма
Это шаг можно пропустить и вводить текст вручную с консоли (см.следующий пункт).
Это файл будет являться текстом письма. В теле можно указать тему письма - для этого в первой строчке указать "subject: Mail subject" (вообще там можно много чего указывать - дополнительных получателей и др.)

3. Отправить письмо
sendmail -v -f sender@gmail.com -H 'exec openssl s_client -quiet -tls1 -connect smtp.gmail.com:465' -au<username> -ap<password> receiver@somedomain.com < tmpemailfile
Параметр -v необязателен - он просто выводит информацию о процессе отправки.

Пример использования (сигнализирует о пропадании питания)
tempfile="/opt/_scripts/tempsendfile"
Subj="subject: Observatory Power Failure"
echo "$Subj" > $tempfile
echo "apcaccess status" >> $tempfile
/opt/sbin/apcaccess status >> $tempfile
sendmail -v -f sender@gmail.com -H 'exec openssl s_client -quiet -tls1 -connect smtp.gmail.com:465' -au<username> -ap<password> receiver@somedomain.com < $tempfile

monstr
17.10.2012, 00:18
Случайно нашел возможное объяснение - у меня флешки были отформатированы по ext2, а роутер без доп. модулей форматирует под ext3, которая из-за журналирования гораздо быстрее портит флешку.

Самый верный метод был предложен выше LazyBSD - копирование нужного в /tmp и перемонтирование флешки в readonly.

Нашел, как заставить роутер отправлять имейлы (например, при потере питания, см.выше) через gmail.


Дюже мудрёно.
sendmail сам по себе должен слать письма напрямую. Без ssl.
Не проверял с роутера.

Думал недавно взять asus rt-забылцифрыбуквы, как у тебя, повесить на него usb-sata и использовать как дешёвый NAS... но потом решил взять дешёвый NAS :)))).

Радует, что dir320 уже тыщу рублей стоит. Если б не мой переезд, купил бы его - поддерживать второй канал. Без доп. нагрузки на роутер, даже наверное не перешивал бы его вовсе.

Как уже писал, потерял я интерес к попыткам "впихнуть невпихуемое" (фраза, подслушанная у двух толкинистов). Даже на этом боль-мень современном роутере не так много памяти и уж совсем мало процессора. Nettop на атоме может заметно больше, стоит столько же. Конечно же, проигрывает в сетевом применении роутеру. Но у меня нет таких нагруженных задач.

monstr
17.10.2012, 00:19
Сейчас задумал один новый проект. Хотя изначально планировал запускать это решение на роутере. Кстати, подумываю, не реализовать ли его на дешёвом dir320: http://oleg.milantiev.com/material/?id=831

Дядя Вова
17.10.2012, 00:32
А у меня оба роутера wl-500 и dir-320 прошитые одинаково как 500. Висят. Точнее роутерная часть работает, а вот сервера - не пашут. Даже веб-морда. :(
Подозреваю, что у одного из них из-за скрипта под кроном.

Дядя Вова
17.10.2012, 00:39
Сейчас задумал один новый проект. Хотя изначально планировал запускать это решение на роутере. Кстати, подумываю, не реализовать ли его на дешёвом dir320: http://oleg.milantiev.com/material/?id=831
Кстати, Олег, у меня такой салат собран. Работает - писал выше. Но моей проблемы не решит. Пинги через роутер на контроллер проходят проходят, а сам роутер фактически нет.

BorisE
17.10.2012, 11:53
Дюже мудрёно. sendmail сам по себе должен слать письма напрямую. Без ssl. Не проверял с роутера.
Возможно, но я недели две пытался заставить его это сделать и хрен что выходило. Но у меня кривые руки, факт :)

Думал недавно взять asus rt-забылцифрыбуквы, как у тебя, повесить на него usb-sata и использовать как дешёвый NAS... но потом решил взять дешёвый NAS :)))).
И правильно - WL500 дало бы тебе скорость копирования с винта 3..4 мбайта/сек, а RT-N16 до 12 мбайт/сек. RT-N56 (чуть другая ветвь) таже фигня. Говорят, из-за особенности применяемой схемотехники USB контроллера.

Радует, что dir320 уже тыщу рублей стоит. Если б не мой переезд, купил бы его - поддерживать второй канал. Без доп. нагрузки на роутер, даже наверное не перешивал бы его вовсе.

Как уже писал, потерял я интерес к попыткам "впихнуть невпихуемое" (фраза, подслушанная у двух толкинистов). Даже на этом боль-мень современном роутере не так много памяти и уж совсем мало процессора. Nettop на атоме может заметно больше, стоит столько же. Конечно же, проигрывает в сетевом применении роутеру. Но у меня нет таких нагруженных задач.
Я хочу на miniITX (спасибо, по твоему совету к ним присмотрелся) собрать NAS.

monstr
29.11.2012, 21:46
Настраивал знакомому Asus WL500gpV2. Чуток поморочился, расскажу над чем именно:

1. Взяли последнюю прошивку отсюда: http://code.google.com/p/wl500g/ , а именно это оказалась: http://code.google.com/p/wl500g/downloads/detail?name=WL500gpv2-1.9.2.7-rtn-r4667.trx .
2. Прошили через интерфейс роутера.
3. Отмонтировал флешку, форматнул её, примонтировал к /opt - эта часть как на первых страницах этой темы.
4. Дальше возник затык, пришлось читать тут: http://wl500g.info/showthread.php?28036-%CF%E5%F0%E5%F5%EE%E4-%ED%E0-%ED%EE%E2%FB%E9-%F0%E5%EF%EE%E7%E8%F2%EE%F0%E8%E9-Entware-%F1-Optware
вот что было прочтено:
cd /opt
$ wget http://wl500g-repo.googlecode.com/svn/ipkg/entware_install.sh
$ sh ./entware_install.sh

$ opkg install mc

5. Прочтённое помогло. Установил mc и openvpn

Теперь этот "комплекс", клонированный в количестве "сколько есть в точке присутствия инет-каналов" и в составе:
- роутер asus wl500 gp v2;
- 3g usb модем почти любой из продающихся в раше;
- вебка a4tech простая;
- флешка почти любая, которую можно купить в магазе, минимального объёма;
- usb-хаб dlink 4 порта.

Занимается организацией инет-канала с "виртуально-реальным" :) ip адресом. То есть с виртуальным, но с возможности зайти через VPN. Попутно штатными средствами транслирует вебку и ждём это usb-реле: http://www.aliexpress.com/wholesale?shipCountry=us&shipCompanies=&SearchText=8+channel+usb+relay&exception=&CatId=0&manual=y&filterCat=4099%2C3008%2C410606&needQuery=y

А так же ждём несколько дешёвых поворотных ip-камер с того же али.

Всё это помещаем в электрощит, чем даём возможность управлять очередной удалённой обсерваторией по 8 каналам управления нагрузкой, запаралеленным на оба два роутера (ну или сколько инетов в месте).

В роутер можно воткнуть йоту, скайлинк, мегафон / мтс / би.

Цена решения:
- роутер 2000р;
- модем ~1000р;
- антенна ~500р;
- вебка 300р;
- хаб 400р;
- флешка ~250р;
= ~4500р на канал.

Плюс шкаф, плюс проводка, плюс, если речь идёт об управлении мощной нагрузкой, вроде электромоторов - каскадные реле на din-рейке.

BorisE
30.11.2012, 18:34
Теперь этот "комплекс", клонированный в количестве "сколько есть в точке присутствия инет-каналов" и в составе:
- роутер asus wl500 gp v2;
- 3g usb модем почти любой из продающихся в раше;
- вебка a4tech простая;
- флешка почти любая, которую можно купить в магазе, минимального объёма;
- usb-хаб dlink 4 порта.

Занимается организацией инет-канала с "виртуально-реальным" :) ip адресом. То есть с виртуальным, но с возможности зайти через VPN.
...

Всё это помещаем в электрощит, чем даём возможность управлять очередной удалённой обсерваторией по 8 каналам управления нагрузкой, запаралеленным на оба два роутера (ну или сколько инетов в месте).

Ты под " запаралеленным на оба два роутера" имел в виду, что два разных роутера управляют двумя разными реле, которые управляют одной и тойже нагрузкой по схеме проходных выключателей? Или что-то другое?

это usb-реле: http://www.aliexpress.com/wholesale?shipCountry=us&shipCompanies=&SearchText=8+channel+usb+relay&exception=&CatId=0&manual=y&filterCat=4099%2C3008%2C410606&needQuery=y
О, неплохая замена PureLogic! :)

monstr
01.12.2012, 11:38
Ты под " запаралеленным на оба два роутера" имел в виду, что два разных роутера управляют двумя разными реле, которые управляют одной и тойже нагрузкой по схеме проходных выключателей? Или что-то другое?


Нет. Оба реле, работающие на замыкание, включены параллельно. Включение любого приводит к включению нагрузки. Остаётся риск "залипания" одного из реле, но так как оно нормально разомкнутое, то этот риск, при соблюдении допустимых мощностей, минимален.

Оба реле, работающих на размыкания, коммутируются последовательно.

Да, в этом китайском реле приятно, что уже есть надёжный ft232. А в целом очень похоже на пуреложик.

BorisE
01.12.2012, 11:54
Нет. Оба реле, работающие на замыкание, включены параллельно. Включение любого приводит к включению нагрузки. Остаётся риск "залипания" одного из реле, но так как оно нормально разомкнутое, то этот риск, при соблюдении допустимых мощностей, минимален.

Оба реле, работающих на размыкания, коммутируются последовательно.

Я ж ведь правильно понял из мануала по ссылке с алиэкспресс что там, как и у Purelogic'a двухпозиционное реле (в отличие от Aviosys 9212)? Тогда просто коммутировать как проходные выключатели и можно и включать, и выключать с любого реле и залипание одного - не проблема.

monstr
01.12.2012, 22:39
Я ж ведь правильно понял из мануала по ссылке с алиэкспресс что там, как и у Purelogic'a двухпозиционное реле (в отличие от Aviosys 9212)? Тогда просто коммутировать как проходные выключатели и можно и включать, и выключать с любого реле и залипание одного - не проблема.

Ага, обычное реле с возможностью скоммутировать как требуется. Aviosys сами себя перехитрили с 4 нормально-замкнутыми и 4 нормально-разомкнутыми реле.
Плюс их цена....

monstr
03.12.2012, 19:44
Я тут случайно на ebay.com набрал "usb relay", набрёл на такие (http://www.ebay.com/itm/computer-pc-USB-8-Channel-12v-Relay-Module-For-switching-devices-DC-motors-light-/181004143380?pt=LH_DefaultDomain_0&hash=item2a24b00b14&autorefresh=true) недорогие реле. 30 баксов с доставкой. Заказал одну на пробу.

Есть варианты и в корпусе, но дороже конечно. Вот (http://www.ebay.com/itm/4xRelay-USB-USB-Relay-ASCII-command-FTDI-chip-/261124387944?pt=UK_BOI_Industrial_Automation_Contr ol_ET&hash=item3ccc39f468) на 4 реле, к примеру.


Хочу в своём доме возобновить проект "умного дома".

Tvi.Dubna
05.12.2012, 23:34
Олег! Я не нашел - можно ли этими платами управлять из командной строки?

monstr
06.12.2012, 10:28
Олег! Я не нашел - можно ли этими платами управлять из командной строки?

Описания API нет на странице продажи, но написано что есть пример для нескольких языков программирования.
Плата построена на FT232, то есть виртуальный ком-порт. То есть, с высокой вероятностью, можно будет из командной строки управлять реле. Но 100% скажу, когда придёт плата.

Tvi.Dubna
06.12.2012, 11:01
Понял, спасибо!

Eugenok
04.02.2013, 16:45
Я пользуюсь usbip для управления телескопом. Но прежде чем я смог ее запустить, пришлось намучиться. В результате поисков в интернетах, нашел какой-то скрипт, который скачивает исходники и компилирует usbip, но под Ubuntu 12.04 возникает ошибка (что-то там с какой-то библиотекой), но потом я нашел и как эту проблему порешить, несколько малопонятных (к сожалению) linux команд и usbip откомпилировался. Потом, еще пришлось поискать версию для Windows (клиентская часть usbip). А как Вы прошли этот квест? Я понял что брать проект с SourceForge бесполезно, и использовать Ubuntu-репозитории тоже (казалось бы даешь команду apt-get install usbip и все, но не тут-то было).



В продолжении темы, поднятой раньше:


Для наших роутеров, оказывается, есть сборка (http://wl500g.info/showthread.php?t=9112) проекта USB/IP (http://sourceforge.net/projects/usbip/) - это утилита, позволяющая пробрасывать через Ethernet подключенные к роутеру USB устройства.

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

Я провел тест всех устройств, используемых при астросъемке, и получил следующие результаты:
+ Canon500D пробрасывается без каких либо проблем.
- QHY5 вроде бы как пробрасывается - драйвера становятся, но MaximDL съемку вести отказывается (выдает ошибку "failed with error 87" и "incompatible Camera Firmware version detected - found 99/expecting 20100813")
- EQDIR сбоит (PL2303 устройство определяется, но драйвера отказываются устанавливаться)
+ контроль фокусера Ивана Ионова работает
+ джойстик работает
- USB термометр не работает

Планирую еще немного помучить эту проблему в надежде запустить QHY5 и EQDIR. Если у кого есть идеи, с какой стороны подступиться, буду признателен.

BorisE
06.02.2013, 10:44
Я пользуюсь usbip для управления телескопом. Но прежде чем я смог ее запустить, пришлось намучиться. В результате поисков в интернетах, нашел какой-то скрипт, который скачивает исходники и компилирует usbip, но под Ubuntu 12.04 возникает ошибка (что-то там с какой-то библиотекой), но потом я нашел и как эту проблему порешить, несколько малопонятных (к сожалению) linux команд и usbip откомпилировался. Потом, еще пришлось поискать версию для Windows (клиентская часть usbip). А как Вы прошли этот квест? Я понял что брать проект с SourceForge бесполезно, и использовать Ubuntu-репозитории тоже (казалось бы даешь команду apt-get install usbip и все, но не тут-то было).
Под этот роутер есть уже скомпилированная версия в репозитории - поэтому таких мучений избежал :)

Но проблему проброса всех необходимых устройств я не решил (капризная QHY5) и в итоге от идеи отказался, поставив рядом с телескопом MiniITX комп.
Но для некоторых решений этот способ можно использовать (хочу так поступить с самодельной погодной станцией)

Дядя Вова
06.02.2013, 11:54
Я пользуюсь usbip для управления телескопом. Но прежде чем я смог ее запустить, пришлось намучиться.
Нет, я понимаю, что всем нам "желательно помучиться". Но вот http://www............../forum/index.php/topic,102935.0.html работает сразу.
И еще я выше про утилиту suart писал.


ps Нихрена себе! Это что - режут ссылки на форум аstronomy.ru?! Не ожидал, извините! Вот (http://clck.ru/6JM8Q)

BorisE
06.02.2013, 11:57
Нет, я понимаю, что всем нам "желательно помучиться". Но вот http://www............../forum/index.php/topic,102935.0.html работает сразу.
И еще я выше про утилиту suart писал.

USBIP решает не только проблему управления монтировкой, но и некоторые другие (правда, лишь потенциально :( )

BorisE
24.02.2013, 12:49
Освежу вопрос про VPN (поднимался в этой теме несколько страницах назад).

Вопрос возник из-за того, что Мегафон начал (у меня, во всяком случае) брать оплату за трафик с выделенным публичным IP помегабайтно.

Дано: домашняя сеть с публичным статическим IP, обсерваторная сеть с "внутренним" мегафоновским IP. Обе сети выходят в интернет через роутеры ASUS (см.схему)

Задача: сделать так, чтобы из домашней локальной сети можно было бы обратиться к ресурсам обсерваторной сети.

Пошел по пути Дяди Вовы (http://starlab.ru/showpost.php?p=432854&postcount=124). Сразу отмечу, что спецом в Linux, и OpenVPN не являюсь, поэтому глупости и неоптимальности возможны - просьба понимающим давать советы.

Сервер
На домашнем RT-N56 поднял OpenVPN сервер cо static key (самый простой вариант, но позволяет соединения только типа один сервер - один клиент).
Вот тут чуть подробнее (http://openvpn.net/index.php/open-source/documentation/howto.html#quick) объяснено про static key.

Установка сервера описана тут (http://code.google.com/p/rt-n56u/wiki/HowToConfigureOpenvpnServer). Роутер RT-N56 по архитектуре отличается от семейства WL500. У меня используется т.н. прошивка от Падавана.
Прошу обратить внимание, что описанная по ссылке установка расчитана на TLS авторизацию и создает много каталогов и файликов. Для перехода на простой static key конфиги нужно заменить и все эти файлики не нужны.

Конфиг сервера:

# cat openvpn.conf
dev tun
port 5191
proto tcp-server
ifconfig 10.8.0.1 10.8.0.2
secret static.key

comp-lzo

keepalive 30 120
ping-timer-rem
persist-tun
persist-key

user nobody
group nobody

script-security 2
up ./openvpn.up

Что значит каждый параметр можно прочитать здесь (https://community.openvpn.net/openvpn/wiki/Openvpn22ManPage)
Для того, чтобы правильно осуществлялся роутинг к сети обсерватории, при запуске сервера вызывается скрипт openvpn.up в котором только одна строчка:

# cat openvpn.up
#!/bin/sh
route add -net 192.168.1.0 netmask 255.255.255.0 dev tun0


Указанная выше установка автоматически добавляет OpenVPN в автозагрузку (файл /opt/etc/init.d/S20openvpn). Но из этого файла нужно убрать лишние (для static key конфигурации) параметры при запуске и оставить только

--daemon \
--nice ${priority} \
--cd ${config_file%/*} \
--config ${config_file##*/} \
--log-append /opt/var/log/openvpn.log \
--status /opt/var/log/openvpn.stat \
--tmp-dir ${temp_dir} \


Как сказано в manual'е про openvpn, 90% проблем в соединении обусловлено проблемами с файерволами. Экспеременитровать не стал и тупо добавил в post-firewall настройки iptables с форума:

iptables -I INPUT -p tcp --dport 5191 -j ACCEPT
iptables -t nat -I PREROUTING -i eth1 -p tcp --dport 5191 -j DNAT --to-destination 192.168.0.1:5191 #192.168.0.1 - домашнаяя сеть, можно заменить на $4 при вызове из post-firewall
iptables -I INPUT -i tun0 -j ACCEPT
iptables -I FORWARD -i tun0 -j ACCEPT
iptables -I FORWARD -o tun0 -j ACCEPT
iptables -I OUTPUT -o tun0 -j ACCEPT

BorisE
24.02.2013, 13:19
Клиент (обсерватория)
Роутер со стороны клиента - Asus WL500gpv2 с прошивкой от энтузиастов 1.9.2.7-rtn-r4330

Установка OpenVPN:

opkg install openvpn-openssl

Обращаю внимание, что поменяли репозиторий на новый (поэтому opkg) и теперь там есть несколько версий openvpn. У меня работает именно на вышеуказанной.

Конфиг аналогичный серверному:

# cat /opt/etc/openvpn/client.conf
remote 188.200.2.200
dev tun
port 5191
proto tcp-client
ifconfig 10.8.0.2 10.8.0.1
secret /opt/etc/openvpn/static.key

comp-lzo

#redirect-gateway

keepalive 30 120
ping-timer-rem
persist-tun
persist-key

user nobody
group nobody

script-security 3
up /opt/etc/openvpn/openvpn.up

Если оставить параметр redirect-gateway, то шлюзом по умолчанию на обсерватории станет vpn тунель и все будет отправляться на сервер (с обсерватории доступа в интернет не будет).

В openvpn.up добавляем добавление маршрута для доступа в домашнюю сеть

route add -net 192.168.0.0 netmask 255.255.255.0 dev tun0


Для запуска можно или модернизировать автоматически создаваемый при установке /opt/etc/init.d/S20openvpn или создать свой.
Там должно быть две части:
- подгрузка модулей

mkdir -m 755 /dev/net
mknod /dev/net/tun c 10 200
insmod /opt/lib/modules/tun.o

- собственно запуск

/opt/sbin/openvpn --cd /opt/etc/openvpn --config client.conf --log-append /opt/var/log/openvpn.log

Если не указать при запуске параметр про лог (log-append в данном случае), то вывод будет осуществляться на экран (полезно при отладке). И еще при отладке полезно добавлять параметр --verb 9 (если указать уровень до 4 - обычная информация, а при 9 он прямо пакеты будет выводить)

Настройка файервола аналогичная:

iptables -I INPUT -p tcp --dport 5191 -j ACCEPT
iptables -t nat -I PREROUTING -i eth1 -p tcp --dport 5191 -j DNAT --to-destination 192.168.1.1:5191
iptables -I INPUT -i tun0 -j ACCEPT
iptables -I FORWARD -i tun0 -j ACCEPT
iptables -I FORWARD -o tun0 -j ACCEPT
iptables -I OUTPUT -o tun0 -j ACCEPT


_____________
upd. Команда "insmod /opt/lib/modules/tun.o" почему-то не всегда работает. Заменил на "modprobe tun"

BorisE
24.02.2013, 13:24
Генерация ключа

На сервере дать команду

openvpn --genkey --secret static.key

Проверить, чтобы он лежал на сервере в /opt/etc/openvpn/.

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

Теперь его нужно передать на дачный роутер в папку /opt/etc/openvpn/. Я делал это через http сервер - заплоадил, а на клиенте потом выполнил

cd /opt/etc/openvpn
wget http://сервер/путь/static.key

но способов гораздо больше :)

BorisE
24.02.2013, 13:47
Если все ок, то в логах на сервере должно появиться:

Sun Feb 24 02:41:48 2013 Listening for incoming TCP connection on [undef]:5191

а при присоединении клиента:

Sun Feb 24 02:41:56 2013 TCP connection established with 78.25.116.217:34536
Sun Feb 24 02:41:56 2013 TCPv4_SERVER link local (bound): [undef]:5191
Sun Feb 24 02:41:56 2013 TCPv4_SERVER link remote: 78.25.116.217:34536
Sun Feb 24 02:41:56 2013 Peer Connection Initiated with 78.25.116.217:34536
Sun Feb 24 02:41:57 2013 Initialization Sequence Completed


На клиентской стороне успешное подсоединение должно выглядеть как-то так:

Sun Feb 24 00:31:29 2013 OpenVPN 2.3.0 mipsel-unknown-linux-gnu [SSL (OpenSSL)] [LZO] [EPOLL] [MH] [IPv6] built on Feb 6 2013
Sun Feb 24 00:31:29 2013 NOTE: the current --script-security setting may allow this configuration to call user-defined scripts
Sun Feb 24 00:31:29 2013 TUN/TAP device tun0 opened
Sun Feb 24 00:31:29 2013 do_ifconfig, tt->ipv6=0, tt->did_ifconfig_ipv6_setup=0
Sun Feb 24 00:31:29 2013 /sbin/ifconfig tun0 10.8.0.2 pointopoint 10.8.0.1 mtu 1500
Sun Feb 24 00:31:29 2013 /opt/etc/openvpn/openvpn.up tun0 1500 1546 10.8.0.2 10.8.0.1 init
Sun Feb 24 00:31:29 2013 Attempting to establish TCP connection with [AF_INET]188.200.2.200:5191 [nonblock]
Sun Feb 24 00:31:30 2013 TCP connection established with [AF_INET]188.200.2.200:5191
Sun Feb 24 00:31:30 2013 TCPv4_CLIENT link local: [undef]
Sun Feb 24 00:31:30 2013 TCPv4_CLIENT link remote: [AF_INET]188.200.2.200:5191
Sun Feb 24 00:31:40 2013 Peer Connection Initiated with [AF_INET]188.200.2.200:5191
Sun Feb 24 00:31:40 2013 Initialization Sequence Completed


Если все настроено правильно, то в итоге должно:
- с роутера-сервера (дома) пинговаться ping 10.8.0.2, ping 192.168.1.1, ping 192.168.1.100 (дачный ресурс)
- с роутера-клиента (дача) пинговаться ping 10.8.0.1, ping 192.168.0.1, ping 192.168.0.2 (комп за роутером дома)
- с домашнего компа все вышеперечисленное
- с роутера-клиента (дача) traceroute ya.ru - трафик должен идти через мегафон
- с роутера-сервера (дом) traceroute ya.ru - трафик должен идти через провайдера

Если чего-то не работает, то первым делом отключить файерволы на клиенте и сервере (iptables -F) и проверить еще раз.


На будущее, хочу заставить работать туннель по UDP (сейчас не получается), и перейти на TLS авторизацию - чтобы на сервер можно было заходить нескольким клиентам и общаться между собой (например, для управления обсерваторией из офиса)

_________________
upd. Получилось и по UPD.
Нужно только:
1. В правила iptables добавить аналогичные правила и для протокола UDP (на обоих роутерах). Грубо говоря, если в правилах (см.выше) есть параметр "-p tcp", то такое правило нужно скопировать, заменив на "-p udp"
2. Ну и поменять соотв. строки в серверном и клиентском конфиге с proto tcp-server / proto tcp-client на просто proto udp

monstr
25.02.2013, 00:06
На будущее, хочу заставить работать туннель по UDP (сейчас не получается)

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

Radmin, подключенный напрямую к внешнему IP скайлинка у меня достаточно часто "залипал". По тому же каналу, Radmin через UDP-тунель (открытый одновременно с первым) работал заметно качественней и не медленней.

BorisE
25.02.2013, 00:49
Это важно.
При сбое TCP-сессии используются достаточно долгие таймауты самого TCP-протокола, плюс потери за счёт ответов именно протокола, за счёт трёхэтапного подключения и может из-за чего-то ещё.

Radmin, подключенный напрямую к внешнему IP скайлинка у меня достаточно часто "залипал". По тому же каналу, Radmin через UDP-тунель (открытый одновременно с первым) работал заметно качественней и не медленней.

Если чесно, я пока не могу понять, в чем проблема. Меняю proto tcp-server/tcp-client на proto udp и коннекта не происходит даже при iptables -F на обоих роутерах. Не подскажешь, куда еще попробовать покопать? Нужно что-то в NAT менять?

monstr
25.02.2013, 10:58
На беду свою я не пользовался точка-точка соединением. Поэтому расскажу как у меня настроены, в т.ч. роутеры.

Вот конфиг с винды, на которой сейчас пишу это сообщение:


remote ip.my.server.ru 1194
client
dev tun
proto udp
resolv-retry infinite # this is necessary for DynDNS
nobind
user nobody
group nogroup
persist-key
persist-tun
ca d:\\files\\openvpn.client\\ca.crt
cert d:\\files\\openvpn.client\\2\\client2.crt
key d:\\files\\openvpn.client\\2\\client2.key
comp-lzo
verb 4
mute 20
#redirect-gateway
#show-net-up


Вот настройки на сервере. Сервер может быть и на линухе/фре, и на роутере, и на винде, и на чём угодно, где работает openvpn

local 1.2.3.4 # ip моего сервера
link-mtu 1400
port 1194
proto udp
dev tun
ca ca.crt
cert server.crt
key server.key # This file should be kept secret
dh dh1024.pem
server 10.11.12.0 255.255.255.0
client-config-dir ccd
route 10.11.12.0 255.255.255.0
keepalive 10 120
comp-lzo
user nobody
group nobody
persist-key
persist-tun
status openvpn-status.log
log openvpn.log
verb 3
mute 20


На самом деле файл сервера - легчайшая модификация файла конфига по-умолчанию. Я удалил комментарии, чтобы код на форуме не был огромным. Удалял вручную, надеюсь ничего нужного не удалил.

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

Дядя Вова
25.02.2013, 17:16
Из другой темы, про iptables -F

1) Что радует - туннель не упал, точнее устанавливается нормально.
2) Но легче не стало. Т.е. извне доступа через туннель не получается:
http://31.42.X.X:8082
Редирект 8082 => 10.8.0.2:8080
tcpdump -i tun0 host 10.8.0.2 and port 8080

С мобильника - фиг:
IP v16-12.opera-mini.net.54203 > 10.8.0.2.webcache: Flags [S], seq 1190987340, win 5840, options [mss 1364,sackOK,TS[|tcp]>
IP v16-12.opera-mini.net.57639 > 10.8.0.2.webcache: Flags [S], seq 3309314905, win 5840, options [mss 1364,sackOK,TS[|tcp]>
IP v16-12.opera-mini.net.57639 > 10.8.0.2.webcache: Flags [S], seq 3309314905, win 5840, options [mss 1364,sackOK,TS[|tcp]>

Из домашнего сегмента в дачный - без проблем:
IP 192.168.1.7.1905 > 10.8.0.2.webcache: Flags [S], seq 424475520, win 65535, options [mss 1364,nop,wscale 1,[|tcp]>
IP 10.8.0.2.webcache > 192.168.1.7.1905: Flags [S.], seq 2492135974, ack 424475521, win 5840, options [mss 1460,nop,nop,sackOK,[|tcp]>

т.е кто-то дропает обратные пакеты? или на какой интерфейс они могут улетать?

BorisE
25.02.2013, 22:59
С мобильника - фиг:
Из домашнего сегмента в дачный - без проблем:

Я, кажется, знаю, почему так происходит. Но не знаю, как побороть.

Когда с какого-то IP адреса из интернета на домашний роутер приходит запрос, то он транслируется DNAT'ом в адрес 10.8.0.2 и отправлется в туннель на дачу.
Там он поступает нужному адресату, тот что-то делает и отправляет пакет назад, на тот самый IP адрес из интернета, но уже напрямую с дачи, а не с домашнего роутера. Отправитель получает неизвестно откуда взявшийся пакет и просто его дропает.

upd. Проверил tcpdump'ом - так и есть.

Дядя Вова
25.02.2013, 23:42
upd. Проверил tcpdump'ом - так и есть.
Делись знанием! Я уже извелся - не знаю как посмотреть.

BorisE
26.02.2013, 00:03
на домащнем роутере:
tcpdump host a.b.c.d -i any

на дачном:
tcpdump host a.b.c.d -i any

a.b.c.d локальный адрес устройства в дачной сети.
Будет хорошо видно как пакеты заходят, уходят в туннель, на другой стороне - видно как появляются, и уходят от устройства прямиком в интернет.

Я в этом всем не разбираюсь, но выход бы искал в двух направлениях:
1. Как-то хитро настраивать DNAT/SNAT
2. Весь трафик с дачи пускать домой и там что-то с ним делать.

Дядя Вова
26.02.2013, 00:09
на домащнем роутере:
tcpdump host a.b.c.d -i any

на дачном:
tcpdump host a.b.c.d -i any

a.b.c.d локальный адрес устройства в дачной сети.
Будет хорошо видно как пакеты заходят, уходят в туннель, на другой стороне - видно как появляются, и уходят от устройства прямиком в интернет.

Я в этом всем не разбираюсь, но выход бы искал в двух направлениях:
1. Как-то хитро настраитвать DNAT/SNAT
2. Весь трафик с дачи пускать домой и там что-то с ним делать.
Ай, нет у меня такого ключа -i any (Linux младше 2,2 :( ). Борис, это на ppp0 получается ты видишь? Я - нет.

BorisE
26.02.2013, 00:49
А, это на n56 работает. Тогда -i br0 введи

Точнее -i tun0 на домашнем и -i br0 на дачном

Все имена интерфейсов можно глянуть введя ifconfig

Дядя Вова
26.02.2013, 12:26
А, это на n56 работает. Тогда -i br0 введи

Точнее -i tun0 на домашнем и -i br0 на дачном

Все имена интерфейсов можно глянуть введя ifconfig
Да, это я все делал. Чего-то недопонимаю. Тоже думаю, что SNAT/DNAT надо прописать, но что и почему - нет понятия. :(

BorisE
26.02.2013, 12:42
Да, это я все делал. Чего-то недопонимаю. Тоже думаю, что SNAT/DNAT надо прописать, но что и почему - нет понятия. :(

Я попробовал чуть-чуть поиграться с DNAT/SNAT, но знаний явно не хватает.
Уверен, Олег с этим разобрался и он нам поможет :)

То есть будешь подключаться к мой_ip:твой_порт и получать, например, radmin основного компа, к мой_ip:твой_порт2 - к ip-камере и т.п.

Вот, у него, по его словам, точно работает.

Дядя Вова
26.02.2013, 13:08
Вот, у него, по его словам, точно работает.
Да, только, как я понимаю, в рамках многосегментной сети. Т.е. OpenVpn надо поставить и настроить на все гаджеты которыми ты пользуешься.
Сам пока так делать боюсь - надо сидеть на даче рядом с роутером. Если мост рухнет вдруг.

Кста, не знаю почему, но туннель стал подниматься очень стабильно, т.е. практически всегда есть соединение. У меня идет(шел) опрос устройства с термометрами раз в минуту. Если и пропадает соединение, то само восстанавливается самоперезагрузкой.

BorisE
26.02.2013, 13:16
Да, только, как я понимаю, в рамках многосегментной сети. Т.е. OpenVpn надо поставить и настроить на все гаджеты которыми ты пользуешься.
Упс, кстати, да.
Сам пока так делать боюсь - надо сидеть на даче рядом с роутером. Если мост рухнет вдруг.
Я рискнул и делаю "по-живому". Страховаться можно двумя способами:
1. У меня на компе в обсерватории стоит TeamViewer, а ему ни прямой IP, ни VPN для связи не нужны. В случае чего, можно удаленно зайти на комп и с него уже работать с обсерваторным роутером.
2. В крайнем случае, включи ненадолго услугу прямой IP адрес - в случае сбоев, всегда сможешь зайти на роутер. Я именно так сейчас перенастраиваю.

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

Дядя Вова
26.02.2013, 13:31
Упс, кстати, да.

Я рискнул и делаю "по-живому". Страховаться можно двумя способами:
1. У меня на компе в обсерватории стоит TeamViewer, а ему ни прямой IP, ни VPN для связи не нужны. В случае чего, можно удаленно зайти на комп и с него уже работать с обсерваторным роутером.
2. В крайнем случае, включи ненадолго услугу прямой IP адрес - в случае сбоев, всегда сможешь зайти на роутер. Я именно так сейчас перенастраиваю.

Ну и на время тестирования ничего не ставить в автозагрузку, чтобы всегда можно было перегрузить роутер и сбросить все творчество.
Вчера попытался gateway прописать через туннель (по своему разумению). Без перезагрузки. Команда route показала изменения, но не помогло. Фигня все это - мне надо, все таки, увидеть пакеты от 10.8.0.2/192.168.2.1

Кста, пытался месяц назад поставить новую прошивку удаленно. Внеочередной визит на дачу :)


PS Для реального ip надо, как я помню, шлюз менять. "Одно неверное движение - и ты ... снова на даче"

monstr
26.02.2013, 15:48
Вот именно чтобы не настраивать полноценный роутинг плюс иметь доступ с любого устройства, я настроил на компе (роутере) с openvpn-сервером tcp-проброс на нужные мне порты. Программку звать rinetd, есть на всех используемых мне платформах (роутер, винда, линь, фря). Файл настроек примитивный

строки типа такой, по одной на проброс:
1.2.3.4 5000 10.11.12.22 99
(вместо 1.2.3.4 ставим реальный адрес)
то есть любое обращение на внешний адрес 1.2.3.4, на порт 5000 приведёт к обращению на 10.11.12.22, на порт 99.

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

После чего можно с любого компа или телефона, без установленного openvpn получить доступ к ресурсам "проброшенного" компа / камеры / веб-сервера роутера и т.п.

Обратная сторона появившегося удобства - уменьшение безопасности. Любой злоумышленник так же может попробовать "ломать" radmin за пробросом или другой "проброшенный" сервис. Плюс может нагнать трафику, точнее загадить канал.
Но это во-первых, надо постараться досадить кому-нибудь; во-вторых надо быть параноиком и не доверять radmin'у и прочим "брендам"; в-третьих можно раз в параноидальный период менять порты... :).

---------

Таким образом, с использованием проброса достаточно чтобы VPN-клиент мог пинговать VPN-сервер и наоборот. Полноценный роутинг не нужен.
PS Для реального ip надо, как я помню, шлюз менять. "Одно неверное движение - и ты ... снова на даче"

В этом плане мне очень помогало что у меня на даче два инет-канала и есть возможность зайти на один и тот же комп / роутер / камеру / ... как через один, так и через другой канал.

BorisE
26.02.2013, 15:55
Программку звать rinetd
Проверил в нескольких репозиториях под роутер - такой программы не числится.

Дядя Вова
26.02.2013, 21:52
Проверил в нескольких репозиториях под роутер - такой программы не числится.
Вроде, Олег мне про это говорил http://ru.wikipedia.org/wiki/Xinetd

BorisE
26.02.2013, 22:35
Фигня все это - мне надо, все таки, увидеть пакеты от 10.8.0.2/192.168.2.1

На скриншоте показал, как я отлавливаю пакеты. Видно, как пакет из интернета с домашнего роутера (верхнее окошко), DNAT'ится на адрес в дачной сети и отправляется в туннель.

На среднем окошке видно, как появляется из туннеля на дачной стороне.

На нижнем - как (опять же, на дачной стороне) передается адресату в локальной сети и от адресата направляется в интернет (так и не появляется назад на туннеле).

Правда, не понимаю, чем это тебе поможет.

Кста, пытался месяц назад поставить новую прошивку удаленно. Внеочередной визит на дачу :)
Я тоже так попадал :)

PS Для реального ip надо, как я помню, шлюз менять. "Одно неверное движение - и ты ... снова на даче"
APN на странице настройки модема. Проходит безболезнено, главное не ошибиться в букве. Я уже менял туда-обратно.

BorisE
26.02.2013, 23:43
Дядя Вова, получилось!!!
Я в этом всем не разбираюсь, но выход бы искал в двух направлениях:
1. Как-то хитро настраивать DNAT/SNAT
2. Весь трафик с дачи пускать домой и там что-то с ним делать.
Как я писал, с DNAT/SNAT ничего не вышло.
А вот со вторым варинатом получилось очень легко. Только весь трафик идет через дом.

Если тебя такой варинат устраивает - то проще не придумаешь: в клиентском конфиге openvpn добавляем только одну строчку - redirect-gateway и openvpn автоматом при коннекте поменяет default gateway на адрес домашнего роутера (10.8.0.1).

upd.
Оказывается, есть серьезные побочные эффекты, перед употреблением ознакомиться :)

При такой конфигурации выход в интернет с дачных компьютеров/роутров невозможен (ping ya.ru работать не будет).
Потому как домашний роутер не знает такую сеть и выпускать ее пакеты никуда не будет. Нужно сначала добавить на домашнем роутере SNAT правило для трансляции адресов дачной сети: iptables -t nat -I POSTROUTING -o ppp0 -s 192.168.1.0/24 -j SNAT --to-source xxx.xxx.xxx.xxx (xxx.xxx.xxx.xxx - внешний домашний IP)

upd.2
Но и это оказалось еще не все - т.к. весь трафик уходит с дачной стороны на дом, то дачный роутер не может достучаться до "мегафоновского" DNS сервера и не может ресолвить имена. Т.е. ping ya.ru работать не будет, но вот уже ping 87.250.250.203 заработает.
Для того, чтобы заработал DNS нужно:
- либо прямо прописать маршрут до "мегафновского" DNS сервера (минусы - я хоть и не проверял, но он наверняка меняется; плюсы - адрес DNS записывается в файл /etc/resolv.conf и и процесс автодобавления такого маршрута легко сделать через скрипт)
- либо заменть DNS сервер на "домашний": оказывается, в Linux это делается относительно просто - меняется адрес сервера в /etc/resolv.conf (также легко автоматизируется в случае, если "домашний" DNS не меняется)

Резюме: что-то мы залезли в дебри. Носить с собой флешку с инсталяцией OpenVPN на порядок проще :)

Дядя Вова
27.02.2013, 23:03
Оказца:
при iptables -F становятся недоступными хосты во внутренней сети.

На -i br0 дачного наконей увидел пакеты на камере 192,168,2,9 Но ... получается редирект порта 80 -> 38xx Как буд-то какой-то прокси цепляется :( Будем изучать.

Попробую сейчас redirect-gateway . Была у меня такая строчка, но после её удаления появился интернет, поэтому была вытерта.

BorisE
28.02.2013, 10:48
Попробую сейчас redirect-gateway . Была у меня такая строчка, но после её удаления появился интернет, поэтому была вытерта.

Обрати внимание на upd.1 и upd.2, без этого работать будет ограниченно.

А я доэксперементировался с SNAT'ами - "...я скоро опять на даче!"(с)

monstr
01.03.2013, 14:44
Вроде, Олег мне про это говорил http://ru.wikipedia.org/wiki/Xinetd

Нет, xinetd это не то.
Я, честно сказать, не помню откуда именно rinetd ставил. Вот японскую страницу нагуглил, может помочь: http://briteming.blogspot.ru/2012/12/rinetd.html

Дядя Вова
03.03.2013, 01:08
"...я скоро опять на даче!"(с)
написал дачному что-то типа
route add default 192.168.2.9 mask 255.255.255.255 gw 31.42.39.8
тот отключился и на связь больше не выходил.
Надо ехать. заодно испытать самопальный Ethernet-CAN адаптер для электросчетчика меркурий200.

До последнего момента так и не удалось получить в Интернет пакеты с br0. Это обидно, т.е. я вижу, что камера общается с сeрвером dyndns.com.
Точнее, видел, что пакеты от меня из интернета приходят на какой-то лохматый порт 192,168,2,9:39ххх, причем меняющийся.

iceberg1977
01.06.2013, 00:21
Хочу в своём доме возобновить проект "умного дома".
Я сейчас тоже начал заниматься умным домом. Достижения скромные. В Краснодаре дома провайдер Yota и серый IP, поэтому в станице поднял openvpn сервер на TP-Linke (динамический белый адрес), в Краснодаре openvpn client на роутере. Теперь думаю о создании за роутером сервера видеонаблюдения камер на 6 с удаленным доступом к нему (пусть видеонаблюдение будет полностью отдельной системой, так надежнее и нет нагрузки камерами на сеть) и также хочу повесить на другой компьютер охранно-пожарную сигнализацию. Вопрос- что использовать для ввода-вывода данных в компьютер отвечающий за ОПС? Переходник USB-RS232 и реле управляемое по USB ? Буду благодарен за любую информацию по данным вопросам.

Дядя Вова
01.06.2013, 13:16
Вопрос- что использовать для ввода-вывода данных в компьютер отвечающий за ОПС? Переходник USB-RS232 и реле управляемое по USB ? Буду благодарен за любую информацию по данным вопросам.

imho ethernet ->RS232
http://en.usr.cn/RS223-RS485-serial-to-TCP-IP-ethernet-server-module-converter.html удобнее.
Витую пару далеко можно протянуть. И с разветвлением проблем нет. И PoE можно организовать.

iceberg1977
01.06.2013, 15:49
imho ethernet ->RS232
http://en.usr.cn/RS223-RS485-serial-to-TCP-IP-ethernet-server-module-converter.html удобнее.
Витую пару далеко можно протянуть. И с разветвлением проблем нет. И PoE можно организовать. Немного нечетко сформулировал вопрос. Есть дискретные датчики (концевики,микрики и т.п.) и аналоговые (датчики температуры, давления, освещенности и т.п.) надо показания с них запихнуть к компьютер для дальнейшей программной обработки, а затем отправить управляющие сигналы(хотя бы дискретные но с возможностью шим-модуляции на программном уровне), на исполнительные механизмы. Как это сделать?

BorisE
01.06.2013, 17:43
Немного нечетко сформулировал вопрос. Есть дискретные датчики (концевики,микрики и т.п.) и аналоговые (датчики температуры, давления, освещенности и т.п.) надо показания с них запихнуть к компьютер для дальнейшей программной обработки, а затем отправить управляющие сигналы(хотя бы дискретные но с возможностью шим-модуляции на программном уровне), на исполнительные механизмы. Как это сделать?

Здесь я встречал несколько решений для этого:
- платы ввода / вывода PureLogic Pla001 и Pla002 (http://purelogic.ru/shop/elektronnye_komplektuyuwie/porty_vvodavyvoda_modbus/)
- аналогичные USB платы с ebay
- блок управления через Ethernet Aviosys IP Power 9212 Delux (http://www.aviosys.ru/ipp9212d.htm)
- устройства на основе микроконтроллеров ATMega собственного изготовления (в т.ч. в обертке Arduino, ...)

Подбронее можно найти поиском по форуму

VN
03.06.2013, 22:08
Купил камеру Wi-Fi D-Link за 1700р с доставкой. Установили камеру в 20м от роутера - все работает. Приятно!!!

Valenock
04.06.2013, 03:09
Можно подробнее? Вполне социальная цена.

VN
05.06.2013, 10:02
Можно подробнее? Вполне социальная цена.
Хорошо. Вечером отпишу с коробки маркировку. Главное то что она с АйПи адресом и можно смотреть с любой точки через сайт D-Link!

BorisE
05.06.2013, 12:00
Хорошо. Вечером отпишу с коробки маркировку. Главное то что она с АйПи адресом и можно смотреть с любой точки через сайт D-Link!

На правах рекламы - аналогичные указанной китайская wifi ip камеры, зато поворотная и с отключаемой ик подсветкой: типа таких на dx.com (http://dx.com/c/home-garden-1099/alarms-security-1001/ip-cameras-1084)
640 x 480 стоит порядка 50$ с доставкой, 1280 x 762 - порядка 70$

Единственная пробелма - стабильность качеста: купил три похожих, одна сдохла.

VN
05.06.2013, 18:01
http://www.pleer.ru/_72313_D_Link_DCS_930L.html
Из плюсов приводится вот это
И, наконец, третье – это поддержка сервиса Mydlink. С помощью этой услуги владелец камеры может использовать удаленный доступ через браузер. Вы можете контролировать происходящее в помещении, подключившись к камере со своего стационарного компьютера либо же с помощью iPhone или iPad; также можно увидеть изображение с камеры через устройства, поддерживающие платформу Android. Для этого нужно все-навсего зарегистрироваться на специальном портале.

Борису! У меня около года стояла поворотная камера. Сначала вроде как по делу а потом понимаешь что это ломкая никчемная игрушка.
Лучше и надежнее 2-3 камеры установленные стационарно и закрывающие нужные сектора.
Данная камера у меня предназначена для осмотра из угла сектора 90град. Зачем ей повороты???
Ну а с точки зрения вебок еще раз всем рекомендую A4tech 710 - великолепная 500р игрушка. У меня их 6шт.
Одна после года работы в направлении на Солнце немного потеряла качество и чувствиельность...

Дядя Вова
06.11.2013, 10:01
http://www.pleer.ru/_72313_D_Link_DCS_930L.html
Борису! У меня около года стояла поворотная камера. Сначала вроде как по делу а потом понимаешь что это ломкая никчемная игрушка.
Лучше и надежнее 2-3 камеры установленные стационарно и закрывающие нужные сектора.

Да, вот тоже ощутил ненужность поворота. Хотя камера провисела зиму под свесом крыши и все ОК.

Прошлой осенью попытался подключить электросчетчик Мекркурий 200 через Ethernet-CAN переходник. Не получилось, т.е. недопетрил, что для счетчика в этом случае нужен дополнительный источник питания. Сейчас подключил к роутеру. С компа счетчик виден через связку утилит com2tcp. Виден, но данные штатная программа не считывает. выдает ошибку "could not convert variant of type string into type integer". Это не особо ваноно, но вдруг кто знает - Куда копать?

Вопрос-то у меня другой. Если б это был просто COM-порт, то код php: dio_open('/dev/ttyUSB0', O_RDWR) (http://www.ab-log.ru/page.php?ID=48&cs=1); А как с роутера делать чтение запись в этот СOM-порт, который теперь 192.168.2.7:23 ?

BorisE
20.11.2013, 20:16
Да, вот тоже ощутил ненужность поворота. Хотя камера провисела зиму под свесом крыши и все ОК.

Прошлой осенью попытался подключить электросчетчик Мекркурий 200 через Ethernet-CAN переходник. Не получилось, т.е. недопетрил, что для счетчика в этом случае нужен дополнительный источник питания. Сейчас подключил к роутеру. С компа счетчик виден через связку утилит com2tcp. Виден, но данные штатная программа не считывает. выдает ошибку "could not convert variant of type string into type integer". Это не особо ваноно, но вдруг кто знает - Куда копать?

Вопрос-то у меня другой. Если б это был просто COM-порт, то код php: dio_open('/dev/ttyUSB0', O_RDWR) (http://www.ab-log.ru/page.php?ID=48&cs=1); А как с роутера делать чтение запись в этот СOM-порт, который теперь 192.168.2.7:23 ?

Дядя Вова,

я не совсем понял принцип подключения счетчика - он подключается к роутеру по com/usb?

И, насколько я могу представить принцип работы com2tcp, для считывания со счетчика информации, на роутере должен стоять его клиент, а он, судя по офф.сайту, чисто виндовый (на всякий случай поискал у себя в репозитории на роутере - не нашел), поэтому есть опасения, что через tcp на роутере не получится подключить таким окаром. Но есть альтернативные com2tcp проекты, работаюшие под роутером (чуть раньше обсуждались (http://starlab.ru/showpost.php?p=443150&postcount=149)).

Дядя Вова
20.11.2013, 21:19
Дядя Вова,

я не совсем понял принцип подключения счетчика - он подключается к роутеру по com/usb?

И, насколько я могу представить принцип работы com2tcp, для считывания со счетчика информации, на роутере должен стоять его клиент, а он, судя по офф.сайту, чисто виндовый (на всякий случай поискал у себя в репозитории на роутере - не нашел), поэтому есть опасения, что через tcp на роутере не получится подключить таким окаром. Но есть альтернативные com2tcp проекты, работаюшие под роутером (чуть раньше обсуждались (http://starlab.ru/showpost.php?p=443150&postcount=149)).
Привет! Как раз в тему. Сижу эту тему развиваю. Так совпало, что мне на работе суточный мониторинг температуры воды в емкости понадобился. Так я с дачи DIR-320 с NetAlarm привез и задействовал http://dv0.e3w.ru/www/temp.html Но термометров не хватает и задумался как еще туда навешать. Задешево, т.к. временно, а на дачу задорого "интернет-термометр" не хочу. Это к слову.

Теперь к счетчику. У него CAN-шина. Есть адаптер под неё RS232TTL-CAN (http://www.aliexpress.com/item/SN65HVD230-CAN-Module-CAN-Communication-module-interface-communication-module-development-board-Free-Shipping/665009447.html). Ну и IP-EQDIR (http://www............../forum/index.php/topic,102935.0.html) т.е. адаптер Eternet-RS232TTL (там кстати 2 RS232).
Никаких USB. Но не работает :( Импульсы по проводам бегают, но счетчик не отвечает. Буду продолжать с использованием USB-CAN адаптера (http://www.aliexpress.com/item/USB-Cable-Car-Diagnose-tool-KKL-VAG-409-1-VW-AUDI-OBD2-OBD-OBDII-COM-Scanner/478828280.html) от автомашины.

А интернет-термометр с использованием этой инфы по USB-RS232 TTL (http://cyber-place.ru/showthread.php?p=2904#post2904). Понятно, что собираюсь использовать тот же адаптер Eternet-RS232TTL.
На роутере нужно будет отганизовать виртуальный COM-порт. Тогда можно использовать указанную по ссылке утилиту digitemp.

BorisE
21.11.2013, 20:32
Привет! Как раз в тему. Сижу эту тему развиваю. Так совпало, что мне на работе суточный мониторинг температуры воды в емкости понадобился. Так я с дачи DIR-320 с NetAlarm привез и задействовал http://dv0.e3w.ru/www/temp.html Но термометров не хватает и задумался как еще туда навешать. Задешево, т.к. временно, а на дачу задорого "интернет-термометр" не хочу. Это к слову.

Теперь к счетчику. У него CAN-шина. Есть адаптер под неё RS232TTL-CAN (http://www.aliexpress.com/item/SN65HVD230-CAN-Module-CAN-Communication-module-interface-communication-module-development-board-Free-Shipping/665009447.html). Ну и IP-EQDIR (http://www............../forum/index.php/topic,102935.0.html) т.е. адаптер Eternet-RS232TTL (там кстати 2 RS232).
Никаких USB. Но не работает :( Импульсы по проводам бегают, но счетчик не отвечает. Буду продолжать с использованием USB-CAN адаптера (http://www.aliexpress.com/item/USB-Cable-Car-Diagnose-tool-KKL-VAG-409-1-VW-AUDI-OBD2-OBD-OBDII-COM-Scanner/478828280.html) от автомашины.

А интернет-термометр с использованием этой инфы по USB-RS232 TTL (http://cyber-place.ru/showthread.php?p=2904#post2904). Понятно, что собираюсь использовать тот же адаптер Eternet-RS232TTL.
На роутере нужно будет отганизовать виртуальный COM-порт. Тогда можно использовать указанную по ссылке утилиту digitemp.

По термометрам - могу помочь с неограниченным количеством термометров/датчиков влажностей, давлений с передачей сразу с передачей в интернет на базе arduino (40$)
Второе решение с роутером - не usb, а com термометр (20$)
C 1-wire и digitemp я долго мучался, но так ничего и не вышло (?$)

Если у счетчика есть CAN-RS232 преоразователь, то его через COM-USB можно подлкючить к роутеру и читать напрямую данные с COM порта. Если протокол обмена данными известен, то вот и решение? Или я что-то не так понял?

Дядя Вова
22.11.2013, 16:30
По термометрам - могу помочь с неограниченным количеством термометров/датчиков влажностей, давлений с передачей сразу с передачей в интернет на базе arduino (40$)
Второе решение с роутером - не usb, а com термометр (20$)

Борис, а ссылочками с описанием поделитесь?

C 1-wire и digitemp я долго мучался, но так ничего и не вышло (?$)

А в чем затык был? И на чем пробовал?

Если у счетчика есть CAN-RS232 преоразователь, то его через COM-USB можно подлкючить к роутеру и читать напрямую данные с COM порта. Если протокол обмена данными известен, то вот и решение? Или я что-то не так понял?
У счетчика Меркурий 200.02 CAN-интерфейс. Дальше прикручен адаптер CAN-RS232TTL. Понимаешь, что дальше уже все равно что вешать, хоть EQDirect. Мои запросы до счетчика доходят, но он молчит как Фобос-Грунт.

Протокол мне но известен. НО я вижу команды штатной программы на ком порте типа "00 00 00 00 24 1E" или 00 00 00 00 24 1B". Т.е. проблемы с дешифрацией быть не должно.

Дядя Вова
07.12.2013, 18:58
Случилось страшное :(
Как-то в этом году роутер DIR-320 с подключенным к нему USB хабом (без собственного питания) часто вис.
Побробовал другой 2А БП. Вааще не потянул! Ну, тогда пусть будет шатное включение источников питания - для хаба и роутера.... Похоже последовательность включения питания была неправильной - USB порт роутера выгорел :( Это без вариантов.

Вопрос - на что менять? Надо соблюсти прееемственность по ПО. Т.е воткнуть флешку и модем и вперед.

Дядя Вова
07.12.2013, 23:34
Похоже последовательность включения питания была неправильной - USB порт роутера выгорел :( Это без вариантов.

БП оказался 12В :( Так что модему и флешке тоже каюк. Интересно, на вышке Мегафона я им ничего не выжег? :)

Дядя Вова
08.12.2013, 20:43
Продолжу таки!
Замену найти не удалось пока, но интернет выручил.
Заметил в логе непрерывное причитание:
kernel: hub 1-0:1.0: over-current change on port 1
Далее тема:
http://wl500g.info/showthread.php?26011-%CD%E5-%F0%E0%E1%EE%F2%E0%E5%F2-USB-%EF%EE%F0%F2-%ED%E0-%F0%EE%F3%F2%E5%F0%E5
перемкнул предохранитель F1 http://habrastorage.org/storage2/227/da1/25f/227da125fadc9813836dc4a180e2fee8.png - USB порт ожил.

VN
16.12.2013, 12:17
Задолбал меня этот Асус на удаленке. Года два работал как часы, но все равно раз в два месяца слетал и требовал перезагрузки. Теперь слетает каждые 3 дня как по расписанию!!! Что делать - выкинуть или есть к нему лекарство???

Дядя Вова
16.12.2013, 12:31
Задолбал меня этот Асус на удаленке. Года два работал как часы, но все равно раз в два месяца слетал и требовал перезагрузки. Теперь слетает каждые 3 дня как по расписанию!!! Что делать - выкинуть или есть к нему лекарство???
Один-к-одному! Только DIR-320. Сейчас поменяю местами ASUS и D-Link. Посмотрю, что изменится. Хорошо бы питание проверить- может там уже не +5В.
Про питание я думаю потому, что кроме роутера в такую же позицию стал вставать контроллер на ATMEGA, что еще более удивительно. А роутер и этот контроллер питались от одного источника питания.

Rain Dog
17.12.2013, 19:38
У меня модем и роутер - d-link. У роутера сломался блок питания - конденсатор внутри вздулся. У модема пока ещё работает, но когда бесперебойник щелкает релюшкой модем подвисает (перед тем как сломался блок питания у роутера подвисал и роутер). Пока были новые ничто не глючело.
Вывод мой такой - во всём виноваты блоки питания. Можно попробовать запитать от чего-нибудь более надёжного. Там нужно всего 5 В где-то взять.

D_a_r_k_man
17.12.2013, 19:42
У меня модем и роутер - d-link. У роутера сломался блок питания - конденсатор внутри вздулся. У модема пока ещё работает, но когда бесперебойник щелкает релюшкой модем подвисает (перед тем как сломался блок питания у роутера подвисал и роутер). Пока были новые ничто не глючело.
Вывод мой такой - во всём виноваты блоки питания. Можно попробовать запитать от чего-нибудь более надёжного. Там нужно всего 5 В где-то взять.

Или электролиты заменить на нормальные во всех блоках питания, чтобы хватала заряда для того, чтобы пережить щелканье реле в беспребойнике. Хотя бы что-то типа 2200х16в, большую емкость уже может БП при старте не зарядить, если чахлый

Rain Dog
17.12.2013, 20:14
Или электролиты заменить на нормальные во всех блоках питания, чтобы хватала заряда для того, чтобы пережить щелканье реле в беспребойнике. Хотя бы что-то типа 2200х16в, большую емкость уже может БП при старте не зарядить, если чахлый

В БП роутера я заменил конденсатор, не на 2200, такой туда не влезет, а просто на хороший, который должен ещё долго держаться. А вот до БП от модема руки ещё не дошли :).

Denk36
17.12.2013, 21:17
Задолбал меня этот Асус на удаленке. Года два работал как часы, но все равно раз в два месяца слетал и требовал перезагрузки. Теперь слетает каждые 3 дня как по расписанию!!! Что делать - выкинуть или есть к нему лекарство???
Перед тем, как выкинуть, я бы попробовал перепрошить. Хуже не будет всё-равно.

D_a_r_k_man
17.12.2013, 21:45
В БП роутера я заменил конденсатор, не на 2200, такой туда не влезет, а просто на хороший, который должен ещё долго держаться. А вот до БП от модема руки ещё не дошли :).

Да ну, влезет. Сейчас новые электролиты вообще маленькие, можно что-то подобрать. Там какое напряжение?

Rain Dog
17.12.2013, 22:45
Да ну, влезет. Сейчас новые электролиты вообще маленькие, можно что-то подобрать. Там какое напряжение?

Там 5 вольт, но это же китайский блок питания. Там места почти нет. :) Но главное что сейчас работает. А вот если сломается...

D_a_r_k_man
17.12.2013, 23:39
А вот если сломается...

... то менять уже может быть поздно)
Есть электролиты на номинал 6.3в, ставятся на материнки возле проца, как правило 3300мкФ

BorisE
19.12.2013, 02:58
У меня один WL500gp уже выгорел и был заменен на RT-N16. Там и железо мощнее, но при этом настройки все те же. В этом смыле N56 и N66 не подойдут

BorisE
19.12.2013, 03:04
Борис, а ссылочками с описанием поделитесь?

А в чем затык был? И на чем пробовал?

Заказывал этот контроллер для 1-Wire (DS как-то там) и вышеприведенную схему пытался запаять, но ничего так и не заработало.

По ссылочкам - просто thermometer RS232. Правда раньше по поиску на ebay гораздо больше вылазило....

По Arduino - попробую набросать страницу по этому поводу, но там все крайне тривиально и по стоимости даже дешевле thermometer RS232.

У счетчика Меркурий 200.02 CAN-интерфейс. Дальше прикручен адаптер CAN-RS232TTL. Понимаешь, что дальше уже все равно что вешать, хоть EQDirect. Мои запросы до счетчика доходят, но он молчит как Фобос-Грунт.

Протокол мне но известен. НО я вижу команды штатной программы на ком порте типа "00 00 00 00 24 1E" или 00 00 00 00 24 1B". Т.е. проблемы с дешифрацией быть не должно.
Честно говоря вот с такими нюансами не знаю как бороться. Я пробовал дешифровать протокол wireless датчика от погодной станции, надеясь к своей присоединить еще и измерение силы ветра, но все это как-то непросто.

Но для микроконтроллеров полно датчиков тока - я сейчас так меряю потребение монтировки. На 220В не пробовал, но уверен, что это не сложно...

Дядя Вова
19.12.2013, 13:38
Про термометры.
Приехала такая штука IP-термометр http://www.aliexpress.com/item/Free-shipping-Ethernet-thermometer-Built-in-a-relay-2-channels-thermometer-Multipoint-Temp-system/519028210.html 1W340B. В комплекте разветвитель на 8 датчиков.
Но
1) Документации нет. Т.е. интерфейс/протокол непонятен. То что пишется про 1W340 - не работает. Команды имею ввиду.
2) ПО только под Windows
3) Не получается изменить IP

Следом едут из Китая USB-термометр и Ethernet-USB хаб.

Проблемка нарисовалась. Не могу запустить cron. Ручками конманды из crontab выполняются, а по расписанию нет. Интересно, эти кронтабы текстовым редактором можно править или только crontab -e ? С тамошним редактором не получается справиться.
]$ crontab -l
SHELL=/bin/sh
PATH=/opt/bin:/opt/sbin:/sbin:/bin:/usr/sbin:/usr/bin:/opt/usr/bin:/opt/usr/sbin
MAILTO=""
HOME=/
# ---------- ---------- Default is Empty ---------- ---------- #
*/1 * * * * /opt/bin/run-parts /opt/etc/cron.1min
*/5 * * * * /opt/bin/run-parts /opt/etc/cron.5mins
01 * * * * /opt/bin/run-parts /opt/etc/cron.hourly
02 4 * * * /opt/bin/run-parts /opt/etc/cron.daily
22 4 * * 0 /opt/bin/run-parts /opt/etc/cron.weekly
42 4 1 * * /opt/bin/run-parts /opt/etc/cron.monthly


Это в /var/spool/cron/crontabs

а в /opt/etc :
SHELL=/bin/sh
PATH=/opt/bin:/opt/sbin:/sbin:/bin:/usr/sbin:/usr/bin:/opt/usr/bin:/opt/usr/sbin
MAILTO=
HOME=/
# ---------- ---------- Default is Empty ---------- ---------- #
*/1 * * * * root /opt/bin/run-parts /opt/etc/cron.1min
*/5 * * * * root /opt/bin/run-parts /opt/etc/cron.5mins
01 * * * * root /opt/bin/run-parts /opt/etc/cron.hourly
02 4 * * * root /opt/bin/run-parts /opt/etc/cron.daily
22 4 * * 0 root /opt/bin/run-parts /opt/etc/cron.weekly
42 4 1 * * root /opt/bin/run-parts /opt/etc/cron.monthly
Может они перепутаны?

VN
19.12.2013, 14:47
Один-к-одному! Только DIR-320. Сейчас поменяю местами ASUS и D-Link. Посмотрю, что изменится. Хорошо бы питание проверить- может там уже не +5В.
Про питание я думаю потому, что кроме роутера в такую же позицию стал вставать контроллер на ATMEGA, что еще более удивительно. А роутер и этот контроллер питались от одного источника питания.
Так зараза как перезагрузишь работает отлично...
Вот думаю может повесить все это дело на реле времени и выключать на автомате питание на 15мин в сутки. Или даже 2 раза в сутки. Та же перезагрузка получается????
А питание говоришь напряжение померять??? То есть по простому мог б\п помереть???

BorisE
19.12.2013, 18:37
Про термометры.
Приехала такая штука IP-термометр http://www.aliexpress.com/item/Free-shipping-Ethernet-thermometer-Built-in-a-relay-2-channels-thermometer-Multipoint-Temp-system/519028210.html 1W340B. В комплекте разветвитель на 8 датчиков.
Но
1) Документации нет. Т.е. интерфейс/протокол непонятен. То что пишется про 1W340 - не работает. Команды имею ввиду.
2) ПО только под Windows
3) Не получается изменить IP

Следом едут из Китая USB-термометр и Ethernet-USB хаб.

Ого. С размахом :)


Проблемка нарисовалась. Не могу запустить cron. Ручками конманды из crontab выполняются, а по расписанию нет. Интересно, эти кронтабы текстовым редактором можно править или только crontab -e ? С тамошним редактором не получается справиться.

Правится, причем отлично. На роутере можешь либо пользоваться vi файл (но к нему нужно привыкнуть), либо установить вменяемый редактор opkg install nano (на старых прошивках ipkg install nano)


Это в /var/spool/cron/crontabs

а в /opt/etc :

Может они перепутаны?
Ты как устанавливал cron? opkg install cron?
по идее правильный crontab должен быть в /opt/etc

Ты создавал вручную скрипт /opt/bin/run-parts (т.к. в моих прошивках его нужно сделать ручками)? В любом случае проверь, запускается ли он (напиши в консоле /opt/bin/run-parts)

Дядя Вова
20.12.2013, 10:36
Ого. С размахом :)

Думал его на работе поставить. Но вот наткнулся на применение такого в MajorDom http://smartliving.ru/Main/1w340


Правится, причем отлично. На роутере можешь либо пользоваться vi файл (но к нему нужно привыкнуть), либо установить вменяемый редактор opkg install nano (на старых прошивках ipkg install nano)

Юзаю доступ через WinSCP - там подключил Notepad2. Вот и волнуюсь - адекватно ли он файл делает?



Ты как устанавливал cron? opkg install cron?
по идее правильный crontab должен быть в /opt/etc

Ты создавал вручную скрипт /opt/bin/run-parts (т.к. в моих прошивках его нужно сделать ручками)?

Так тоже устанавливал. Может и я сам скрипт левый притащил.

В любом случае проверь, запускается ли он (напиши в консоле /opt/bin/run-parts)
/opt/bin/run-parts
Usage : /opt/bin/run-parts
/linuxrc: line 31: can't open dev/null: no such file

Или
/opt/bin/run-parts /opt/etc/cron.5mins
--2013-12-20 10:37:53-- http://192.168.2.200/stat
Connecting to 192.168.2.200:80... failed: No route to host.
/opt/var/log/stat: No such file or directory
/opt/var/log/openvpn/status.log: 603.00 B 3.60 kB/s
cannot stat `/opt/var/log/stat*': No such file or directory
cannot remove `/opt/var/log/stat*': No such file or directory

BorisE
23.12.2013, 09:51
Думал его на работе поставить. Но вот наткнулся на применение такого в MajorDom http://smartliving.ru/Main/1w340


Юзаю доступ через WinSCP - там подключил Notepad2. Вот и волнуюсь - адекватно ли он файл делает?

Так тоже устанавливал. Может и я сам скрипт левый притащил.

/opt/bin/run-parts
Usage : /opt/bin/run-parts
/linuxrc: line 31: can't open dev/null: no such file

Или
/opt/bin/run-parts /opt/etc/cron.5mins
--2013-12-20 10:37:53-- http://192.168.2.200/stat
Connecting to 192.168.2.200:80... failed: No route to host.
/opt/var/log/stat: No such file or directory
/opt/var/log/openvpn/status.log: 603.00 B 3.60 kB/s
cannot stat `/opt/var/log/stat*': No such file or directory
cannot remove `/opt/var/log/stat*': No such file or directory

Проверил у себя run-parts - выдает такое же сообщение :-/

А сам cron запущен? ps | grep cron находит его?

Также ты прав, windows txt формат своим лишним символом вполне может портить crontabs. Попробуй исключить эту возможность - некоторые редакторы (Editplus,например) могут сохранять в linux формате.
Ну или попробуй поредактировать прямо на роутере (nano или vi)