Prosody Guide - how to download firmware

Note this section is only applicable to Prosody X. No firmware download is required for Prosody S.

A Prosody processor needs two kinds of firmware: a kernel, which provides the ability to run software, and the firmware modules, which implement the wide variety of Prosody functionality.

To find out which firmware modules are needed for an application, consult its documentation. If you are writing an application, see the documentation for any Prosody API functions you use.

Firmware appropriate to the type of card must be loaded. For Prosody processors located on Prosody X cards, firmware from a starcore directory must be used.

Downloading the kernel - Prosody X cards

The best way to download the kernel is to use the batch/script file provided. This is called prosody_ip_card_load_ting_kernel and is invoked as follows to load the standard Prosody X TiNG kernel located in starcore directory:

	prosody_ip_card_load_ting_kernel <serial number> <module index>

For example to load kernel to first Prosody processor on card with serial number 179083 it would be invoked as follows:

	prosody_ip_card_load_ting_kernel 179083 0

Alternatively, the kernel may be loaded by reference to card IP address. Go to directory $(TiNG)/test where there is a script/batch file called klx. It is used like this:

	klx -i 172.16.1.220 -k mykey -m 0

where 172.16.1.220 is the IP address of the Prosody X card, and -m 0 indicates the first Prosody Processor module on that card (the default is module 0). It is very simple, only supplying defaults to the kloadx program, whose documentation you should consult for details of the options it understands. (For example, you need to use the -r option to reset the Prosody Processor if a kernel has already been downloaded).

The IP address of a Prosody X card can be determined by running the Aculab utility program acu_serno2ip, specifying the serial number of the card, which will then output the IP address and key of the given card. It is used like this:

	acu_serno2ip -k 179083

After kernel download

When the kernel is running you can see a light rapidly flashing on the card. Since this light is in different places on each type of card, see the hardware installation manual for your card for its location. You can also check that the kernel is running using pxdiagutil. with the Prosody utility pxdiagutil.

Downloading firmware modules - Prosody X cards

To download a firmware module you must have already downloaded the firmware kernel as described above.

The best way to download firmware modules is to use the script/batch file provided. This is called prosody_ip_card_load_ting_fw and is invoked as follows to load Prosody X firmware modules located in starcore directory:

	prosody_ip_card_load_ting_fw <serial number> <module index> <firmware module> ...

For example to load modules datafeed, td, and inchan to first Prosody processor on card with serial number 179083 it would be invoked as follows:

	prosody_ip_card_load_ting_fw 179083 0 datafeed td inchan

Alternatively, firmware modules may be loaded by reference to card IP address. Go to directory $(TiNG)/test. There is a script/batch file called lmx to download a module. Use it like this:

	lmx v110 -i 172.16.1.220 -k mykey

where v110 is the name of the module to load and 172.16.1.220 is the card IP address as used when loading the kernel. As with klx, you add the -m option to specify a Prosody processor module (default 0) like this:

	lmx v110 -i 172.16.1.220 -k mykey -m 1

This script/batch file is very simple, only supplying defaults to the modload program, whose documentation you should consult for details of the options it understands.

The firmware modules are listed in Prosody software modules. If you want to run a test application, look at the documentation of that application for a list of required modules: if you are writing an application, details of required firmware modules are given in the documentation for the API functions: if you are using an application written by someone else, they should have provided details of the firmware it requires.

Note in general, applications running on Prosody X cards will require an additional firmware module datafeed

The firmware modules are listed in Prosody software modules. If you want to run a test application, look at the documentation of that application for a list of required modules: if you are writing an application, details of required firmware modules are given in the documentation for the API functions: if you are using an application written by someone else, they should have provided details of the firmware it requires.

For complex applications using many firmware modules, firmware download will require more consideration in order to utilise the memory and CPU resources of the Prosody processor to best effect. See firmware placement for more details.