четверг, 20 февраля 2020 г.

Установка OpenWrt на TP-Link Archer C6 v2

Какое-то время назад я обновил wifi точку доступа TP-Link TL-WA901ND на роутер TP-Link Archer C6(RU) v2 ради поддержки диапазона 5GHz. Примерно месяц я пользовался роутером на штатной прошивке в режиме точки доступа - скорость по 5GHz отличная, в диапазоне 2.4GHz тоже соответствует ожиданиям. В принципе можно было и дальше пользоваться этой прошивкой, но не было возможности отключить режим WPS и с отключенным DHCP сервером не показывало список подключенных клиентов.

После выхода релиза OpenWrt 19.07.0 решил попробовать альтернативную прошивку. Инструкция по обновлению прошивки на английском языке есть на сайте OpenWrt. Обновить прошивку из web интерфейса штатной прошивки не получилось. Пришлось делать установку через метод TFTP.

Сначала нужно скачать правильную версию прошивки, проверить ее контрольную сумму и подготовить TFTP сервер:

$ wget http://downloads.openwrt.org/releases/19.07.0/targets/ath79/generic/openwrt-19.07.0-ath79-generic-tplink_archer-c6-v2-squashfs-factory.bin
$ echo 'accde12f5314620b54a5496789ec05e189b9cb25c253d88e5d37f4f6526acf88 openwrt-19.07.0-ath79-generic-tplink_archer-c6-v2-squashfs-factory.bin' | sha256sum -c
openwrt-19.07.0-ath79-generic-tplink_archer-c6-v2-squashfs-factory.bin: OK

$ sudo apt update
$ sudo apt install tftpd-hpa
$ sudo install -o root -m 644 openwrt-19.07.0-ath79-generic-tplink_archer-c6-v2-squashfs-factory.bin /srv/tftp/ArcherC6v2_tp_recovery.bin

Дальше у меня было примерно пол-часа попыток сброса роутера, перетыкания кабеля из LAN в WAN и медитирования над трафиком в Wireshark. В итоге помогла вот эта ветка с 4pda. Если кратко, то нужно чтобы порт коммутатора или компьютера был со скоростью 100Mbit/s. Это можно сделать несколькими способами:
  • подключить через старый 100Mbit/s коммутатор (у меня такого не нашлось);
  • подключить сетевым кабелем в котором только две пары вместо четырех (где-то есть такой, но было лениво искать);
  • принудительно настроить скорость на сетевой карте компьютера и подключить роутер напрямую.
Я выбрал последний вариант и получилось примерно так:

export IFNAME=enp0s31f6
sudo ethtool -s ${IFNAME} speed 100 autoneg off
sudo ip address flush dev ${IFNAME}
sudo ip address add 192.168.0.66/24 dev ${IFNAME}
sudo ip link set ${IFNAME} up

Теперь к выключенному роутеру подключаем кабель питания, зажимаем reset и включаем роутер. Не отпускаем reset до того как зажжется индикатор WPS. Потом ждем примерно 150 секунд и можно логиниться в интерфейс OpenWrt (http://192.168.1.1/).

Важно не забыть включить автоматическую настройку сетевой карты обратно:

sudo ethtool -s enp0s31f6 speed 1000 autoneg on

Замеры скорости WIFi в iperf по 5Ghz дают следующее (замеры делал из одной и той же точки 5 раз и в результаты заносил среднее арифметическое):

УстройствоСкорость (Mbit/s)
Dell Latitude E7470 (Intel Dual Band Wireless-AC 8260)342.2
Dell Latitude E7270 (Intel Dual Band Wireless-AC 8260)392.6
Xiaomi Mi4c92.88
Xiaomi Note 4x104.8
Samsung Galaxe Note Pro 12.296.86

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

9 комментариев:

  1. На Ютюбе есть англ. видео, как установить ОпенВРТ через вебинтерфейс. Но указано, что исходная прошивка девайса должна быть английская. Я так понимаю именно по этой причине вы делали это изначально через терминал? Потому что стоковая прошивка русская?

    ОтветитьУдалить
    Ответы
    1. Я уже не помню подробностей, но установка из web интерфейса не сработала. Возможно потому что RU версия.

      Удалить
  2. Через TFTP Сервер тоже не работает.
    1. Скачал файл.
    2. Переименовал в ArcherC6v2_tp_recovery.bin
    3. Закидываю через TFTP x64 Сервер
    4. Зажал Reset и т.п.
    5. Загрузка прошла, 100% показывает. В логах пишет удачно выгружено.

    6. Роутер загружается. ТАк же на 192.168.0.1. И нету там openwrt.
    Все такая же прошивка 1.3.2 от Tp link

    Роутер у меня Archer A6 v2.0 RU

    Прошивал с WIn10x64 Pro. Через Прогу Tftpd64 by Ph.Jounin

    ОтветитьУдалить
    Ответы
    1. Судя по https://openwrt.org/toh/views/toh_fwdownload?dataflt%5BModel*%7E%5D=archer+a6 OpenWRT поддерживает Archer A6 только для US и TW.

      Удалить
  3. Tftp32 шьёт, 64 у меня вообще роутер не вилит.

    ОтветитьУдалить
    Ответы
    1. Проблемы нет, просто чтобы не кто не натыкался на это , что клиент 64 бита не прошивает

      Удалить
  4. Интересно, можно ли с помощью OpenWrt излечить парочку шалопутных роутеров Archer A6? А то периодически у них сеть отваливается: SSID есть, а сигнал не передаётся.

    ОтветитьУдалить
    Ответы
    1. Думаю это от ревизии зависит. В https://openwrt.org/toh/start есть упоминание Archer A6

      Удалить