diff --git a/README.md b/README.md index a03897e..fde8aed 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# MTK Wi-Fi driver for OpenWrt 22.03.0 +# MTK Wi-Fi driver for OpenWrt 22.03.1 #### For Xiaomi Mi R3P and devices using: - MT7615+MT7615 - MT7603+MT7615 diff --git a/README_RU.md b/README_RU.md index 287a852..dfe1786 100644 --- a/README_RU.md +++ b/README_RU.md @@ -1,6 +1,5 @@ Для сборки прошивки я использую **Ubuntu 22.04 LTS** (на других OS не проверял). \**Инструкция только о том как заменить драйвер, Вы должны уметь собирать OpenWrt из исходников.* -\**Wi-Fi интерфейсы не добавляются автоматически в lan (для доступа к сети их нужно самостоятельно добавить в lan после установки прошивки), если Вы хотите это изменить на этапе сборки, то прочитайте этот пост на [4pda](https://4pda.to/forum/index.php?s=&showtopic=975687&view=findpost&p=117363861)* 1. Клонировать исходный код и перенести в каталог openwrt (вместо /home/alex/openwrt указать свой путь до openwrt): @@ -12,10 +11,10 @@ 2. Перейти в каталог openwrt, удалить свой .config - запустить make menuconfig, выбрать своё устройство, перейти в раздел - LuCI > Applications - включить <\*> luci-app-mtwifi, далее в Kernel modules > Wireless Drivers > включить <\*> нужный драйвер/драйвера mtk и зайти в их настройки (выбрать нужные параметры или использовать дефолтные), запомнить настройки/сделать скриншоты и аналогично с Network > Wireless > mt_wifi - MT_WIFI Configuration. -3. Скачать конфиг (для сборки OpenWrt с правильным .vermagiс), ниже пример для OpenWrt 22.03.0 и устройств с CPU mt7621: +3. Скачать конфиг (для сборки OpenWrt с правильным .vermagiс), ниже пример для OpenWrt 22.03.1 и устройств с CPU mt7621: ```bash - wget -O .config https://downloads.openwrt.org/releases/22.03.0/targets/ramips/mt7621/config.buildinfo + wget -O .config https://downloads.openwrt.org/releases/22.03.1/targets/ramips/mt7621/config.buildinfo make defconfig ``` @@ -23,7 +22,7 @@ В LuCI > Applications - включить <\*> luci-app-mtwifi. В Network > Wireless - выставить настройки в mt_wifi из 2 пункта. В Network > WirelessAPD - отключить wpad-basic-wolfssl и выбрать как модуль \ hostapd-common. -Не обязательно - открыть profiles.json (для mt7621 и OpenWrt 22.03.0 - https://downloads.openwrt.org/releases/22.03.0/targets/ramips/mt7621/profiles.json), найти своё устройство и посмотреть какие пакеты (device_packages, кроме Wi-Fi драйверов) нужно дополнительно включить в прошивку. +Не обязательно - открыть profiles.json (для mt7621 и OpenWrt 22.03.1 - https://downloads.openwrt.org/releases/22.03.1/targets/ramips/mt7621/profiles.json), найти своё устройство и посмотреть какие пакеты (device_packages, кроме Wi-Fi драйверов) нужно дополнительно включить в прошивку. 5. Выйти, сохранив настройки и собрать прошивку: diff --git a/package/mt/drivers/mt_wifi/files/mt7603.dat b/package/mt/drivers/mt_wifi/files/mt7603.dat index 0f76207..68547a8 100644 --- a/package/mt/drivers/mt_wifi/files/mt7603.dat +++ b/package/mt/drivers/mt_wifi/files/mt7603.dat @@ -100,7 +100,7 @@ DscpQosMap= DscpQosMapEnable= DtimPeriod=1 E2pAccessMode=2 -EAPifname= +EAPifname=br-lan EdcaIdx=0;0;0;0;0;0;0;0;0 EDCCAEnable=1 EfuseBufferMode=0 diff --git a/package/mt/drivers/mt_wifi/files/mt7612.dat b/package/mt/drivers/mt_wifi/files/mt7612.dat index 3136ded..16d1078 100644 --- a/package/mt/drivers/mt_wifi/files/mt7612.dat +++ b/package/mt/drivers/mt_wifi/files/mt7612.dat @@ -92,7 +92,7 @@ DisableOLBC=0 DLSCapable=0 DtimPeriod=1 E2pAccessMode=2 -EAPifname= +EAPifname=br-lan EncrypType=AES FCCParamCh0= FCCParamCh1= @@ -119,7 +119,7 @@ HT_GI=1 HT_HTC=0 HT_LDPC=0 HT_LinkAdapt=0 -HT_MCS=33;33;33;33;33;33;33;33;33 +HT_MCS=33;33;33;33;33;33;33;33 HT_MpduDensity=5 HT_OpMode=0 HT_PROTECT=1 diff --git a/package/mt/drivers/mt_wifi/files/mt7615.2G.dat b/package/mt/drivers/mt_wifi/files/mt7615.2G.dat index e68b5c2..374e0a3 100644 --- a/package/mt/drivers/mt_wifi/files/mt7615.2G.dat +++ b/package/mt/drivers/mt_wifi/files/mt7615.2G.dat @@ -101,7 +101,7 @@ DscpQosMap= DscpQosMapEnable= DtimPeriod=1 E2pAccessMode=2 -EAPifname= +EAPifname=br-lan EdcaIdx=0;0;0;0;0;0;0;0;0 EDCCAEnable=1 EfuseBufferMode=0 diff --git a/package/mt/drivers/mt_wifi/files/mt7615.5G.dat b/package/mt/drivers/mt_wifi/files/mt7615.5G.dat index 0cb65d7..2b317a9 100644 --- a/package/mt/drivers/mt_wifi/files/mt7615.5G.dat +++ b/package/mt/drivers/mt_wifi/files/mt7615.5G.dat @@ -106,7 +106,7 @@ DscpQosMap= DscpQosMapEnable= DtimPeriod=1 E2pAccessMode=2 -EAPifname= +EAPifname=br-lan EdcaIdx=0;0;0;0;0;0;0;0;0 EDCCAEnable=1 EfuseBufferMode=0 diff --git a/package/mt/luci-app-mtwifi/luasrc/controller/mtkwifi.lua b/package/mt/luci-app-mtwifi/luasrc/controller/mtkwifi.lua index 3bcadb3..20d439d 100644 --- a/package/mt/luci-app-mtwifi/luasrc/controller/mtkwifi.lua +++ b/package/mt/luci-app-mtwifi/luasrc/controller/mtkwifi.lua @@ -375,7 +375,21 @@ function vif_disable(iface) luci.http.redirect(luci.dispatcher.build_url("admin", "network", "wifi")) end -function vif_enable(iface) +function vif_enable(dev, iface) + local devname = dev + local profiles = mtkwifi.search_dev_and_profile() + assert(profiles[devname]) + + local cfgs = mtkwifi.load_profile(profiles[devname]) + + if iface == "ra0" or iface == "rai0" then + if cfgs.EAPifname == "br-lan" then + mt_lan = mtkwifi.read_pipe("uci show network.cfg030f15.ports | grep -q "..iface.." && echo 1") + if mt_lan ~= "1\n" then + os.execute("uci add_list network.cfg030f15.ports='"..iface.."'; uci commit network; logger -t MTK-Wi-Fi Add "..iface.." to br-lan; service network reload") + end + end + end os.execute("ifconfig "..iface.." up") luci.http.redirect(luci.dispatcher.build_url("admin", "network", "wifi")) end @@ -705,8 +719,24 @@ function vif_cfg(dev, vif) __security_cfg(cfgs, vif_idx) + if vifname == "ra0" or vifname == "rai0" then + mt_lan = mtkwifi.read_pipe("uci show network.cfg030f15.ports | grep -q "..vifname.." && echo 1") + if http.formvalue("__lan") == "1" then + cfgs.EAPifname = "br-lan" + if mt_lan ~= "1\n" then + os.execute("uci add_list network.cfg030f15.ports='"..vifname.."'; uci commit network; logger -t MTK-Wi-Fi Add "..vifname.." to br-lan; service network reload") + end + else + cfgs.EAPifname = "" + if mt_lan == "1\n" then + os.execute("uci del_list network.cfg030f15.ports='"..vifname.."'; uci commit network; logger -t MTK-Wi-Fi Remove "..vifname.." from br-lan; service network reload") + end + end + end + -- mtkwifi.debug(devname, profile) mtkwifi.save_profile(cfgs, profile) + if http.formvalue("__apply") then __mtkwifi_reload(devname) luci.http.redirect(luci.dispatcher.build_url("admin", "network", "wifi")) diff --git a/package/mt/luci-app-mtwifi/luasrc/view/admin_mtk/mtk_wifi_overview.htm b/package/mt/luci-app-mtwifi/luasrc/view/admin_mtk/mtk_wifi_overview.htm index ae156d6..5b66d09 100644 --- a/package/mt/luci-app-mtwifi/luasrc/view/admin_mtk/mtk_wifi_overview.htm +++ b/package/mt/luci-app-mtwifi/luasrc/view/admin_mtk/mtk_wifi_overview.htm @@ -44,6 +44,11 @@ border-collapse:separate; border-spacing:0px 5px } +@media screen and (min-device-width: 601px) { + .b2 { + display:none; + } +} @media screen and (max-device-width: 600px) { header h3 a, header .brand { @@ -73,6 +78,9 @@ .b1 { display:none; } + .a2 { + display:none; + } } @@ -142,9 +150,14 @@

Wireless Overview

<% if not vif.state then %> <% elseif vif.state == "up" then %> - + + + + + '" /> + <% else %> - + <% end %> '" /> '" /> diff --git a/package/mt/luci-app-mtwifi/luasrc/view/admin_mtk/mtk_wifi_vif_cfg.htm b/package/mt/luci-app-mtwifi/luasrc/view/admin_mtk/mtk_wifi_vif_cfg.htm index b447e55..8200916 100644 --- a/package/mt/luci-app-mtwifi/luasrc/view/admin_mtk/mtk_wifi_vif_cfg.htm +++ b/package/mt/luci-app-mtwifi/luasrc/view/admin_mtk/mtk_wifi_vif_cfg.htm @@ -207,7 +207,7 @@ Key - " id="<%="WPAPSK"..vifidx%>" /> + " id="<%="WPAPSK"..vifidx%>" />8~63 symbols @@ -431,6 +431,17 @@ <% end %> type="checkbox" /> + <% if vifname == "ra0" or vifname == "rai0" then %> + + Add <%=vifname%> to br-lan + + + checked="checked" + <% end %> type="checkbox" /> + + + <% end %>