Восстановление «убитой» прошивки для роутера Netgear

После неудачной прошивки роутера занялся его восстановлением. Курил мануалы от самой фирмы и с форума dd-wrt, ничего не получалось. Погуглив поконкретнее вышел на тот же dd-wrt и читаю в форуме How To: Unbrick Netgear WNR2000v2 easily without serial/JTAG. Данный рецепт помог восстановить.

Настраиваем комп — 192.168.1.5/255.255.255.0

Запускаем в окошке — ping -t 192.168.1.1

Запускаем tftp2 (при желании пойдет и обычный tftp): 192.1681.1. и WNR2000v2-V1.0.0.35_29.0.47.chk

Снимаем с роутера крышку и видим:

вид на перемычку

Замыкаем указанные контакты и включаем роутер, ждем пока светодиод питания не начнет мигать зеленым и не появиться пинг. В tftp2 давим кнопку Upgrade и ждем пока светодиод питание не начнет мигать желтым.

Отключаем и собираем роутер.

Файлы:tftp2   WNR2000v2-V1.0.0.35_29.0.47.chk

Теги: , , ,

Компиляция модуля TDB_File с новыми libtdb

Решил поработать с содержимым tdb-файлов напрямую из perl-а. Все встречавшиеся примеры из инета работают через костыль — tdbdump. Модуль TDB_File-0.96a собираться отказался. Заточен он был под tdb версии 1.0.6.

За это время api незначительно поменялся. Были подправлены исходники и создана «условная» версия 0.97.

Функции logging были удалены из исходников, т.к. в новом api их нет.

Модуль компилится, тест проходит, читает данные из файла ppp2.tdb. Проверка на прочие функции не проводилась.

Архив для сборки под archlinux perl-tdb_file-0.97-1.src.tar.gz

Теги: , , , ,

DD-WRT: решение проблемы no_dns_rebind

По умолчанию в dnsmasq.conf есть параметр stop_dns_rebind , запрещающий приватные адреса (Reject (and log) addresses from upstream nameservers which are in the private IP ranges).

В веб-интерфейсе пимпочка для отключения этой фичи может отсутсвовать:(

Решается так:

  • заходим по телнету
  • nvram set dnsmasq_no_dns_rebind=0
  • nvram commit
  • reboot

Теги:

DD-WRT + dual WAN: 1001 решение

Постановка задачи:

  • 2 провайдера
  • один со статическим адресом, другой по dhcp
  • выход в инет по pppoe с выбором провайдера
  • ручной переход между pppoe подключениями
  • прочие фишки

Решение:

  1. Устанавливаем свежую версию dd-wrt на роутер
  2. Разрешаем jffs
  3. Первому провайдеру назначаем статический адрес (это будет vlan1)
  4. Выделяем второму провайдеру vlan2 на порте 4
  5. Конфигурим сервисы — запрещаем кнопочку SES и разрешаем dnsmasq
  6. Запрещаем dhcp сервер и настраиваем ntp клиента
  7. При необходимости настраиваем ddns
  8. Настраиваем запускаемые скрипты
  9. Заливаем скрипты в роутер в каталог /jffs и назначаем им права 0755
  10. Правим скрипт wan2_init.sh и вносим данные в nvram:
    • устанавливаем при необходимости mac
    • прописываем юзера и пароль
    • редактируем номера gpio для индикации состояния
    • запускаем этот скрипт в консоли или перегружаем роутер

В принципе должно работать :)

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

  • startup.sh — запуск и инициализация
  • udhcpc.sh — перезапуск dhcp клиента
  • udhcpc — скрипт переноса значение dhcp в nvram
  • ppp.sh — перезапуск pppoe
  • ip-up, ip-down — скрипты для ppp
  • firewall.sh — настройка маскарадинга
  • dnsmasq.sh — перезапуск сервера dhcp и dns
  • ses_ppp.sh — переключение pppoe между провайдерами кнопочкой SES

 

Скачать архив со скриптами: dualwan-20110804

Обновление от 04/08/2011:

  • при переключении провайдера кнопкой SES/WPS меняется цвет индикатора привязанного к LED_CONNECTED (номер будет зависеть от роутера)
  • подсветка индикатора SES/WPS означает, что ppp поднят
  • в crontab-е контролируется pppd
  • upnp смотрит в ppp0

Перепаковка локальных коллекций библиотек для MyHomelib.

Для любого любителя почитать всегда остается актуальным поиск электронных книг. Чтобы жизнь была проще можно скачать локальные коллекции библиотек (например, Flibusta.net и Либрусек). Число файлов в каждой библиотеке превышает 150000 книг, а объем более 30Гб. При этом для «экономии» создается ограниченное число архивов (несколько десятков). Размер каждого архива порядка 1 Гб, что весьма много даже для дисков. А если файлы на сервере + wifi :(

Для решения этой проблемы и обеспечения гибкости изменения условий формирования новой библиотеки, написан программа.

Использование (на примере флибусты):

./librepack.pl -i flibusta_fb2_local.inpx -f fb2.Flibusta.Net -t Flibusta -n 100

В данном случае используется оригинальный файл inpx и каталог с архивами, результат будет в каталоге Flibusta, число файлов в новых архивах не более 100. Время перепаковки, конечно большое :(

В качестве бонуса из архивов удаляются не fb2 файлы, все языки кроме ru, помеченные как удаленные и дубликатные файлы. Экономия ~20%.

Внутри нового каталога будет лежать inpx-файл, который подсовываем MyHomelib.

Вариант пока на уровне беты, но работает:) Планируется разностное обновление и объединение библиотек.

Скачать librepack.pl.

Добавлена возможность добавления нескольких библиотек с удалением дубликатов.

Пример:

./librepack2.pl -i flibusta_fb2_local.inpx,librusec.inpx -f fb2.Flibusta.Net,lib.rus.ec -t Flibrusec

В примере объединяем флибусту и либрусек в новую коллекция Flibrusec :) Было обработано 331482 файла, осталось 142971 (дубликатов получилось 98353).  Экономия, однако.

Скачать librepack2.pl.

 

Теги: , , ,