API Will not allow me to set an 80MHz channel Width on a 5GHz Radio

Solved
jx12345
Here to help

API Will not allow me to set an 80MHz channel Width on a 5GHz Radio

I'm trying to use the `updateDeviceWirelessRadioSettings` endpoint (via the Python Library, but the same issue occurs if using the web-based test panel) to configure an AP with a manual Channel, Channel Width, and target power in the 5GHz band:

https://developer.cisco.com/meraki/api-v1/#!update-device-wireless-radio-settings

 

This works fine for 20MHz and 40MHz 5GHz channel widths. However, when I try to set an 80MHz channel with, I get a response back that only 20MHz and 40MHz channel widths are allowed:

meraki.exceptions.APIError: wireless, updateDeviceWirelessRadioSettings - 400 Bad Request, {'errors': ['Invalid channel width for fiveGhzSettings: channel width must be in 20, 40']}

 This is in contradiction to the API docs which say that 20, 40, 80, and 160 channel widths are allowed: 

jx12345_0-1644637723976.png

The AP in question is an MR45, which does support 80MHz channel widths (and uses them when in auto mode!).

 

Is this just a mistake in the API that needs to be resolved? Or is something else at play?

 

Thank you!

1 Accepted Solution
jx12345
Here to help

Following up here for others that have issues with this - Ryan helped in a DM.

The override to 80 will only work if the RF profile being used is also set to 80 instead of auto.

View solution in original post

8 Replies 8
Ryan_Miles
Meraki Employee
Meraki Employee

I just tested using postman and it worked. I have to completely remove the line for the rfProfileId in the body. Leaving it as null would cause an error. Are you sending any value for the rfProfileId?

Ryan

If you found this post helpful, please give it Kudos. If my answer solves your problem please click Accept as Solution so others can benefit from it.
Ryan_Miles
Meraki Employee
Meraki Employee

This is what I used and it worked

 

{
"twoFourGhzSettings": {
"channel": "1",
"targetPower": "11"
},
"fiveGhzSettings": {
"channel": "36",
"channelWidth": "80",
"targetPower": "8"
}
}

Ryan

If you found this post helpful, please give it Kudos. If my answer solves your problem please click Accept as Solution so others can benefit from it.
jx12345
Here to help

Thanks for the quick reply. I was including the rfProfilefield in the body. I have removed it, but it still doesn't work for me. Throws the same error:

dashboard.wireless.updateDeviceWirelessRadioSettings(meraki_ap_serial,
fiveGhzSettings={'channel': 36, 'channelWidth': 80, 'targetPower': 30})

 

and the result:

Meraki API error: wireless, updateDeviceWirelessRadioSettings - 400 Bad Request, {'errors': ['Invalid channel width for fiveGhzSettings: channel width must be in 20, 40']}

 

jx12345
Here to help

I also tried using postman to emulate what worked for you. I get the same result there:

 

Body:

{
"fiveGhzSettings": {
"channel": 36,
"channelWidth": 80,
"targetPower": 30
}
}
 
Reply:
{"errors":["Invalid channel width for fiveGhzSettings: channel width must be in 20, 40"]}
Ryan_Miles
Meraki Employee
Meraki Employee

Does it work when you set it from the standard dashboard UI?

Ryan

If you found this post helpful, please give it Kudos. If my answer solves your problem please click Accept as Solution so others can benefit from it.
jx12345
Here to help

No - it doesn't work there either. I get the same reply about only 20 or 40 being allowed when I use the dashboard UI.

Ryan_Miles
Meraki Employee
Meraki Employee

Ok then clearly the problem is not the API. If you want to DM your network URL to me I can take a look.

Ryan

If you found this post helpful, please give it Kudos. If my answer solves your problem please click Accept as Solution so others can benefit from it.
jx12345
Here to help

Following up here for others that have issues with this - Ryan helped in a DM.

The override to 80 will only work if the RF profile being used is also set to 80 instead of auto.

Get notified when there are additional replies to this discussion.