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 сервер).

Прошивка будет происходить в несколько этапов:

  1. Сброс текущих настроек роутера на заводские.
  2. Подготовка сетевого адаптера.
  3. Загрузка прошивки с «голым» OpenWrt через TFTP.
  4. Загрузка более актуальной прошивки с OpenWrt с LuCi через SSH.

Сброс текущих настроек

Включаем роутер, зажимаем кнопку Reset, и держим секунд 10. Таким образом мы сбросим текущие настройки до заводских, чтобы точно не возникло проблем. Отключаем роутер.

Подготовка сетевого адаптера

Идём в настройки нашего сетевого адаптера, который будет подключаться к роутеру. В настройках скорости мы должны поставить «100 мбит полный дуплекс», иначе роутер может не подключиться к нашему TFTP серверу на компьютере.

Скриншот окна с настройками сетевого адаптера и выпадающим списком с настройками скорости

Также в настройках сетевого адаптера нам нужно убрать автоматическое назначение IP адреса, и выставить конкретный — 192.168.0.66. Именно по этому IP адресу роутер будет«стучаться» в поисках TFTP сервера.

Скриншот с нужными настройками IP адреса сетевого адаптера

Если у вас включен Windows Defender (Брандмауэр Windows), либо любой другой firewall, то отключаем его на время, иначе он может заблокировать входящие запросы от роутера к TFTP.

Настройка и запуск TFTP сервера

Скачиваем TFTP сервер tftpd64 отсюда. Распаковываем куда-нибудь, но на всякий случай без киррилических символов в пути.

Затем берём прошивку с OpenWrt. Я использовал вот эту, так как именно её упоминали в оригинальной инструкции. Если я правильно понял, в ней модифицирован один файл, чтобы прошивка считала наш роутер поддерживаемым. Этот bin файл нужно закинуть в ту же папку, куда распаковали tftpd64. Также необходимо переименовать файл в ArcherC6v2_tp_recovery.bin.

Запускаем tftpd64. Заходим в настройки и на вкладке GLOBAL отключаем всё кроме TFTP сервер.

Скриншот правильных настроек TFtpd64 на вкладке GLOBAL

На вкладке TFTP ставим TFTP Security на None, а в дополнительных настройках оставляем галочки только на Show Progress bar, Translate Unix file names, Bind TFTP to this address (здесь нужно будет выбрать IP 192.168.0.66).

Скриншот правильных настроек TFtpd64 на вкладке TFTP

Перезапускаем Tftpd64, в Server interfaces выставляем 192.168.0.66. Оставляем его включенным.

Скриншот основного окна Tftpd

Первая прошивка через 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.

Скриншот окна подключения WinSCP

Когда подключились, выходим в корень файловой системы, и заходим в папку /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
Скриншот с открытым меню Commands в WinSCP и выделенным пунктом Open Terminal

После выполнения команды ждем минуты 2-3, и пробуем зайти в веб-интерфейс по адресу http://192.168.1.1 (опять же, подставить другой IP, если отличается). Если всё получилось, то вас встретит веб-интерфейс Luci.

Скриншот админ-панели OpenWrt

Вместо заключения

Готово, вы восхитительны!

С OpenWrt у роутера появляется гораздо больше функционала (установка блокировщика рекламы, VPN, ретрансляция и прочие крутые штуки). Но нужно быть аккуратным, так как OpenWrt не защитит вас от кривых настроек, и вполне можно что-то сломать вплоть до потери доступа к админке.

А если кто-то еще помнит с чего я начал запись, мне нужно было подключить роутер по Wi-Fi к уже существующей сети, и «раздать» с неё интернет по Ethernet кабелю. Собственно, с OpenWrt я смог решить данную задачу. Для тех, кому интересно, делал по этой инструкции.