Changing Frequency region after upgrade

I recently upgrading my LoPy devices (LoRa). While doing so I accidentally upgraded one of my LoPy to a different country zone which works on 915MHz frequency. Now all others LoPy devices are transmitting over 868MHz frequency and one is transmitting over 915MHz, so, they are not able to communicate with each other, obviously.

When we upgrade the LoPy devices for the first time, it ask us to select the country and i accidentally selected a different country. Now I tried to upgrade this LoPy again but the software (Pycom Firmware Update) doesn't show any option to select the country again and directly upgrade over the previously selected country.

I have also tried resetting the LoPy but nothing worked. It doesn't even downgrade. Untill unless it doesn't work over 868MHz frequency region, this LoPy is useless to me.

@bmarkus, we save it to make your life easier when after every release you have to update your boards. It saves you at least 3 clicks per device. For example, when you have 25 boards to update, it saves you 75 clicks in a very repetitive process that is prone to errors (there are countries of 915 MHz close to countries of 868 MHz). After 6 firmware releases, it would have saved you 450 clicks.

Yes, you won't damage your board by mistakenly selecting a 915 MHz country when you really wanted an 868MHz one, but it can take you a lot of time figuring out why it stopped working all of the sudden ;)

As I said before, we agree that the current updater lacks the option to change the band in case you made a mistake. But we are more focused on fixing firmware bugs than adding this feature, than in around 3 weeks, has only been needed once.

@bmarkus, can you please suggest in which practical way keeping a bool (0=868, 1=915) is considered a privacy issue?

You are putting a wrong question. It is a generic rule do not keep data you do not need. Keeping it and binding to update is not needed from the technical point (speaking about LoRa), makes customers life complicated in using a board he already payed, requires resources from your side, etc.

@bmarkus: we have no means to keep track of the personal details of the customer associated with a specific device. Keep in mind that many of our sales go through resellers. We don't even keep the country, just the frequency (in the case of LoRa) or the region (in the case of Sigfox).

There are no any reason to keep frequency. If you want to track device through sales channels, record HWEUI.

The LoRa MAC is stored in flash, so if by accident gets erased, you won't be able to recover it. We store them so even if you brick your device, you can recover it.

Same as point 2 goes for Sigfox, where is even more important, as only Sigfox provided ids, pacs and keys will work in their system.

The latest version of the installer only asks the board type and all the extra configuration once, to save steps to the final user every time an update is released. This is implemented using the database and is another of the features we can provide by keeping it. For future boards, it will even save the user the mistake of flashing WiPy's firmware in a LoPy.

We do agree that switching LoRa frequencies should still be available for these cases, and is going to be brought back in future releases of the installer.

@bmarkus: we have no means to keep track of the personal details of the customer associated with a specific device. Keep in mind that many of our sales go through resellers. We don't even keep the country, just the frequency (in the case of LoRa) or the region (in the case of Sigfox).

Why PyCom is keeping the region information in a database? From technical point it is not needed and also rise some privacy questions. DevAddr, frequency plan, keys are up to network service provider and user, not the device vendor. The only thing to keep is the HW EUI.

@abilio: Do I understand right that you maintain a database of mac addresses and register the country assignment? Which means that:

a) Whenever this is to be changed you have to manually change your database?
b) Changing between countries is not easy?
c) You actually take the responsibility for your customers, that they use the device with the proper country setting, even when the devivce is moved?

Even if that was intended, I guess, as a customer service, I do not think that this is a good idea. Better provide an option in your tool to reraise the country question locally if needed, or ask always but remember the previous setting.

@SakshamaGhoslya, I need to remove your 915MHz device from the database, so you can run the complete steps on the upgrade tool again. Can you please provide me with the wireless mac address of your device. To get it, please run this on the REPL:

Easy change of frequency plan without refreshing and any complicated procedure is also important if you are developing a product for different markets. OK, LoPy is far away from being a production level component, but this would be useful.