Subsystem Configuration Options¶
Kconfig
files describe build-time configuration options (called symbols
in Kconfig-speak), how they’re grouped into menus and sub-menus, and
dependencies between them that determine what configurations are valid.
Kconfig
files appear throughout the directory tree. For example,
subsys/power/Kconfig
defines power-related options.
This documentation is generated automatically from the Kconfig
files by
the genrest.py
script. Click on symbols for more
information.
Configuration Options¶
Symbol name |
Help/prompt |
---|---|
Debug |
|
Error |
|
Info |
|
Off |
|
Warning |
|
Add FS header files to the ‘app’ include path. It may be disabled if the include paths for FS are causing aliasing issues for ‘app’. |
|
Add MCUMGR header files to the ‘app’ include path. It may be disabled if the include paths for MCUMGR are causing aliasing issues for ‘app’. |
|
Debug |
|
Error |
|
Info |
|
Off |
|
Warning |
|
Builds Zephyr with Address Sanitizer enabled. This is currently
only supported by boards based on the posix architecture, and requires a
recent-ish compiler with the Note that at exit leak detection is disabled for 64-bit boards when GCC is used due to potential risk of a deadlock in libasan. This behavior can be changes by adding leak_check_at_exit=1 to the environment variable ASAN_OPTIONS. |
|
Override host OS dlclose() with a NOP. This NOP implementation is needed as workaround for a known limitation in LSAN (leak sanitizer) that if dlcose is called before performing the leak check, “<unknown module>” is reported in the stack traces during the leak check and these can not be suppressed, see https://github.com/google/sanitizers/issues/89 for more info. |
|
This enables the __ASSERT() macro in the kernel code. If an assertion fails, the policy for what to do is controlled by the implementation of the assert_post_action() function, which by default will trigger a fatal error. Disabling this option will cause assertions to compile to nothing, improving performance and system footprint. |
|
This option specifies the assertion level used by the __ASSERT() macro. It can be set to one of three possible values: Level 0: off Level 1: on + warning in every file that includes __assert.h Level 2: on + no warning |
|
This option removes the assert condition from the printed assert message. Enabling this will save target code space, and thus may be necessary for tiny targets. It is recommended to disable condition info before disabling file info since the condition can be found in the source using file info. |
|
This option removes the name and the path of the source file in which the assertion occurred. Enabling this will save target code space, and thus may be necessary for tiny targets. |
|
This option removes the additional message from the printed assert. Enabling this will save target code space, and thus may be necessary for tiny targets. It is recommended to disable message before disabling file info since the message can be found in the source using file info. |
|
This option enables printing an assert message with information about the assertion that occurred. This includes printing the location, the conditional expression and additional message specific to the assert. |
|
Debug |
|
Error |
|
Info |
|
Off |
|
Warning |
|
Debug |
|
Error |
|
Info |
|
Off |
|
Warning |
|
Bluetooth device class bulk endpoint size |
|
Bluetooth device class interrupt endpoint size |
|
Debug |
|
Error |
|
Info |
|
Off |
|
Warning |
|
Debug |
|
Error |
|
Info |
|
Off |
|
Warning |
|
This option enables the recording of timestamps during system boot. |
|
This option enables Bluetooth support. |
|
This option enables the A2DP profile |
|
Number of buffers available for incoming ACL data. |
|
Maximum supported advertising sets. |
|
Use a custom Bluetooth assert implementation instead of the kernel-wide __ASSERT() when CONFIG_ASSERT is disabled. |
|
When CONFIG_BT_ASSERT is enabled, this option makes the code call k_panic() instead of k_oops() when an assertion is triggered. |
|
When CONFIG_BT_ASSERT is enabled, this option turns on printing the cause of the assert to the console using printk(). |
|
Enforce flow control rules on incoming PDUs, preventing a peer from sending new requests until a previous one has been responded or sending a new indication until a previous one has been confirmed. This may need to be disabled to avoid potential race conditions arising from a USB based HCI transport that splits HCI events and ACL data to separate endpoints. |
|
Number of buffers available for ATT prepare write, setting this to 0 disables GATT long/reliable writes. |
|
Number of ATT PDUs that can be at a single moment queued for transmission. If the application tries to send more than this amount the calls will block until an existing queued PDU gets sent. |
|
Initiate PHY Update Procedure on connection establishment. Disable this if you want PHY Update Procedure feature supported but want to rely on remote device to initiate the procedure at its discretion. |
|
This option enables Bluetooth AVDTP support |
|
Scan interval used for background scanning in 0.625 ms units |
|
Scan window used for background scanning in 0.625 ms units |
|
This option enables support for Bondable Mode. In this mode, Bonding flag in AuthReq of SMP Pairing Request/Response will be set indicating the support for this mode. |
|
When this option is enabled remote devices are required to always set the bondable flag in their pairing request. Any other kind of requests will be rejected. |
|
This option enables Bluetooth BR/EDR support |
|
Select this for LE Broadcaster role support. |
|
Select this for LE Central role support. |
|
Set the Bluetooth Company Identifier for this device. The Linux Foundation’s Company Identifier (0x05F1) is the default value for this option although silicon vendors and hardware manufacturers can set their own. Note that the controller’s Company Identifier is controlled by BT_CTLR_COMPANY_ID. The full list of Bluetooth Company Identifiers can be found here: https://www.bluetooth.com/specifications/assigned-numbers/company-identifiers |
|
The value is a timeout used by peripheral device to wait until it starts the connection parameters update procedure to change default connection parameters. The default value is set to 5s, to comply with BT protocol specification: Core 4.2 Vol 3, Part C, 9.3.12.2 |
|
Maximum number of pending TX buffers that have an associated callback. Normally this can be left to the default value, which is equal to the number of TX buffers in the stack-internal pool. |
|
Timeout for pending LE Create Connection command in seconds |
|
Enables support for SoC native controller implementations. |
|
Makes advanced features visible to controller developers. |
|
Enable support for Bluetooth 5.0 LE Advertising Extensions in the Controller. |
|
Generate events indicating on air advertisement events. |
|
This option enables an application-defined sink for the controller assertion mechanism. This must be defined in application code as void “bt_ctlr_assert_handle(char *, int)” and will be invoked whenever the controller code encounters an unrecoverable error. |
|
Enable support for Bluetooth 5.0 LE Channel Selection Algorithm #2 in the Controller. |
|
Set the Bluetooth Company Identifier that will be used in the VERSION_IND PDU. Uses BT_COMPANY_ID by default, although silicon vendors and hardware manufacturers can set their own Company Identifier for the controller. The full list of Bluetooth Company Identifiers can be found here: https://www.bluetooth.com/specifications/assigned-numbers/company-identifiers |
|
Enables vendor specific per-connection meta data as part of the LLL connection object. |
|
Enable support for Bluetooth v4.1 Connection Parameter Request feature in the Controller. |
|
Enable connection RSSI measurement. |
|
Use random number generation and AES encryption support functions provided by the controller. |
|
Enable support for Bluetooth v4.2 LE Data Length Update procedure, up to 251 byte cleartext payloads in the Controller. Encrypted connections are not supported. |
|
Set the maximum data length of PDU supported in the Controller. |
|
Turn on debug GPIO toggling for the BLE Controller. This is useful when debugging with a logic analyzer or profiling certain sections of the code. |
|
Enable support for Direct Test Mode in the Controller. |
|
Enable support for Direct Test Mode over the HCI transport. |
|
Set the number of unique BLE addresses that can be filtered as duplicates while scanning. |
|
Enable support for Bluetooth v4.1 Extended Reject Indication feature in the Controller. |
|
Enable support for Bluetooth v4.2 LE Extended Scanner Filter Policies in the Controller. |
|
Enable connection encryption setup in 3 connection intervals. Peripheral will respond to Encryption Request with Encryption Response in the same connection interval, and also, will respond with Start Encryption Response PDU in the 3rd connection interval, hence completing encryption setup in 3 connection intervals. Encrypted data would be transmitted as fast as in 3rd connection interval from the connection establishment. Maximum CPU time in Radio ISR will increase if this feature is selected. |
|
Enable support for controller device whitelist feature |
|
Enable GPIO interface to a Low Noise Amplifier. This allows hardware designs using LNAs to let the Controller toggle their state based on radio activity. |
|
Time before Rx ready to turn on LNA. |
|
GPIO Pin number connected to a Low Noise Amplifier. |
|
Enable inverted polarity (active low) for the LNA pin. |
|
Enable GPIO interface to a Power Amplifier. This allows hardware designs using PA to let the Controller toggle their state based on radio activity. |
|
Time before Tx ready to turn on PA. |
|
GPIO Pin number connected to a Power Amplifier. |
|
Enable inverted polarity (active low) for the PA pin. |
|
User-defined string that will be returned by the Zephyr VS Read Build Information command after the Zephyr version and build time. When setting this to a value different from an empty string, a space character is required at the beginning to separate it from the already included information. |
|
The interrupt priority for Ticker’s Job (SWI4) IRQ. This value shall be greater than or equal to the Ticker’s Worker IRQ priority value. |
|
Enable support for Bluetooth v4.0 LE Encryption feature in the Controller. |
|
Enable support for Bluetooth v4.1 LE Ping feature in the Controller. |
|
Set the number connections for which worst-case buffer requirements for LLCP procedures must be met. Executing LLCP procedures on more than this number of connections simultaneously may cause instabilities. |
|
Handle zero length L2CAP start frame. |
|
The interrupt priority for event preparation and radio IRQ. |
|
Use low latency non-negotiating event preemption. This reduces Radio ISR latencies by the controller event scheduling framework. Consequently, this reduces on-air radio utilization due to redundant radio state switches. |
|
Low latency ULL implementation that uses tailchaining instead of while loop to demux rx messages from LLL. |
|
Set the number of unique Mesh Scan Filters available as part of the Intel Mesh Vendor Specific Extensions. |
|
Set the number of unique Mesh Scan Filter patterns available per Scan Filter as part of the Intel Mesh Vendor Specific Extensions. |
|
Enable support for Bluetooth 5.0 Minimum Number of Used Channels Procedure in the Controller. |
|
Optimize compilation of controller for execution speed. |
|
Enable code checking HCI Command Parameters. This is not needed in combined host plus controller builds, saving some code space. |
|
Select the nRF5 GPIOTE channel to use for PA/LNA GPIO feature. |
|
Enable support for Bluetooth 5.0 2Mbps PHY in the Controller. |
|
Enable support for Nordic Semiconductor proprietary 2Mbps PHY in the Controller. Encrypted connections are not supported. |
|
Enable support for Bluetooth 5.0 Coded PHY in the Controller. |
|
Enable support for Bluetooth v4.2 LE Controller-based Privacy feature in the Controller. |
|
Turn on measurement of radio ISR latency, CPU usage and generation of controller event with these profiling data. The controller event contains current, minimum and maximum ISR entry latencies; and current, minimum and maximum ISR CPU use in micro-seconds. |
|
Enable use of fast radio ramp-up mode. |
|
Set the size of the Resolving List for LE Controller-based Privacy. On nRF5x-based controllers, the hardware imposes a limit of 8 devices. |
|
Set the size of the Known Unknown Resolving List for LE Controller-based Software deferred Privacy. |
|
Set the number of Rx PDUs to be buffered in the controller. In a 7.5ms connection interval and 2M PHY, maximum 18 packets with L2CAP payload size of 1 byte can be received. |
|
Hold enqueue of Procedure Complete events with instant until after the on-air instant is reached. |
|
Enable RX pdu meta data |
|
High priority Rx thread stack size |
|
Generate events indicating on air scanner events. |
|
Generate events notifying the on air scan requests received. |
|
Measure RSSI of the on air scan requests received. |
|
Enable non-overlapping placement of observer, initiator and master roles in timespace. Uses window offset in connection updates and uses connection parameter request in slave role to negotiate non-overlapping placement with active master roles to avoid slave roles drifting into active master roles in the local controller. This feature maximizes the average data transmission amongst active concurrent master and slave connections while other observer, initiator, master or slave roles are active in the local controller. Disabling this feature will lead to overlapping role in timespace leading to skipped events amongst active roles. |
|
Enable use of settings system in controller. |
|
Enable support for Bluetooth v4.1 Slave-initiated Features Exchange feature in the Controller. |
|
Enable support for Bluetooth 5.0 SMI RX in the Controller. |
|
Enable support for Bluetooth 5.0 SMI TX in the Controller. |
|
Enable support for Bluetooth 5.0 SMI TX through a system setting. |
|
Set the Subversion Number that will be used in VERSION_IND PDU. |
|
Enable support for software based deferred privacy calculations. |
|
Implement the tIFS Trx SW switch with the same TIMER instance, as the one used for BLE event timing. Requires SW switching be enabled. Using a single TIMER: (+) frees up one TIMER instance (+) removes jitter for HCTO implementation (-) introduces drifting to the absolute time inside BLE events, that increases linearly with the number of packets exchanged in the event (-) makes it impossible to use most of the pre-programmed PPI channels for the controller, resulting in 4 channels less left for other uses |
|
Enable use of hardware accelerated tIFS Trx switching. |
|
This option specifies the name of UART device to be used to connect to an external Bluetooth Host when Zephyr is acting as a Bluetooth Controller. |
|
Set the number of Tx PDUs to be queued for transmission in the controller. In a 7.5ms connection interval and 2M PHY, maximum 19 packets can be enqueued, with 18 packets with L2CAP payload size of 1 byte can be acknowledged. |
|
Size of the Tx buffers and the value returned in HCI LE Read Buffer Size command response. If this size if greater than effective PDU size then controller will perform fragmentation before transmitting on the the packet on air. Maximum is set to 251 due to implementation limitations (use of u8_t for length field in PDU buffer structure). |
|
0 dBm |
|
Enable dynamic control of Tx power per role/connection. Provides HCI VS commands to set and get the current Tx power on an individual role/connection basis. |
|
-12 dBm |
|
-16 dBm |
|
-20 dBm |
|
-30 dBm |
|
-4 dBm |
|
-40 dBm |
|
-8 dBm |
|
+2 dBm |
|
+3 dBm |
|
+4 dBm |
|
+5 dBm |
|
+6 dBm |
|
+7 dBm |
|
+8 dBm |
|
Avoid retransmission of a PDU if peer device Nack-ed a transmission in the current connection event, close the connection event so as to save current consumption on retries (in case peer has no buffers to receive new PDUs). Enabling this will lower power consumption, but increase transmission latencies by one connection interval as the next attempt to send a PDU would happen in the next connection event instead of repeated retries in the current connection event. |
|
The interrupt priority for Ticker’s Worker IRQ and Upper Link Layer higher priority functions. |
|
The interrupt priority for Ticker’s Job IRQ and Upper Link Layer lower priority functions. |
|
Number of event types reserved for proprietary use. The range is typically used when BT_CTLR_USER_EXT is in use. |
|
Catch-all for enabling proprietary event types in Controller behavior. |
|
Number of ticker ids reserved for proprietary use. The range is typically used when BT_CTLR_USER_EXT is in use. |
|
Make the controller’s Company Id and Subversion Number configurable through settings system. |
|
The interrupt priority for event preparation and radio IRQ. This value shall be less than or equal to the Ticker’s Job priority value. |
|
Enables advanced event preparation offset ahead of radio tx/rx, taking into account predictive processing time requirements in preparation to the event, like control procedure handling and CPU execution speeds. Crystal oscillator is retained between closely spaced consecutive radio events to reduce the overall number of crystal settling current consumptions. This feature maximizes radio utilization in an average role event timeslice when they are closely spaced by using a reduced offset between preparation and radio event. By disabling this feature, the controller will use a constant offset between the preparation and radio event. The controller will toggle crystal oscillator between two closely spaced radio events leading to higher average current due to increased number of crystal settling current consumptions. |
|
Configure the optimal delta in micro seconds between two consecutive radio events, event done to next preparation, below which (active clock) crystal will be retained. This value is board dependent. |
|
Enable support for use of Zero Latency IRQ feature. Note, applications shall not use Zero Latency IRQ themselves when this option is selected, else will impact controller stability. |
|
Select a custom, non-HCI based stack. If you’re not sure what this is, you probably want the HCI-based stack instead. |
|
Enable support for Bluetooth v4.2 LE Data Length Update procedure. |
|
This option enables debug support for the Bluetooth A2DP profile. |
|
This option enables debug support for the Bluetooth Attribute Protocol (ATT). |
|
This option enables debug support for the Bluetooth AVDTP. |
|
This option enables debug support for Bluetooth connection handling. |
|
This option enables debug support for the Bluetooth Generic Attribute Profile (GATT). |
|
This option enables debug support for Bluetooth HCI core. |
|
This option enables debug support for the active Bluetooth HCI driver, including the Controller-side HCI layer when included in the build. |
|
This option enables debug support for the Bluetooth Hands Free Profile (HFP). |
|
This option enables debug support for the handling of Bluetooth security keys. |
|
This option enables debug support for the Bluetooth L2ACP layer. |
|
This option enables Bluetooth debug going to standard serial console. |
|
Use a custom logging protocol over the console UART instead of plain-text output. Requires a special application on the host side that can decode this protocol. Currently the ‘btmon’ tool from BlueZ is capable of doing this. If the target board has two or more external UARTs it is possible to keep using UART_CONSOLE together with this option, however if there is only a single external UART then UART_CONSOLE needs to be disabled (in which case printk/printf will get encoded into the monitor protocol). |
|
Select this to disable all Bluetooth debug logs. |
|
This option enables debug support for the Bluetooth RFCOMM layer. |
|
This option enables debug support for the Bluetooth Resolvable Private Address (RPA) generation and resolution. |
|
This option enables debug support for the Bluetooth Service Discovery Protocol (SDP). |
|
This option enables debug support for the Bluetooth Services. |
|
This option enables debug support for Bluetooth storage. |
|
This option enables debug support for the Bluetooth Security Manager Protocol (SMP). |
|
Bluetooth device appearance. For the list of possible values please consult the following link: https://www.bluetooth.com/specifications/assigned-numbers |
|
Bluetooth device name. Name can be up to 248 bytes long (excluding NULL termination). Can be empty string. |
|
Enabling this option allows for runtime configuration of Bluetooth device name. |
|
Enabling this option allows remote GATT clients to write to device name GAP characteristic. |
|
Bluetooth device name storage size. Storage can be up to 248 bytes long (excluding NULL termination). |
|
Number of buffers in a separate buffer pool for events which the HCI driver considers discardable. Examples of such events could be e.g. Advertising Reports. The benefit of having such a pool means that the if there is a heavy inflow of such events it will not cause the allocation for other critical events to block and may even eliminate deadlocks in some cases. |
|
Size of buffers in the separate discardable event buffer pool. The minimum size is set based on the Advertising Report. Setting the buffer size different than BT_RX_BUF_LEN can save memory. |
|
This option adds support for ECDH HCI commands. |
|
With this option enabled, the application will be able to call the bt_passkey_set() API to set a fixed passkey. If set, the pairing_confim() callback will be called for all incoming pairings. |
|
This option if enabled allows automatically sending request for connection parameters update after GAP recommended 5 seconds of connection as peripheral. |
|
This allows to configure peripheral preferred connection parameters. Enabling this option results in adding PPCP characteristic in GAP. If disabled it is up to application to set expected connection parameters. |
|
Enable GATT Battery service |
|
Sets log level for the Battery service. Levels are: 0 OFF, do not write 1 ERROR, only write LOG_ERR 2 WARNING, write LOG_WRN in addition to previous level 3 INFO, write LOG_INF in addition to previous levels 4 DEBUG, write LOG_DBG in addition to previous levels |
|
This option enables support for GATT Caching. When enabled the stack will register Client Supported Features and Database Hash characteristics which can be used by clients to detect if anything has changed on the GATT database. |
|
This option enables support for the GATT Client role. |
|
Enable GATT Device Information service |
|
Enable Firmware Revision characteristic in Device Information Service. |
|
Enable firmware revision characteristic in Device Information Service. |
|
Enable Hardware Revision characteristic in Device Information Service. |
|
Enable hardware revision characteristic in Device Information Service. |
|
The device manufacturer inside Device Information Service. |
|
The device model inside Device Information Service. |
|
Enable PnP_ID characteristic in Device Information Service. |
|
The Product ID field is intended to distinguish between different products made by the vendor identified with the Vendor ID field. The vendors themselves manage Product ID field values. |
|
The Product Version field is a numeric expression identifying the device release number in Binary-Coded Decimal. This is a vendor-assigned value, which defines the version of the product identified by the Vendor ID and Product ID fields. This field is intended to differentiate between versions of products with identical Vendor IDs and Product IDs. The value of the field value is 0xJJMN for version JJ.M.N (JJ - major version number, M - minor version number, N - sub-minor version number); e.g., version 2.1.3 is represented with value 0x0213 and version 2.0.0 is represented with a value of 0x0200. When upward-compatible changes are made to the device, it is recommended that the minor version number be incremented. If incompatible changes are made to the device, it is recommended that the major version number be incremented. The sub-minor version is incremented for bug fixes. |
|
The Vendor ID field is intended to uniquely identify the vendor of the device. This field is used in conjunction with Vendor ID Source field, which determines which organization assigned the Vendor ID field value. Note: The Bluetooth Special Interest Group assigns Device ID Vendor ID, and the USB Implementers Forum assigns Vendor IDs, either of which can be used for the Vendor ID field value. Device providers should procure the Vendor ID from the USB Implementers Forum or the Company Identifier from the Bluetooth SIG. |
|
The Vendor ID Source field designates which organization assigned the value used in the Vendor ID field value. The possible values are: - 1 Bluetooth SIG, the Vendor ID was assigned by the Bluetooth SIG - 2 USB IF, the Vendor ID was assigned by the USB IF |
|
Enable Serial Number characteristic in Device Information Service. |
|
Enable Serial Number characteristic in Device Information Service. |
|
Enable Settings usage in Device Information Service. |
|
Bluetooth DIS string storage size. Storage can be up to 248 bytes long (excluding NULL termination). |
|
Enable Software Revision characteristic in Device Information Service. |
|
Enable software revision characteristic in Device Information Service. |
|
This option enables registering/unregistering services at runtime. |
|
When enable this option blocks notification and indications to client to conform to the following statement from the Bluetooth 5.1 specification: ‘…the server shall not send notifications and indications to such a client until it becomes change-aware.” In case the service cannot deal with sudden errors (-EAGAIN) then it shall not use this option. |
|
Enable GATT Heart Rate service |
|
Sets log level for the Heart Rate service. Levels are: 0 OFF, do not write 1 ERROR, only write LOG_ERR 2 WARNING, write LOG_WRN in addition to previous level 3 INFO, write LOG_INF in addition to previous levels 4 DEBUG, write LOG_DBG in addition to previous levels |
|
This option enables support for the GATT Read Multiple Characteristic Values procedure. |
|
This option enables support for the service changed characteristic. |
|
This option is set by the Bluetooth controller to indicate support for the Zephyr HCI Vendor-Specific Commands and Event. |
|
HCI-based stack with optional host & controller parts and an HCI driver in between. |
|
Enable support for throttling ACL buffers from the controller to the host. This is particularly useful when the host and controller are on separate cores since it ensures that we do not run out of incoming ACL buffers. |
|
Number of buffers available for HCI commands. |
|
NOTE: This is an advanced setting and should not be changed unless absolutely necessary |
|
Enable support for the Bluetooth Mesh HCI Commands. |
|
This option allows to access Bluetooth controller from the application with the RAW HCI protocol. |
|
This option is used by the HCI raw transport implementation to declare how much headroom it needs for any HCI transport headers. |
|
Headroom that the driver needs for sending and receiving buffers. Add a new ‘default’ entry for each new driver. |
|
Stack size needed for executing bt_send with specified driver. NOTE: This is an advanced setting and should not be changed unless absolutely necessary |
|
Override HCI Tx thread stack size |
|
Enable support for the Zephyr HCI Vendor-Specific Commands in the Host and/or Controller. This enables Set Version Information, Supported Commands, Supported Features vendor commands. |
|
Enable registering a callback for delegating to the user the handling of VS events that are not known to the stack |
|
Enable support for the Zephyr HCI Vendor-Specific Extensions in the Host and/or Controller. This enables Write BD_ADDR, Read Build Info, Read Static Addresses and Read Key Hierarchy Roots vendor commands. |
|
Use some heuristics to try to guess in advance whether the controller supports the HCI vendor extensions in advance, in order to prevent sending vendor commands to controller which may interpret them in completely different ways. |
|
This option enables Bluetooth HF support |
|
Enables the software based AES-CCM engine in the host. Will use the controller’s AES encryption functions if available, or BT_HOST_CRYPTO otherwise. |
|
Maximum number of supported local identity addresses. For most products this is safe to leave as the default value (1). |
|
With this option enabled, if a pairing attempt occurs and the key storage is full, then the oldest keys in storage will be removed to free space for the new pairing keys. |
|
With this option enabled, aging counter will be stored in settings every time a successful pairing occurs. This increases flash wear out but offers a more correct finding of the oldest unused pairing info. |
|
This option enables support for LE Connection oriented Channels, allowing the creation of dynamic L2CAP Channels. |
|
Maximum size of each incoming L2CAP PDU. |
|
Number of buffers available for outgoing L2CAP packets. |
|
Number of buffers available for fragments of TX buffers. Warning: setting this to 0 means that the application must ensure that queued TX buffers never need to be fragmented, i.e. that the controller’s buffer size is large enough. If this is not ensured, and there are no dedicated fragment buffers, a deadlock may occur. In most cases the default value of 2 is a safe bet. |
|
Maximum L2CAP MTU for L2CAP TX buffers. |
|
Use Nordic Lower Link Layer implementation. |
|
Use OpenISA Lower Link Layer implementation. |
|
Use Zephyr software BLE Link Layer implementation. |
|
Use Zephyr software BLE Link Layer ULL LLL split implementation. |
|
Debug |
|
Error |
|
Info |
|
Off |
|
Warning |
|
Maximum number of simultaneous Bluetooth connections supported. |
|
Maximum number of paired Bluetooth devices. The minimum (and default) number is 1. |
|
Maximum number of simultaneous Bluetooth synchronous connections supported. The minimum (and default) number is 1. |
|
Only process one mayfly callback per invocation (legacy behavior). If set to ‘n’, all pending mayflies for callee are executed before yielding |
|
This option enables Bluetooth Mesh support. The specific features that are available may depend on other features that have been enabled in the stack, such as GATT support. |
|
Number of advertising buffers available. This should be chosen based on what kind of features the local node should have. E.g. a relay will perform better the more buffers it has. Another thing to consider is outgoing segmented messages. There must be at least three more advertising buffers than the maximum supported outgoing segment count (BT_MESH_TX_SEG_MAX). |
|
This option specifies how many application keys the device can store per network. |
|
Mesh Configuration Database [EXPERIMENTAL] |
|
This option specifies how many application keys that can at most be saved in the configuration database. |
|
This option specifies how many nodes each network can at most save in the configuration database. |
|
This option specifies how many subnets that can at most be saved in the configuration database. |
|
Enable support for the configuration client model. |
|
This options specifies the maximum capacity of the replay protection list. This option is similar to the network message cache size, but has a different purpose. |
|
Use this option to enable debug logs for the Bluetooth Mesh functionality. |
|
Use this option to enable Access layer and device composition related debug logs for Bluetooth Mesh. |
|
Use this option to enable advertising debug logs for the Bluetooth Mesh functionality. |
|
Use this option to enable Beacon-related debug logs for the Bluetooth Mesh functionality. |
|
Use this option to enable configuration database debug logs. |
|
Use this option to enable cryptographic debug logs for the Bluetooth Mesh functionality. |
|
Use this option to enable Friend debug logs for the Bluetooth Mesh functionality. |
|
Use this option to enable Low Power debug logs for the Bluetooth Mesh functionality. |
|
Use this option to enable debug logs for the Foundation Models. |
|
Use this option to enable Network layer debug logs for the Bluetooth Mesh functionality. |
|
Use this option to enable Provisioning debug logs for the Bluetooth Mesh functionality. |
|
Use this option to enable Proxy protocol debug logs. |
|
Use this option to enable persistent settings debug logs. |
|
Use this option to enable Transport layer debug logs for the Bluetooth Mesh functionality. |
|
This option forces the usage of the local identity address for all advertising. This can be a help for debugging (analyzing traces), however it should never be enabled for a production build as it compromises the privacy of the device. |
|
Enable this option to be able to act as a Friend Node. |
|
Number of Low Power Nodes the Friend can have a Friendship with simultaneously. |
|
Minimum number of buffers available to be stored for each local Friend Queue. |
|
Receive Window in milliseconds supported by the Friend node. |
|
Number of incomplete segment lists that we track for each LPN that we are Friends for. In other words, this determines how many elements we can simultaneously be receiving segmented messages from when the messages are going into the Friend queue. |
|
Size of the Subscription List that can be supported by a Friend node for a Low Power node. |
|
This option enables support for the Mesh GATT Proxy Service, i.e. the ability to act as a proxy between a Mesh GATT Client and a Mesh network. |
|
Enable support for the health client model. |
|
When the IV Update state enters Normal operation or IV Update in Progress, we need to keep track of how many hours has passed in the state, since the specification requires us to remain in the state at least for 96 hours (Update in Progress has an additional upper limit of 144 hours). In order to fulfill the above requirement, even if the node might be powered off once in a while, we need to store persistently how many hours the node has been in the state. This doesn’t necessarily need to happen every hour (thanks to the flexible duration range). The exact cadence will depend a lot on the ways that the node will be used and what kind of power source it has. Since there is no single optimal answer, this configuration option allows specifying a divider, i.e. how many intervals the 96 hour minimum gets split into. After each interval the duration that the node has been in the current state gets stored to flash. E.g. the default value of 4 means that the state is saved every 24 hours (96 / 4). |
|
This option removes the 96 hour limit of the IV Update Procedure and lets the state be changed at any time. |
|
This option specifies how many Label UUIDs can be stored. |
|
Enable this option to be able to act as a Low Power Node. |
|
Automatically enable LPN functionality once provisioned and start looking for Friend nodes. If this option is disabled LPN mode needs to be manually enabled by calling bt_mesh_lpn_set(true). |
|
Time in seconds from the last received message, that the node will wait before starting to look for Friend nodes. |
|
Perform the Friendship establishment using low power, with the help of a reduced scan duty cycle. The downside of this is that the node may miss out on messages intended for it until it has successfully set up Friendship with a Friend node. |
|
Maximum number of groups that the LPN can subscribe to. |
|
The initial value of the PollTimeout timer when Friendship gets established for the first time. After this the timeout will gradually grow toward the actual PollTimeout, doubling in value for each iteration. The value is in units of 100 milliseconds, so e.g. a value of 300 means 30 seconds. |
|
The MinQueueSizeLog field is defined as log_2(N), where N is the minimum number of maximum size Lower Transport PDUs that the Friend node can store in its Friend Queue. As an example, MinQueueSizeLog value 1 gives N = 2, and value 7 gives N = 128. |
|
PollTimeout timer is used to measure time between two consecutive requests sent by the Low Power node. If no requests are received by the Friend node before the PollTimeout timer expires, then the friendship is considered terminated. The value is in units of 100 milliseconds, so e.g. a value of 300 means 30 seconds. |
|
The ReceiveDelay is the time between the Low Power node sending a request and listening for a response. This delay allows the Friend node time to prepare the response. The value is in units of milliseconds. |
|
The contribution of the supported Receive Window used in Friend Offer Delay calculations. 0 = 1, 1 = 1.5, 2 = 2, 3 = 2.5. |
|
Time in seconds between Friend Requests, if a previous Friend Request did not receive any acceptable Friend Offers. |
|
The contribution of the RSSI measured by the Friend node used in Friend Offer Delay calculations. 0 = 1, 1 = 1.5, 2 = 2, 3 = 2.5. |
|
Latency in milliseconds that it takes to enable scanning. This is in practice how much time in advance before the Receive Window that scanning is requested to be enabled. |
|
Enable support for the model extension concept, allowing the Access layer to know about Mesh model relationships. |
|
This option specifies how many group addresses each model can at most be subscribed to. |
|
This option specifies how many application keys each model can at most be bound to. |
|
Number of messages that are cached for the network. This helps prevent unnecessary decryption operations and unnecessary relays. This option is similar to the replay protection list, but has a different purpose. |
|
This option determines for how long the local node advertises using Node Identity. The given value is in seconds. The specification limits this to 60 seconds, and implies that to be the appropriate value as well, so just leaving this as the default is the safest option. |
|
Enable this option to allow the device to be provisioned over the advertising bearer. |
|
Enable this option to allow the device to be provisioned over GATT. |
|
Enable this option to have support for provisioning remote devices. |
|
This option specifies how many Proxy Filter entries the local node supports. |
|
Support for acting as a Mesh Relay Node. |
|
This value defines in seconds how soon the RPL gets written to persistent storage after a change occurs. If the node receives messages frequently it may make sense to have this set to a large value, whereas if the RPL gets updated infrequently a value as low as 0 (write immediately) may make sense. Note that if the node operates a security sensitive use case, and there’s a risk of sudden power loss, it may be a security vulnerability to set this value to anything else than 0 (a power loss before writing to storage exposes the node to potential message replay attacks). |
|
Maximum incoming Upper Transport Access PDU length. This determines also how many segments incoming segmented messages can have. Each segment can contain 12 bytes, so this value should be set to a multiple of 12 to avoid wasted memory. The minimum requirement is 2 segments (24 bytes) whereas the maximum supported by the Mesh specification is 32 segments (384 bytes). |
|
Maximum number of simultaneous incoming multi-segment and/or reliable messages. |
|
This option adds extra self-tests which are run every time mesh networking is initialized. |
|
This value defines how often the local sequence number gets updated in persistent storage (i.e. flash). E.g. a value of 100 means that the sequence number will be stored to flash on every 100th increment. If the node sends messages very frequently a higher value makes more sense, whereas if the node sends infrequently a value as low as 0 (update storage for every increment) can make sense. When the stack gets initialized it will add this number to the last stored one, so that it starts off with a value that’s guaranteed to be larger than the last one used before power off. |
|
Activate shell module that provides Bluetooth Mesh commands to the console. |
|
This value defines in seconds how soon any pending changes are actually written into persistent storage (flash) after a change occurs. |
|
This option specifies how many subnets a Mesh network can participate in at the same time. |
|
Maximum number of segments supported for outgoing messages. This value should typically be fine-tuned based on what models the local node supports, i.e. what’s the largest message payload that the node needs to be able to send. This value affects memory and call stack consumption, which is why the default is lower than the maximum that the specification would allow (32 segments). The maximum outgoing SDU size is 12 times this number (out of which 4 or 8 bytes is used for the Transport Layer MIC). For example, 5 segments means the maximum SDU size is 60 bytes, which leaves 56 bytes for application layer data using a 4-byte MIC and 52 bytes using an 8-byte MIC. Be sure to specify a sufficient number of advertising buffers when setting this option to a higher value. There must be at least three more advertising buffers (BT_MESH_ADV_BUF_COUNT) as there are outgoing segments. |
|
Maximum number of simultaneous outgoing multi-segment and/or reliable messages. |
|
This option specifies the name of UART device to be used for the Bluetooth monitor logging. |
|
Select this for LE Observer role support. |
|
With this option enabled, the application will be able to perform LESC pairing with OOB data that consists of fixed random number and confirm value. This option should only be enabled for debugging and should never be used in production. |
|
This option sets the page timeout value. Value is selected as (N * 0.625) ms. |
|
Select this for LE Peripheral role support. |
|
Range 3200 to 65534 is invalid. 65535 represents no specific value. |
|
Range 3200 to 65534 is invalid. 65535 represents no specific value. |
|
Peripheral preferred slave latency in Connection Intervals |
|
It is up to user to provide valid timeout which pass required minimum value: in milliseconds it shall be larger than “(1+ Conn_Latency) * Conn_Interval_Max * 2” where Conn_Interval_Max is given in milliseconds. Range 3200 to 65534 is invalid. 65535 represents no specific value. |
|
Enable support for Bluetooth 5.0 PHY Update Procedure. |
|
Enable local Privacy Feature support. This makes it possible to use Resolvable Private Addresses (RPAs). |
|
Enable application access to the remote information available in the stack. The remote information is retrieved once a connection has been established and the application will be notified when this information is available through the remote_version_available connection callback. |
|
Enable this to get access to the remote version in the Controller and in the Host through bt_conn_get_info(). The fields in question can be then found in the bt_conn_info struct. |
|
This option enables Bluetooth RFCOMM support |
|
Maximum size of L2CAP PDU for RFCOMM frames. |
|
This option defines how often resolvable private address is rotated. Value is provided in seconds and defaults to 900 seconds (15 minutes). |
|
Number of buffers available for incoming ACL packets or HCI events from the controller. |
|
Maximum data size for each HCI RX buffer. This size includes everything starting with the ACL or HCI event headers. Note that buffer sizes are always rounded up to the nearest multiple of 4, so if this Kconfig value is something else then there will be some wasted space. The minimum of 73 has been taken for LE SC which has an L2CAP MTU of 65 bytes. On top of this there’s the L2CAP header (4 bytes) and the ACL header (also 4 bytes) which yields 73 bytes. |
|
Size of the receiving thread stack. This is the context from which all event callbacks to the application occur. The default value is sufficient for basic operation, but if the application needs to do advanced things in its callbacks that require extra stack space, this value can be increased to accommodate for that. |
|
Maximum data size for each proprietary PDU. This size includes link layer header and payload. It does not account for HCI event headers as these PDUs are assumed to not go across HCI. |
|
Enable this if you want to perform active scanning using the local identity address as the scanner address. By default the stack will always use a non-resolvable private address (NRPA) in order to avoid disclosing local identity information. By not scanning with the identity address the scanner will receive directed advertise reports for for the local identity. If this use case is required, then enable this option. |
|
When selected, the Bluetooth stack will take care of storing (and restoring) the Bluetooth state (e.g. pairing keys) and configuration persistently in flash. When this option has been enabled, it’s important that the application makes a call to settings_load() after having done all necessary initialization (e.g. calling bt_enable). The reason settings_load() is handled externally to the stack, is that there may be other subsystems using the settings API, in which case it’s more efficient to load all settings in one go, instead of each subsystem doing it independently. |
|
Load Client Configuration Characteristic setting right after a bonded device connects. Disabling this option will increase memory usage as CCC values for all bonded devices will be loaded when calling settings_load. |
|
Store Client Configuration Characteristic value right after it has been updated. By default, CCC is only stored on disconnection. Choosing this option is safer for battery-powered devices or devices that expect to be reset suddenly. However, it requires additional workqueue stack space. |
|
When selected, Bluetooth settings will use snprintk to encode key strings. When not selected, Bluetooth settings will use a faster builtin function to encode the key string. The drawback is that if printk is enabled then the program memory footprint will be larger. |
|
Activate shell module that provides Bluetooth commands to the console. |
|
This option enables data signing which is used for transferring authenticated data in an unencrypted connection. |
|
This option enables support for the Security Manager Protocol (SMP), making it possible to pair devices over LE. |
|
This option allows all unauthenticated pairing attempts made by the peer where an unauthenticated bond already exists. This would enable cases where an attacker could copy the peer device address to connect and start an unauthenticated pairing procedure to replace the existing bond. When this option is disabled in order to create a new bond the old bond has to be explicitly deleted with bt_unpair. |
|
When receiving pairing request or pairing response query the application whether to accept to proceed with pairing or not. This is for pairing over SMP and does not affect SSP, which will continue pairing without querying the application. The application can return an error code, which is translated into a SMP return value if the pairing is not allowed. |
|
With this option enabled, the Security Manager will set MITM option in the Authentication Requirements Flags whenever local IO Capabilities allow the generated key to be authenticated. |
|
This option enables SMP over BR/EDR even if controller is not supporting BR/EDR Secure Connections. This option is solely for testing and should never be enabled on production devices. |
|
This option enables support for Secure Connection Only Mode. In this mode device shall only use Security Mode 1 Level 4 with exception for services that only require Security Mode 1 Level 1 (no security). Security Mode 1 Level 4 stands for authenticated LE Secure Connections pairing with encryption. Enabling this option disables legacy pairing. |
|
This option disables LE legacy pairing and forces LE secure connection pairing. All Security Mode 1 levels can be used with legacy pairing disabled, but pairing with devices that do not support secure connections pairing will not be supported. To force a higher security level use “Secure Connections Only Mode” |
|
This option enables SMP self-tests executed on startup to verify security and crypto functions. |
|
This option enables support for USB HCI controllers that sometimes send out-of-order HCI events and ACL Data due to using different USB endpoints. Enabling this option will make the master role not require the encryption-change event to be received before accepting key-distribution data. It opens up for a potential vulnerability as the master cannot detect if the keys are distributed over an encrypted link. |
|
This option enables support for storing bonds where either of devices has the Security Manager in Debug mode. This option should only be enabled for debugging and should never be used in production. |
|
This option enables custom Bluetooth testing interface. Shall only be used for testing purposes. |
|
This option enables legacy ticker scheduling which defers overlapping ticker node timeouts and thereby prevents ticker interrupts during radio RX/TX. Enabling this option disables the ticker priority- and ‘must expire’ features. |
|
This option enables ticker extensions such as re-scheduling of ticker nodes with slot_window set to non-zero. Ticker extensions are invoked by using available ‘_ext’ versions of ticker interface functions. |
|
If this option is set TinyCrypt library is used for emulating the ECDH HCI commands and events needed by e.g. LE Secure Connections. In builds including the BLE Host, if not set the controller crypto is used for ECDH and if the controller doesn’t support the required HCI commands the LE Secure Connections support will be disabled. In builds including the HCI Raw interface and the BLE Controller, this option injects support for the 2 HCI commands required for LE Secure Connections so that Hosts can make use of those. The option defaults to enabled for a combined build with Zephyr’s own controller, since it does not have any special ECC support itself (at least not currently). |
|
This option places Security Manager in a Debug Mode. In this mode predefined Diffie-Hellman private/public key pair is used as described in Core Specification Vol. 3, Part H, 2.3.5.6.1. This option should only be enabled for debugging and should never be used in production. If this option is enabled anyone is able to decipher encrypted air traffic. |
|
Emit a Command Complete event from the Controller (and wait for it from the Host) for the NOP opcode to indicate that the Controller is ready to receive commands. |
|
This option enables the whitelist API. This takes advantage of the whitelisting feature of a BLE controller. The whitelist is a global list and the same whitelist is used by both scanner and advertiser. The whitelist cannot be modified while it is in use. An Advertiser can whitelist which peers can connect or request scan response data. A scanner can whitelist advertiser for which it will generate advertising reports. Connections can be established automatically for whitelisted peers. This options deprecates the bt_le_set_auto_conn API in favor of the bt_conn_create_aute_le API. |
|
Enable CANopen (EN 50325-4) (CiA 301) protocol support. Support is provided by the 3rd party CANopenNode protocol stack. |
|
Enable support for CANopen LED indicators according to the CiA 303-3 specification. |
|
Handle CANopen LEDs as one bicolor LED, favoring the red LED over the green LED in accordance with the CiA 303-3 specification. |
|
Debug |
|
Error |
|
Info |
|
Off |
|
Warning |
|
Size of the internal CANopen SDO buffer in bytes. Size must be at least equal to the size of the largest variable in the object dictionary. If data type is DOMAIN, data length is not limited to the SDO buffer size. If block transfer is implemented, value should be set to 889. |
|
Enable support for storing the CANopen object dictionary to non-volatile storage. |
|
Erase CANopen object dictionary EEPROM entries upon write to object dictionary index 0x1011 subindex 1. |
|
Enable internal thread for processing CANopen SYNC RPDOs and TPDOs. Application layer must take care of SYNC RPDO and TPDO processing on its own if this is disabled. |
|
Priority level of the internal thread which processes CANopen SYNC RPDOs and TPDOs. |
|
Size of the stack used for the internal thread which processes CANopen SYNC RPDOs and TPDOs. |
|
Size of the CANopen trace buffer in bytes. |
|
Priority level of the internal CANopen transmit workqueue. |
|
Size of the stack used for the internal CANopen transmit workqueue. |
|
Debug |
|
Error |
|
Info |
|
Off |
|
Warning |
|
Write to log with NET_DBG or LOG_DBG in addition to previous levels. |
|
Use default log level. |
|
Only write to log when NET_ERR or LOG_ERR is used. |
|
Write to log with NET_INFO or LOG_INF in addition to previous levels. |
|
Do not write to log. |
|
Write to log with NET_WARN or LOG_WRN in addition to previous level. |
|
CDC ACM class bulk endpoints size |
|
IAD should not be required for non-composite CDC ACM device, but Windows 7 fails to properly enumerate without it. Enable if you want CDC ACM to work with Windows 7. |
|
CDC ACM class interrupt IN endpoint size |
|
CDC ECM class bulk endpoint size |
|
CDC ECM class interrupt endpoint size |
|
Debug |
|
Error |
|
Info |
|
Off |
|
Warning |
|
Character framebuffer for dot matrix displays. |
|
Activate shell module that provides Framebuffer commands to the console. |
|
Character Framebuffer Display Driver Name |
|
Use default fonts. |
|
Debug |
|
Error |
|
Info |
|
Off |
|
Warning |
|
This option enables the CoAP implementation. |
|
This option enables the parsing of extended CoAP options length. CoAP extended options length can be 2 byte value, which requires more memory. User can save memory by disabling this. That means only length of maximum 12 bytes are supported by default. Enable this if length field going to bigger that 12. |
|
This option specifies the maximum value of length field when COAP_EXTENDED_OPTIONS_LEN is enabled. Define the value according to user requirement. |
|
This value is used as a base value to retry pending CoAP packets. |
|
Write to log with NET_DBG or LOG_DBG in addition to previous levels. |
|
Use default log level. |
|
Only write to log when NET_ERR or LOG_ERR is used. |
|
Write to log with NET_INFO or LOG_INF in addition to previous levels. |
|
Do not write to log. |
|
Write to log with NET_WARN or LOG_WRN in addition to previous level. |
|
Do not enable this for normal use. |
|
This option enables the block wise support of CoAP response to ./well-known/core request. Without this option all resource’s information will be sent in a single IP packet (can be multiple fragments depends on MTU size). This will be useful in mesh kind of networks. |
|
Maximum size of CoAP block. Valid values are 16, 32, 64, 128, 256, 512 and 1024. |
|
Character by character input and output |
|
Buffer size for console_getchar(). The default is optimized to save RAM. You may need to increase it e.g. to support large host-side clipboard pastes. Set to 0 to disable interrupt-driven operation and use busy-polling. |
|
Line by line input |
|
Buffer size for console_putchar(). The default is optimized to save RAM. You may need to increase it e.g. to support large host-side clipboard pastes. Set to 0 to disable interrupt-driven operation and use busy-polling. |
|
Console subsystem and helper functions |
|
Debug |
|
Error |
|
Info |
|
Off |
|
Warning |
|
This option will build your application with the -coverage option which will generate data that can be used to create coverage reports. For more information see https://docs.zephyrproject.org/latest/guides/coverage.html |
|
Dump collected coverage information to console on exit. |
|
This option will select the custom gcov library. The reports will be available over serial. This serial dump can be passed to gen_gcov_files.py which creates the required .gcda files. These can be read by gcov utility. For more details see gcovr.com . |
|
This option enables the use of applications built with C++. |
|
Debug |
|
Error |
|
Info |
|
Off |
|
Warning |
|
Personalization data can be provided in addition to the entropy source to make the initialization of the CTR-DRBG as unique as possible. |
|
Enables the CTR-DRBG pseudo-random number generator. This CSPRNG shall use the entropy API for an initialization seed. The CTR-DRBG is a a FIPS140-2 recommended cryptographically secure random number generator. |
|
Build a kernel suitable for debugging. Right now, this option only disables optimization, more debugging variants can be selected from here to allow more debugging. |
|
This option enables the addition of various information that can be used by debuggers in debugging the system, or enable additional debugging information to be reported at runtime. |
|
Enable device Idle Power Management to save power. With device Idle PM enabled, devices can be suspended or resumed based on the device usage even while the CPU or system is running. |
|
This shell provides access to basic device data. |
|
Enable disk access over a supported media backend like FLASH or RAM |
|
Flash device is used for the file system. |
|
RAM buffer used to emulate storage disk. This option can be used to test the file system. |
|
File system on a SDHC card. |
|
File system on a SDHC card accessed over SPI. |
|
File system on a SDHC card accessed over NXP USDHC. |
|
File system on a SDHC card accessed over USDHC instance 1. |
|
File system on a SDHC card accessed over USDHC instance 2. |
|
This is typically the minimum block size that is erased at one time in flash storage. Typically it is equal to the flash memory page size. |
|
Flash device name to be used as storage backend |
|
This is the start address alignment required by the flash component. |
|
This is the maximum number of bytes that the flash_write API can accept per invocation. API. |
|
This is start address of the flash to be used as storage backend. |
|
Disk name as per file system naming guidelines. |
|
Debug |
|
Error |
|
Info |
|
Off |
|
Warning |
|
Disk name as per file system naming guidelines. |
|
Size of the RAM Disk. |
|
Disk name as per file system naming guidelines. |
|
This is the file system volume size in bytes. |
|
Debug |
|
Error |
|
Info |
|
Off |
|
Warning |
|
Debug |
|
Error |
|
Info |
|
Off |
|
Warning |
|
This defines how many concurrent DNS queries can be generated using same DNS context. Normally 1 is a good default value. |
|
This option enables the DNS client side support for Zephyr |
|
Number of additional buffers available for the DNS resolver. The DNS resolver requires at least one buffer. This option enables additional buffers required for multiple concurrent DNS connections. |
|
Number of additional DNS queries that the DNS resolver may generate when the RR ANSWER only contains CNAME(s). The maximum value of this variable is constrained to avoid ‘alias loops’. |
|
Write to log with NET_DBG or LOG_DBG in addition to previous levels. |
|
Use default log level. |
|
Only write to log when NET_ERR or LOG_ERR is used. |
|
Write to log with NET_INFO or LOG_INF in addition to previous levels. |
|
Do not write to log. |
|
Write to log with NET_WARN or LOG_WRN in addition to previous level. |
|
Max number of DNS servers that we can connect to. Normally one DNS server is enough. Each connection to DNS server will use one network context. |
|
DNS server IP address 1. The address can be either IPv4 or IPv6 address. An optional port number can be given. Following syntax is supported: 192.0.2.1 192.0.2.1:5353 2001:db8::1 [2001:db8::1]:5353 It is not mandatory to use this Kconfig option at all. The one calling dns_resolve_init() can use this option or not to populate the server list. If the DNS server addresses are set here, then we automatically create default DNS context for the user. |
|
See help in “DNS server 1” option. |
|
See help in “DNS server 1” option. |
|
See help in “DNS server 1” option. |
|
See help in “DNS server 1” option. |
|
Allow DNS IP addresses to be set in config file for networking applications. |
|
This option will enable stdout as early as possible, for debugging purpose. For instance, in case of STDOUT_CONSOLE being set it will initialize its driver earlier than normal, in order to get the stdout sent through the console at the earliest stage possible. |
|
Debug |
|
Error |
|
Info |
|
Off |
|
Warning |
|
Enable USB HID Device Interrupt OUT Endpoint. |
|
Enables a random number generator that uses the enabled hardware entropy gathering driver to generate random numbers. Should only be selected if hardware entropy driver is designed to be a random number generator source. |
|
Debug |
|
Error |
|
Info |
|
Off |
|
Warning |
|
Write to log with NET_DBG or LOG_DBG in addition to previous levels. |
|
Use default log level. |
|
Only write to log when NET_ERR or LOG_ERR is used. |
|
Write to log with NET_INFO or LOG_INF in addition to previous levels. |
|
Do not write to log. |
|
Write to log with NET_WARN or LOG_WRN in addition to previous level. |
|
This option enables support of C++ exceptions. |
|
If the architecture fatal handling code supports it, attempt to print a stack trace of function memory addresses when an exception is reported. |
|
Use the ELM FAT File system implementation. |
|
Enable support of Flash Circular Buffer. |
|
Enables support for file system. |
|
Enables LittleFS file system support. |
|
This shell provides basic browsing of the contents of the file system. |
|
Debug |
|
Error |
|
Info |
|
Off |
|
Warning |
|
Enable support of flash map abstraction. |
|
This option enables custom flash map description. User must provide such a description in place of default on if had enabled this option. |
|
This enables shell commands to list and test flash maps. |
|
This boolean option disables Zephyr assertion testing even in circumstances (sanitycheck) where it is enabled via CFLAGS and not Kconfig. Added solely to be able to work around compiler bugs for specific tests. |
|
Valid code page values: 1 - ASCII (No extended character. Non-LFN cfg. only) 437 - U.S. 720 - Arabic 737 - Greek 771 - KBL 775 - Baltic 850 - Latin 1 852 - Latin 2 855 - Cyrillic 857 - Turkish 860 - Portuguese 861 - Icelandic 862 - Hebrew 863 - Canadian French 864 - Arabic 865 - Nordic 866 - Russian 869 - Greek 2 932 - Japanese (DBCS) 936 - Simplified Chinese (DBCS) 949 - Korean (DBCS) 950 - Traditional Chinese (DBCS) |
|
Without long filenames enabled, file names are limited to 8.3 format. This option increases working buffer size. |
|
Enable LFN with static working buffer on the BSS. Always NOT thread-safe. |
|
Enable LFN with dynamic working buffer on the HEAP. |
|
Enable LFN with dynamic working buffer on the STACK. |
|
The working buffer occupies (FS_FATFS_MAX_LFN + 1) * 2 bytes and additional 608 bytes at exFAT enabled. It should be set 255 to support full featured LFN operations. |
|
Maximum number of opened directories |
|
Maximum number of opened files |
|
For dynamic wear leveling, the number of erase cycles before data is moved to another block. Set to a non-positive value to disable leveling. |
|
Each cache buffers a portion of a block in RAM. The littlefs needs a read cache, a program cache, and one additional cache per file. Larger caches can improve performance by storing more data and reducing the number of disk accesses. Must be a multiple of the read and program sizes of the underlying flash device, and a factor of the block size. |
|
littlefs requires a per-file buffer to cache data. For applications that use the default configuration parameters a memory slab is reserved to support up to FS_LITTLE_FS_NUM_FILES blocks of FS_LITTLEFS_CACHE_SIZE bytes. When applications customize littlefs configurations and support different cache sizes for different partitions this preallocation is inadequate. Select this feature to enable a memory pool allocator for littlefs file caches. |
|
Maximum block size for littlefs file cache memory pool |
|
Minimum block size for littlefs file cache memory pool |
|
Number of maximum sized blocks in littlefs file cache memory pool |
|
A larger lookahead buffer increases the number of blocks found during an allocation pass. The lookahead buffer is stored as a compact bitmap, so each byte of RAM can track 8 blocks. Must be a multiple of 8. |
|
This is a global maximum across all mounted littlefs filesystems. |
|
This is a global maximum across all mounted littlefs filesystems. |
|
All program operations will be a multiple of this value. |
|
All read operations will be a multiple of this value. |
|
Debug |
|
Error |
|
Info |
|
Off |
|
Warning |
|
Limits the maximum chunk size for file downloads, in bytes. A buffer of this size gets allocated on the stack during handling of a file download command. |
|
Limits the maximum path length for file operations, in bytes. A buffer of this size gets allocated on the stack during handling of file upload and download commands. |
|
Limits the maximum chunk size for file uploads, in bytes. A buffer of this size gets allocated on the stack during handling of a file upload command. |
|
Expose file system partitions to the host system through FUSE. |
|
Debug |
|
Error |
|
Info |
|
Off |
|
Warning |
|
Enables a cryptographically secure random number generator that uses the enabled hardware random number driver to generate random numbers. |
|
The code coverage report generation is only available on boards with enough spare RAM to buffer the coverage data, or on boards based on the POSIX ARCH. |
|
USB HID Device interrupt endpoint size |
|
HTTP client API |
|
This option enables the http_parser library from nodejs. This parser requires some string-related routines commonly provided by a libc implementation. |
|
This option enables the strict parsing option |
|
This option enables the URI parser library based on source from nodejs. This parser requires some string-related routines commonly provided by a libc implementation. |
|
Debug |
|
Error |
|
Info |
|
Off |
|
Warning |
|
Debug |
|
Error |
|
Info |
|
Off |
|
Warning |
|
Debug |
|
Error |
|
Info |
|
Off |
|
Warning |
|
Size (in Bytes) of buffer for image writer. Must be a multiple of the access alignment required by used flash driver. |
|
If enabled, flash is erased as necessary when receiving new firmware, instead of erasing the whole image slot at once. This is necessary on some hardware that has long erase times, to prevent long wait times at the beginning of the DFU process. |
|
Enable support for managing DFU image. |
|
Debug |
|
Error |
|
Info |
|
Off |
|
Warning |
|
Limits the maximum chunk size for image uploads, in bytes. A buffer of this size gets allocated on the stack during handling of a image upload command. |
|
Debug |
|
Error |
|
Info |
|
Off |
|
Warning |
|
Enable ISO TP support for CAN |
|
As (sender transmit timeout) and Ar (receiver transmit timeout). ISO 15765-2: 1000ms |
|
Timeout for the reception of the next FC frame. ISO 15765-2: 1000ms |
|
This value defines the size of the memory pool where the buffers for sending are allocated from. |
|
Cr (receiver consecutive frame) timeout. ISO 15765-2: 1000ms |
|
This option enables buffered sending contexts. This makes send and forget possible. A memory slab is used to buffer the context. |
|
Debug |
|
Error |
|
Info |
|
Off |
|
Warning |
|
Each data buffer will occupy ISOTP_RX_BUF_SIZE + smallish header (sizeof(struct net_buf)) amount of data. |
|
This value defines the size of a single block in the pool. The number of blocks is given by ISOTP_RX_BUF_COUNT. To be efficient use a multiple of CAN_DL - 1 (for classic can : 8 - 1 = 7). |
|
This buffer is used for first and single frames. It is extra because the buffer has to be ready for the first reception in isr context and therefor is allocated when binding. Each buffer will occupy CAN_DL - 1 byte + header (sizeof(struct net_buf)) amount of data. |
|
Each data buffer will occupy CONFIG_NET_BUF_DATA_SIZE + smallish header (sizeof(struct net_buf)) amount of data. If context buffers are used, use the same size here. |
|
This defines the size of the memory slab where the buffers are allocated from. |
|
Copy the outgoing data to a net buffer so that the calling function can discard the data. |
|
This value defines the maximum number of WAIT frames before the transmission is aborted. |
|
This value defines the priority level of the work queue thread that handles flow control, consecutive sending, receiving and callbacks. |
|
This value defines the stack size of the work queue thread that handles flow control, consecutive sending, receiving and callbacks. |
|
Enable creation of JWT tokens |
|
Use ECDSA signature (ES-256) |
|
Use RSA signature (RS-256) |
|
Debug |
|
Error |
|
Info |
|
Off |
|
Warning |
|
This shell provides access to basic kernel data like version, uptime and other useful information. |
|
Debug |
|
Error |
|
Info |
|
Off |
|
Warning |
|
Debug |
|
Error |
|
Info |
|
Off |
|
Warning |
|
Debug |
|
Error |
|
Info |
|
Off |
|
Warning |
|
Link with STD C++ Library. |
|
This option enables link local multicast name resolution client side support. See RFC 4795 for details. LLMNR is typically used by Windows hosts. If you enable this option, then the DNS requests are ONLY sent to LLMNR well known multicast address 224.0.0.252:5355 or [ff02::1:3]:5355 and other DNS server addresses are ignored. |
|
Number of additional buffers available for the LLMNR responder. |
|
This option enables the LLMNR responder support for Zephyr. It will listen well-known address ff02::1:3 and 224.0.0.252. Currently this only returns IP address information. You must set CONFIG_NET_HOSTNAME to some meaningful value and then LLMNR will start to respond to <hostname> LLMNR queries. Note that LLMNR queries should only contain single-label names so there should be NO dot (“.”) in the name (RFC 4795 ch 3). Current implementation does not support TCP. See RFC 4795 for more details about LLMNR. |
|
Note that if NET_CONFIG_AUTO_INIT is enabled, then this value should be bigger than its value. |
|
Write to log with NET_DBG or LOG_DBG in addition to previous levels. |
|
Use default log level. |
|
Only write to log when NET_ERR or LOG_ERR is used. |
|
Write to log with NET_INFO or LOG_INF in addition to previous levels. |
|
Do not write to log. |
|
Write to log with NET_WARN or LOG_WRN in addition to previous level. |
|
DNS answers will use the TTL (in seconds). A default value is 30 seconds as recommended by RFC 4795 chapter 2.8 |
|
Global switch for the logger, when turned off log calls will not be compiled in. |
|
Enable backend in APL ADSP using memory mailbox |
|
Address of the ring buffer in the memory. |
|
Size of the ring buffer. |
|
When enabled timestamp is formatted to hh:mm:ss:ms,us. |
|
Enable backend in native_posix |
|
Send syslog messages to network server. See RFC 5424 (syslog protocol) and RFC 5426 (syslog over UDP) specifications for details. |
|
Each syslog message should fit into a network packet that will be sent to server. This number tells how many syslog messages can be in transit to the server. |
|
As each syslog message needs to fit to UDP packet, set this value so that messages are not truncated. The RFC 5426 recommends that for IPv4 the size is 480 octets and for IPv6 the size is 1180 octets. As each buffer will use RAM, the value should be selected so that typical messages will fit the buffer. |
|
This can be either IPv4 or IPv6 address. Server listen UDP port number can be configured here too. Following syntax is supported: 192.0.2.1:514 192.0.2.42 [2001:db8::1]:514 [2001:db8::2] 2001:db::42 |
|
When enabled backend is using networking to output syst format logs. |
|
When enabled, backend will use RTT for logging. This backend works on a per message basis. Only a whole message (terminated with a carriage return: ‘r’) is transferred to up-buffer at once depending on available space and selected mode. In panic mode backend always blocks and waits until there is space in up-buffer for a message and message is transferred to host. |
|
Select index of up-buffer used for logger output, by default it uses terminal up-buffer and its settings. |
|
Specify reserved size of up-buffer used for logger output. |
|
This option defines maximum message size transferable to up-buffer. |
|
Waits until there is enough space in the up-buffer for a message. |
|
If there is not enough space in up-buffer for a message, drop it. Number of dropped messages will be logged. Increase up-buffer size helps to reduce dropping of messages. |
|
Buffer is used by log_output module for preparing output data (e.g. string formatting). |
|
Number of TX retries before dropping the data and assuming that RTT session is inactive. |
|
Sleep period between TX retry attempts. During RTT session, host pulls data periodically. Period starts from 1-2 milliseconds and can be increased if traffic on RTT increases (also from host to device). In case of heavy traffic data can be lost and it may be necessary to increase delay or number of retries. |
|
When enabled backend is using RTT to output syst format logs. |
|
When enabled selected backend prints errors in red and warning in yellow. |
|
When enabled, backend will use SWO for logging. |
|
Set SWO output frequency. Value 0 will select maximum frequency supported by the given MCU. Not all debug probes support high frequency SWO operation. In this case the frequency has to be set manually. SWO value defined by this option will be configured at boot. Most SWO viewer programs will configure SWO frequency when attached to the debug probe. Such configuration will persist only until the device reset. To ensure flawless operation the frequency configured here and by the SWO viewer program has to match. |
|
When enabled backend is using SWO to output syst format logs. |
|
When enabled backend is using UART to output logs. |
|
When enabled backend is using UART to output syst format logs. |
|
Buffer is used by log_output module for preparing output data (e.g. string formatting). |
|
Enable backend in xtensa simulator |
|
When enabled logger will block (if in the thread context) when internal logger buffer is full and new message cannot be allocated. |
|
If new buffer for a log message cannot be allocated in that time, log message is dropped. Forever blocking (-1) is possible however may lead to the logger deadlock if logging is enabled in threads used for logging (e.g. logger or shell thread). |
|
Number of bytes dedicated for the logger internal buffer. |
|
Enable shell commands |
|
Sets log level for modules which don’t specify it explicitly. When set to 0 it means log will not be activated for those modules. Levels are:
|
|
If enabled, logger will assert and log error message is it detects that string format specifier (%s) and string address which is not from read only memory section and not from pool used for string duplicates. String argument must be duplicated in that case using log_strdup(). Detection is performed during log processing thus it does not impact logging timing. |
|
In multicore system each application/core must have unique domain ID. |
|
Selecting this option will choose more robust _prf() function from minimal libc for handling format strings instead of the _vprintk() function. Choosing this option adds around ~3K flash and ~250 bytes on stack. |
|
When enabled, logs are redirected to a custom frontend instead of being processed by the logger. |
|
Debug messages prepended |
|
Error messages prepended |
|
Info messages prepended |
|
Warning messages prepended |
|
When enabled log is processed in the context of the call. It impacts performance of the system since time consuming operations are performed in the context of the log entry (e.g. high priority interrupt).Logger backends must support exclusive access to work flawlessly in that mode because one log operation can be interrupted by another one in the higher priority context. |
|
If enabled, interrupts are locked during whole log message processing. As a result, processing on one log message cannot be interrupted by another one and output is clean, not interleaved. However, enabling this option is causing interrupts locking for significant amount of time (up to multiple milliseconds). |
|
Forces a maximal log level for all modules. Modules saturates their specified level if it is greater than this option, otherwise they use the level specified by this option instead of their default or whatever was manually set. Levels are:
|
|
Enable minimal logging implementation. This has very little footprint overhead on top of the printk() implementation for standard logging macros. Hexdump macros are also supported, with a small amount of code pulled in if used. Build time filtering is supported, but not runtime filtering. There are no timestamps, prefixes, colors, or asynchronous logging, and all messages are simply sent to printk(). |
|
Enable mipi syst format output for the logger system. |
|
New logs are dropped |
|
Oldest logs are discarded |
|
Forces a minimum log level for all modules. Modules use their specified level if it is greater than this option, otherwise they use the level specified by this option instead of their default or whatever was manually set. Levels are:
|
|
LOG_PRINTK messages are formatted in place and logged unconditionally. |
|
Array is allocated on the stack. |
|
When enabled thread is created by the logger subsystem. Thread is waken up periodically (see LOG_PROCESS_THREAD_SLEEP_MS) and whenever number of buffered messages exceeds the threshold (see LOG_PROCESS_TRIGGER_THR). |
|
Log processing thread sleeps for requested period given in milliseconds. When waken up, thread process any buffered messages. |
|
Set the internal stack size for log processing thread. |
|
When number of buffered messages reaches the threshold thread is waken up. Log processing thread ID is provided during log initialization. Set 0 to disable the feature. If LOG_PROCESS_THREAD is enabled then this threshold is used by the internal thread. |
|
Allow runtime configuration of maximal, independent severity level for instance. |
|
Number of calls to log_strdup() which can be pending before flushed to output. If “<log_strdup alloc failed>” message is seen in the log output, it means this value is too small and should be increased. Each entry takes CONFIG_LOG_STRDUP_MAX_STRING bytes of memory plus some additional fixed overhead. |
|
Longer strings are truncated. |
|
When enabled, maximal utilization of the pool is tracked. It can be read out using shell command. |
|
Loopback Function bulk endpoint size |
|
Debug |
|
Error |
|
Info |
|
Off |
|
Warning |
|
Debug |
|
Error |
|
Info |
|
Off |
|
Warning |
|
This option adds logic for managing OMA LWM2M data |
|
CoAP block size used by LWM2M when performing block-wise transfers. Possible values: 16, 32, 64, 128, 256, 512 and 1024. |
|
This value sets the maximum number of APN resource instances. These are displayed via the “Connection Monitoring” object /4/0/7. |
|
This value sets the maximum number of available network bearer resource instances. These are displayed via the “Connection Monitoring” object /4/0/1. |
|
Include support for LWM2M Connectivity Monitoring Object (ID 4) |
|
This value sets the maximum number of error codes that the device object will store before ignoring new values. |
|
This value sets the maximum number of power source data that a device can store. These are displayed via the “Device” object /3/0/6, /3/0/7 and /3/0/8 resources. |
|
Enable DNS support in the LWM2M client |
|
Enable DTLS support in the LwM2M client |
|
Set the default lifetime (in seconds) for the LWM2M library engine |
|
Set the maximum message objects for the LWM2M library client |
|
This value sets the maximum number of resources which can be added to the observe notification list. |
|
Set the maximum pending objects for the LWM2M library client |
|
Set the maximum reply objects for the LWM2M library client |
|
Extra room allocated to handle CoAP header data |
|
Set the stack size for the LWM2M library engine (used for handling OBSERVE and NOTIFY events) |
|
Include support for LWM2M Firmware Update Object (ID 5) |
|
Network address of the CoAP proxy server. |
|
Include support for pulling firmware file via a CoAP-CoAP/HTTP proxy. |
|
Include support for pulling a file from a remote server via block transfer and “FIRMWARE PACKAGE URI” resource. This option adds another UDP context and packet handling. |
|
This Object is used to used to represent a 1-3 axis accelerometer. |
|
This setting establishes the total count of IPSO Accelerometer instances available to the LWM2M client. |
|
Add a non-standard timestamp resource to each accelerometer object. |
|
This Object is used to actuate an audible alarm such as a buzzer, beeper, or vibration alarm. |
|
This setting establishes the total count of IPSO Buzzer instances available to the LWM2M client. |
|
This Object is used to control a light source, such as a LED or other light. It allows a light to be turned on or off and its dimmer setting to be controlled as a % between 0 and 100. An optional color setting enables a string to be used to indicate the desired color. |
|
This setting establishes the total count of IPSO Light Control instances available to the LWM2M client. |
|
This object is used with an On/Off switch to report it’s state. |
|
This setting establishes the total count of IPSO On/Off Switch instances available to the LWM2M client. |
|
Add a non-standard timestamp resource to each on/off switch object. |
|
This Object is used to report the state of a momentary action push button control and to count the number of times the control has been operated since the last observation. |
|
This setting establishes the total count of IPSO Push Button instances available to the LWM2M client. |
|
Add a non-standard timestamp resource to each Push Button object. |
|
This option adds general support for IPSO objects |
|
This IPSO object should be used with a temperature sensor to report a temperature measurement. It also provides resources for minimum/maximum measured values and the minimum/maximum range that can be measured by the temperature sensor. |
|
This setting establishes the total count of IPSO Temperature Sensor instances available to the LWM2M client. |
|
Add a non-standard timestamp resource to each temperature object. |
|
This Object is used to time events / actions |
|
This setting establishes the total count of IPSO Timer instances available to the LWM2M client. |
|
If you enable this option, various IPSO objects supported below will optionally include timestamp resources (ID 5518). This is an LWM2M protocol extension which can be useful to associate times with events. If unsure, leave at the default n. |
|
Include support for LWM2M Location Object (ID 6) |
|
Write to log with NET_DBG or LOG_DBG in addition to previous levels. |
|
Use default log level. |
|
Only write to log when NET_ERR or LOG_ERR is used. |
|
Write to log with NET_INFO or LOG_INF in addition to previous levels. |
|
Do not write to log. |
|
Write to log with NET_WARN or LOG_WRN in addition to previous level. |
|
This value sets up the maximum number of LwM2M attributes that we can handle at the same time. |
|
This value sets up the maximum number of block1 contexts for CoAP block-wise transfer we can handle at the same time. |
|
This is the default server port to connect to for LWM2M communication |
|
Client will use registration state machine to locate and connect to LWM2M servers (including bootstrap server support) |
|
Enabling this setting allows the RD client to support bootstrap mode. |
|
Include support for writing JSON data |
|
This setting establishes the total count of LWM2M Security instances available to the client. |
|
This setting establishes the size of the key (pre-shared / public) resources in the security object instances. |
|
Default maximum amount of time in seconds the client may wait between notifications. When this time period expires a notification must be sent. |
|
Default minimum amount of time in seconds the client must wait between notifications. If a resource has to be notified during this minimum time period, the notification must be sent after the time period expires. |
|
This setting establishes the total count of LWM2M Server instances available to the client (including: bootstrap and regular servers). |
|
Mass storage device class bulk endpoints size |
|
Mass storage device disk or drive name |
|
Enable support for managing DFU image downloaded using mcuboot. |
|
Enables usage swap type field which is required after “Fix double swap on interrupted revert” mcuboot patch (https://github.com/JuulLabs-OSS/mcuboot/pull/485) Disable this option if need to be compatible with earlier version of MCUBoot. |
|
This option enables the mcumgr management library. |
|
The number of net_bufs to allocate for mcumgr. These buffers are used for both requests and responses. |
|
The size, in bytes, of each mcumgr buffer. This value must satisfy the following relation: MCUMGR_BUF_SIZE >= transport-specific-MTU + transport-overhead |
|
The size, in bytes, of user data to allocate for each mcumgr buffer. Different mcumgr transports impose different requirements for this setting. A value of 4 is sufficient for UART, shell, and bluetooth. |
|
Enables mcumgr handlers for file management |
|
Enables mcumgr handlers for image management |
|
Enables mcumgr handlers for OS management |
|
Enables mcumgr handlers for statistics management. |
|
Enables handling of SMP commands received over Bluetooth. |
|
Enables encrypted and authenticated connection requirement to Bluetooth SMP transport. |
|
Enables handling of SMP commands received over shell. This allows the shell to be use for both mcumgr commands and shell commands. |
|
Maximum size of SMP frames sent and received over shell. This value must satisfy the following relation: MCUMGR_SMP_SHELL_MTU <= MCUMGR_BUF_SIZE + 2 |
|
Enables handling of SMP commands received over UART. This is a lightweight alternative to MCUMGR_SMP_SHELL. It allows mcumgr commands to be received over UART without requiring an additional thread. |
|
Maximum size of SMP frames sent and received over UART, in bytes. This value must satisfy the following relation: MCUMGR_SMP_UART_MTU <= MCUMGR_BUF_SIZE + 2 |
|
This option enables multicast DNS client side support. See RFC 6762 for details. |
|
Number of additional buffers available for the mDNS responder. |
|
This option enables the mDNS responder support for Zephyr. It will listen well-known address ff02::fb and 224.0.0.251. Currently this only returns IP address information. You must set CONFIG_NET_HOSTNAME to some meaningful value and then mDNS will start to respond to <hostname>.local mDNS queries. See RFC 6762 for more details about mDNS. |
|
Note that if NET_CONFIG_AUTO_INIT is enabled, then this value should be bigger than its value. |
|
Write to log with NET_DBG or LOG_DBG in addition to previous levels. |
|
Use default log level. |
|
Only write to log when NET_ERR or LOG_ERR is used. |
|
Write to log with NET_INFO or LOG_INF in addition to previous levels. |
|
Do not write to log. |
|
Write to log with NET_WARN or LOG_WRN in addition to previous level. |
|
DNS answers will use the TTL (in seconds). |
|
Debug |
|
Error |
|
Info |
|
Off |
|
Warning |
|
Debug |
|
Error |
|
Info |
|
Off |
|
Warning |
|
Keep alive time for MQTT (in seconds). Sending of Ping Requests to keep the connection alive are governed by this value. |
|
Enable the Zephyr MQTT Library |
|
Enable TLS support for socket MQTT Library |
|
Enable Websocket support for socket MQTT Library. |
|
Write to log with NET_DBG or LOG_DBG in addition to previous levels. |
|
Use default log level. |
|
Only write to log when NET_ERR or LOG_ERR is used. |
|
Write to log with NET_INFO or LOG_INF in addition to previous levels. |
|
Do not write to log. |
|
Write to log with NET_WARN or LOG_WRN in addition to previous level. |
|
This option enabled generic link layer and IP networking support. |
|
6lowpan compression and fragmentation. It is enabled by default if 802.15.4 is present, since using IPv6 on it requires it. |
|
Enables 6lowpan context based compression based on information received in RA(Router Advertisement) message. |
|
Write to log with NET_DBG or LOG_DBG in addition to previous levels. |
|
Use default log level. |
|
Only write to log when NET_ERR or LOG_ERR is used. |
|
Write to log with NET_INFO or LOG_INF in addition to previous levels. |
|
Do not write to log. |
|
Write to log with NET_WARN or LOG_WRN in addition to previous level. |
|
Enable ARP support. This is necessary on hardware that requires it to get IPv4 working (like Ethernet devices). |
|
Gratuitous in this case means a ARP request or reply that is not normally needed according to the ARP specification but could be used in some cases. A gratuitous ARP request is a ARP request packet where the source and destination IP are both set to the IP of the machine issuing the packet and the destination MAC is the broadcast address ff:ff:ff:ff:ff:ff. Ordinarily, no reply packet will occur. A gratuitous ARP reply is a reply to which no request has been made. |
|
Write to log with NET_DBG or LOG_DBG in addition to previous levels. |
|
Use default log level. |
|
Only write to log when NET_ERR or LOG_ERR is used. |
|
Write to log with NET_INFO or LOG_INF in addition to previous levels. |
|
Do not write to log. |
|
Write to log with NET_WARN or LOG_WRN in addition to previous level. |
|
Each entry in the ARP table consumes 22 bytes of memory. |
|
This option enables support for generic network protocol buffers. |
|
This value tell what is the size of the memory pool where each network buffer is allocated from. |
|
This value tells what is the fixed size of each network buffer. |
|
Each buffer comes with a built time configured size. If runtime requested is bigger than that, it will allocate as many net_buf as necessary to reach that request. |
|
Enable logs and checks for the generic network buffers. |
|
Debug |
|
Error |
|
Info |
|
Off |
|
Warning |
|
Enable network buffer pool tracking. This means that: * amount of free buffers in the pool is remembered * total size of the pool is calculated * pool name is stored and can be shown in debugging prints |
|
Each data buffer will occupy CONFIG_NET_BUF_DATA_SIZE + smallish header (sizeof(struct net_buf)) amount of data. |
|
Enable extra debug logs and checks for the generic network buffers. |
|
Each data buffer will occupy CONFIG_NET_BUF_DATA_SIZE + smallish header (sizeof(struct net_buf)) amount of data. |
|
Amount of memory reserved in each network buffer for user data. In most cases this can be left as the default value. |
|
The buffer is dynamically allocated from runtime requested size. |
|
Interval in seconds of Network buffer allocation warnings which are generated when a buffer cannot immediately be allocated with K_FOREVER which may lead to deadlocks. Setting it to 0 makes warnings to be printed only once per allocation. |
|
If this option is set, then the networking system is automatically initialized when the device is started. If you do not wish to do this, then disable this and call net_config_init() in your application. |
|
Enables application to operate in node mode which requires GATT service to be registered and start advertising as peripheral. |
|
Perform an SNTP request over networking to get and absolute wall clock time, and initialize system time from it, so functions like time(), gettimeofday(), etc. returned the correct absolute time (no just time since system startup). Requires networking. |
|
The channel to use by default in the sample application. |
|
The device name to get bindings from in the sample application. |
|
The PAN ID to use by default in the sample. |
|
The TX power to use by default in the sample application. See NET_L2_IEEE802154_RADIO_DFLT_TX_POWER for more info. |
|
The key string to use for the link-layer security part. |
|
The key mode to use for the link-layer security part. Only implicit mode is supported, thus 0. |
|
The security level to use for the link-layer security part. 0 means no security 1 authentication only with a 4 bytes length tag 2 authentication only with a 8 bytes length tag 3 authentication only with a 16 bytes length tag 4 encryption only 5 encryption/authentication with a 4 bytes length tag 6 encryption/authentication with a 8 bytes length tag 7 encryption/authentication with a 16 bytes length tag |
|
Startup priority for the network application init |
|
The value is in seconds. If for example IPv4 address from DHCPv4 is not received within this limit, then the net_config_init() call will fail during the device startup. |
|
Write to log with NET_DBG or LOG_DBG in addition to previous levels. |
|
Use default log level. |
|
Only write to log when NET_ERR or LOG_ERR is used. |
|
Write to log with NET_INFO or LOG_INF in addition to previous levels. |
|
Do not write to log. |
|
Write to log with NET_WARN or LOG_WRN in addition to previous level. |
|
Use 192.0.2.1 here if uncertain. |
|
Static gateway to use if not overridden by DHCP. Use empty value to skip setting static value. |
|
Static netmask to use if not overridden by DHCP. Use empty value to skip setting static value. |
|
Use 2001:db8::1 here if uncertain. |
|
The network application needs IPv4 support to function properly. This option makes sure the network application is initialized properly in order to use IPv4. |
|
The network application needs IPv6 support to function properly. This option makes sure the network application is initialized properly in order to use IPv6. |
|
The network application needs IPv6 router to exists before continuing. What this means that the application wants to wait until it receives IPv6 router advertisement message before continuing. |
|
This is only applicable in client side applications that try to establish a connection to peer host. Use 192.0.2.2 here if uncertain. |
|
This is only applicable in client side applications that try to establish a connection to peer host. Use 2001:db8::2 here if uncertain. |
|
Allow IP addresses to be set in config file for networking client/server sample applications, or some link-layer dedicated settings like the channel. Beware this is not meant to be used for proper provisioning but quick sampling/testing. |
|
Zephyr does not provide default setting for this option. Each application and vendor should choose a suitable setting based on their locality, needs, and server’s terms of service. See e.g. server information at https://support.ntp.org/bin/view/Servers/NTPPoolServers |
|
SNTP timeout to init system clock (ms) |
|
When enabled, this will start the connection manager that will listen to network interface and IP events in order to verify whether an interface is connected or not. It will then raise L4 events “connected” or “disconnected” depending on the result. |
|
Write to log with NET_DBG or LOG_DBG in addition to previous levels. |
|
Use default log level. |
|
Only write to log when NET_ERR or LOG_ERR is used. |
|
Write to log with NET_INFO or LOG_INF in addition to previous levels. |
|
Do not write to log. |
|
Write to log with NET_WARN or LOG_WRN in addition to previous level. |
|
This sets the starting priority of the connection manager thread. |
|
Sets the stack size which will be used by the connection manager thread. |
|
Write to log with NET_DBG or LOG_DBG in addition to previous levels. |
|
Use default log level. |
|
Only write to log when NET_ERR or LOG_ERR is used. |
|
Write to log with NET_INFO or LOG_INF in addition to previous levels. |
|
Do not write to log. |
|
Write to log with NET_WARN or LOG_WRN in addition to previous level. |
|
If you know that the options passed to net_context…() functions are ok, then you can disable the checks to save some memory. |
|
Write to log with NET_DBG or LOG_DBG in addition to previous levels. |
|
Use default log level. |
|
Only write to log when NET_ERR or LOG_ERR is used. |
|
Write to log with NET_INFO or LOG_INF in addition to previous levels. |
|
Do not write to log. |
|
Write to log with NET_WARN or LOG_WRN in addition to previous level. |
|
If enabled, then it is possible to fine-tune network packet pool for each context when sending network data. If this setting is enabled, then you should define the context pools in your application using NET_PKT_TX_POOL_DEFINE() and NET_PKT_DATA_POOL_DEFINE() macros and tie these pools to desired context using the net_context_setup_pools() function. |
|
It is possible to prioritize network traffic. This requires also traffic class support to work as expected. |
|
You can disable sync support to save some memory if you are calling net_context_recv() in async way only when timeout is set to 0. |
|
It is possible to timestamp outgoing packets and get information about these timestamps. |
|
It is possible to add information when the outgoing network packet should be sent. The TX time information should be placed into ancillary data field in sendmsg call. |
|
Write to log with NET_DBG or LOG_DBG in addition to previous levels. |
|
Use default log level. |
|
Only write to log when NET_ERR or LOG_ERR is used. |
|
Write to log with NET_INFO or LOG_INF in addition to previous levels. |
|
Do not write to log. |
|
Write to log with NET_WARN or LOG_WRN in addition to previous level. |
|
Enable printing out in/out 802.15.4 packets. This is extremely verbose, do not enable this unless you know what you are doing. |
|
This will print-out both received and transmitted packets. |
|
This will print-out received packets only. |
|
This will print-out transmitted packets only. |
|
Add debug messages output on how much Net MGMT event stack is used. |
|
Enables printing of network packet and buffer allocations and frees for each allocation. This can produce lot of output so it is disabled by default. |
|
How many external net_pkt objects are there in user specific pools. This value is used when allocating space for tracking the memory allocations. |
|
This MUST not be used unless you have an hard to catch bug. This will reset the pkt cursor when it’s freed, so any subsequent r/w operations will not segfault, but just bail out and hopefully it will enable you to know who/where the packet was freed already. Do not set this, by any means, unless you are actively debugging. |
|
Bluetooth |
|
6LoCAN (IPv6 over CAN) interface |
|
Socket CAN interface |
|
Dummy testing interface |
|
Ethernet |
|
First available interface |
|
IEEE 802.15.4 |
|
Offloaded interface |
|
PPP interface |
|
Enable DHCPv4 client |
|
As per RFC2131 4.1.1, we wait a random period between 1 and 10 seconds before sending the initial discover. |
|
Write to log with NET_DBG or LOG_DBG in addition to previous levels. |
|
Use default log level. |
|
Only write to log when NET_ERR or LOG_ERR is used. |
|
Write to log with NET_INFO or LOG_INF in addition to previous levels. |
|
Do not write to log. |
|
Write to log with NET_WARN or LOG_WRN in addition to previous level. |
|
Enable gPTP driver that send and receives gPTP packets and handles network packet timestamps. |
|
Defines the number of announce intervals to wait without receiving an Announce message before assuming that the master is no longer transmitting Announce messages. |
|
100ms |
|
100ns |
|
100us |
|
10ms |
|
10s |
|
10us |
|
1ms |
|
1s |
|
1us |
|
250ms |
|
250ns |
|
250us |
|
25ms |
|
25ns |
|
25us |
|
1.5ms |
|
2.5us |
|
> 10s |
|
Unknown |
|
Enable to mark the whole system as Grand Master Capable. |
|
Defines the interval at which an Announce message will be sent. The value is the converted in nanoseconds as follow: nanoseconds = (10^9) * 2^(value) |
|
Defines the interval at which a Path Delay Request will be sent. The value is the converted in nanoseconds as follow: nanoseconds = (10^9) * 2^(value) |
|
Defines the interval at which a Sync message will be sent. The value is the converted in nanoseconds as follow: nanoseconds = (10^9) * 2^(value) |
|
Write to log with NET_DBG or LOG_DBG in addition to previous levels. |
|
Use default log level. |
|
Only write to log when NET_ERR or LOG_ERR is used. |
|
Write to log with NET_INFO or LOG_INF in addition to previous levels. |
|
Do not write to log. |
|
Write to log with NET_WARN or LOG_WRN in addition to previous level. |
|
Defines the neighbor propagation delay threshold in nanoseconds. This is the propagation time threshold, above which a port is not considered capable of participating in the IEEE 802.1AS protocol. See IEEE 802.1AS chapter 11.2.12.6 for details. |
|
Configures the gPTP stack to work with the given number of ports. The port concept is the same thing as network interface. |
|
This tells the number of time-aware systems that transmits the Announce message. Each array element takes 8 bytes. If this value is set to 8, then 8 * 8 = 64 bytes of memory is used. |
|
This option is helpful if the driver does not fully support the ClockSourceTime.invoke function. If this is enabled, the clock source is probed when it is actually needed instead of being updated on each tick. See IEEE 802.1AS-2011, chapter 9.2 for more details. |
|
Enable this if you need to collect gPTP statistics. The statistics can be seen in net-shell if needed. |
|
Defines the number of sync intervals to wait without receiving synchronization information before assuming that the master is no longer transmitting synchronization information. |
|
Use a default internal function to update port local clock. |
|
This setting allows gPTP to run over VLAN link. Currently only one port can have VLAN tag set. Note that CONFIG_NET_GPTP_VLAN_TAG setting must have a proper tag value set, otherwise the gPTP over VLAN will not work. |
|
The VLAN tag to use when sending and receiving gPTP messages. The default value 4095 (0x0fff) means unspecified tag which is not a valid value. This means that you need to set the tag to a valid value. |
|
This a hidden option, which one should use with a lot of care. NO bug reports will be accepted if that option is enabled! You are warned. If you are 100% sure the headers memory space is always in a contiguous space, this will save stack usage and ROM in net core. This is a possible case when using IPv4 only, with NET_BUF_FIXED_DATA_SIZE enabled and NET_BUF_DATA_SIZE of 128 for instance. |
|
The string should be a valid hostname. |
|
This is used for example in mDNS to respond to <hostname>.local mDNS queries. |
|
Write to log with NET_DBG or LOG_DBG in addition to previous levels. |
|
Use default log level. |
|
Only write to log when NET_ERR or LOG_ERR is used. |
|
Write to log with NET_INFO or LOG_INF in addition to previous levels. |
|
Do not write to log. |
|
Write to log with NET_WARN or LOG_WRN in addition to previous level. |
|
This will append link address to hostname to create a unique hostname. For example, zephyr00005e005357 could be the hostname if this setting is enabled. |
|
Write to log with NET_DBG or LOG_DBG in addition to previous levels. |
|
Use default log level. |
|
Only write to log when NET_ERR or LOG_ERR is used. |
|
Write to log with NET_INFO or LOG_INF in addition to previous levels. |
|
Do not write to log. |
|
Write to log with NET_WARN or LOG_WRN in addition to previous level. |
|
If set, then respond to ICMPv4 echo-request that is sent to broadcast address. |
|
Write to log with NET_DBG or LOG_DBG in addition to previous levels. |
|
Use default log level. |
|
Only write to log when NET_ERR or LOG_ERR is used. |
|
Write to log with NET_INFO or LOG_INF in addition to previous levels. |
|
Do not write to log. |
|
Write to log with NET_WARN or LOG_WRN in addition to previous level. |
|
Write to log with NET_DBG or LOG_DBG in addition to previous levels. |
|
Use default log level. |
|
Only write to log when NET_ERR or LOG_ERR is used. |
|
Write to log with NET_INFO or LOG_INF in addition to previous levels. |
|
Do not write to log. |
|
Write to log with NET_WARN or LOG_WRN in addition to previous level. |
|
Max number of IPv6 prefixes per network interface |
|
Write to log with NET_DBG or LOG_DBG in addition to previous levels. |
|
Use default log level. |
|
Only write to log when NET_ERR or LOG_ERR is used. |
|
Write to log with NET_INFO or LOG_INF in addition to previous levels. |
|
Do not write to log. |
|
Write to log with NET_WARN or LOG_WRN in addition to previous level. |
|
This tells how many network interfaces there will be in the system that will have IPv4 enabled. |
|
This tells how many network interfaces there will be in the system that will have IPv6 enabled. |
|
Max number of multicast IPv4 addresses per network interface |
|
Max number of multicast IPv6 addresses per network interface |
|
Max number of unicast IPv4 addresses per network interface |
|
Max number of unicast IPv6 addresses per network interface |
|
Only enable this if you want a userspace application to manipulate network interface. Currently this is limited to add or remove IP addresses. By default this is not allowed. |
|
The value should be > 0 |
|
The value should be > 0 |
|
Network initialization priority level. This number tells how early in the boot the network stack is initialized. |
|
Enable IPv4 support. If this is enabled then the device is able to send and receive IPv4 network packets. |
|
If set, then accept UDP packets destined to non-standard 0.0.0.0 broadcast address as described in RFC 1122 ch. 3.3.6 |
|
Enables IPv4 auto IP address configuration (see RFC 3927) |
|
Write to log with NET_DBG or LOG_DBG in addition to previous levels. |
|
Use default log level. |
|
Only write to log when NET_ERR or LOG_ERR is used. |
|
Write to log with NET_INFO or LOG_INF in addition to previous levels. |
|
Do not write to log. |
|
Write to log with NET_WARN or LOG_WRN in addition to previous level. |
|
Enables IPv4 header options support. Current support for only ICMPv4 Echo request. Only RecordRoute and Timestamp are handled. |
|
Write to log with NET_DBG or LOG_DBG in addition to previous levels. |
|
Use default log level. |
|
Only write to log when NET_ERR or LOG_ERR is used. |
|
Write to log with NET_INFO or LOG_INF in addition to previous levels. |
|
Do not write to log. |
|
Write to log with NET_WARN or LOG_WRN in addition to previous level. |
|
Enable IPv6 support. This should be selected by default as there is limited set of network bearers provided that support IPv4. |
|
The value depends on your network needs. DAD should normally be active. |
|
IPv6 fragmentation is disabled by default. This saves memory and should not cause issues normally as we support anyway the minimum length IPv6 packets (1280 bytes). If you enable fragmentation support, please increase amount of RX data buffers so that larger than 1280 byte packets can be received. |
|
How many fragmented IPv6 packets can be waiting reassembly simultaneously. Each fragment count might use up to 1280 bytes of memory so you need to plan this and increase the network buffer count. |
|
How long to wait for IPv6 fragment to arrive before the reassembly will timeout. RFC 2460 chapter 4.5 tells to wait for 60 seconds but this might be too long in memory constrained devices. This value is in seconds. |
|
Write to log with NET_DBG or LOG_DBG in addition to previous levels. |
|
Use default log level. |
|
Only write to log when NET_ERR or LOG_ERR is used. |
|
Write to log with NET_INFO or LOG_INF in addition to previous levels. |
|
Do not write to log. |
|
Write to log with NET_WARN or LOG_WRN in addition to previous level. |
|
The value depends on your network needs. |
|
The value depends on your network needs. MLD should normally be active. Currently we support only MLDv2. See RFC 3810 for details. |
|
The value depends on your network needs. Neighbor cache should normally be active. |
|
Write to log with NET_DBG or LOG_DBG in addition to previous levels. |
|
Use default log level. |
|
Only write to log when NET_ERR or LOG_ERR is used. |
|
Write to log with NET_INFO or LOG_INF in addition to previous levels. |
|
Do not write to log. |
|
Write to log with NET_WARN or LOG_WRN in addition to previous level. |
|
The value depends on your network needs. ND should normally be active. |
|
Support Router Advertisement Recursive DNS Server option. See RFC 6106 for details. The value depends on your network needs. |
|
Check that either the source or destination address is correct before sending either IPv4 or IPv6 network packet. |
|
Enable Bluetooth driver that send and receives IPv6 packets, does header compression on it and writes it to the Bluetooth stack via L2CAP channel. |
|
Write to log with NET_DBG or LOG_DBG in addition to previous levels. |
|
Use default log level. |
|
Only write to log when NET_ERR or LOG_ERR is used. |
|
Write to log with NET_INFO or LOG_INF in addition to previous levels. |
|
Do not write to log. |
|
Write to log with NET_WARN or LOG_WRN in addition to previous level. |
|
Enable Bluetooth Network Management support |
|
Security level of Bluetooth Link: Level 1 (BT_SECURITY_LOW) = No encryption or authentication required Level 2 (BT_SECURITY_MEDIUM) = Only encryption required Level 3 (BT_SECURITY_HIGH) = Encryption and authentication required Level 4 (BT_SECURITY_FIPS) = Secure connection required |
|
This can be used for testing Bluetooth management commands through the console via a shell module named “net_bt”. |
|
This workaround is necessary to interoperate with Linux up to 4.10 but it might not be compliant with RFC 7668 as it cause the stack to skip Neighbor Discovery cache causing the destination link address to be omitted. For more details why this is needed see: https://github.com/zephyrproject-rtos/zephyr/issues/3111 |
|
Add a CANBUS L2 layer driver. This is the layer for IPv6 over CAN (6loCAN). It uses IPHC to compress the IP header and ISO-TP for flow control and reassembling. |
|
Number of CF (Contiguous Frame) PDUs before next FC (Flow Control) frame is sent. Zero value means all frames are sent consecutive without an additional FC frame. A BS counter at the sender counts from one to BS. When BS is reached, the sender waits for a FC frame again an BS is reset. See also: ISO 15765-2:2016 |
|
Number of retries for Duplicate Address Detection. Greater than one only makes sense for random link layer addresses. |
|
Enable a 6LoCAN Ethernet translator. With this translator it is possible to connect a 6LoCAN network to a Ethernet network directly, via a Switch or trough a router. Messages that goes through the translator have a special address and the MAC address is carried inline. The packet is forwarded with uncompressed IPv6 header. |
|
L2 address |
|
Write to log with NET_DBG or LOG_DBG in addition to previous levels. |
|
Use default log level. |
|
Only write to log when NET_ERR or LOG_ERR is used. |
|
Write to log with NET_INFO or LOG_INF in addition to previous levels. |
|
Do not write to log. |
|
Write to log with NET_WARN or LOG_WRN in addition to previous level. |
|
Add a CANBUS L2 layer driver. This is the layer for SOCKET CAN. |
|
Minimal separation time between frames in ms. The timer starts when the frame is queued and the next frame is transmitted after expiration. STmin is chosen by the receiver and transmitted in the FC (Flow Control) frame. See also: ISO 15765-2:2016 |
|
Use a fixed L2 address for 6LoCAN instead of a random chosen one. |
|
Add a dummy L2 layer driver. This is usually only needed when simulating a network interface when running network stack inside QEMU. |
|
Add support for Ethernet, enabling selecting relevant hardware drivers. If NET_SLIP_TAP is selected, NET_L2_ETHERNET will enable to fully simulate Ethernet through SLIP. |
|
Write to log with NET_DBG or LOG_DBG in addition to previous levels. |
|
Use default log level. |
|
Only write to log when NET_ERR or LOG_ERR is used. |
|
Write to log with NET_INFO or LOG_INF in addition to previous levels. |
|
Do not write to log. |
|
Write to log with NET_WARN or LOG_WRN in addition to previous level. |
|
Enable support net_mgmt Ethernet interface which can be used to configure at run-time Ethernet drivers and L2 settings. |
|
Add support for low rate WPAN IEEE 802.15.4 technology. |
|
Enable inner stack’s logic on handling ACK request. Note that if the hw driver has an AUTOACK feature, this is then unnecessary. |
|
If IPv6 packets size more than 802.15.4 MTU, packet is fragmented and reassemble incoming packets according to RFC4944/6282. |
|
Simultaneously reassemble 802.15.4 fragments depending on cache size. |
|
Write to log with NET_DBG or LOG_DBG in addition to previous levels. |
|
Use default log level. |
|
Only write to log when NET_ERR or LOG_ERR is used. |
|
Write to log with NET_INFO or LOG_INF in addition to previous levels. |
|
Do not write to log. |
|
Write to log with NET_WARN or LOG_WRN in addition to previous level. |
|
Use Aloha mechanism to transmit packets. This is a simplistic way of transmitting packets and fits contexts where radio spectrum is not too heavily loaded. |
|
Use CSMA-CA mechanism to transmit packets. This is the most common way of transmitting packets and fits most of all the usage. At least until the version 2011 of the specification. |
|
The maximum value of the backoff exponent (BE) in the CSMA-CA algorithm. |
|
The maximum number of backoffs the CSMA-CA algorithm will attempt before declaring a channel access failure. |
|
The minimum value of the backoff exponent (BE) in the CSMA-CA algorithm. |
|
TX power in dbm. Valid setting are: -18, -7, -4, -2, 0, 1, 2, 3, 5 If wrongly set, it will silently fail. |
|
Number of transmission attempts radio driver should do, before replying it could not send the packet. |
|
Reassembly timer will start as soon as first packet received from peer. Reassembly should be finished within a given time. Otherwise all accumulated fragments are dropped. |
|
This is the level for PAN device, not PAN coordinator. This will make possible to do active and/or passive scans, as well as associating and disassociating to/from a PAN. Current support is very fragile, thus it is not set as the default level. |
|
Enable 802.15.4 frame security handling, in order to bring data confidentiality and authenticity. |
|
This option should be used to set the crypto device name that IEEE 802.15.4 soft MAC will use to run authentication, encryption and decryption operations on incoming/outgoing frames. |
|
This can be used for testing 15.4 through the console via exposing a shell module named “ieee15_4”. |
|
Enable support for Sub-GHz devices. This will add a tiny bit more logic in L2 code for channel management. This option is automatically selected when relevant device driver is enabled. |
|
OpenThread L2 |
|
Add support for PPP. |
|
If the PPP starts too fast, it is possible to delay it a bit. This is mostly useful in debugging if you want the device be fully up before PPP handshake is started. Wait amount of milliseconds before starting PPP. Value 0 disables the wait. |
|
Write to log with NET_DBG or LOG_DBG in addition to previous levels. |
|
Use default log level. |
|
Only write to log when NET_ERR or LOG_ERR is used. |
|
Write to log with NET_INFO or LOG_INF in addition to previous levels. |
|
Do not write to log. |
|
Write to log with NET_WARN or LOG_WRN in addition to previous level. |
|
How many times to resend Configure-Req messages before deciding the link is not working properly. |
|
How many times to accept NACK loops. |
|
How many options we support. This is used to allocate space for each option. The default (8) is a reasonably small value. |
|
How many times to resend Terminate-Req messages before terminating the link. |
|
Enable support net_mgmt ppp interface which can be used to configure at run-time ppp drivers and L2 settings. |
|
Try to negotiate with peer for MRU (MTU) for the link. |
|
How long to wait Configure-Req. |
|
Add support for Wi-Fi Management interface. |
|
Write to log with NET_DBG or LOG_DBG in addition to previous levels. |
|
Use default log level. |
|
Only write to log when NET_ERR or LOG_ERR is used. |
|
Write to log with NET_INFO or LOG_INF in addition to previous levels. |
|
Do not write to log. |
|
Write to log with NET_WARN or LOG_WRN in addition to previous level. |
|
This can be used for controlling Wi-Fi through the console via exposing a shell module named “wifi”. |
|
Enable Link Layer Discovery Protocol (LLDP) Transmit support. Please refer to IEEE Std 802.1AB for more information. |
|
Chassis ID value |
|
Byte 0 of the MAC address. |
|
Byte 1 of the MAC address. |
|
Byte 2 of the MAC address. |
|
Byte 3 of the MAC address. |
|
Byte 4 of the MAC address. |
|
Byte 5 of the MAC address. |
|
Chassis ID subtype options are defined below. Please refer to section 8.5.2.2 of the 802.1AB for more info. Subtype 1 = Chassis component Subtype 2 = Interface alias Subtype 3 = Port component Subtype 4 = MAC address Subtype 5 = Network address Subtype 6 = Interface name Subtype 7 = Locally assigned If subtype 4 is selected, MAC address, then configs NET_LLDP_CHASSIS_ID_MAC0 through NET_LLDP_CHASSIS_ID_MAC5 must be defined, otherwise you must use NET_LLDP_CHASSIS_ID instead. |
|
Tells whether LLDPDU packet will have marker at the end of the packet. |
|
Write to log with NET_DBG or LOG_DBG in addition to previous levels. |
|
Use default log level. |
|
Only write to log when NET_ERR or LOG_ERR is used. |
|
Write to log with NET_INFO or LOG_INF in addition to previous levels. |
|
Do not write to log. |
|
Write to log with NET_WARN or LOG_WRN in addition to previous level. |
|
Port ID value |
|
Byte 0 of the MAC address. |
|
Byte 1 of the MAC address. |
|
Byte 2 of the MAC address. |
|
Byte 3 of the MAC address. |
|
Byte 4 of the MAC address. |
|
Byte 5 of the MAC address. |
|
Port ID subtype options are defined below. Please refer to section 8.5.3.2 of the 802.1AB for more info. Subtype 1 = Interface alias Subtype 2 = Port component Subtype 3 = MAC address Subtype 4 = Network address Subtype 5 = Interface name Subtype 6 = Agent circuit ID Subtype 7 = Locally assigned If subtype 3 is selected (MAC address) then configs NET_LLDP_PORT_ID_MAC0 through NET_LLDP_PORT_ID_MAC5 must be defined, otherwise you must use NET_LLDP_PORT_ID instead. |
|
This value (msgTxHold) is used as a multiplier of CONFIG_NET_LLDP_TX_INTERVAL, to determine the value to be used as Time to Live in LLDP frames. For further information please refer to section 9.2.5.6 of the LLDP spec. |
|
Interval between transmissions of LLDPDUs during normal (non-fast mode) transmission periods. For further information please refer to section 9.2.5.7 of the LLDP spec. |
|
Enable logging in various parts of the network stack. Specific debugging options to other sub-menus will be unlocked as well (IPv6, IPv4, …). |
|
Write to log with NET_DBG or LOG_DBG in addition to previous levels. |
|
Use default log level. |
|
Only write to log when NET_ERR or LOG_ERR is used. |
|
Write to log with NET_INFO or LOG_INF in addition to previous levels. |
|
Do not write to log. |
|
Write to log with NET_WARN or LOG_WRN in addition to previous level. |
|
6lowpan context options table size. The value depends on your network and memory consumption. More 6CO options uses more memory. |
|
The value depends on your network needs. The value should include both UDP and TCP connections. |
|
Each network context is used to describe a network 5-tuple that is used when listening or sending network traffic. This is very similar as one could call a network socket in some other systems. |
|
This determines how many entries can be stored in multicast routing table. |
|
This determines how many entries can be stored in nexthop table. |
|
The value depends on your network needs. |
|
This determines how many entries can be stored in routing table. |
|
Add support for NM API that enables managing different aspects of the network stack as well as receiving notification on network events (ip address change, iface up and running …). |
|
This adds support for the stack to notify events towards any relevant listener. This can be necessary when application (or else) needs to be notified on a specific network event (ip address change for instance) to trigger some related work. |
|
Event notifier will be able to provide information to an event, and listeners will then be able to get it. Such information depends on the type of event. |
|
Write to log with NET_DBG or LOG_DBG in addition to previous levels. |
|
Use default log level. |
|
Only write to log when NET_ERR or LOG_ERR is used. |
|
Write to log with NET_INFO or LOG_INF in addition to previous levels. |
|
Do not write to log. |
|
Write to log with NET_WARN or LOG_WRN in addition to previous level. |
|
Numbers of events which can be queued at same time. Note that if a 3rd event comes in, the first will be removed without generating any notification. Thus the size of this queue has to be tweaked depending on the load of the system, planned for the usage. |
|
Set the internal stack size for NM to run registered callbacks on events. |
|
Set the network management event core’s inner thread priority. Do not change this unless you know what you are doing. |
|
Enables Zephyr native IP stack. If you disable this, then you need to enable the offloading support if you want to have IP connectivity. |
|
Enables TCP/IP stack to be offload to a co-processor. |
|
Write to log with NET_DBG or LOG_DBG in addition to previous levels. |
|
Use default log level. |
|
Only write to log when NET_ERR or LOG_ERR is used. |
|
Write to log with NET_INFO or LOG_INF in addition to previous levels. |
|
Do not write to log. |
|
Write to log with NET_WARN or LOG_WRN in addition to previous level. |
|
Write to log with NET_DBG or LOG_DBG in addition to previous levels. |
|
Use default log level. |
|
Only write to log when NET_ERR or LOG_ERR is used. |
|
Write to log with NET_INFO or LOG_INF in addition to previous levels. |
|
Do not write to log. |
|
Write to log with NET_WARN or LOG_WRN in addition to previous level. |
|
Enable network packet RX time statistics support. This is used to calculate how long on average it takes for a packet to travel from device driver to just before it is given to application. The RX timing information can then be seen in network interface statistics in net-shell. The RX statistics are only calculated for UDP and TCP packets. |
|
Each RX buffer will occupy smallish amount of memory. See include/net/net_pkt.h and the sizeof(struct net_pkt) |
|
Enable network packet timestamp support. This is needed for example in gPTP which needs to know how long it takes to send a network packet. |
|
Set the timestamp thread stack size in bytes. The timestamp thread waits for timestamped TX frames and calls registered callbacks. |
|
Create a TX timestamp thread that will pass the timestamped network packets to some other module like gPTP for further processing. If you just want to timestamp network packets and get information how long the network packets flow in the system, you can disable the thread support. |
|
Enable network packet TX time support. This is needed for when the application wants to set the exact time when the network packet should be sent. |
|
Enable network packet TX time statistics support. This is used to calculate how long on average it takes for a packet to travel from application to just before it is sent to network. The TX timing information can then be seen in network interface statistics in net-shell. The RX calculation is done only for UDP or TCP packets, but for TX we do not know the protocol so the TX packet timing is done for all network protocol packets. Note that CONFIG_NET_PKT_TXTIME cannot be set at the same time because net_pkt shares the time variable for statistics and TX time. |
|
Each TX buffer will occupy smallish amount of memory. See include/net/net_pkt.h and the sizeof(struct net_pkt) |
|
Write to log with NET_DBG or LOG_DBG in addition to previous levels. |
|
Use default log level. |
|
Only write to log when NET_ERR or LOG_ERR is used. |
|
Write to log with NET_INFO or LOG_INF in addition to previous levels. |
|
Do not write to log. |
|
Write to log with NET_WARN or LOG_WRN in addition to previous level. |
|
Enable promiscuous mode support. This only works if the network device driver supports promiscuous mode. The user application also needs to read the promiscuous mode data. |
|
Write to log with NET_DBG or LOG_DBG in addition to previous levels. |
|
Use default log level. |
|
Only write to log when NET_ERR or LOG_ERR is used. |
|
Write to log with NET_INFO or LOG_INF in addition to previous levels. |
|
Do not write to log. |
|
Write to log with NET_WARN or LOG_WRN in addition to previous level. |
|
Connect to host system via Qemu ethernet driver support. One such driver that Zephyr supports is Intel e1000 ethernet driver. |
|
Connect to host via PPP. |
|
Connect to host or to another Qemu via SLIP. |
|
This is a very specific option used to built only the very minimal part of the net stack in order to get network drivers working without any net stack above: core, L2 etc… Basically this will build only net_pkt part. It is currently used only by IEEE 802.15.4 drivers, though any type of net drivers could use it. |
|
Write to log with NET_DBG or LOG_DBG in addition to previous levels. |
|
Use default log level. |
|
Only write to log when NET_ERR or LOG_ERR is used. |
|
Write to log with NET_INFO or LOG_INF in addition to previous levels. |
|
Do not write to log. |
|
Write to log with NET_WARN or LOG_WRN in addition to previous level. |
|
Allow IPv6 routing between different network interfaces and technologies. Currently this has limited use as some entity would need to populate the routing table. RPL used to do that earlier but currently there is no RPL support in Zephyr. |
|
What is the default network RX packet priority if user has not set one. The value 0 means lowest priority and 7 is the highest. |
|
Set the RX thread stack size in bytes. The RX thread is waiting data from network. There is one RX thread in the system. This value is a baseline and the actual RX stack size might be bigger depending on what features are enabled. |
|
Activate shell module that provides network commands like ping to the console. |
|
Enable various net-shell command to support dynamic command completion. This means that for example the nbr command can automatically complete the neighboring IPv6 address and user does not need to type it manually. Please note that this uses more memory in order to save the dynamic command strings. For example for nbr command the increase is 320 bytes (8 neighbors * 40 bytes for IPv6 address length) by default. Other dynamic completion commands in net-shell require also some smaller amount of memory. |
|
SLIP TAP support is necessary when testing with QEMU. The host needs to have tunslip6 with TAP support running in order to communicate via the SLIP driver. See net-tools project at https://github.com/zephyrproject-rtos/net-tools for more details. |
|
Provide BSD Sockets like API on top of native Zephyr networking API. |
|
The value depends on your network needs. |
|
The value tells how many sockets can receive data from same Socket-CAN interface. |
|
This variable specifies time in milliseconds after connect() API call will timeout if we have not received SYN-ACK from peer. |
|
This variable specifies time in milliseconds after which DNS query is considered timeout. Minimum timeout is 1 second and maximum timeout is 5 min. |
|
This variable specifies time in milliseconds after which DTLS connection is considered dead by TLS server and DTLS resources are freed. This is needed to prevent situation when DTLS client shuts down without closing connection gracefully, which can prevent other peers from connecting. Value of 0 indicates no timeout - resources will be freed only when connection is gracefully closed by peer sending TLS notification or socket is closed. |
|
Enable DTLS socket support. By default only TLS over TCP is supported. |
|
Write to log with NET_DBG or LOG_DBG in addition to previous levels. |
|
Use default log level. |
|
Only write to log when NET_ERR or LOG_ERR is used. |
|
Write to log with NET_INFO or LOG_INF in addition to previous levels. |
|
Do not write to log. |
|
Write to log with NET_WARN or LOG_WRN in addition to previous level. |
|
Select this if you want to use socket API to get network managements events to your application. |
|
This sets the maximum number of net_mgmt sockets that can be set by the socket interface. So if you have two separate sockets that are used for listening events, you need to set this to two. |
|
Enables direct offloading of socket operations to dedicated TCP/IP hardware. This feature is intended to save resources by bypassing the Zephyr TCP/IP stack in the case where there is only one network interface required in the system, providing full BSD socket offload capability. As a result, it bypasses any potential IP routing that Zephyr might provide between multiple network interfaces. See NET_OFFLOAD for a more deeply integrated approach which offloads from the net_context() API within the Zephyr IP stack. |
|
This is an initial version of packet socket support (special type raw socket). Packets are passed to and from the device driver without any changes in the packet headers. It’s API caller responsibility to provide all the headers (e.g L2, L3 and so on) while sending. While receiving, packets (including all the headers) will be feed to sockets as it as from the driver. |
|
Maximum number of entries supported for poll() call. |
|
By default, Sockets API function are prefixed with |
|
Enable TLS socket option support which automatically establishes a TLS connection to the remote host. |
|
This variable sets maximum number of TLS/DTLS ciphersuites that can be used with specific socket, if set explicitly by socket option. By default, all ciphersuites that are available in the system are available to the socket. |
|
|
|
This variable sets maximum number of TLS/DTLS credentials that can be used with a specific socket. |
|
Manage statistics accounting. This takes memory so say ‘n’ if unsure. |
|
Keep track of Ethernet related statistics. Note that this requires support from the ethernet driver. The driver needs to collect the statistics. |
|
Allows Ethernet drivers to provide statistics information from vendor specific hardware registers in a form of key-value pairs. Deciphering the information may require vendor documentation. |
|
Keep track of ICMPv4/6 related statistics, depending whether IPv4 and/or IPv6 is/are enabled. |
|
Keep track of IPv4 related statistics |
|
Keep track of IPv6 related statistics |
|
Keep track of IPv6 Neighbor Discovery related statistics |
|
Write to log with NET_DBG or LOG_DBG in addition to previous levels. |
|
Use default log level. |
|
Only write to log when NET_ERR or LOG_ERR is used. |
|
Write to log with NET_INFO or LOG_INF in addition to previous levels. |
|
Do not write to log. |
|
Write to log with NET_WARN or LOG_WRN in addition to previous level. |
|
Keep track of MLD related statistics |
|
Print out all the statistics periodically through logging. This is meant for testing mostly. |
|
Collect statistics also for each network interface. |
|
Keep track of PPP related statistics |
|
Keep track of TCP related statistics |
|
Keep track of UDP related statistics |
|
Enable this if you need to grab relevant statistics in your code, via calling net_mgmt() with relevant NET_REQUEST_STATS_GET_* command. |
|
The value depends on your network needs. |
|
The current TCP stack that has been in use since Zephyr 1.0. |
|
Enable experimental TCP which is under development. |
|
This value affects the timeout when waiting ACK to arrive in various TCP states. The value is in milliseconds. Note that having a very low value here could prevent connectivity. |
|
Automatically accept incoming TCP data packet to the valid connection even if the application has not yet called accept(). This speeds up incoming data processing and is done like in Linux. Drawback is that we allocate data for the incoming packets even if the application has not yet accepted the connection. If the peer sends lot of packets, we might run out of memory in this case. |
|
The number of simultaneous TCP connection attempts, i.e. outstanding TCP connections waiting for initial ACK. |
|
Enables TCP handler to check TCP checksum. If the checksum is invalid, then the packet is discarded. |
|
This value affects the timeout between initial retransmission of TCP data packets. The value is in milliseconds. |
|
Write to log with NET_DBG or LOG_DBG in addition to previous levels. |
|
Use default log level. |
|
Only write to log when NET_ERR or LOG_ERR is used. |
|
Write to log with NET_INFO or LOG_INF in addition to previous levels. |
|
Do not write to log. |
|
Write to log with NET_WARN or LOG_WRN in addition to previous level. |
|
The following formula can be used to determine the time (in ms) that a segment will be be buffered awaiting retransmission: n=NET_TCP_RETRY_COUNT Sum((1<<n) * NET_TCP_INIT_RETRANSMISSION_TIMEOUT) n=0 With the default value of 9, the IP stack will try to retransmit for up to 1:42 minutes. This is as close as possible to the minimum value recommended by RFC1122 (1:40 minutes). Only 5 bits are dedicated for the retransmission count, so accepted values are in the 0-31 range. It’s highly recommended to not go below 9, though. Should a retransmission timeout occur, the receive callback is called with -ECONNRESET error code and the context is dereferenced. |
|
To avoid a (low-probability) issue when delayed packets from previous connection get delivered to next connection reusing the same local/remote ports, RFC 793 (TCP) suggests to keep an old, closed connection in a special “TIME_WAIT” state for the duration of 2*MSL (Maximum Segment Lifetime). The RFC suggests to use MSL of 2 minutes, but notes “This is an engineering choice, and may be changed if experience indicates it is desirable to do so.” For low-resource systems, having large MSL may lead to quick resource exhaustion (and related DoS attacks). At the same time, the issue of packet misdelivery is largely alleviated in the modern TCP stacks by using random, non-repeating port numbers and initial sequence numbers. Due to this, Zephyr uses much lower value of 250ms by default. Value of 0 disables TIME_WAIT state completely. |
|
Write to log with NET_DBG or LOG_DBG in addition to previous levels. |
|
Use default log level. |
|
Only write to log when NET_ERR or LOG_ERR is used. |
|
Write to log with NET_INFO or LOG_INF in addition to previous levels. |
|
Do not write to log. |
|
Write to log with NET_WARN or LOG_WRN in addition to previous level. |
|
This is the recommended priority to traffic class mapping for a system that supports SR (Stream Reservation) class A and SR class B. See 802.1Q, chapter 34.5 for more information. |
|
This is the recommended priority to traffic class mapping for a system that supports SR (Stream Reservation) class B only. See 802.1Q, chapter 34.5 for more information. |
|
This is the recommended default priority to traffic class mapping. Use it for implementations that do not support the credit-based shaper transmission selection algorithm. See 802.1Q, chapter 8.6.6 for more information. |
|
Define how many Rx traffic classes (queues) the system should have when receiving a network packet. The network packet priority can then be mapped to this traffic class so that higher prioritized packets can be processed before lower prioritized ones. Each queue is handled by a separate thread which will need RAM for stack space. Only increase the value from 1 if you really need this feature. The default value is 1 which means that all the network traffic is handled equally. In this implementation, the higher traffic class value corresponds to lower thread priority. |
|
Define how many Tx traffic classes (queues) the system should have when sending a network packet. The network packet priority can then be mapped to this traffic class so that higher prioritized packets can be processed before lower prioritized ones. Each queue is handled by a separate thread which will need RAM for stack space. Only increase the value from 1 if you really need this feature. The default value is 1 which means that all the network traffic is handled equally. In this implementation, the higher traffic class value corresponds to lower thread priority. |
|
Used for self-contained networking tests that do not require a network device. |
|
Enable JSON based test protocol (UDP). |
|
Normally this is enabled automatically if needed, so say ‘n’ if unsure. |
|
Write to log with NET_DBG or LOG_DBG in addition to previous levels. |
|
Use default log level. |
|
Only write to log when NET_ERR or LOG_ERR is used. |
|
Write to log with NET_INFO or LOG_INF in addition to previous levels. |
|
Do not write to log. |
|
Write to log with NET_WARN or LOG_WRN in addition to previous level. |
|
What is the default network packet priority if user has not specified one. The value 0 means lowest priority and 7 is the highest. |
|
Set the TX thread stack size in bytes. The TX thread is waiting data from application. Each network interface will start one TX thread for sending network packets destined to it. This value is a baseline and the actual TX stack size might be bigger depending on what features are enabled. |
|
The value depends on your network needs. |
|
Enables UDP handler to check UDP checksum. If the checksum is invalid, then the packet is discarded. |
|
Write to log with NET_DBG or LOG_DBG in addition to previous levels. |
|
Use default log level. |
|
Only write to log when NET_ERR or LOG_ERR is used. |
|
Write to log with NET_INFO or LOG_INF in addition to previous levels. |
|
Do not write to log. |
|
Write to log with NET_WARN or LOG_WRN in addition to previous level. |
|
RFC 768 states the possibility to have a missing checksum, for debugging purposes for instance. That feature is however valid only for IPv4 and on reception only, since Zephyr will always compute the UDP checksum in transmission path. |
|
Write to log with NET_DBG or LOG_DBG in addition to previous levels. |
|
Use default log level. |
|
Only write to log when NET_ERR or LOG_ERR is used. |
|
Write to log with NET_INFO or LOG_INF in addition to previous levels. |
|
Do not write to log. |
|
Write to log with NET_WARN or LOG_WRN in addition to previous level. |
|
Enables virtual lan (VLAN) support for Ethernet. |
|
How many VLAN tags can be configured. |
|
Write to log with NET_DBG or LOG_DBG in addition to previous levels. |
|
Use default log level. |
|
Only write to log when NET_ERR or LOG_ERR is used. |
|
Write to log with NET_INFO or LOG_INF in addition to previous levels. |
|
Do not write to log. |
|
Write to log with NET_WARN or LOG_WRN in addition to previous level. |
|
Debug |
|
Error |
|
Info |
|
Off |
|
Warning |
|
Enable support of Non-volatile Storage. |
|
Debug |
|
Error |
|
Info |
|
Off |
|
Warning |
|
This option enable the feature for tracing kernel objects. This option is for debug purposes and increases the memory footprint of the kernel. |
|
Choose Y for best performance. On some architectures (including x86) this will favor code size and performance over debugability. Choose N in you wish to retain the frame pointer. This option may be useful if your application uses runtime backtracing and does not support parsing unwind tables. If unsure, disable OVERRIDE_FRAME_POINTER_DEFAULT to allow the compiler to adopt sensible defaults for your architecture. |
|
This option exports an array of offsets to kernel structs, used by OpenOCD to determine the state of running threads. (This option selects CONFIG_THREAD_MONITOR, so all of its caveats are implied.) |
|
Default Channel |
|
Enable commissioner capability in OpenThread stack. Note, that DTLS handshake used in the commissioning procedure requires a larger mbedTLS heap than the default value. A minimum recommended value of CONFIG_MBEDTLS_HEAP_SIZE for the commissioning is 8KB. |
|
This option enables log support for OpenThread |
|
Enable DHCPv6 client capability in OpenThread stack |
|
Enable DHCPv6 server capability in OpenThread stack |
|
Enable OpenThread CLI diagnostic commands |
|
FTD - Full Thread Device |
|
Enable jam detection in OpenThread stack |
|
Enable joiner capability in OpenThread stack. Note, that DTLS handshake used in the commissioning procedure requires a larger mbedTLS heap than the default value. A minimum recommended value of CONFIG_MBEDTLS_HEAP_SIZE for the commissioning is 8KB. |
|
Enable automatic joiner start |
|
Pre Shared Key for the Device to start joiner |
|
This option enables log support for OpenThread |
|
This option enables dumping of 802.15.4 packets |
|
This option enables dumping of IPv6 packets |
|
Write to log with NET_DBG or LOG_DBG in addition to previous levels. |
|
Use default log level. |
|
Only write to log when NET_ERR or LOG_ERR is used. |
|
Write to log with NET_INFO or LOG_INF in addition to previous levels. |
|
Do not write to log. |
|
Write to log with NET_WARN or LOG_WRN in addition to previous level. |
|
Debug |
|
Error |
|
Info |
|
Warning |
|
MTD - Minimal Thread Device |
|
SED - Sleepy End Device |
|
Network name for OpenThread |
|
Default PAN ID |
|
List size for Ip6 packet buffering |
|
This option enables OpenThread platform |
|
Platform information for OpenThread |
|
Poll period for sleepy end devices [ms] |
|
Enable OpenThread shell |
|
OpenThread thread priority |
|
OpenThread thread stack size |
|
Extended PAN ID for OpenThread with format “de:ad:00:be:ef:00:ca:fe” |
|
Support for echo command |
|
When a reset command is received, the system waits this many milliseconds before performing the reset. This delay allows time for the mcumgr response to be delivered. |
|
Support for taskstat command |
|
This option sets flash pages count used by OpenThread to store its settings. They are located at the end of flash. |
|
Omitting the frame pointer prevents the compiler from putting the stack frame pointer into a register. Saves a few instructions in function prologues/epilogues and frees up a register for general-purpose use, which can provide good performance improvements on register-constrained architectures like x86. On some architectures (including x86) omitting frame pointers impedes debugging as local variables are harder to locate. At -O1 and above gcc will enable -fomit-frame-pointer automatically but only if the architecture does not require if for effective debugging. Choose Y if you want to override the default frame pointer behavior of your compiler, otherwise choose N. |
|
This option directs printk() debugging output to the supported console device, rather than suppressing the generation of printk() output entirely. Output is sent immediately, without any mutual exclusion or buffering. |
|
If userspace is enabled, printk() calls are buffered so that we do not have to make a system call for every character emitted. Specify the size of this buffer. |
|
Debug |
|
Error |
|
Info |
|
Off |
|
Warning |
|
Debug |
|
Error |
|
Info |
|
Off |
|
Warning |
|
RNDIS bulk endpoint size |
|
RNDIS interrupt endpoint size |
|
This option enables support of C++ RTTI. |
|
Segger SystemView support |
|
Start logging SystemView events on system start |
|
Buffer size for SystemView RTT |
|
Debug |
|
Error |
|
Info |
|
Off |
|
Warning |
|
The settings subsystem allows its users to serialize and deserialize state in memory into and from non-volatile memory. It supports several back-ends to store and load serialized data from and it can do so atomically for all involved modules. |
|
Use a custom settings storage back-end. |
|
Enables the use of dynamic settings handlers |
|
Use FCB as a settings storage back-end. |
|
Magic 32-bit word for to identify valid settings area |
|
Number of areas to allocate in the settings FCB. A smaller number is used if the flash hardware cannot support this value. |
|
Use a file system as a settings storage back-end. |
|
Directory where the settings data is stored |
|
Full path to the default settings file. |
|
Limit how many items stored in a file before compressing |
|
Debug |
|
Error |
|
Info |
|
Off |
|
Warning |
|
No storage back-end. |
|
Enables NVS storage support |
|
Number of sectors used for the NVS settings area |
|
The sector size to use for the NVS settings area as a multiple of FLASH_ERASE_BLOCK_SIZE. |
|
Enables runtime storage back-end. |
|
This option has been deprecated and will not be supported in future releases. Enables values encoding using Base64. |
|
Shell |
|
Maximum number of arguments that can build a command. If command is composed of more than defined, argument SHELL_ARGC_MAX and following are passed as one argument in the string. |
|
Enable shell backends. |
|
Enable dummy backend which can be used to execute commands with no need for physical transport interface. |
|
Enable RTT backend. |
|
Amount of messages that can enqueued in order to be processed by shell thread. Too small queue may lead to logger thread being blocked (see $(module)_LOG_MESSAGE_QUEUE_TIMEOUT). Too big queue on relatively slow shell transport may lead to situation where logs are dropped because all log messages are enqueued. |
|
If queue with pending log messages is full, oldest log message is dropped if queue is still full after requested time (-1 is forever). Logger thread is blocked for that period, thus long timeout impacts other logger backends and must be used with care. |
|
Enable serial backend. |
|
Interrupt driven |
|
Debug |
|
System limit (LOG_MAX_LEVEL) |
|
Error |
|
Info |
|
None |
|
Warning |
|
Amount of messages that can enqueued in order to be processed by shell thread. Too small queue may lead to logger thread being blocked (see $(module)_LOG_MESSAGE_QUEUE_TIMEOUT). Too big queue on relatively slow shell transport may lead to situation where logs are dropped because all log messages are enqueued. |
|
If queue with pending log messages is full, oldest log message is dropped if queue is still full after requested time (-1 is forever). Logger thread is blocked for that period, thus long timeout impacts other logger backends and must be used with care. |
|
Determines how often UART is polled for RX byte. |
|
RX ring buffer size impacts accepted latency of handling incoming bytes by shell. If shell input is coming from the keyboard then it is usually enough if ring buffer is few bytes (more than one due to escape sequences). However, if bulk data is transferred it may be required to increase it. |
|
If UART is utilizing DMA transfers then increasing ring buffer size increases transfers length and reduces number of interrupts. |
|
Enable TELNET backend. |
|
Terminals have different escape code settings for backspace button. Some terminals send code: 0x08 (backspace) other 0x7F (delete). When this option is set shell will expect 0x7F for backspace key. |
|
Enable built-in commands like ‘clear’, ‘history’, etc. |
|
By default shell assumes width of a terminal screen set to 80 characters. Each time terminal screen width is changed resize command must be called to ensure correct text display on the terminal screen. The resize command can be turned off to save code memory (~0,5k). |
|
This option enables select command. It can be used to set new root command. Exit to main command tree is with alt+r. |
|
Maximum command size in bytes. One byte is reserved for the string terminator character. |
|
If enabled shell prints back every input byte. |
|
Enables formatting help message when requested with ‘-h’ or ‘–help’. |
|
Enable printing help on wrong argument count |
|
Enable commands history. History can be accessed using up and down arrows. |
|
Number of bytes dedicated for storing executed commands. |
|
Debug |
|
Error |
|
Info |
|
Off |
|
Warning |
|
Enables shell meta keys: Ctrl+a, Ctrl+b, Ctrl+c, Ctrl+d, Ctrl+e, Ctrl+f, Ctrl+k, Ctrl+l, Ctrl+u, Ctrl+w, Alt+b, Alt+f Meta keys will not be active when shell echo is set to off. |
|
Maximum text buffer size for fprintf function. It is working like stdio buffering in Linux systems to limit number of peripheral access calls. |
|
Displayed prompt name for DUMMY backend. |
|
Displayed prompt name for RTT backend. |
|
Displayed prompt name for TELNET backend. |
|
Displayed prompt name for UART backend. |
|
Debug |
|
System limit (LOG_MAX_LEVEL) |
|
Error |
|
Info |
|
None |
|
Warning |
|
Debug |
|
Error |
|
Info |
|
Off |
|
Warning |
|
Determines how often RTT is polled for RX byte. |
|
Stack size for thread created for each instance. |
|
Enable shell statistics |
|
Debug |
|
System limit (LOG_MAX_LEVEL) |
|
Error |
|
Info |
|
None |
|
Warning |
|
This option can be used to modify the size of the buffer storing shell output line, prior to sending it through the network. Of course an output line can be longer than such size, it just means sending it will start as soon as it reaches this size. It really depends on what type of output is expected. A lot of short lines: better reduce this value. On the contrary, raise it. |
|
Debug |
|
Error |
|
Info |
|
Off |
|
Warning |
|
Amount of messages that can enqueued in order to be processed by shell thread. Too small queue may lead to logger thread being blocked (see $(module)_LOG_MESSAGE_QUEUE_TIMEOUT). Too big queue on relatively slow shell transport may lead to situation where logs are dropped because all log messages are enqueued. |
|
If queue with pending log messages is full, oldest log message is dropped if queue is still full after requested time (-1 is forever). Logger thread is blocked for that period, thus long timeout impacts other logger backends and must be used with care. |
|
This option is used to configure on which port telnet is going to be bound. |
|
This option can be used to modify the duration of the timer that kick in when a line buffer is not empty but did not yet meet the line feed. |
|
Current support is so limited it’s not interesting to enable it. However, if proven to be needed at some point, it will be possible to extend such support. |
|
If enabled VT100 colors are used in shell (e.g. print errors in red). |
|
Enables using wildcards: * and ? in the shell. |
|
Write to log with NET_DBG or LOG_DBG in addition to previous levels. |
|
Use default log level. |
|
Only write to log when NET_ERR or LOG_ERR is used. |
|
Write to log with NET_INFO or LOG_INF in addition to previous levels. |
|
Do not write to log. |
|
Write to log with NET_WARN or LOG_WRN in addition to previous level. |
|
Enable SNTP client library |
|
Write to log with NET_DBG or LOG_DBG in addition to previous levels. |
|
Use default log level. |
|
Only write to log when NET_ERR or LOG_ERR is used. |
|
Write to log with NET_INFO or LOG_INF in addition to previous levels. |
|
Do not write to log. |
|
Write to log with NET_WARN or LOG_WRN in addition to previous level. |
|
Enable SOCKS5 proxy support |
|
Write to log with NET_DBG or LOG_DBG in addition to previous levels. |
|
Use default log level. |
|
Only write to log when NET_ERR or LOG_ERR is used. |
|
Write to log with NET_INFO or LOG_INF in addition to previous levels. |
|
Do not write to log. |
|
Write to log with NET_WARN or LOG_WRN in addition to previous level. |
|
Debug |
|
Error |
|
Info |
|
Off |
|
Warning |
|
There’s a spinlock validation framework available when asserts are enabled. It adds a relatively hefty overhead (about 3k or so) to kernel code size, don’t use on platforms known to be small. |
|
Debug |
|
Error |
|
Info |
|
Off |
|
Warning |
|
Store a magic value at the lowest addresses of a thread’s stack. Periodically check that this value is still present and kill the thread gracefully if it isn’t. This is currently checked in four places:
This feature doesn’t prevent corruption and the system may be in an unusable state. However, given the bizarre behavior associated with stack overflows, knowledge that this is happening is very useful. This feature is intended for those systems which lack hardware support for stack overflow protection, or have insufficient system resources to use that hardware support. |
|
Generate an extra file that specifies the maximum amount of stack used, on a per-function basis. |
|
Enable per-module event counters for troubleshooting, maintenance, and usage monitoring. Statistics can be retrieved with the mcumgr management subsystem. |
|
Include a full name string for each statistic in the build. If this setting is disabled, statistics are assigned generic names of the form “s0”, “s1”, etc. Enabling this setting simplifies debugging, but results in a larger code size. |
|
Limits the maximum stat group name length in mcumgr requests, in bytes. A buffer of this size gets allocated on the stack during handling of all stat read commands. If a stat group’s name exceeds this limit, it will be impossible to retrieve its values with a stat show command. |
|
2011 C++ standard, previously known as C++0x. |
|
2014 C++ standard. |
|
2017 C++ standard, previously known as C++0x. |
|
Next revision of the C++ standard, which is expected to be published in 2020. |
|
1998 C++ standard as modified by the 2003 technical corrigendum and some later defect reports. |
|
By default, system work queue priority is the lowest cooperative priority. This means that any work handler, once started, won’t be preempted by any other thread until finished. |
|
Enable System Power Management debugging hooks. |
|
Enable system power management direct force trigger mode. In this mode application thread can directly put system in sleep or deep sleep mode instead of waiting for idle thread to do it, so that it can reduce latency to enter low power mode. |
|
Debug |
|
Error |
|
Info |
|
Off |
|
Warning |
|
Minimum residency in milliseconds to enter SYS_POWER_STATE_DEEP_SLEEP_1 state. |
|
Minimum residency in milliseconds to enter SYS_POWER_STATE_DEEP_SLEEP_2 state. |
|
Minimum residency in milliseconds to enter SYS_POWER_STATE_DEEP_SLEEP_3 state. |
|
Minimum residency in milliseconds to enter SYS_POWER_STATE_SLEEP_1 state. |
|
Minimum residency in milliseconds to enter SYS_POWER_STATE_SLEEP_2 state. |
|
Minimum residency in milliseconds to enter SYS_POWER_STATE_SLEEP_3 state. |
|
When this option is selected, the application must provide PM policy. |
|
Dummy PM Policy which simply returns next PM state in a loop. |
|
Select this option for PM policy based on CPU residencies. |
|
Enable Power Management system state locking capability if any application wants to temporarily disable certain Power States while doing any critical work or needs quick response from hardware resources. |
|
Mark a project or an application as a test. This will enable a few test defaults. |
|
ARM Cortex-M configuration required when testing. Currently, this option is only utilized, to force routing BusFault, HardFault, and NMI exceptions to Secure State, when building a Secure ARMv8-M firmware. This will allow the testing suite to utilize these exceptions, in tests. Note that by default, when building with ARM_SECURE_FIRMWARE set, these exceptions are set to target the Non-Secure state. |
|
This hidden option implements the TEST_USERSPACE logic. It turns on USERSPACE when CONFIG_ARCH_HAS_USERSPACE is set and the test case itself indicates that it exercises user mode via CONFIG_TEST_USERSPACE. |
|
Additional stack for tests on some platform where default is not enough. |
|
This option will help test the flash drivers. This should be enabled only when using qemu_x86. |
|
This option will enable hardware-based stack protection by default for all test cases if the hardware supports it. |
|
Option which implements default policy of enabling logging in minimal mode for all test cases. For tests that need alternate logging configuration, or no logging at all, disable this in the project-level defconfig. |
|
This option signifies that the kernel’s random number APIs are permitted to return values that are not truly random. This capability is provided for testing purposes, when a truly random number generator is not available. The non-random number generator should not be used in a production environment. |
|
Enable various platform and driver related shells for testing. |
|
This option indicates that a test case puts threads in user mode, and that the build system will [override and] enable USERSPACE if the platform supports it. It should be set in a .conf file on a per-test basis and is not meant to be used outside test cases. Tests with this option should also have the “userspace” filtering tag in their testcase.yaml file. The userspace APIs are no-ops if userspace is not enabled, so it is OK to enable this even if the test will run on platforms which do not support userspace. The test should still run on those platforms, just with all threads in supervisor mode. If a test requires that userspace be enabled in order to pass, CONFIG_ARCH_HAS_USERSPACE should be filtered in its testcase.yaml. |
|
A HW platform might not have sufficient MPU/MMU capabilities to support running all test cases with User Mode and HW Stack Protection features simultaneously enabled. For this platforms we execute the User Mode- related tests without enabling HW stack protection. |
|
This options enables number generator based on system timer clock. This number generator is not random and used for testing only. |
|
Enable TLS credentials management subsystem. |
|
Allows clients of the socket APIs to specify filenames of security certificates and private keys to use during subsequent TLS/SSL negotiations. The secure files will have been previously provisioned to the device’s secure file system; eg, via a vendor tool or by executing a separate binary. This option is currently only available for secure socket offload devices. |
|
Maximum number of TLS credentials that can be registered. |
|
Enable system tracing. This requires a backend such as SEGGER Systemview to be enabled as well. |
|
Enable asynchronous tracing. This will buffer all the tracing packets to the ring buffer first, tracing thread will try to output as much data as possible from the buffer when tracing thread get scheduled. |
|
Use posix architecture to output tracing data to file system. |
|
Use UART to output tracing data. |
|
This option specifies the name of UART device to be used for tracing backend. |
|
Use USB to output tracing data. |
|
Size of tracing buffer. If TRACING_ASYNC is enabled, tracing buffer is used as a ring buffer to buffer data packet and string packet. If TRACING_SYNC is enabled, the buffer is used to hold the formated data. |
|
Size of tracing command buffer. |
|
Automatically selected by formats that require the core tracing infrastructure. |
|
Module provides information about percent of CPU usage based on tracing hooks for threads switching in and out, interrupts enters and exits (only distinguishes between idle thread, non idle thread and scheduler). Use provided API or enable automatic logging to get values. |
|
Time period of displaying information about CPU usage. |
|
Periodically displays information about CPU usage. |
|
Enable tracing to a Common Trace Format stream. |
|
Timestamp prefix will be added to the beginning of CTF event internally. |
|
When enabled tracing will handle cmd from host to dynamically enable and disable tracing to have host capture tracing stream data conveniently. |
|
Enable tracing ISRs. This requires the backend to be very low-latency. |
|
None of the available tracing formats is selected. |
|
Max size of one tracing packet. |
|
Enable synchronous tracing. This requires the backend to be very low-latency. |
|
Enable tracing for testing kinds of format purpose. It must implement the tracing hooks defined in tracing_test.h |
|
Stack size of tracing thread. |
|
Tracing thread waiting period given in milliseconds after every first packet put to tracing buffer. |
|
USB tracing backend max packet size(endpoint MPS). |
|
Debug |
|
Error |
|
Info |
|
Off |
|
Warning |
|
This option specifies the name of UART device to be used for the SHELL UART backend. |
|
Builds Zephyr with Undefined Behavior Sanitizer enabled.
This is currently only supported by boards based on the posix
architecture, and requires a recent-ish compiler with the
|
|
Debug |
|
Error |
|
Info |
|
Off |
|
Warning |
|
USB CDC ACM device class driver. Default device name is “CDC_ACM_0”. |
|
Number of instances of this USB Device class. |
|
Device name template for the CDC ACM Devices. First device would have name $(USB_CDC_ACM_DEVICE_NAME)_0, etc. |
|
Debug |
|
Error |
|
Info |
|
Off |
|
Warning |
|
USB CDC ACM ring buffer size |
|
Enable composite USB device driver. |
|
USB Bluetooth device class driver |
|
Enable USB Binary Device Object Store (BOS) |
|
Stack should not handle ZLP for Variable-length Data Stage because it is taken over by the hardware. |
|
Enables USB Human Interface Device support. Default device name is “HID_0”. |
|
Debug |
|
Error |
|
Info |
|
Off |
|
Warning |
|
USB Loopback Function Driver |
|
USB device Manufacturer string. MUST be configured by vendor. |
|
Ethernet Control Model (ECM) is a part of Communications Device Class (CDC) USB protocol specified by USB-IF. |
|
MAC Host OS Address string. MAC Address which would be assigned to network device, created in the Host’s Operating System. Use RFC 7042 Documentation values as default MAC. |
|
Ethernet Emulation Model (EEM) is part of Communications Device Class (CDC) USB protocol and can be used to encapsulate Ethernet frames for transport over USB. |
|
Write to log with NET_DBG or LOG_DBG in addition to previous levels. |
|
Use default log level. |
|
Only write to log when NET_ERR or LOG_ERR is used. |
|
Write to log with NET_INFO or LOG_INF in addition to previous levels. |
|
Do not write to log. |
|
Write to log with NET_WARN or LOG_WRN in addition to previous level. |
|
Remote NDIS (RNDIS) is commonly used Microsoft vendor protocol with Specification available from Microsoft web site. |
|
Enable MS OS Descriptors support |
|
USB device product ID. MUST be configured by vendor. |
|
USB device Product string. MUST be configured by vendor. |
|
This option requires USBD peripheral driver to also support remote wakeup. |
|
Placeholder for USB device Serial Number String. Serial Number String will be derived from Hardware Information Driver (HWINFO). |
|
Enable Start of Frame processing in events |
|
Enable USB device stack. |
|
USB device vendor ID. MUST be configured by vendor. |
|
USB DFU class driver |
|
Default value for bwPollTimeout (in ms) |
|
A thread can wait for a prescribed time (in ms) for DFU to begin |
|
Debug |
|
Error |
|
Info |
|
Off |
|
Warning |
|
Sets bInterfaceSubClass to 1 and enables Set_Protocol and Get_Protocol requests handling. See Chapter 4.2 of Device Class Definition for Human Interface Devices 1.11 for more information. |
|
Number of instances of this USB Device class. |
|
Device name template for the HID Devices. First device would have name $(USB_HID_DEVICE_NAME)_0, etc. |
|
Debug |
|
Error |
|
Info |
|
Off |
|
Warning |
|
Polling interval in ms selected by the USB HID Device. |
|
Sets bIntefaceProtocol in HID instance. 0 = None 1 = Keyboard 2 = Mouse See Chapter 4.3 of Device Class Definition for Human Interface Devices 1.11 for more information. |
|
Number of HID reports in the instance. Must be equal or higher than highest report ID (if they are not consecutive). |
|
USB Mass Storage device class driver |
|
Debug |
|
Error |
|
Info |
|
Off |
|
Warning |
|
Set bMaxPower value in the Standard Configuration Descriptor, the result is 2mA times the value provided. |
|
Number of endpoint write retries. |
|
Set buffer size for Standard, Class and Vendor request handlers |
|
Set Self-powered characteristic in bmAttributes to indicate self powered USB device. |
|
Debug |
|
Error |
|
Info |
|
Off |
|
Warning |
|
Enable Websocket client library. |
|
How many Websockets can be created in the system. |
|
Write to log with NET_DBG or LOG_DBG in addition to previous levels. |
|
Use default log level. |
|
Only write to log when NET_ERR or LOG_ERR is used. |
|
Write to log with NET_INFO or LOG_INF in addition to previous levels. |
|
Do not write to log. |
|
Write to log with NET_WARN or LOG_WRN in addition to previous level. |
|
This options enables number generator based on timestamp counter of x86 boards, obtained with rdtsc instruction. |
|
Enables the Xoroshiro128+ pseudo-random number generator, that uses the entropy driver as a seed source. This is a fast non-cryptographically secure random number generator. It is so named because it uses 128 bits of state. |
|
Enable the Zephyr testing framework. You should enable this only if you’re writing automated tests. |
|
Set verbosity level for assertions. Assertion verbosity levels: 0 Write only file and line for failed assertions 1 Write file, line number, function and reason for failed assertions 2 Log also successful assertions |
|
Stop and abort on first failing test. Do not continue with other tests that might be in the queue. |
|
Enable mocking support for Ztest. This allows the test to set return values and expected parameters to functions. |
|
Maximum amount of concurrent return values / expected parameters. |
|
If the test passed reset the board so it is run again. This may be used as an alternative to manual resets when attempting to reproduce an intermittent failure. |
|
Test function thread stack size |
|
Enable overriding defines in tc_util.h. If True the user should provide tc_util_user_override.h in Zephyr’s include path, e.g. by adding zephyr_include_directories(project PRIVATE my_folder) to a project’s CMakeLists.txt. The override header may now #define the various macros and strings in tc_util.h which are surrounded by #ifndef … #endif blocks. |
|
Set priority of the testing thread. Default is -1 (cooperative). |