Merge pull request #5070 from blocktrron/pr-luci-wifi6
luci-mod-network: add 802.11ax HE support
This commit is contained in:
commit
516c58e133
3 changed files with 53 additions and 2 deletions
|
@ -879,6 +879,9 @@ static bool rpc_luci_get_iwinfo(struct blob_buf *buf, const char *devname,
|
|||
if (!iw->hwmodelist(devname, &nret)) {
|
||||
a = blobmsg_open_array(buf, "hwmodes");
|
||||
|
||||
if (nret & IWINFO_80211_AX)
|
||||
blobmsg_add_string(buf, NULL, "ax");
|
||||
|
||||
if (nret & IWINFO_80211_AC)
|
||||
blobmsg_add_string(buf, NULL, "ac");
|
||||
|
||||
|
@ -921,6 +924,18 @@ static bool rpc_luci_get_iwinfo(struct blob_buf *buf, const char *devname,
|
|||
if (nret & IWINFO_HTMODE_VHT160)
|
||||
blobmsg_add_string(buf, NULL, "VHT160");
|
||||
|
||||
if (nret & IWINFO_HTMODE_HE20)
|
||||
blobmsg_add_string(buf, NULL, "HE20");
|
||||
|
||||
if (nret & IWINFO_HTMODE_HE40)
|
||||
blobmsg_add_string(buf, NULL, "HE40");
|
||||
|
||||
if (nret & IWINFO_HTMODE_HE80)
|
||||
blobmsg_add_string(buf, NULL, "HE80");
|
||||
|
||||
if (nret & IWINFO_HTMODE_HE160)
|
||||
blobmsg_add_string(buf, NULL, "HE160");
|
||||
|
||||
blobmsg_close_array(buf, a);
|
||||
}
|
||||
|
||||
|
|
|
@ -3303,6 +3303,7 @@ WifiDevice = baseclass.extend(/** @lends LuCI.network.WifiDevice.prototype */ {
|
|||
* - `g` - Legacy 802.11g mode, 2.4 GHz, up to 54 Mbit/s
|
||||
* - `n` - IEEE 802.11n mode, 2.4 or 5 GHz, up to 600 Mbit/s
|
||||
* - `ac` - IEEE 802.11ac mode, 5 GHz, up to 6770 Mbit/s
|
||||
* - `ax` - IEEE 802.11ax mode, 2.4 or 5 GHz
|
||||
*/
|
||||
getHWModes: function() {
|
||||
var hwmodes = this.ubus('dev', 'iwinfo', 'hwmodes');
|
||||
|
@ -3324,6 +3325,10 @@ WifiDevice = baseclass.extend(/** @lends LuCI.network.WifiDevice.prototype */ {
|
|||
* - `VHT40` - applicable to IEEE 802.11ac, 40 MHz wide channels
|
||||
* - `VHT80` - applicable to IEEE 802.11ac, 80 MHz wide channels
|
||||
* - `VHT160` - applicable to IEEE 802.11ac, 160 MHz wide channels
|
||||
* - `HE20` - applicable to IEEE 802.11ax, 20 MHz wide channels
|
||||
* - `HE40` - applicable to IEEE 802.11ax, 40 MHz wide channels
|
||||
* - `HE80` - applicable to IEEE 802.11ax, 80 MHz wide channels
|
||||
* - `HE160` - applicable to IEEE 802.11ax, 160 MHz wide channels
|
||||
*/
|
||||
getHTModes: function() {
|
||||
var htmodes = this.ubus('dev', 'iwinfo', 'htmodes');
|
||||
|
@ -4021,6 +4026,17 @@ WifiNetwork = baseclass.extend(/** @lends LuCI.network.WifiNetwork.prototype */
|
|||
* @property {number} [nss]
|
||||
* Specifies the number of spatial streams used by the transmission.
|
||||
* Only applicable to VHT rates.
|
||||
*
|
||||
* @property {boolean} [he]
|
||||
* Specifies whether this rate is an HE (IEEE 802.11ax) rate.
|
||||
*
|
||||
* @property {number} [he_gi]
|
||||
* Specifies whether the guard interval used for the transmission.
|
||||
* Only applicable to HE rates.
|
||||
*
|
||||
* @property {number} [he_dcm]
|
||||
* Specifies whether dual concurrent modulation is used for the transmission.
|
||||
* Only applicable to HE rates.
|
||||
*/
|
||||
|
||||
/**
|
||||
|
|
|
@ -199,7 +199,9 @@ function format_wifirate(rate) {
|
|||
var s = '%.1f\xa0%s, %d\xa0%s'.format(rate.rate / 1000, _('Mbit/s'), rate.mhz, _('MHz')),
|
||||
ht = rate.ht, vht = rate.vht,
|
||||
mhz = rate.mhz, nss = rate.nss,
|
||||
mcs = rate.mcs, sgi = rate.short_gi;
|
||||
mcs = rate.mcs, sgi = rate.short_gi,
|
||||
he = rate.he, he_gi = rate.he_gi,
|
||||
he_dcm = rate.he_dcm;
|
||||
|
||||
if (ht || vht) {
|
||||
if (vht) s += ', VHT-MCS\xa0%d'.format(mcs);
|
||||
|
@ -208,6 +210,13 @@ function format_wifirate(rate) {
|
|||
if (sgi) s += ', ' + _('Short GI').replace(/ /g, '\xa0');
|
||||
}
|
||||
|
||||
if (he) {
|
||||
s += ', HE-MCS\xa0%d'.format(mcs);
|
||||
if (nss) s += ', HE-NSS\xa0%d'.format(nss);
|
||||
if (he_gi) s += ', HE-GI\xa0%d'.format(he_gi);
|
||||
if (he_dcm) s += ', HE-DCM\xa0%d'.format(he_dcm);
|
||||
}
|
||||
|
||||
return s;
|
||||
}
|
||||
|
||||
|
@ -320,7 +329,8 @@ var CBIWifiFrequencyValue = form.Value.extend({
|
|||
this.modes = [
|
||||
'', 'Legacy', true,
|
||||
'n', 'N', hwmodelist.n,
|
||||
'ac', 'AC', hwmodelist.ac
|
||||
'ac', 'AC', hwmodelist.ac,
|
||||
'ax', 'AX', hwmodelist.ax
|
||||
];
|
||||
|
||||
var htmodelist = L.toArray(data[0] ? data[0].getHTModes() : null)
|
||||
|
@ -337,6 +347,12 @@ var CBIWifiFrequencyValue = form.Value.extend({
|
|||
'VHT40', '40 MHz', htmodelist.VHT40,
|
||||
'VHT80', '80 MHz', htmodelist.VHT80,
|
||||
'VHT160', '160 MHz', htmodelist.VHT160
|
||||
],
|
||||
'ax': [
|
||||
'HE20', '20 MHz', htmodelist.HE20,
|
||||
'HE40', '40 MHz', htmodelist.HE40,
|
||||
'HE80', '80 MHz', htmodelist.HE80,
|
||||
'HE160', '160 MHz', htmodelist.HE160
|
||||
]
|
||||
};
|
||||
|
||||
|
@ -351,6 +367,10 @@ var CBIWifiFrequencyValue = form.Value.extend({
|
|||
],
|
||||
'ac': [
|
||||
'11a', '5 GHz', true
|
||||
],
|
||||
'ax': [
|
||||
'11g', '2.4 GHz', this.channels['11g'].length > 3,
|
||||
'11a', '5 GHz', this.channels['11a'].length > 3
|
||||
]
|
||||
};
|
||||
}, this));
|
||||
|
|
Loading…
Reference in a new issue