Hi All,
in the last couple of days I have implemented Software Loading for the
nanoBTS. Use this at your own risk but it is working here(tm).
Software Load is implemented as of the GSM 12.21 with some quirks and extra
messages compared to the BS11.
- BS11 got the length of the "length" wrong and it should have been
a short. ipaccess got this right so I needed to change that part
- For the nanoBTS in the SW Load Init and Load End message one needs
to add the SW_DESCR IE but without a length. 12.21 would probably
require the length but this is omitted. The other part is that the
file id must be set to "id\0" and the version to "version\
0" or at
least was set like this in the example trace I had.
- Strings must be written with the '\0' in it.
- After the Software Load End ACK one needs to send a special
SET NVATTR to set the software as default. The message must
contain the ID and Version of two firmware parts. I'm not sure which
funtional part they relate to but they have the "more more magic"
ids of 0x1000 and 0x2001.
I have changed ipaccess-config to exit after the software load, or setting the
primary OML IP by handling the ACK and carrying a state. One can also chain
"-r" and the above two so the primary action will be executed first and then
the reset will be issue and with a reset ack/nack the app will exit.
With doing the above it becomes aware that we should change ipaccess-config a
lot, all the options you could enable should generate an operation and we
should put these into a queue and then execute them one after another and exit
once all of them are done but this will be a bigger project as we need some
more cooperation with abis_nm.c. Is anyone volunteering to fix the structure of
this small application helper?
regards
holger