Tag Archives: openwrt

OpenWrt, libiconv и Full Language Support

Бывают ситуации, когда в OpenWrt не хватает полной языковой поддержки. Особенно, когда дело касается работы с кириллицей в кодировке UTF-8. Для таких случаев в OpenWrt предусмотрена неурезанная версия библиотеки libiconv-full, а также глобальная опция Compile with full language support.

Вот только скомпилировав прошивку с данными опциями выясняется, что никакой поддержки кириллических кодировок как не было, так и нет. Continue reading

Posted in Сеть и интернет | Tagged , | 12 Comments

davfs2 и загрузка файлов в OpenWrt

В опубликованной на днях статье про резервное копирование в WebDav мы касались того, что davfs2 из репозитория OpenWrt не всегда способен успешно загружать файлы в удаленное хранилище, и зачастую они заканчивают свой путь в каталоге lost+found. При этом чтение файлов из WebDav, получение их атрибутов, а также и удаление – всегда работает корректно.

Как оказалось, эта проблема имеет простое решение. Continue reading

Posted in Сеть и интернет | Tagged , | 3 Comments

Резервное копирование в WebDav на OpenWrt

Рассмотрим возможность создания резервного копирования в облачное хранилище WebDav на примере Яндекс.Диска при помощи виртуальной файловой системы davfs2, утилиты cadaver и небольшого PHP-скрипта. Continue reading

Posted in Сеть и интернет | Tagged , , | 4 Comments

PHP, SQLite и регистронезависимость

Несмотря на объявленную поддержку UTF, встраиваемая СУБД SQLite3 по умолчанию не умеет делать регистронезависимую сортировку, сравнение и операции по преобразованию строк над буквами, не входящими в английский алфавит. Для решения этой проблемы разработчики SQLite рекомендуют использовать расширение ICU, с подключением которого станет возможным выбирать различные кодировки и иметь возможность пользоваться регистронезависимыми операциями сравнения любых символов кроме латиницы. Вот только описаний, как это сделать для php-mod-sqlite3, найти толком нельзя, да и объем ICU превышает размер самой библиотеки SQLite! Для embedded-применений – например, в OpenWrt – такое не годится. Continue reading

Posted in Сеть и интернет | Tagged , , | Leave a comment

Автоматизация загрузки файлов на WebDav

Ранее на страницах этого сайта рассматривалась возможность монтирования облачных WebDav-хранилищ при помощи fuse-системы davfs2. Одним из ее недостатков был тот факт, что при любых операциях над файлами они неминуемо копировались сначала во временную директорию, а лишь затем перемещались в целевой каталог.

Альтернативой davfs2 для прямого получения или загрузки файлов в облачное хранилище является утилита cadaver. Однако, она предполагает интерактивное взаимодействие с пользователем, и использование ее в автоматизированных скриптах не представляется возможным. Обойти эту проблему можно при помощи утилиты empty, аналога expect для создания и взаимодействия с псевдотерминалами. Continue reading

Posted in Сеть и интернет | Tagged , , , | Leave a comment

empty-expect и сборка под архитектуру PowerPC

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

Для исправления ситуации существуют немногочисленные программы, позволяющие создавать своего рода псевдотерминалы, отслеживающие появление на консоли того или иного текста и позволяющие задать текст, автоматически отправляемый в ответ на данный текст. Типовым примером является утилита expect, требующая для работы интерпретатора tcl, или значительно более легкая и значительно менее известная утилита empty, заметно более подходящая для OpenWrt-роутеров. Continue reading

Posted in Сеть и интернет | Tagged , , | Leave a comment

Ошибка при запуске make menuconfig в OpenWrt Buildroot

После переноса OpenWrt Buildroot с одного хоста на другой можно столкнуться с тем, что команда make menuconfig не работает и возвращает ошибку следующего вида:

[erinome@shuttle trunk]$ make menuconfig V=s
scripts/config/mconf: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by scripts/config/mconf)
make: *** [menuconfig] Error 1

Вызов make dirclean в данном случае не помогает. Дело в том, что скомпилированный в другой системе бинарник mconf автоматически не пересобирается. Для решения этой проблемы просто соберем его заново вручную:

[erinome@shuttle trunk]$ cd scripts/config
[erinome@shuttle trunk]$ make clean && make
[erinome@shuttle trunk]$ cd ../../

После этого make menuconfig снова станет работоспособен.

Posted in Разное | Tagged | Leave a comment

Обход блокировки сайтов с OpenWrt

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

Итак, рассмотрим еще один вариант, не требующий никакого дополнительного софта, помимо роутера с OpenWrt. Continue reading

Posted in Сеть и интернет | Tagged , , | 2 Comments

Борьба с DHCPINFORM в dnsmasq

В отдельных ситуациях на OpenWrt (и других Linux-системах) с установленным dnsmasq, функционирующем в роли DHCP-сервера, можно обнаружить флуд сообщениями DHCPINFORM в системном логе:

May 16 15:01:20 OpenWrt daemon.info dnsmasq-dhcp[2451]: DHCPINFORM(br-lan) 172.16.10.30 90:e6:ba:dc:2e:c3
May 16 15:01:20 OpenWrt daemon.info dnsmasq-dhcp[2451]: DHCPACK(br-lan) 172.16.10.30 90:e6:ba:dc:2e:c3 avalanche

Происходит это из-за того, что у встроенного в ОС Windows 7 (и некоторых других творений Microsoft) DHCP-клиента есть маниакальное желание получить настройки прокси-серверов с DHCP, и он продолжает эти попытки и в том случае, когда DHCP никак не реагирует на подобные запросы. В стандартной конфигурации dnsmasq не рассылает никакой информации о прокси-серверах, и Windows-системы продолжают запрашивать эти данные снова, и снова, и снова… и снова.

Заставить их заткнуться можно простым добавлением опции в /etc/dnsmasq.conf:

dhcp-option=252,"\n"

Эта опция недвусмысленно дает понять Windows-системам, что здесь НЕТ никаких прокси-серверов, и что пора уже перестать о них спрашивать.

Posted in Сеть и интернет | Tagged , , | 3 Comments

Обновление пакетов OpenWrt

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

Continue reading

Posted in Сеть и интернет | Tagged , , | Leave a comment