Changing peripheral name on hardware:
I am looking at some iOS client code and using the CBPeripheral to detect a BLE peripheral using the CoreBluetooth library. I can see an advertisement of my iPad where the name field has the mutable name "mm24 iPad" (which I can change from iTunes).
I suspect that each BLE peripheral can be configured at production time with a default name and then modified subsequently using a BLE API. Is this correcT?
As you understood about name is correct . The name of the peripheral is Read-only property and you cannot change it. The name of the peripheral is written firmware.
If you have the control of peripheral code , you can create one writable/readable characteristic on which you can send the new name for the peripheral. And from next time you will get that new name .
If you dont have control on peripheral code then use one writable/readable characteristic to read and write the name of the peripheral . This is obviously not the real name of the device but for the end user it is like a real name of the device .