Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revisionBoth sides next revision
openwrt:flash_xiaomi_redmi_ac2100 [2020/11/10 09:05] – [Установим софт, скачаем скрипты и OpenWrt] adminopenwrt:flash_xiaomi_redmi_ac2100 [2021/05/18 20:59] – [Установим софт, скачаем скрипты и OpenWrt] admin
Line 10: Line 10:
  
 ===== Установим софт, скачаем скрипты и OpenWrt ===== ===== Установим софт, скачаем скрипты и OpenWrt =====
-На хосте, с которого выполняем прошивку выполняем:+На хосте, с которого прошиваем роутер долджен быть установлен **python3.8** (скорее всего и с более старыми все заработает) - с более новыми возможны проблемы, решение которых приведено в конце статьи. \\ 
 +Итак, выполняем:
 <code> <code>
 mkdir ./ac2100 && cd ./ac2100 mkdir ./ac2100 && cd ./ac2100
Line 77: Line 78:
 И теперь собственно прошивка: И теперь собственно прошивка:
   wget http://192.168.31.177/openwrt-ramips-mt7621-xiaomi_redmi-router-ac2100-squashfs-kernel1.bin -O /tmp/kernel1.bin   wget http://192.168.31.177/openwrt-ramips-mt7621-xiaomi_redmi-router-ac2100-squashfs-kernel1.bin -O /tmp/kernel1.bin
-  wget http://192.168.31.177/openwrt-ramips-mt7621-xiaomi_redmi-router-ac2100-squashfs-rootfs0.bin -O /tmp/rootfs.bin+  wget http://192.168.31.177/openwrt-ramips-mt7621-xiaomi_redmi-router-ac2100-squashfs-rootfs0.bin -O /tmp/rootfs0.bin
      
   # Enable uart and bootdelay, useful for testing or recovery if you have an uart adapter!   # Enable uart and bootdelay, useful for testing or recovery if you have an uart adapter!
Line 92: Line 93:
 Дальше - подключаем роутер кабелем интернету, на компе выставляем получение адреса по DHCP (в итоге OpenWrt должен выдать нам адрес из подсети 192.168.1.0/24) логинимся в него по ssh (без пароля): Дальше - подключаем роутер кабелем интернету, на компе выставляем получение адреса по DHCP (в итоге OpenWrt должен выдать нам адрес из подсети 192.168.1.0/24) логинимся в него по ssh (без пароля):
   ssh root@192.168.1.1   ssh root@192.168.1.1
-Устанавливаем на него web-интерфейс luci:+Устанавливаем на него web-интерфейс **luci**:
   opkg update   opkg update
   opkg install luci   opkg install luci
 Всё. Дальше можно идти в web-морду и настраивать всё как обычно! Всё. Дальше можно идти в web-морду и настраивать всё как обычно!
 +
 +===== Обновление =====
 +Для обновления - скачиваем отсюда https://downloads.openwrt.org/snapshots/targets/ramips/mt7621/openwrt-ramips-mt7621-xiaomi_redmi-router-ac2100-squashfs-sysupgrade.bin и прошиваем. \\
 +Не забываем, что в образах нету luci и после прошивки потребуется ее переустановить:
 +  opkg update
 +  opkg install luci
 +Ну и переустановить и перенастроить те пакеты, которые вы использовали. \\
 +В моем случае - haproxy:
 +  opkg install haproxy
 +
 +===== Если в системе python 3.9 и новее =====
 +Если у вас в системе установлен **python 3.9** или более новый (как, например, в моей Ubuntu 21.04) , то запуск **pppoe-simulator.py** приведет к ошибке:
 +<code>Waiting for packets
 +Traceback (most recent call last):
 +  File "/home/mike/ac2100/./pppoe-simulator.py", line 183, in <module>
 +    sniff(prn=packet_callback, filter="pppoed or pppoes", lfilter=isNotOutgoing)
 +  File "/usr/local/lib/python3.9/dist-packages/scapy/sendrecv.py", line 1263, in sniff
 +    sniffer._run(*args, **kwargs)
 +  File "/usr/local/lib/python3.9/dist-packages/scapy/sendrecv.py", line 1210, in _run
 +    session.on_packet_received(p)
 +  File "/usr/local/lib/python3.9/dist-packages/scapy/sessions.py", line 108, in on_packet_received
 +    result = self.prn(pkt)
 +  File "/home/mike/ac2100/./pppoe-simulator.py", line 63, in packet_callback
 +    for tag in pkt[PPPoED][PPPoED_Tags].tag_list:
 +  File "/usr/local/lib/python3.9/dist-packages/scapy/packet.py", line 1344, in __getitem__
 +    raise IndexError("Layer [%s] not found" % name)
 +IndexError: Layer [PPPoED_Tags] not found</code>
 +Для того, чтобы запустить **pppoe-simulator.py** нужно установить **python3.8** и запускать скрипт **pppoe-simulator.py** в нем.
 +==== Установка python3.8 рядом с python3.9 ====
 +<code>wget https://www.python.org/ftp/python/3.8.7/Python-3.8.7.tgz
 +tar -xvzf ./Python-3.8.7.tgz 
 +cd Python-3.8.7/
 +./configure --enable-optimizations
 +sudo make clean
 +sudo make -j8
 +sudo make altinstall
 +sudo python3.8 -m pip install --upgrade pip
 +sudo python3.8 -m pip install scapy
 +</code>
 +и запускаем
 +  sudo python3.8 ./pppoe-simulator.py
 +Также возможна такая ошибка:
 +  FileNotFoundError: [Errno 2] No such file or directory: b'liblibc.a'
 +которая лечится так:
 +  cd /usr/lib/x86_64-linux-gnu/
 +  sudo ln -s -f libc.a liblibc.a
 +
 +
  • openwrt/flash_xiaomi_redmi_ac2100.txt
  • Last modified: 2021/10/26 20:04
  • by admin