С выходом Openwrt Barrier Breaker (далее BB) захотелось обновиться с предыдущей версии и пощупать, что оно из себя представляет. Скачал, обновил, работает, но появилась проблемка, а именно очень мало свободного места для установки доп. пакетов. В резвизии E4 всего 4Мб энергонезависимой памяти и свободным было около 100Кб. И так как нужно еще было накатить русификацию Люси и VPN pptp. Собственно это и побудило пересобрать прошивку выкинув из нее все ненужное и запилить нужное. Вот такое предисловие, а теперь приступим к делу.
На самом деле самое сложное как ни странно это прошить роутер новой прошивкой из загрузчика, а не ее сборка. Но об этом позже.
Итак нам понадобится какой либо дистрибутив Linux, например Ubuntu, исходники Openwrt и немного времени.
Создаем директорию в которой будем хранить сорцы
mkdir ~/Openwrt && cd ~/Openwrt
и клонируем репозиторий
svn co ar71xx
cd ar71xx
Обновим репозитории пакетов:
./scripts/feeds update -a
И установим люсю
./scripts/feeds install luci
Это добавит возможность выбрать и установить Luci, а также ее различные подпакеты.
Далее, для проверки зависимостей необходимых для сборки запускаем
make defconfig make prereq make menuconfig
Если на данном этапе возникают ошибки, то нужно установить пакеты для сборки:
sudo apt-get install subversion build-essential
Это все стандартные вещи которые в принципе есть и на wiki.openwrt.org.
Теперь будем уменьшать размер образа прошивки за счет ненужного IPv6,дебага и USB которого у нас нет.
Выбираем Target:
Target System (Atheros AR7xxx/AR9xxx) ---> Target Profile (D-Link DIR-615 rev. E4) ---> Boot Loaders ---> [ ] uboot-ar71xx-nbg460n_550n_550nh
Самое главное в меню Boot loaders снять выбор с uboot-ar71xx-nbg460n_550n_550nh. Именно из за этого я собрал рабочую прошивку только через 2 дня. Почему defconfig генерил нерабочий конфиг мне не понятно.
Далее приступим к выпилу ненужностей.
Выпилим USB:
Kernel modules --->
USB Support --->
Выпиливаем IPV6:
Global build settings ---> [ ] Enable IPv6 support in packages
На самом деле ошметки ipv6 есть еще во многих местах. Например iptables6, но мне лень писать где оно лежит, так как таких пунктов штук 5 точно. Энтузиаст найдет сам если захочет. Тем более в menuconfig есть такая замечательная функция как поиск параметров сборки доступный по нажатию клавиши ‘/’
Я советую выпиливать только USB,debug и IPV6. Остальное может быть необходимым для работы устройства. Я например вырубаю еще и dnsmasq так как не использую дома DHCP, а также PPPoE.
Для того, чтобы точка доступа работала с шифрованием WPA2-PSK и чтобы сам роутер мог быть клиентом точки доступа с шифрованием WPA2-PSK.
Network ---> wpad......................... IEEE 802.1x Authenticator/Supplicant (full) < > wpad-mini
Далее собираем все это дело
make
После успешной сборки в директории bin/ar71xx появится много файлов. Нужный нам будет выглядеть так:
openwrt-ar71xx-generic-dir-615-e4-squashfs-factory.bin
Теперь мы подошли к заключительному и самому сложному пункту, самому процессу перепрошивки. Сложный он потому, что переполнен шаманством. Мне за 3 года владения этим роутером так и не удалось выявить четкий алгоритм входа в веб морду загрузчика, но некоторые наработки есть.
- Прошивать желательно из винды. XP или Win7
- Установить IP адрес 192.168.0.10/24. Можно попробовать не указывать шлюз
- Подключаться через WAN порт
- Попробовать дискретную сетевую карту в слоте PCI-E (Да, было и такое)
- Использовать браузер Firefox Portable 13.0.1
Для прошивки необходимо выдернуть питание, зажать кнопку Reset и не отпуская ее подоткнуть питание и держать 15 секунд. После того как замигает кнопка включения оранжевый цветом отпустить кнопку reset и пробовать перейти по адресу 192.168.0.1
Если подключение не произошло с первого раза, попробовать примерно 5-7 раз подолбиться в 192.168.0.1 и начинать попытки снова с выключением питания. Еще иногда работает такой финт. Зажимаем кнопку reset, и во время когда инициализируется сетевой интерфейс, еще до отпускания кнопки пробовать постучать в веб морду, а потом отпустив кнопку попробовать еще несколько раз.
Дабы не набивать шишек, я выложу конфиг для сборки, который можно взять за основу и далее уже экспериментировать самостоятельно. И по традиции: Ваши замечания, предложения оставляем в коментариях.
Также клиентам провайдера Кабинет советую прочитать статью по настройке Openwrt для работы в этой сети
Скачать конфиг