mirror of https://github.com/aredn/aredn.git
parent
35316299c1
commit
1c72b145f6
|
@ -60,6 +60,24 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"gl.inet gl-e750": {
|
||||
"wlan0": {
|
||||
"maxpower": "20",
|
||||
"antenna": {
|
||||
"description": "3.5 dBi Omni",
|
||||
"gain": 3.5,
|
||||
"beamwidth": 360
|
||||
}
|
||||
},
|
||||
"wlan1": {
|
||||
"maxpower": "20",
|
||||
"antenna": {
|
||||
"description": "1.5 dBi Omni",
|
||||
"gain": 1.5,
|
||||
"beamwidth": 360
|
||||
}
|
||||
}
|
||||
},
|
||||
"tp-link cpe210 v1": {
|
||||
"maxpower": "23",
|
||||
"chanpower": {
|
||||
|
|
|
@ -74,9 +74,7 @@ end
|
|||
|
||||
function hardware.get_radio_count()
|
||||
local radio = hardware.get_radio()
|
||||
if not radio then
|
||||
return 0
|
||||
elseif radio.wlan0 then
|
||||
if radio and radio.wlan0 then
|
||||
if radio.wlan1 then
|
||||
return 2
|
||||
else
|
||||
|
|
|
@ -725,128 +725,119 @@ nc:commit("dhcp")
|
|||
|
||||
-- generate the wireless config file
|
||||
local config = ""
|
||||
local ifacenum = 0
|
||||
local ifacecount = 0
|
||||
local ifacecount = aredn.hardware.get_radio_count()
|
||||
local devpaths = {}
|
||||
if nixio.fs.stat(ieee80211) then
|
||||
for devname in nixio.fs.dir(ieee80211)
|
||||
do
|
||||
ifacecount = ifacecount + 1
|
||||
for dev = 0, ifacecount - 1
|
||||
do
|
||||
local devname = "phy" .. dev
|
||||
local radio = "radio" .. dev
|
||||
local wlan = "wlan" .. dev
|
||||
local devpath = nixio.fs.realpath(ieee80211 .. nixio.fs.readlink(ieee80211 .. devname)):match("^/sys/devices/(.*)/ieee802.*$")
|
||||
if devpath:match("^platform.*/pci.*") then
|
||||
devpath = devpath:match("^platform/(.*)")
|
||||
end
|
||||
for devname in nixio.fs.dir(ieee80211)
|
||||
do
|
||||
local dev = devname:match("^phy(%d+)$")
|
||||
local radio = "radio" .. dev
|
||||
local wlan = "wlan" .. dev
|
||||
local devpath = nixio.fs.realpath(ieee80211 .. nixio.fs.readlink(ieee80211 .. devname)):match("^/sys/devices/(.*)/ieee802.*$")
|
||||
if devpath:match("^platform.*/pci.*") then
|
||||
devpath = devpath:match("^platform/(.*)")
|
||||
end
|
||||
local devpathc = devpaths[devpath] or 0
|
||||
devpaths[devpath] = devpathc + 1
|
||||
if devpathc > 0 then
|
||||
devpath = devpath .. "+" .. devpathc
|
||||
end
|
||||
local is_mesh_rf = false
|
||||
local htmode = "HT20"
|
||||
local disabled = "0"
|
||||
local chanbw = nil
|
||||
local country = nil
|
||||
local channel = nil
|
||||
local distance = nil
|
||||
local hwmode = "11g"
|
||||
if iwinfo.nl80211.freqlist(devname)[1].mhz > 5000 then
|
||||
hwmode="11a"
|
||||
end
|
||||
local network = nil
|
||||
local mode = nil
|
||||
local ssid = nil
|
||||
local encryption = nil
|
||||
local key = nil
|
||||
local devpathc = devpaths[devpath] or 0
|
||||
devpaths[devpath] = devpathc + 1
|
||||
if devpathc > 0 then
|
||||
devpath = devpath .. "+" .. devpathc
|
||||
end
|
||||
local is_mesh_rf = false
|
||||
local htmode = "HT20"
|
||||
local disabled = "0"
|
||||
local chanbw = nil
|
||||
local country = nil
|
||||
local channel = nil
|
||||
local distance = nil
|
||||
local hwmode = "11g"
|
||||
if iwinfo.nl80211.freqlist(devname)[1].mhz > 5000 then
|
||||
hwmode="11a"
|
||||
end
|
||||
local network = nil
|
||||
local mode = nil
|
||||
local ssid = nil
|
||||
local encryption = nil
|
||||
local key = nil
|
||||
|
||||
if wlan == cfg.wifi_intf then
|
||||
-- mesh RF adhoc configuration
|
||||
is_mesh_rf = true
|
||||
channel = cfg.wifi_channel
|
||||
chanbw = cfg.wifi_chanbw
|
||||
country = "HX"
|
||||
distance = cfg.wifi_distance
|
||||
ssid = cfg.wifi_ssid .. "-" .. chanbw .. "-v3"
|
||||
mode = "adhoc"
|
||||
encryption = "none"
|
||||
network = "wifi"
|
||||
elseif cfg.wifi2_enable == "1" and (ifacecount == 1 or (ifacecount > 1 and hwmode == cfg.wifi2_hwmode)) then
|
||||
-- lan AP interface
|
||||
channel = cfg.wifi2_channel
|
||||
ssid = h2s(cfg.wifi2_ssid)
|
||||
mode = "ap"
|
||||
encryption = cfg.wifi2_encryption
|
||||
key = h2s(cfg.wifi2_key)
|
||||
network = "lan"
|
||||
elseif cfg.wifi3_enable == "1" and (ifacecount == 1 or (ifacecount > 1 and hwmode == cfg.wifi3_hwmode)) then
|
||||
-- wan client
|
||||
ssid = h2s(cfg.wifi3_ssid)
|
||||
mode = "sta"
|
||||
if cfg.wifi3_key and cfg.wifi3_key ~= "" then
|
||||
encryption = "psk2"
|
||||
key = h2s(cfg.wifi3_key)
|
||||
else
|
||||
encryption = "none"
|
||||
end
|
||||
network = "wan"
|
||||
htmode = nil
|
||||
if wlan == cfg.wifi_intf then
|
||||
-- mesh RF adhoc configuration
|
||||
is_mesh_rf = true
|
||||
channel = cfg.wifi_channel
|
||||
chanbw = cfg.wifi_chanbw
|
||||
country = "HX"
|
||||
distance = cfg.wifi_distance
|
||||
ssid = cfg.wifi_ssid .. "-" .. chanbw .. "-v3"
|
||||
mode = "adhoc"
|
||||
encryption = "none"
|
||||
network = "wifi"
|
||||
elseif cfg.wifi2_enable == "1" and (ifacecount == 1 or (ifacecount > 1 and hwmode == cfg.wifi2_hwmode)) then
|
||||
-- lan AP interface
|
||||
channel = cfg.wifi2_channel
|
||||
ssid = h2s(cfg.wifi2_ssid)
|
||||
mode = "ap"
|
||||
encryption = cfg.wifi2_encryption
|
||||
key = h2s(cfg.wifi2_key)
|
||||
network = "lan"
|
||||
elseif cfg.wifi3_enable == "1" and (ifacecount == 1 or (ifacecount > 1 and hwmode == cfg.wifi3_hwmode)) then
|
||||
-- wan client
|
||||
ssid = h2s(cfg.wifi3_ssid)
|
||||
mode = "sta"
|
||||
if cfg.wifi3_key and cfg.wifi3_key ~= "" then
|
||||
encryption = "psk2"
|
||||
key = h2s(cfg.wifi3_key)
|
||||
else
|
||||
disabled = "1"
|
||||
encryption = "none"
|
||||
end
|
||||
network = "wan"
|
||||
htmode = nil
|
||||
else
|
||||
disabled = "1"
|
||||
end
|
||||
|
||||
config = config .. "config wifi-device '" .. radio .. "'\n option type 'mac80211'\n"
|
||||
config = config .. " option disabled '" .. disabled .. "'\n"
|
||||
if channel then
|
||||
config = config .. " option channel '" .. channel .. "'\n"
|
||||
end
|
||||
if chanbw then
|
||||
config = config .. " option chanbw '" .. chanbw .. "'\n"
|
||||
end
|
||||
if country then
|
||||
config = config .. " option country '" .. country .. "'\n"
|
||||
end
|
||||
if distance then
|
||||
config = config .. " option distance '" .. distance .. "'\n"
|
||||
end
|
||||
config = config .. " option hwmode '" .. hwmode .. "'\n"
|
||||
if htmode then
|
||||
config = config .. " option htmode '" .. htmode .. "'\n"
|
||||
end
|
||||
config = config .. " option path '" .. devpath .. "'\n\n"
|
||||
config = config .. "config wifi-device '" .. radio .. "'\n option type 'mac80211'\n"
|
||||
config = config .. " option disabled '" .. disabled .. "'\n"
|
||||
if channel then
|
||||
config = config .. " option channel '" .. channel .. "'\n"
|
||||
end
|
||||
if chanbw then
|
||||
config = config .. " option chanbw '" .. chanbw .. "'\n"
|
||||
end
|
||||
if country then
|
||||
config = config .. " option country '" .. country .. "'\n"
|
||||
end
|
||||
if distance then
|
||||
config = config .. " option distance '" .. distance .. "'\n"
|
||||
end
|
||||
config = config .. " option hwmode '" .. hwmode .. "'\n"
|
||||
if htmode then
|
||||
config = config .. " option htmode '" .. htmode .. "'\n"
|
||||
end
|
||||
config = config .. " option path '" .. devpath .. "'\n\n"
|
||||
|
||||
config = config .. "config wifi-iface\n"
|
||||
config = config .. " option ifname '" .. wlan .. "'\n"
|
||||
config = config .. " option device '" .. radio .. "'\n"
|
||||
if network then
|
||||
config = config .. " option network '" .. network .. "'\n"
|
||||
end
|
||||
if mode then
|
||||
config = config .. " option mode '" .. mode .. "'\n"
|
||||
end
|
||||
if ssid then
|
||||
config = config .. " option ssid '" .. ssid .. "'\n"
|
||||
end
|
||||
if encryption then
|
||||
config = config .. " option encryption '" .. encryption .. "'\n"
|
||||
end
|
||||
if key then
|
||||
config = config .. " option key '" .. key .. "'\n"
|
||||
end
|
||||
config = config .. "\n"
|
||||
config = config .. "config wifi-iface\n"
|
||||
config = config .. " option ifname '" .. wlan .. "'\n"
|
||||
config = config .. " option device '" .. radio .. "'\n"
|
||||
if network then
|
||||
config = config .. " option network '" .. network .. "'\n"
|
||||
end
|
||||
if mode then
|
||||
config = config .. " option mode '" .. mode .. "'\n"
|
||||
end
|
||||
if ssid then
|
||||
config = config .. " option ssid '" .. ssid .. "'\n"
|
||||
end
|
||||
if encryption then
|
||||
config = config .. " option encryption '" .. encryption .. "'\n"
|
||||
end
|
||||
if key then
|
||||
config = config .. " option key '" .. key .. "'\n"
|
||||
end
|
||||
config = config .. "\n"
|
||||
|
||||
if is_mesh_rf and wifi_mon_enable then
|
||||
config = config .. "config wifi-iface\n"
|
||||
config = config .. " option ifname '" .. wlan .. "-1'\n"
|
||||
config = config .. " option device '" .. radio .. "'\n"
|
||||
config = config .. " option network 'wifi_mon'\n option mode 'monitor'\n\n"
|
||||
end
|
||||
|
||||
ifacenum = ifacenum + 1
|
||||
if is_mesh_rf and wifi_mon_enable then
|
||||
config = config .. "config wifi-iface\n"
|
||||
config = config .. " option ifname '" .. wlan .. "-1'\n"
|
||||
config = config .. " option device '" .. radio .. "'\n"
|
||||
config = config .. " option network 'wifi_mon'\n option mode 'monitor'\n\n"
|
||||
end
|
||||
end
|
||||
write_all("/tmp/new_config/wireless", config)
|
||||
|
|
|
@ -0,0 +1,14 @@
|
|||
--- /dev/null
|
||||
+++ b/package/kernel/ath10k-ct/patches/999-0001-fix-e750-reset-5g-crash.patch
|
||||
@@ -0,0 +1,11 @@
|
||||
+--- a/ath10k-5.15/pci.c
|
||||
++++ b/ath10k-5.15/pci.c
|
||||
+@@ -2571,7 +2571,7 @@
|
||||
+ goto out;
|
||||
+ }
|
||||
+
|
||||
+- schedule();
|
||||
++ //schedule();
|
||||
+ }
|
||||
+
|
||||
+ ret = -ETIMEDOUT;
|
|
@ -2,6 +2,7 @@
|
|||
001-ath79-reverse-wpad-basic-mbedtls.patch
|
||||
006-flash-fixes.patch
|
||||
010-lz77-decompression-support.patch
|
||||
011-fix-e750-reset-5g-crash.patch
|
||||
100-remove-rcbutton-reset.patch
|
||||
701-extended-spectrum.patch
|
||||
702-enable-country-hx.patch
|
||||
|
|
Loading…
Reference in New Issue