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
Last revisionBoth sides next revision
openwrt:flash_xiaomi_redmi_ac2100 [2021/04/25 06:58] – [Обновление] adminopenwrt:flash_xiaomi_redmi_ac2100 [2021/06/04 12:50] – [Если в системе python 3.9 и новее] 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 105: Line 106:
 В моем случае - haproxy: В моем случае - haproxy:
   opkg install 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