Поиск по блогу

четверг, 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

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

2 комментария:

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

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

      Удалить