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:
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!
Solved! Go to solution.
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.
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?
This is what I used and it worked
{
"twoFourGhzSettings": {
"channel": "1",
"targetPower": "11"
},
"fiveGhzSettings": {
"channel": "36",
"channelWidth": "80",
"targetPower": "8"
}
}
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']}
I also tried using postman to emulate what worked for you. I get the same result there:
Body:
Does it work when you set it from the standard dashboard UI?
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.
Ok then clearly the problem is not the API. If you want to DM your network URL to me I can take a look.
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.