TL;DR: Установить не сложно, но говорят, что 5 GHz Wi-Fi работает медленнее, чем на стоковой прошивке. Делайте на свой страх и риск.
Категорически приветствую всех в своём блоге. Никого не удивлю если скажу, что я любитель ставить всякие разные прошивки на свои устройства. В этот раз таким устройством оказался мой старенький роутер - TP-Link Archer A6 v2 (RU). А в качестве прошивки я решил поставить OpenWrt.
Предыстория
Прошивка роутера на OpenWrt для меня не нова. Я уже прошивал свой древнющий TP-Link WR841ND много лет тому назад. Сначала на DD-WRT, а потом неудачно на OpenWrt. Почему неудачно? Потому что роутер окирпичился, и пришлось проделывать какие-то махинации с подпайкой к плате и загрузкой прошивки через COM. Тем не менее, по итогу я всё-таки поставил на него OpenWrt, и был доволен 🙂
В 2020 году я приобрел себе роутер TP-Link Archer A6. Никакой информации о поддержке на OpenWrt в тот момент на него я не нашёл, и долгое время сидел на стоковой прошивке. Причём стоковая прошивка была какой-то совсем плохой. Роутер после выключения и включения мог минуту «думать» и не подключаться к сети. Плюс иногда пропадал интернет и роутер почему-то в эти моменты зависал и не давал мне зайти в админку. Возможно это какой-то брак конкретно моего устройства, но, тем не менее, я пинял именно на прошивку.
Но не так давно мне понадобилось подключить компьютер к уже существующей Wi-Fi сети с интернетом. Доступа по Ethernet кабелю к этой сети нет, и Wi-Fi адаптера на компьютере тоже нет.
Казалось бы, есть Wi-Fi роутер, есть Ethernet-кабель. Сразу приходит в голову мысль построить сеть, при которой компьютер подключается посредством кабеля к роутеру, а роутер посредством Wi-Fi подключается к уже существующей точке, откуда собственно и берет «интернет» для подключенных к нему кабелем устройств.
Как вы думаете, нашел ли я такую возможность в стоковой прошивке своего TP-Link'а? Конечно же, нет. Он может быть подключен через WAN к другому роутеру, чтобы раздать интернет, но не может подключаться к другому роутеру через Wi-Fi.
При этом я помнил, что на OpenWrt такое есть из коробки. Это и побудило меня опять полезть в недра интернета, и изучить можно ли перепрошить мой роутер на эту прошивку. Спойлер — можно.
Предостережения
Всё описанное ниже проверено только на роутере TP-Link Archer A6 v2 (RU). Перепроверьте надписи на дне роутера, чтобы узнать конкретную модель. Если у вас другая версия (не v2), то инструкция вам не подойдет, так как файлы прошивок не совместимы между версиями. Если ваш роутер для другого региона (EN/US), то скорее всего тоже не подойдет, и не стоит рисковать.
Также советую сначала прочитать всю инструкцию, скачать необходимые файлы, и лишь потом начинать процесс. Иначе можете оказаться без нужных файлов и без интернета.
Для удобства, я собрал все необходимые файлы в один архив. Там установщик WinSCP, изначальная прошивка для TFTP (уже переименованная), прошивка для загрузки через WinSCP, и настроенный Tftpd64. Но если не доверяете, то в инструкции оставлены оригинальные ссылки, откуда можно скачать то же самое.
Выполняйте перепрошивку на свой страх и риск! Если в этом процессе что-то пойдет не так, то можно остаться без рабочего роутера, и тогда придется как-то восстанавливать его.
А ещё важно помнить, что с текущей прошивкой OpenWrt под этот роутер есть проблема с 5 GHz Wi-Fi. На форумах пишут, что скорость сильно падает. В моём случае это не критично, но если вы рассчитываете на скорость выше 150 мбит по 5 Ghz Wi-Fi, то возможно вы её не получите. Если для вас это важно, то не прошивайтесь.
Инструкция
В основном, я использовал информацию отсюда, но в некоторых моментах у меня возникали проблемы, поэтому я чуть дополнил инструкцию. Инструкция составлена для Windows (на Mac OS у меня не получилось заставить роутер видеть мой TFTP сервер).
Прошивка будет происходить в несколько этапов:
- Сброс текущих настроек роутера на заводские.
- Подготовка сетевого адаптера.
- Загрузка прошивки с «голым» OpenWrt через TFTP.
- Загрузка более актуальной прошивки с OpenWrt с LuCi через SSH.
Сброс текущих настроек
Включаем роутер, зажимаем кнопку Reset, и держим секунд 10. Таким образом мы сбросим текущие настройки до заводских, чтобы точно не возникло проблем. Отключаем роутер.
Подготовка сетевого адаптера
Идём в настройки нашего сетевого адаптера, который будет подключаться к роутеру. В настройках скорости мы должны поставить «100 мбит полный дуплекс», иначе роутер может не подключиться к нашему TFTP серверу на компьютере.
Также в настройках сетевого адаптера нам нужно убрать автоматическое назначение IP адреса, и выставить конкретный — 192.168.0.66. Именно по этому IP адресу роутер будет«стучаться» в поисках TFTP сервера.
Если у вас включен Windows Defender (Брандмауэр Windows), либо любой другой firewall, то отключаем его на время, иначе он может заблокировать входящие запросы от роутера к TFTP.
Настройка и запуск TFTP сервера
Скачиваем TFTP сервер tftpd64 отсюда. Распаковываем куда-нибудь, но на всякий случай без киррилических символов в пути.
Затем берём прошивку с OpenWrt. Я использовал вот эту, так как именно её упоминали в оригинальной инструкции. Если я правильно понял, в ней модифицирован один файл, чтобы прошивка считала наш роутер поддерживаемым. Этот bin файл нужно закинуть в ту же папку, куда распаковали tftpd64. Также необходимо переименовать файл в ArcherC6v2_tp_recovery.bin.
Запускаем tftpd64. Заходим в настройки и на вкладке GLOBAL отключаем всё кроме TFTP сервер.
На вкладке TFTP ставим TFTP Security на None, а в дополнительных настройках оставляем галочки только на Show Progress bar, Translate Unix file names, Bind TFTP to this address (здесь нужно будет выбрать IP 192.168.0.66).
Перезапускаем Tftpd64, в Server interfaces выставляем 192.168.0.66. Оставляем его включенным.
Первая прошивка через TFTP
Подключаем компьютер к роутеру напрямую в разъем LAN1 (в WAN работать не будет), если еще не подключили. Отключаем роутер (через кнопку сзади), на всякий случай вытаскиваем кабель питания на несколько секунд, и затем возвращаем обратно.
Затем зажимаем кнопку Reset и одновременно с этим включаем роутер. Далее кнопку включения можно отпустить, но Reset держим пока не загорится индикатор с WPS (обычно это секунды 3-4). После этого отпускаем Reset.
Если в Tftpd64 в этот момент появился лог, что был передан файл ArcherC6v2_tp_recovery.bin, то значит всё прошло успешно. Если нет, то пробуем повторять снова выключение и включение роутера с кнопкой Reset.
После того, как файл передан, ждем минуты 2, чтобы роутер закончил все процессы. В этот момент идем в настройки сетевого адаптера и возвращаем автоматическое назначение IP адреса.
Спустя пару минут идем в сведения о сетевом подключении, и смотрим IP адрес основного шлюза. У меня это был 192.168.1.1, но у вас может быть 192.168.0.1. Запоминаем адрес.
На данном этапе в роутере уже будет установлена OpenWrt, но так как по умолчанию в ней нету веб-интерфейса, вы не сможете зайти в админку, как делали это на стоковой прошивке. Перед этим нужно установить поверх еще одну прошивку с OpenWrt, где установлен веб-интерфейс LuCi.
Вторая прошивка через WinSCP
Скачиваем WinSCP отсюда. Он нужен для того, чтобы закинуть файл с прошивкой сразу в файловую систему роутера, и оттуда же запустить процесс установки прошивки.
Устанавливаем WinSCP, запускаем, и подключаемся к 192.168.1.1 (или к другому, если у вас основной шлюз отличался). В качестве логина и пароля будет root. File protocol указываем SCP.
Когда подключились, выходим в корень файловой системы, и заходим в папку /tmp. Перекидываем туда файл с полной прошивкой, который можно взять здесь (из архива берем только файл openwrt-ath79-generic-tplink_archer-c6-v2-squashfs-sysupgrade.bin, его и кидаем на роутер).
Когда файл будет загружен, нам нужно открыть терминал в WinSCP через Commands -> Open Terminal, и выполнить в нём следующую команду:
mtd -r write /tmp/openwrt-ath79-generic-tplink_archer-c6-v2-squashfs-sysupgrade.bin firmware
После выполнения команды ждем минуты 2-3, и пробуем зайти в веб-интерфейс по адресу http://192.168.1.1 (опять же, подставить другой IP, если отличается). Если всё получилось, то вас встретит веб-интерфейс Luci.
Вместо заключения
Готово, вы восхитительны!
С OpenWrt у роутера появляется гораздо больше функционала (установка блокировщика рекламы, VPN, ретрансляция и прочие крутые штуки). Но нужно быть аккуратным, так как OpenWrt не защитит вас от кривых настроек, и вполне можно что-то сломать вплоть до потери доступа к админке.
А если кто-то еще помнит с чего я начал запись, мне нужно было подключить роутер по Wi-Fi к уже существующей сети, и «раздать» с неё интернет по Ethernet кабелю. Собственно, с OpenWrt я смог решить данную задачу. Для тех, кому интересно, делал по этой инструкции.