# Starting boards automatically

Using keywords, you can configure each board to start automatically whenever the Natural Access Server (ctdaemon) starts, or when the board is Hot Swap inserted. You can also configure the boards to stop automatically whenever ctdaemon exits.

Note: When a board is Hot Swap extracted, it is stopped automatically regardless of the keyword settings. The board is stopped when its ejector handles are lifted.

To configure boards to start or stop automatically:

Step | Action
1 | For each board that you want to start or stop automatically, set the AutoStart or AutoStop keywords to Yes. AutoStart and AutoStop are set to No by default.
2 | Set the Supervisor keywords AutoStartEnabled or AutoStopEnabled to Yes. These keywords enable auto-starting or auto-stopping of all boards whose AutoStart or AutoStop keywords are set to Yes. You can set Supervisor keywords directly in the system configuration file, as shown in the following example: [Supervisor] AutoStartEnabled = Yes AutoStopEnabled = Yes

Consider the following information when automatically starting and stopping boards:

- Your application must not attempt to access a board before its start process is completed. An application can determine that a board is completely started by monitoring for OAM board start done events. To learn more about NMS OAM events, refer to the NMS OAM Service Developer's Reference Manual.

- When boards are started, the Clock Management EMC or a clock management program such as clockdemo, can alter the state of the board's clocking based upon board configurations. As a result, certain clock-dependent functionality is not immediately available to an application following the board start done event. To determine when functionality is available, an application can receive and interpret clocking events. Refer to Running clockdemo for more information.

- If ctdaemon is stopped while an application is running, the boards are no longer accessible using NMS OAM. NMS OAM board events are not reported to the application. Also, the application can receive unexpected service API errors.