I had the same problem, and went mad enough that I did go down the API path with curl to solve it.
This is what I used to update my BSSID’s so that geolocate / MLS would work correctly for me after I moved country with my AP’s:
To set:
curl -v -X POST https://location.services.mozilla.com/v2/geosubmit -H 'Content-Type: application/json' -d '{"items": [{
"position": {
"latitude": -36.000000,
"longitude": 142.000000,
"accuracy": 10.0,
"age": 1000,
"altitude": 131.0,
"altitudeAccuracy": 10.0,
"heading": 45.0,
"pressure": 1013.25,
"speed": 0,
"source": "manual"
},
"wifiAccessPoints": [
{
"macAddress": "00:11:32:11:22:33",
"age": 5000,
"channel": 3,
"frequency": 2422,
"radioType": "802.11ac",
"signalToNoiseRatio": 13,
"signalStrength": -77
},
{
"macAddress": "00:11:32:44:55:66"
}
]
}]}'
It is important to use at least 2x BSSID mac-addresses as per the API requirements. (I ended up doing one set for 5Ghz and one set for 2.4Ghz).
The change will not go through immediately, so you will need to check it periodically (for me I checked it about 15 hours later). It’s a good idea that you also check your existing mac-addresses first to see their current lon,lat.
To check:
curl -v -X POST https://location.services.mozilla.com/v1/geolocate?key=geoclue -H 'Content-Type: application/json' -d '{
"wifiAccessPoints": [{
"macAddress": "00:11:32:11:22:33",
"signalStrength": -77
}, {
"macAddress": "00:11:32:44:55:66"
}]
}'
Hope this helps out someone that also enjoys pulling their hair out and then putting it back in strand by strand.