The nrUlmimoBands array related to NR-SA UL-MIMO and the nrUlmimoBandsEndc array related to NR-NSA UL-MIMO features only consider MIMO UL value 2 (which means fourLayers).
Perhaps component.mimoUl.value > 0 would be more accurate (or (component.mimoUl.value === 1 || component.mimoUl.value === 2)) to include twoLayers too?
The `nrUlmimoBands` array related to `NR-SA UL-MIMO` and the `nrUlmimoBandsEndc` array related to `NR-NSA UL-MIMO` features only consider MIMO UL value 2 (which means `fourLayers`).
```js
if (component.mimoUl && component.mimoUl.value === 2) {
nrUlmimoBandsEndc.add(`n${component.band}`);
foundNrUlMimoInEndc = true;
}
...
if (component.mimoUl && component.mimoUl.value === 2) {
nrUlmimoBands.add(`n${component.band}`);
foundNrUlMimo = true;
}
```
Perhaps `component.mimoUl.value > 0` would be more accurate (or `(component.mimoUl.value === 1 || component.mimoUl.value === 2)`) to include `twoLayers` too?
According to [packet-nr-rrc.c](https://gitlab.com/wireshark/wireshark/-/raw/master/epan/dissectors/packet-nr-rrc.c):
```c
static const value_string nr_rrc_MIMO_LayersUL_vals[] = {
{ 0, "oneLayer" },
{ 1, "twoLayers" },
{ 2, "fourLayers" },
{ 0, NULL }
};
```
@rtommy
Value 2 in the json represents 2 UL streams, which is why the NR UL MIMO detection for UEs with two uplink streams works fine at the moment. For future devices though with potential capabilities more than that, I agree it can be useful to add detection for 4 streams as well.
@rtommy
Value 2 in the json represents 2 UL streams, which is why the NR UL MIMO detection for UEs with two uplink streams works fine at the moment. For future devices though with potential capabilities more than that, I agree it can be useful to add detection for 4 streams as well.
My view is different. It's not about what the device can or cannot do. Similar to Wireshark.
This is simple interpretation of possible/allowed values. If the standard says the UL MIMO can be 1/2/4 then all value shall be supported in the code in general. Please consider our other discussion where you already added support for a feature which will come in 3GPP rel 9 (NR 6Rx) which is definitely not supported in any device.
So if someone posts a UE cap info with UL MIMO 4, your script won't support it correctly and can mislead the user.
My view is different. It's not about what the device can or cannot do. Similar to Wireshark.
This is simple interpretation of possible/allowed values. If the standard says the UL MIMO can be 1/2/4 then all value shall be supported in the code in general. Please consider our other discussion where you already added support for a feature which will come in 3GPP rel 9 (NR 6Rx) which is definitely not supported in any device.
So if someone posts a UE cap info with UL MIMO 4, your script won't support it correctly and can mislead the user.
component.mimoUl.value has the real value, i.e. for an ue capability source component.mimoUl.value = 1 means oneLayer , component.mimoUl.value = 2 means twoLayers
Hi,
component.mimoUl.value has the real value, i.e. for an ue capability source component.mimoUl.value = 1 means oneLayer , component.mimoUl.value = 2 means twoLayers
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
The
nrUlmimoBandsarray related toNR-SA UL-MIMOand thenrUlmimoBandsEndcarray related toNR-NSA UL-MIMOfeatures only consider MIMO UL value 2 (which meansfourLayers).Perhaps
component.mimoUl.value > 0would be more accurate (or(component.mimoUl.value === 1 || component.mimoUl.value === 2)) to includetwoLayerstoo?According to packet-nr-rrc.c:
@rtommy
Value 2 in the json represents 2 UL streams, which is why the NR UL MIMO detection for UEs with two uplink streams works fine at the moment. For future devices though with potential capabilities more than that, I agree it can be useful to add detection for 4 streams as well.
My view is different. It's not about what the device can or cannot do. Similar to Wireshark.
This is simple interpretation of possible/allowed values. If the standard says the UL MIMO can be 1/2/4 then all value shall be supported in the code in general. Please consider our other discussion where you already added support for a feature which will come in 3GPP rel 9 (NR 6Rx) which is definitely not supported in any device.
So if someone posts a UE cap info with UL MIMO 4, your script won't support it correctly and can mislead the user.
@rtommy
Wouldn't this be a topic for the parser itself? The features js script just uses the data from the parser. Maybe @handymenny has an idea.
Hi,
component.mimoUl.value has the real value, i.e. for an ue capability source component.mimoUl.value = 1 means oneLayer , component.mimoUl.value = 2 means twoLayers
Okay so this means fourLayers (component.mimoUl.value = 4) is possible, allowed and supported.
It seems you have not updated the code to support MIMO UL 4. Any particular reason?
@rtommy done