Zephyr 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 gen_kconfig_rest.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 |
|
This option is chosen when the backing store will be implemented in the application. This will be typical as these tend to be very hardware-dependent. |
|
This implements a backing store using physical RAM pages that the Zephyr kernel is otherwise unaware of. It is intended for demonstration and testing of the demand paging feature. |
|
Number of pages of backing store memory to reserve in RAM. All test cases for demand paging assume that there are at least 16 pages of backing store storage available. |
|
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. |
|
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. |
|
This option enables Bluetooth Audio support. The specific features that are available may depend on other features that have been enabled in the stack, such as Periodic Advertisement for Broadcast and L2CAP Dynamic Channel for Unicast. |
|
Use this option to enable debug logs for the Bluetooth Audio functionality. |
|
Use this option to enable ISO channels debug logs for the Bluetooth Audio functionality. |
|
This option enables support for Bluetooth Unicast Audio using Isochronous channels. |
|
Initiate Data Length Update Procedure on connection establishment. Disable this if you want the Data Length Update Procedure feature supported but want to rely on the remote device to initiate the procedure at its discretion or want to initiate manually. |
|
Initiate PHY Update Procedure on connection establishment. Disable this if you want the PHY Update Procedure feature supported but want to rely on the remote device to initiate the procedure at its discretion or want to initiate manually. |
|
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 |
|
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 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 |
|
This option disables security checks for incoming requests enabling to test accessing GATT attributes and L2CAP channels that would otherwise require encryption/authentication in order to be accessed. WARNING: This option enables anyone to snoop on-air traffic. Use of this feature in production is strongly discouraged. |
|
The value is a timeout used by peripheral device to wait until it starts the first connection parameters update procedure after a connection has been established. The connection parameters requested will be the parameters set by the application, or the peripheral preferred connection parameters if configured. The default value is set to 5 seconds, to comply with the Bluetooth Core specification: Core 4.2 Vol 3, Part C, 9.3.12.2: “The Peripheral device should not perform a Connection Parameter Update procedure within 5 seconds after establishing a connection.” |
|
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. |
|
Maximum supported advertising auxiliary channel sets. |
|
Maximum number of buffered Advertising Data payload across enabled advertising sets. |
|
Maximum Extended Advertising Data Length. |
|
Enable support for Bluetooth 5.0 LE Advertising Extensions in the Controller. |
|
Generate events indicating on air advertisement events. |
|
Enable support for Bluetooth 5.2 LE Isochronous Advertising in the Controller. |
|
Maximum supported advertising sets. |
|
Enable support for Bluetooth 5.0 LE Periodic Advertising in the Controller. |
|
Maximum supported advertising sets. |
|
Maximum supported periodic advertising sets. |
|
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.2 LE Connected Isochronous Stream Central role in the Controller. |
|
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. |
|
When enabled, controller will have legacy behavior and randomly force priority at next ticker scheduling for peripheral role, if anchor point is missed. Two or more connections with similar interval on a device connected to a peer device having two or more connections at its end with same interval could lock to a round robin pattern where in neither of the central nor peripheral event would be in sync at either end. Randomness allows to break this locked round robin pattern permitting an anchor point sync. |
|
Enable connection RSSI measurement. |
|
Generate events for 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. |
|
Route debug GPIO toggling for the BLE Controller. Enable this when using Bluetooth Controller Debug Pins in co-processor and the main processor needs to setup and/or route the signals. |
|
Enable support for Bluetooth 5.1 Direction Finding |
|
Enable support for Bluetooth v5.1 Connectionless CTE Transmitter feature in controller. |
|
Enable support for 1us antenna switching slots. This antenna switching mode is optional for Direction Finding according to Bluetooth v5.1. |
|
Enable support for antenna switching during CTE reception. Also known as Angle of Arrival mode. |
|
Enable support for antenna switching during CTE transmission. Also known as Angle of Departure mode. |
|
Enable support for Bluetooth v5.1 Connection CTE Response feature in controller. |
|
Enable support for reception of Constant Tone Extension in controller. |
|
Enable reception of Constant Tone Extension. Process IQ sampling during CTE reception with 1us sampling slots. This sampling mode is optional for Direction Finding according to Bluetooth v5.1. |
|
Enable support for transmission of Constant Tone Extension in controller. |
|
Defines maximum length of antenna switch pattern that controller is able to store. For nRF5x-based controllers, the hardware imposes the value is within range 3 to 40, where last value is maximum. For general use cases Bluetooth Core 5.1 spec. required the value to be within range 2 up to 75. |
|
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 Bluetoooth v4.2 Elliptic Curve Diffie-Hellman feature in the controller. |
|
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 |
|
Force MD bit in transmitted PDU based on runtime incoming transmit data throughput. |
|
No. of times to force MD bit to be set in Tx PDU after a successful transmission of non-empty PDU. This will prolong the connection event to from being closed in cases where applications want to send data in same connection event but are slow in providing new Tx data. |
|
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. |
|
Enable mapping of advertising set handles between HCI and LL when using external host since it can use arbitrary numbers as set handles (as defined by Core specification) as opposed to LL which always uses zero-based numbering. When using with Zephyr host this option can be disabled to remove extra mapping logic. |
|
Enable HCI commands to read information about supported codecs, codec capabilities, and controller delay. |
|
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. |
|
Set the number of Isochronous Tx PDUs to be queued for transmission in the controller. |
|
Size of the Isochronous Tx buffers and the value returned in HCI LE Read Buffer Size V2 command response. |
|
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.2 LE Connected Isochronous Stream Peripheral role in the Controller. |
|
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. On OpenISA-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 |
|
Maximum supported auxiliary channel scan sets. |
|
Enforce returning HCI Error Command Disallowed on enabling/disabling already enabled/disabled scanning. |
|
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. |
|
Maximum supported broadcast isochronous groups (BIGs) sync sets. |
|
Maximum supported periodic sync sets. |
|
Scanner will not use time space reservation for scan window when in continuous scan mode. |
|
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. |
|
Enables optional LE Set Host Feature Command |
|
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 support for Bluetooth 5.2 LE Isochronous Advertising sync in the Controller. |
|
Enable support for Bluetooth 5.0 LE Periodic Advertising in Synchronization state in the Controller. |
|
Measure incoming Tx throughput and log the results. |
|
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 uint8_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. |
|
When enabled, controller will accept Connection Parameter Request intervals down to a proprietary minimum value. |
|
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. |
|
Set the size of the White List for LE Controller-based Privacy. On nRF5x-based controllers, the hardware imposes a limit of 8 devices. On OpenISA-based controllers, the hardware imposes a limit of 8 devices. |
|
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. |
|
Enable ADI field in AUX_SCAN_RSP PDU |
|
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 Bluetooth Direction Finding |
|
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. WARNING: This option prints out private security keys such as the Long Term Key. Use of this feature in production is strongly discouraged. |
|
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). WARNING: This option prints out private security keys such as the Long Term Key. Use of this feature in production is strongly discouraged. |
|
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). |
|
Enable support for Bluetooth 5.1 Direction Finding. It will allow to: get information about antennae, configure Constant Tone Extension, transmit CTE and sample incoming CTE. |
|
Enable GATT Device Information service |
|
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. |
|
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 support for Enhanced ATT bearers support. When enabled additional L2CAP channels can be connected as bearers enabling multiple outstanding request. |
|
Number of Enhanced ATT bearers available. |
|
Maximum size incoming PDUs on EATT bearers, value shall include L2CAP headers and SDU length, maximum is limited to 512 bytes payload, which is the maximum size for a GATT attribute, plus 1 byte for ATT opcode. This option influences the stack buffer size and by that may also limit the outgoing MTU. |
|
L2CAP server required security level of EATT bearers: Level 1 (BT_SECURITY_L1) = No encryption or authentication required Level 2 (BT_SECURITY_L2) = Only encryption required Level 3 (BT_SECURITY_L3) = Encryption and authentication required Level 4 (BT_SECURITY_L4) = Secure connection required |
|
This option adds support for ECDH HCI commands. |
|
Select this to enable Extended Advertising API support. This enables support for advertising with multiple advertising sets, extended advertising data, and advertising on LE Coded PHY. It enables support for receiving extended advertising data as a scanner, including support for advertising data over the LE coded PHY. It enables establishing connections over LE Coded PHY. |
|
Select this to enable the use of the Legacy Advertising HCI commands. This option should be used where the capabilities of the controller is not known. If this option is not enabled the controller must support the extended advertising feature. |
|
Maximum number of simultaneous Bluetooth advertising sets supported. |
|
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. |
|
This option enables support for GATT to initiate discovery for CCC handles if the CCC handle is unknown by the application. |
|
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. |
|
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. |
|
This option enables support for the GATT Notify Multiple Characteristic Values procedure. |
|
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 enables HCI RAW command extension so the driver can register it own command table extension. |
|
This option enables HCI RAW access to work over an H:4 transport, note that it still need to be selected at runtime. |
|
This option enables use of H:4 transport for HCI RAW access at build time. |
|
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. |
|
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 |
|
Maximum number of supported local identity addresses. For most products this is safe to leave as the default value (1). |
|
Number of buffers available for incoming Isochronous channel packets. |
|
Maximum MTU for Isochronous channels RX buffers. |
|
Number of buffers available for outgoing Isochronous channel 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 MTU for Isochronous channels TX buffers. |
|
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. |
|
This option enables support for LE Connection oriented Channels with Enhanced Credit Based Flow Control support on 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 ULL LLL split implementation. |
|
Debug |
|
Error |
|
Info |
|
Off |
|
Warning |
|
Maximum number of simultaneous Bluetooth connections supported. |
|
Maximum number of simultaneous Bluetooth isochronous 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). |
|
Use extended advertising commands for operating the advertiser. Extended advertising is faster and uses less memory than legacy advertising, but isn’t supported by all controllers. |
|
Use legacy advertising commands for mesh sending. Legacy advertising is significantly slower than the extended advertising, but is supported by all controllers. |
|
NOTE: This is an advanced setting and should not be changed unless absolutely necessary |
|
This option specifies how many application keys the device can store per network. |
|
Controls whether the Secure network beacon feature is enabled by default. Can be changed through runtime configuration. |
|
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 node configuration debug logs for the Bluetooth Mesh functionality. |
|
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 key management 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 Provisioner debug logs for the Bluetooth Mesh functionality. |
|
Use this option to enable Proxy protocol debug logs. |
|
Use this option to enable Replay protection list debug logs for the Bluetooth Mesh functionality. |
|
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. |
|
Controls the default TTL value for outgoing messages. Can be changed through runtime configuration. |
|
Enable this option to be able to act as a Friend Node. |
|
Controls whether the Friend feature is enabled by default. Can be changed through runtime configuration. |
|
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. |
|
Controls whether the GATT Proxy feature is enabled by default. Can be changed through runtime configuration. |
|
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. |
|
The number of buffers allocated for the network loopback mechanism. Loopback is used when the device sends messages to itself. |
|
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. |
|
Automatically subscribe all nodes address when friendship established. |
|
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. |
|
Controls the initial number of retransmissions of original messages, in addition to the first transmission. Can be changed through runtime configuration. |
|
Controls the initial interval between retransmissions of original messages, in milliseconds. Can be changed through runtime configuration. |
|
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. |
|
Timeout value of retransmit provisioning PDUs. |
|
Enable this option to allow the device to be provisioned over GATT. |
|
Enable this option to have support for provisioning remote devices. |
|
Enable this option to allow the device to be provisioned into a mesh network. |
|
This option specifies how many Proxy Filter entries the local node supports. |
|
Support for acting as a Mesh Relay Node. |
|
Controls whether the Mesh Relay feature is enabled by default. Can be changed through runtime configuration. |
|
Controls the initial number of retransmissions of relayed messages, in addition to the first transmission. Can be changed through runtime configuration. |
|
Controls the initial interval between retransmissions of relayed messages, in milliseconds. Can be changed through runtime configuration. |
|
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 number of segments supported for incoming 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 receive. 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 incoming 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. |
|
Maximum number of simultaneous incoming multi-segment and/or reliable messages. |
|
The incoming and outgoing segmented messages allocate their segments from the same pool. Each segment is a 12 byte block, and may only be used by one message at the time. Outgoing messages will allocate their segments at the start of the transmission, and release them one by one as soon as they have been acknowledged by the receiver. Incoming messages allocate all their segments at the start of the transaction, and won’t release them until the message is fully received. |
|
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 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. |
|
Maximum number of simultaneous outgoing multi-segment and/or reliable messages. |
|
Maximum number of transport message segment retransmit attempts for outgoing segment message. |
|
Maximum time of retransmit segment message to group address. |
|
Maximum time of retransmit segment message to unicast address. |
|
This option specifies the interval (in seconds) at which the device sends unprovisioned beacon. |
|
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. WARNING: This option stores a hardcoded Out-of-Band value in the image. Use of this feature in production is strongly discouraged. |
|
Enable Object Transfer Service. |
|
Size of RX MTU for Object Transfer Channel |
|
Debug |
|
Error |
|
Info |
|
Off |
|
Warning |
|
Maximum number of available OTS instances |
|
Maximum number of objects that each service instance can store |
|
Support OACP Read Operation |
|
Support OLCP Go To Operation |
|
Register OTS as Secondary Service |
|
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. |
|
Select this to enable Periodic Advertising API support. This allows the device to send advertising data periodically at deterministic intervals. Scanners can synchronize to the periodic advertisements to periodically get the data. |
|
Select this to enable Periodic Advertising Sync API support. Syncing with a periodic advertiser allows the device to periodically and deterministic receive data from that device in a connectionless manner. |
|
Maximum number of simultaneous periodic advertising syncs supported. |
|
Enable support for Bluetooth 5.0 PHY Update Procedure. |
|
Enable local Privacy Feature support. This makes it possible to use Resolvable Private Addresses (RPAs). |
|
bt_recv is called from RX thread |
|
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. |
|
This option disables Just Works and Passkey legacy pairing methods to increase security. |
|
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 disables Legacy and LE SC pairing and forces legacy OOB. |
|
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 is using the predefined Diffie-Hellman private/public key pair as described in the Core Specification Vol 3, Part H, 2.3.5.6.1. WARNING: This option potentially enables anyone to decrypt on-air traffic. Use of this feature in production is strongly discouraged. |
|
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). |
|
Enable GATT TX Power service |
|
Debug |
|
Error |
|
Info |
|
Off |
|
Warning |
|
Enable application access to initiate the Data Length Update Procedure. The application can also a register callback to be notified about Data Length changes on the connection. The current Data Length info is available in the connection info. |
|
Enable application access to initiate the PHY Update Procedure. The application can also register a callback to be notified about PHY changes on the connection. The current PHY info is available in the connection info. |
|
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. WARNING: This option enables anyone to decrypt on-air traffic. Use of this feature in production is strongly discouraged. |
|
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 |
|
Enable support for program download over CANopen according to the CiA 302-3 (draft) specification. |
|
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 |
|
If set, enables support for a callback that is invoked when the remote host changes the virtual baud rate. This is used by Arduino style programmers to reset the device into the bootloader. |
|
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. |
|
If enabled, the initial ACK timeout will be randomized, as specified in RFC 7252, i.e. will be a random number between ACK_TIMEOUT and ACK_TIMEOUT * ACK_RANDOM_FACTOR (where ACK_TIMEOUT is specified by COAP_INIT_ACK_TIMEOUT_MS option). Otherwise, the initial ACK timeout will be fixed to the value of COAP_INIT_ACK_TIMEOUT_MS option. |
|
Do not enable this for normal use. |
|
This option enables MQTT-style wildcards in path. Disable it if resource path may contain plus or hash symbol. |
|
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. |
|
Debug |
|
Error |
|
Info |
|
Off |
|
Warning |
|
This shell provides access to date and time based on Unix time. |
|
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. |
|
Enable core dump so it can be used for offline debugging. |
|
Core dump is saved to a flash partition with DTS alias “coredump-partition”. |
|
Core dump is done via logging subsystem. |
|
Dumps the memory region between _image_ram_start[] and _image_ram_end[]. This includes at least data, noinit, and BSS sections. This is the default. |
|
Only dumps the bare minimum memory content. For example, the thread struct and stack of the exception thread will be dumped. Don’t use this unless you want absolutely minimum core dump. |
|
This shell provides access to coredump and its backends. |
|
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. |
|
This option is deprecated, please use CONFIG_PM_DEVICE instead. |
|
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 sdmmc accessed through stm32 sdmmc. |
|
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 the file system sector size in bytes. |
|
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. |
|
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. |
|
This option enables DNS Service Discovery for Zephyr. It can be enabled for virtually any network service with only a few lines of code and works for both Unicast and Multicast DNS. See RFC 6763 for more details about DNS-SD. |
|
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 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. |
|
Enable host command processing for embedded controllers on notebook computers. Enabling this option requires specifying a chosen zephyr,ec-host-interface device as the ec host command peripheral that receive incoming host command requests to process. |
|
Stack size for the EC host command handler thread |
|
Buffer size in bytes for TX buffer shared by all EC host commands |
|
Debug |
|
Error |
|
Info |
|
Off |
|
Warning |
|
Debug |
|
Error |
|
Info |
|
Off |
|
Warning |
|
Enable Emulation Driver Configuration These drivers are used to emulate hardware devices, to support testing of various subsystems. For example, it is possible to write an emulator for an I2C compass such that it appears on the I2C bus and can be used just like a real hardware device. Emulators often implement special features for testing. For example a compass may support returning bogus data if the I2C bus speed is too high, or may return invalid measurements if calibration has not yet been completed. This allows for testing that high-level code can handle these situations correctly. Test coverage can therefore approach 100% if all failure conditions are emulated. |
|
This is an emulator for the Bosch BMI160 accelerometer. It provides readings which follow a simple sequence, thus allowing test code to check that things are working as expected. It supports both I2C and SPI which is why it is not in one of the i2c/ or spi/ directories. |
|
This is an emulator for the Atmel AT24 series of I2C-attached EEPROMs. At present it only supports 8-bit addressing. The size of the EEPROM is given by the ‘size’ property. See the binding for further details. |
|
This is an emulator of the generic eSPI host. The emulator supports basic host operations - virtual wires and writing to port 80. It can be extended. |
|
Emulation device driver initialisation priority. |
|
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 is chosen when the eviction algorithm will be implemented by the application, instead of using one included in Zephyr. |
|
This implements a Not Recently Used page eviction algorithm. A periodic timer will clear the accessed state of all virtual pages. When a page frame needs to be evicted, the algorithm will prefer to evict page frames using an ascending order of priority:
|
|
A periodic timer will fire that clears the accessed state of all virtual pages that are capable of being paged out. At eviction time, if a page still has the accessed property, it will be considered as recently used. |
|
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. |
|
Specify the maximum file name allowed across all enabled file system types. Zero or a negative value selects the maximum file name length for enabled in-tree file systems. This default may be inappropriate when registering an out-of-tree file system. Selecting a value less than the actual length supported by a file system may result in memory access violations. |
|
Zephyr provides several file system types including FatFS and LittleFS, but it is possible to define additional ones and register them. A slot is required for each type. |
|
This shell provides basic browsing of the contents of the file system. |
|
If enabled, there will be available the backend to check flash integrity using SHA-256 verification algorithm. |
|
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 (twister) 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) |
|
Enable the exFAT format support for FatFs. |
|
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 supported sector size |
|
This option translates to _USE_MKFS within ELM FAT file system driver; it enables additional code that is required for formatting volumes to ELM FAT. |
|
This option adds code that allows fs_mount to attempt to format a volume if no file system is found. If formatting is not needed, disabling this flag will slightly reduce application size. |
|
Maximum number of opened directories |
|
Maximum number of opened files |
|
The option excludes write code from ELM FAT file system driver; when selected, it no longer will be possible to write data on the FAT FS. If write support is not needed, enabling this flag will slightly reduce application size. This option translates to _FS_READONLY within ELM FAT file system driver; it enables exclusion, from compilation, of write supporting code. |
|
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. When applications customize littlefs configurations and support different cache sizes for different partitions this preallocation is inadequate as an application might require a small number of files using a large cache size and a larger number of files using a smaller cache size. In that case application should provide a positive value for the heap size. Be aware that there is a per-allocation overhead that affects how much usable space is present in the heap. If this option is set to a non-positive value the heap is sized to support up to FS_LITTLE_FS_NUM_FILES blocks of FS_LITTLEFS_CACHE_SIZE bytes. Until FS_LITTLEFS_FC_MEM_POOL is removed presence of that option changes the default to support FS_LITTLEFS_FC_MEM_POOL_NUM_BLOCKS allocations of size FS_LITTLEFS_MEM_POOL_MAX_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. This API is no longer approprate as the underlying storage solution has been deprecated. Instead use FS_LITTLEFS_FC_HEAP_SIZE to configure the size of a heap used to allocate caches for open files. |
|
A heap for file cache data is sized so that FS_LITTLEFS_FC_MEM_POOL_NUM_BLOCKS allocations of size FS_LITTLEFS_MEM_POOL_MAX_SIZE can be active simultaneously. This option configures the size. This API is no longer approprate as the underlying storage solution has been deprecated. Instead use FS_LITTLEFS_FC_HEAP to configure the size of a heap used to allocate caches for open files. |
|
This API is no longer approprate as the underlying storage solution has been deprecated. Instead use FS_LITTLEFS_FC_HEAP to configure the size of a heap used to allocate caches for open files. |
|
A heap for file cache data is sized so that FS_LITTLEFS_FC_MEM_POOL_NUM_BLOCKS allocations of size FS_LITTLEFS_MEM_POOL_MAX_SIZE can be active simultaneously. This option configures the total heap size based on the block size. This API is no longer approprate as the underlying storage solution has been deprecated. Instead use FS_LITTLEFS_FC_HEAP to configure the size of a heap used to allocate caches for open files. |
|
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 |
|
Sets the MAXIMUM size of chunk which will be rounded down to number of bytes that, with all the required headers, will fit into MCUMGR_BUF_SIZE. This means that actual value might be lower then selected, in which case compiler warning will be issued. Look inside fs_mgmt_config.h for details. Note that header sizes are affected by FS_MGMT_MAX_OFFSET_LEN. |
|
By default file chunk, that will be read off storage and fit into mcumgr frame, is automatically calculated to fit into buffer of size MCUGMR_BUF_SIZE with all headers. Enabling this option allows to set MAXIMUM value that will be allowed for such chunk. Look inside fs_mgmt_config.h for details. |
|
Files that have size up to 4GB require 1 to 5 bytes to encode size/offset within CBOR frame with file chunk. |
|
Files that have size up to 64KB require 1 to 3 bytes to encode size/offset within CBOR frame with file chunk. |
|
Maximal byte length of encoded offset/size, within transferred CBOR frame containing chunk of downloaded file. This value affects how much of data will fit into download buffer, as it selects sizes of fields within headers. NOTE: This option is hidden intentionally as it is intended to be assigned from limited set of allowed values, depending on the selection made in FS_MGMT_MAX_FILE_SIZE menu. |
|
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. |
|
This option enable support the target using GDB, or any other application that supports GDB protocol. |
|
Use serial as backenf for GDB |
|
Use serial as backenf for GDB |
|
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. |
|
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. |
|
This option blocks selection of PM. It can be selected in SOC targets where system power management is not supported, for example on support core of a multi-core device where SoC power management is the responsibility of a different core. |
|
Hawkbit is a domain independent back-end framework for polling out software updates to constrained edge devices as well as more powerful controllers and gateways connected to IP based networking infrastructure. |
|
Debug |
|
Error |
|
Info |
|
Off |
|
Warning |
|
Set the interval that the hawkbit update server will be polled. This time interval is zero and 43200 minutes(30 days). |
|
Configure the hawkbit port number. |
|
Configure the hawkbit server address. |
|
Activate shell module that provides Hawkbit commands. |
|
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, there will be available the function to check flash integrity. It can be used to verify flash integrity after received a new firmware. This is useful to avoid firmware reboot and test. Another use is to ensure that firmware upgrade routines from internet server to flash slot are performing properly. |
|
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 |
|
Returns dummy image header data for imgr functions, useful when there are no images present, Eg: unit tests. |
|
When enabled, the mcumgr will compare base address of application, encoded into .bin file header with use of imgtool, on upload and will reject binaries that would not be able to start from available Direct-XIP address. The base address can be set, to an image binary header, with imgtool, using the –rom-fixed command line option. |
|
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. |
|
Enable verbose logging during a firmware upgrade. |
|
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. |
|
Debug |
|
Error |
|
Info |
|
Off |
|
Warning |
|
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 for the host trace protocol of the Intel ADSP family of audio processors |
|
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. |
|
When enabled automatically start the networking backend on application start. If no routes to the logging server are available on application startup, this must be set to n and the backend must be started by the application later on. Otherwise the logging thread might block. |
|
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 OpenThread dedicated SPINEL protocol for logging. This protocol is byte oriented and wrapps given messages into serial frames. Backend should be enabled only to OpenThread purposes and when UART backend is disabled or works on antoher UART device to avoid interference. |
|
Specify reserved size of up-buffer used for logger output. |
|
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. |
|
When enabled, logs are redirected to a custom frontend instead of being processed by the logger. In this mode runtime filtering and multiple backends are not used. |
|
Debug messages prepended |
|
Error messages prepended |
|
Info messages prepended |
|
Warning messages prepended |
|
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 MIPI SyS-T format output for the logger system. |
|
Log messages are buffered and processed later. This mode has the least impact on the application. Time consuming processing is deferred to the known context. |
|
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. |
|
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(). |
|
If enabled, then if there is no space to log a new message, the oldest one is dropped. If disabled, current message is dropped. |
|
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 |
|
Asia 923MHz Frequency band |
|
Australia 915MHz Frequency band |
|
China 470MHz Frequency band |
|
China 779MHz Frequency band |
|
Europe 433MHz Frequency band |
|
Europe 868MHz Frequency band |
|
India 865MHz Frequency band |
|
South Korea 920MHz Frequency band |
|
Russia 864MHz Frequency band |
|
Unknown region |
|
North America 915MHz Frequency band |
|
This option enables LoRaWAN support. |
|
Debug |
|
Error |
|
Info |
|
Off |
|
Warning |
|
System Max Rx timing error value in ms to be used by LoRaWAN stack for calculating the RX1/RX2 window timing. |
|
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 external device info 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 IPSO object can be used to prototype a sensor. |
|
This setting establishes the total count of IPSO Generic Sensor instances available to the LWM2M client. |
|
Name that will show up in debug output when object is created |
|
Add a non-standard timestamp resource to each object. |
|
The type of the sensor (for instance PIR type). |
|
This IPSO object can be used to prototype a sensor. |
|
This setting establishes the total count of IPSO Humidity Sensor instances available to the LWM2M client. |
|
Add a non-standard timestamp resource to each object. |
|
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 IPSO object can be used to prototype a sensor. |
|
This setting establishes the total count of IPSO Pressure Sensor instances available to the LWM2M client. |
|
Add a non-standard timestamp resource to each 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 |
|
Set the transport binding to UDP with Queue Mode (UQ). |
|
This config specifies time (in seconds) the device should stay online after sending a message to the server. Note, that LWM2M specification recommends this to be CoAP MAX_TRANSMIT_WAIT parameter (which defaults to 93 seconds, see RFC 7252), it does not forbid other values though. |
|
Default: room for 32 hexadeciaml digits (UUID) + NULL |
|
Specify maximum number of registration retries, before the application is notified about the network failure. Once application is notified, it’s up to the application to handle this situation in a way appropriate for the specific use-case (for instance by waiting for LTE link to be re-established). |
|
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 |
|
Time in seconds before the registration timeout, when the LWM2M Registration Update is sent by the engine. In networks with large round trip times (like NB-IoT), it might be needed to set this value higher, in order to allow the response to arrive before timeout. |
|
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. |
|
Enable shell module, which provides information about image slots and allows to perform such operations as: confirm, erase and request upgrade. |
|
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. |
|
Debug |
|
Error |
|
Info |
|
Off |
|
Warning |
|
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. For UDP, the userdata must be large enough to hold a IPv4/IPv6 address. Note that CONFIG_NET_BUF_USER_DATA_SIZE must be at least as big as MCUMGR_BUF_USER_DATA_SIZE. |
|
Enables mcumgr handlers for file management This option allows mcumgr clients to access anything in the file system, including application-stored secrets like private keys. Use of this feature in production is strongly discouraged. |
|
Enables mcumgr handlers for image management |
|
Enables mcumgr handlers for OS management |
|
Enables mcumgr handlers for shell management. The handler will utilize the dummy backend to execute shell commands and capture the output to an internal memory buffer. This way, there is no interaction with physical interfaces outside of the scope of the user. It is possible to use additional shell backends in coordination with this handler and they will not interfere. |
|
Enables mcumgr handlers for statistics management. |
|
Debug |
|
Error |
|
Info |
|
Off |
|
Warning |
|
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 |
|
Number of buffers used for receiving SMP fragments over shell. |
|
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 |
|
Enables handling of SMP commands received over UDP. Will start a thread for listening on the configured UDP port. |
|
Enable SMP UDP using IPv4 addressing. Can be enabled alongside IPv6 addressing. |
|
Enable SMP UDP using IPv6 addressing. Can be enabled alongside IPv4 addressing. |
|
Maximum size of SMP frames sent and received over UDP, in bytes. This value must satisfy the following relation: MCUMGR_SMP_UDP_MTU <= MCUMGR_BUF_SIZE + SMP msg overhead - address size where address size is determined by IPv4/IPv6 selection. |
|
UDP port that SMP server will listen for SMP commands on. |
|
Stack size of the SMP UDP listening thread |
|
Scheduling priority of the SMP UDP listening thread. |
|
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. |
|
Selecting this option ensures that the MDNS Responder processes PTR, SRV, and TXT records according to RFC 6763. By doing so, Zephyr network services are discoverable using e.g. ‘avahi-browse -t -r _greybus._tcp’. |
|
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 |
|
The maximum size of a CBOR attribute during decoding |
|
Debug |
|
Error |
|
Info |
|
Off |
|
Warning |
|
Debug |
|
Error |
|
Info |
|
Off |
|
Warning |
|
When a client connects to a MQTT broker using a persistent session, the message broker saves all subscriptions. When the client disconnects, the message broker stores unacknowledged QoS 1 messages and new QoS 1 messages published to topics to which the client is subscribed. When the client reconnects to the persistent session, all subscriptions are reinstated and all stored messages are sent to the client. Setting this flag to 0 allows the client to create a persistent session. |
|
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. |
|
It is possible to time out receiving a network packet. The timeout time is configurable run-time in the application code. For network sockets timeout is configured per socket with setsockopt(sock, SOL_SOCKET, SO_RCVTIMEO, …) function. |
|
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. |
|
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. |
|
The priority1 attribute of the local clock. It is used in the Best Master Clock selection Algorithm (BMCA), lower values take precedence. The default value is 255 if the device is non grand master capable, and 248 if it is GM capable. See Chapter 8.6.2.1 of IEEE 802.1AS for a more detailed description of priority1. Note that if the system is non GM capable, then the value 255 is used always and this setting is ignored. |
|
The priority2 attribute of the local clock. It is used in the BMCA (Best Master Clock selection Algorithm), lower values take precedence. The default value is 248. See Chapter 8.6.2.5 of IEEE 802.1AS for a more detailed description of priority2. |
|
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. |
|
This will update the unique hostname on link address changes. By default, this option is disabled, which means the unique hostname is set once at start-up and is not updated afterwards. |
|
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 |
|
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 through 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 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. |
|
Use the DNS servers negotiated in the IPCP configuration. |
|
Enable support for PAP authentication protocol. |
|
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. |
|
Allow user to monitor network events from net shell using “net events [on|off]” command. The monitoring is disabled by default. Note that you should probably increase the value of NET_MGMT_EVENT_QUEUE_SIZE from the default in order not to miss any events. |
|
Allow user to start monitoring network events automatically when the system starts. The auto start is disabled by default. The default UART based shell is used to print data. |
|
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. |
|
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. |
|
Store receive statistics detail information in certain key points in RX path. This is very special configuration and will increase the size of net_pkt so in typical cases you should not enable it. The extra statistics can be seen in net-shell using “net stats” command. |
|
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, TCP or RAW packets, but for TX we do not know the protocol so the TX packet timing is done for all network protocol packets. |
|
Store receive statistics detail information in certain key points in TX path. This is very special configuration and will increase the size of net_pkt so in typical cases you should not enable it. The extra statistics can be seen in net-shell using “net stats” command. |
|
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. |
|
Connect to host system via Qemu’s built-in User Networking support. This is implemented using “slirp”, which provides a full TCP/IP stack within QEMU and uses that stack to implement a virtual NAT’d network. |
|
Extra arguments passed to QEMU when User Networking is enabled. This may include host / guest port forwarding, device id, Network address information etc. This string is appended to the QEMU “-net user” option. |
|
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. |
|
Activates multicast routing/forwarding |
|
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. |
|
Choose y here if you would like to use the socketpair(2) system call. |
|
Buffer size for socketpair(2) |
|
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. |
|
If enabled, the offloading engine is expected to handle TLS/DTLS socket calls. Othwerwise, Zephyrs native TLS socket implementation will be used, and only TCP/UDP socket calls will be offloaded. |
|
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. |
|
For AF_PACKET sockets with SOCK_DGRAM type, the L2 header is removed before the packet is passed to the user. Packets sent through a SOCK_DGRAM packet socket get a suitable L2 header based on the information in the sockaddr_ll destination address before they are queued. |
|
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 supported application layer protocols over TLS/DTL that can be set explicitly by a socket option. By default, no supported application layer protocol is set. |
|
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. |
|
Call mbedtls_ssl_conf_max_frag_len() on created TLS context configuration, so that Maximum Fragment Length (MFL) will be sent to peer using RFC 6066 max_fragment_length extension. Maximum Fragment Length (MFL) value is automatically chosen based on MBEDTLS_SSL_OUT_CONTENT_LEN and MBEDTLS_SSL_IN_CONTENT_LEN mbed TLS macros (which are configured by CONFIG_MBEDTLS_SSL_MAX_CONTENT_LEN in case of default mbed TLS config). This is mostly useful for TLS client side to tell TLS server what is the maximum supported receive record length. |
|
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. |
|
This will provide how many time a network interface went suspended, for how long the last time and on average. |
|
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 legacy TCP stack that has been in use since Zephyr 1.0. The legacy TCP stack is deprecated and you should use the new TCP stack instead. The legacy TCP stack will be removed in 2.6 release. |
|
Enable new TCP stack for Zephyr 2.4 |
|
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. |
|
This value affects how the TCP selects the maximum sending window size. The default value 0 lets the TCP stack select the value according to amount of network buffers configured in the system. |
|
If we receive out-of-order TCP data, we queue it. This value tells how long the data is kept before it is discarded if we have not been able to pass the data to the application. If set to 0, then receive queing is not enabled. The value is in milliseconds. Note that we only queue data sequentially in current version i.e., there should be no holes in the queue. For example, if we receive SEQs 5,4,3,6 and are waiting SEQ 2, the data in segments 3,4,5,6 is queued (in this order), and then given to application when we receive SEQ 2. But if we receive SEQs 5,4,3,7 then the SEQ 7 is discarded because the list would not be sequential as number 6 is be missing. |
|
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. |
|
With co-operative threads, the thread cannot be pre-empted. |
|
With pre-emptive threads, the thread can be pre-empted. |
|
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.) |
|
Enable Backbone Router functionality |
|
Enable Border Agent support |
|
Enable Border Router support |
|
Default Channel |
|
Enable channel manager support |
|
Enable channel monitor support |
|
Enable child supervision support |
|
Enable CoAP API for the application with use of OpenThread stack |
|
Enable Secure CoAP API support |
|
Enable CoAP Block-wise option support |
|
Enable CoAP Observe option support |
|
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 10KB. |
|
The platform-specific string to insert into the OpenThread version string |
|
Enable Co-Processor in OpenThread stack. |
|
NCP - Network Co-Processor |
|
RCP - Radio Co-Processor |
|
Is the SPINEL device a USB-CDC-ACM device. |
|
UART device to use for Co-Processor SPINEL. |
|
TX buffer size for the OpenThread Co-Processor UART. |
|
Provides path to compile vendor hook file. |
|
Enable CSL Receiver support for Thread 1.2 |
|
CSL receiver wake up margin in units of 10 symbols |
|
CSL sample window in units of 10 symbols |
|
This option is intended for advanced users only. Pass additional parameters that do not have corresponding Kconfig options to the OpenThread build system. Separate multiple values with space ” “, for example: “OPENTHREAD_CONFIG_JOINER_ENABLE=1 OPENTHREAD_CONFIG_JOINER_MAX_CANDIDATES=3” |
|
This option enables logging support for OpenThread. |
|
Enable DHCPv6 client support |
|
Enable DHCPv6 server support |
|
Enable OpenThread CLI diagnostic commands |
|
Enable DNS client support |
|
Enable Domain Unicast Address feature for Thread 1.2 |
|
Enable ECDSA support |
|
Enable Thread Services capability in OpenThread stack |
|
Enable external heap support |
|
FTD - Full Thread Device |
|
Enable OpenThread full logs |
|
Enable IPv6 fragmentation support |
|
Enable Jam detection support |
|
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 10KB. |
|
Enable automatic joiner start |
|
Default pre shared key for the 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. |
|
Enable legacy network support |
|
Critical |
|
Debug |
|
Enable dynamic log level control |
|
Informational |
|
Notice |
|
Warning |
|
When enabled the OpenThread logs will be prepended with the appropriate log level prefix i.e. [CRIT], [WARN], [NOTE], [INFO], [DEBG]. |
|
Enable MAC filter support |
|
Set y if the radio supports AckTime event |
|
Set y to enable software CSMA backoff. The option can be disabled if the radio has hardware support for this feature (IEEE802154_HW_CSMA). |
|
Set y if the radio supports tx retry logic with collision avoidance (CSMA) |
|
If enabled, OpenThread stack will have to be configured and started manually, with respective API calls or CLI/NCP commands. Otherwise, OpenThread will configure the network parametrs and try to join the Thread network automatically during initialization (using credentials stored in persistend storage, obtained during commissioning or pre-commissioned with other Kconfig options, depending on configuration used). |
|
Master Key for OpenThread with format “00:11:22:33:44:55:66:77:88:99:aa:bb:cc:dd:ee:ff” |
|
The maximum number of children |
|
The maximum number of IPv6 address registrations per child |
|
The maximum number of state-changed callback handlers set using otSetStateChangedCallback. |
|
Enable built-in mbedtls for use with OpenThread |
|
This option allows to specify one or more mbedtls library files to be linked with OpenThread. Separate multiple values with space ” “. |
|
Enable MLE long routes extension (experimental, breaks Thread conformance) |
|
Enable Multicast Listener Registration support for Thread 1.2 |
|
MTD - Minimal Thread Device |
|
Enable TMF network diagnostics on MTDs |
|
SED - Sleepy End Device |
|
Enable OpenThread multiple instances |
|
The size of the NCP buffers. |
|
Network name for OpenThread |
|
“The number of message buffers in the buffer pool.” |
|
Enable OTNS support |
|
Default PAN ID |
|
List size for IPv6 packet buffering |
|
Platform information for OpenThread |
|
Enable platform netif support |
|
Enable platform UDP support |
|
Set y if the platform provides microsecond backoff timer implementation. |
|
Poll period for sleepy end devices [ms] |
|
Enable support for IEEE802.15.4 radio link |
|
Thread Radio Encapsulation Link (TREL) |
|
OpenThread radio transmit workqueue stack size |
|
Enable raw Link support |
|
Enable Thread Certification reference device support in OpenThread stack |
|
Enable volatile-only storage of settings |
|
Enable OpenThread shell |
|
Enable SLAAC support |
|
Enable SNTP Client support |
|
Build Zephyr’s OpenThread port from sources. |
|
Enable SRP Client support |
|
Enable SRP Server support |
|
Set Openthread thread to be preemptive |
|
OpenThread thread priority |
|
OpenThread thread stack size |
|
Version 1.1 |
|
Version 1.2 |
|
Enable the time synchronization service feature |
|
The number of EID-to-RLOC cache entries. |
|
Enable UDP forward support |
|
Extended PAN ID for OpenThread with format “de:ad:00:be:ef:00:ca:fe” |
|
Add support for Open Supervised Device Protocol (OSDP) |
|
Time in seconds to wait after a command failure, and before retrying or issuing further commands. |
|
OSDP Secure Channel uses AES-128 to secure communication between CP and PD. Provide an available crypto driver name here. |
|
Set the logging level for the OSDP driver |
|
Hexadecimal string representation of the the 16 byte OSDP Secure Channel master Key. This is a mandatory key when secure channel is enabled. |
|
Configure this device to operate as a CP (Control Panel) |
|
Configure this device to operate as a PD (Peripheral Device) |
|
In PD mode, number of connected PDs is is always 1 and cannot be configured. |
|
Prints bytes sent/received over OSDP to console for debugging. LOG_HEXDUMP_DBG() is used to achieve this and can be very verbose. |
|
The 7 least significant bits represent the address of the PD to which the message is directed, or the address of the PD sending the reply. Address 0x7F is reserved as a broadcast address to which all PDs would respond. |
|
Comma Separated Values of PD addresses. The number of values in this string should exactly match the number of connected PDs specified above |
|
Possible values: - 01: the PD sends card data to the CP as array of bits, not exceeding 1024 bits. - 02: the PD sends card data to the CP as array of BCD characters, not exceeding 256 characters. - 03: the PD can send card data to the CP as array of bits, or as an array of BCD characters. |
|
Possible values: - 01: PD monitors and reports the state of the circuit without any supervision. The PD encodes the circuit status per its default interpretation of contact state to active/inactive status. - 02: Like 01, plus: The PD accepts configuration of the encoding of the open/closed circuit status to the reported active/inactive status. (User may configure each circuit as “normally closed” or “normally open”.) - 03: Like 02, plus: PD supports supervised monitoring. The operating mode for each circuit is determined by configuration settings. - 04: Like 03, plus: the PD supports custom End-Of-Line settings within the Manufacturer’s guidelines. |
|
The number of Inputs |
|
Possible values: - 01: The PD is able to activate and deactivate the Output per direct command from the CP. - 02: Like 01, plus: The PD is able to accept configuration of the Output driver to set the inactive state of the Output. The typical state of an inactive Output is the state of the Output when no power is applied to the PD and the output device (relay) is not energized. The inverted drive setting causes the PD to energize the Output during the inactive state and de-energize the Output during the active state. This feature allows the support of “fail-safe/fail-secure” operating modes. - 03: Like 01, plus: The PD is able to accept timed commands to the Output. A timed command specifies the state of the Output for the specified duration. - 04: Like 02 and 03 - normal/inverted drive and timed operation. |
|
The number of Outputs. |
|
Possible values: - 01: the PD support on/off control only - 02: the PD supports timed commands |
|
The number of audible annunciators per reader |
|
Possible values: - 01: the PD support on/off control only - 02: the PD supports timed commands - 03: like 02, plus bi-color LEDs - 04: like 02, plus tri-color LEDs |
|
The number of LEDs per reader. |
|
Possible values: - 00: The PD has no text display support - 01: The PD supports 1 row of 16 characters - 02: the PD supports 2 rows of 16 characters - 03: the PD supports 4 rows of 16 characters - 04: TBD. |
|
Number of textual displays per reader |
|
Possible values: - 00: The PD does not support time/date functionality - 01: The PD understands time/date settings per Command osdp_TDSET - 02: The PD is able to locally update the time and date |
|
The number of commands that can be queued to a given PD. In CP mode, the queue size is multiplied by number of connected PD so this can grow very quickly. |
|
|
|
Manufacturer’s model number. Least 8 bits are valid. |
|
A 4-byte serial number for the PD. |
|
IEEE assigned OUI. Least 24 bits are valid. |
|
Manufacturer’s version of this product. Least 8 bits are valid. |
|
The Control Panel must query the Peripheral Device periodically to maintain connection sequence and to get status and events. This option defined the number of times such a POLL command is sent per second. |
|
Hexadecimal string representation of the the 16 byte OSDP PD Secure Channel Base Key. When this field is sent to “NONE”, the PD is set to “Install Mode”. In this mode, the PD would allow a CP to setup a secure channel with default SCBK. Once as secure channel is active with the default key, the CP can send a KEYSET command to set new keys to the PD. It is up to the user to make sure that the PD enters the “Install Mode” only during provisioning time (controlled environment). |
|
Secure the OSDP communication channel with encryption and mutual authentication. |
|
Time in seconds to wait after a secure channel failure, and before retrying to establish it. |
|
Thread stack size for osdp refresh thread |
|
OSDP defines that baud rate can be either 9600 or 38400 or 115200. |
|
OSDP RX and TX buffer FIFO length. |
|
This option specifies the name of UART device to be used for OSDP |
|
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 |
|
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. |
|
Debug |
|
Error |
|
Info |
|
Off |
|
Warning |
|
Debug |
|
Error |
|
Info |
|
Off |
|
Warning |
|
This option enables the board to implement extra power management policies whenever the kernel becomes idle. The kernel informs the power management subsystem of the number of ticks until the next kernel timer is due to expire. |
|
Enable System Power Management debugging hooks. |
|
This option enables the device power management interface. The interface consists of hook functions implemented by device drivers that get called by the power manager application when the system is going to suspend state or resuming from suspend state. This allows device drivers to do any necessary power management operations like turning off device clocks and peripherals. The device drivers may also save and restore states in these hook functions. |
|
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. |
|
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 |
|
Max number of devices support power management |
|
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. |
|
Use the residency policy implementation for TI CC13x2/CC26x2 |
|
Use the default residency policy implementation |
|
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. |
|
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 |
|
Debug |
|
Error |
|
Info |
|
Off |
|
Warning |
|
Debug |
|
Error |
|
Info |
|
Off |
|
Warning |
|
RNDIS bulk endpoint size |
|
RNDIS interrupt endpoint size |
|
Enables support for a service that can be shared by multiple users to establish RPMsg endpoints for given channel. |
|
This option must be selected when separate IPMs are used for TX and RX communication |
|
The endpoints must be registered before RPMsg Service is initialized. If in doubt, do not modify this value. |
|
The order of RPMsg Service initialization and endpoints registration is important to avoid race conditions in RPMsg endpoints handshake. If in doubt, do not modify this value. |
|
This option specifies the IPM device name to be used |
|
This option specifies the IPM device name to be used for RX communication |
|
This option specifies the IPM device name to be used for TX communication |
|
RPMsg master |
|
RPMsg remote |
|
Maximal number of endpoints that can be registered for given RPMsg service. |
|
This option specifies base address of the memory region to be used for the OpenAMP IPC shared memory |
|
This option specifies size of the memory region to be used for the OpenAMP IPC shared memory |
|
This option must be selected when single IPM is used for both TX and RX communication |
|
Size of stack used by work queue RX thread. This work queue is created in the RPMsg Service backend module to prevent notifying service users about received data from the system work queue. |
|
This option enables support of C++ RTTI. |
|
Segger SystemView support |
|
Start logging SystemView events on system start |
|
Enable post-mortem mode for SystemView |
|
Buffer size for SystemView RTT |
|
Place SystemView data in the DTCM linker section |
|
Place SystemView data in the default linker section |
|
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. |
|
Shell |
|
Maximum number of arguments that can build a command. |
|
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. |
|
Initialization priority for UART backend. This must be bigger than the initialization priority of the used serial device. |
|
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. |
|
Default terminal height |
|
Default terminal width is used to break lines. |
|
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 or Ctrl+n and Ctrl+p meta keys. |
|
Number of bytes dedicated for storing executed commands. |
|
When enabled, backend will use the shell for logging. This option is enabled by default. Disabling this option disables log output to all shell backends. Disabling log output to a specific shell backend can be achieved using the shell backend’s LOG_LEVEL option (e.g. CONFIG_SHELL_TELNET_INIT_LOG_LEVEL_NONE=y). |
|
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 |
|
Enable using the Tab button in the shell. The button can be used for prompting commands, or for autocompletion. This feature has high impact on flash usage. |
|
Enable commands and subcommands autocompletion with the Tab key. This function can be deactivated to save some flash. |
|
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. |
|
Enable support of stream to flash API |
|
If disabled an external actor must erase the flash area being written to. |
|
Debug |
|
Error |
|
Info |
|
Off |
|
Warning |
|
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. |
|
This option is deprecated. Please use CONFIG_PM instead. |
|
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. |
|
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. |
|
Once the TFTP Client sends out a request, it will wait TFTPC_REQUEST_TIMEOUT msecs for the data to arrive from the TFTP Server. However, if it doesn’t arrive within the given time we will re-transmit the request to the server in hopes that the server will respond within time to this request. This number dictates the number of times we will do re-tx of our request before giving up and exiting. |
|
Maximum amount of time (in msec) that the TFTP Client will wait for data from the TFTP Server. Once this time has elasped, the TFTP Client will assume that the Server failed and close the connection. |
|
Enable the Zephyr TFTP 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 thread analyzer functionality and all the required modules. This module may be used to debug thread configuration issues, e.g. stack size configuration to find stack overflow or to find stacks which may be optimized. |
|
Run the thread analyzer automatically, without the need to add any code to the application. Thread analysis would be called periodically. |
|
The time in seconds to call thread analyzer periodic printing function. |
|
Stack size for the periodic thread analysis thread |
|
Debug |
|
Error |
|
Info |
|
Off |
|
Warning |
|
The thread analysis takes quite a long time. Every thread it finds is analyzed word by word to find any that does not match the magic number. Normally while thread are analyzed the k_thread_foreach function is used. While this is a safe run from the thread list perspective it may lock the interrupts for a long time - long enough to disconnect when Bluetooth communication is used. Setting this flag will force thread analyzer to use the k_thread_foreach_unlocked function. This will allow the interrupts to be processed while the thread is analyzed. For the limitation of such configuration see the k_thread_foreach documentation. |
|
Use logger output to print thread information. |
|
Use kernel printk function to print thread information. |
|
This options enables number generator based on system timer clock. This number generator is not random and used for testing only. |
|
When enabled, timing related functions are compiled. This is useful for gathering timing on code execution. |
|
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 |
|
Debug |
|
Error |
|
Info |
|
Off |
|
Warning |
|
This option specifies the name of UART device to be used for the SHELL UART backend. In case when DTS is enabled (HAS_DTS), the default value is set from DTS chosen node ‘zephyr,shell-uart’ but can be overridden here. |
|
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
|
|
UpdateHub is an enterprise-grade solution which makes simple to remotely update all your embedded devices in the field. It handles all aspects related to sending Firmware Over-the-Air (FOTA) updates with maximum security and efficiency, while you focus in adding value to your product. |
|
Allow the use of UpdateHub Community Server (updatehub-ce) as alternative to the updatehub.io enterprise server. |
|
This value is mapped directly to enum coap_block_size. |
|
Set the CoAP connection timeout value. |
|
Set the maximum number of retries attempts to download a packet before abort a current update. |
|
Enables SHA-256 verification of data stream while downloading. Notice that it does not check whether the image written to a storage is still valid, it only confirms that what has been downloaded matches the server side SHA. To check if the data written to permanent storage matches the SHA simultaneously, enable “Both download and flash verifications” option. |
|
Enables SHA-256 verification on both data stream while downloading and stored data stream on flash. It is advised to leave this option enabled. |
|
Enables DTLS communication between the UpdateHub client and the server |
|
Debug |
|
Error |
|
Info |
|
Off |
|
Warning |
|
Set the interval that the UpdateHub update server will be polled. This time interval is zero and 43200 minutes(30 days). |
|
The product unique identifier is used when communicating with the UpdateHub server. |
|
This configuration is default, if need to use other address, must be set on the UpdateHub shell |
|
Activate shell module that provides UpdateHub commands like |
|
Enables SHA-256 verification of stored data stream. When this option is enabled, the data stream will be read back from the storage and verified with SHA to make sure that it has been correctly written. To check if the download data stream matches the SHA simultaneously, enable “Both download and flash verifications” option. |
|
Configure the max number of supported hardware by the same image. |
|
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 Audio Device Class driver. Zephyr USB Audio Class is considered experimental and not full. Device configuration is done via dt overlay. |
|
USB Bluetooth device class driver |
|
Enables vendor command to switch to H:4 transport using the bulk endpoint. |
|
Enable USB Binary Device Object Store (BOS) |
|
USB Bluetooth H4 device class driver |
|
USB device product ID in DFU mode. MUST be configured by vendor. |
|
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 use wait_for_usb_dfu() call for wait 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 |
|
Allocates buffers used for parallel transfers. Increase this number according to USB devices count. |
|
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. |
|
This option provides a dedicated work queue that is used for all offloaded operations initiated by the USB subsystem. This prevents deadlock situations where tasks on the system workqueue inadvertently initiate operations that block, such as UART transmission on CDC-ACM, preventing the system work queue from making progress on the USB tasks that would release the task. Without this the system work queue is used for all USB offloaded transfers. |
|
By default, USB 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. |
|
USB workqueue stack size |
|
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. |
|
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. |
|
Use the pre-defined common assert fail handler and a post hook to do actions in your test case, this option often enabled when doing error test case. Remember to add ignore_fault tag in yaml file when using twister to run testing. |
|
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. |
|
Use the pre-defined common fatal error handler and a post hook to do actions in your test case, this option often enabled when doing error test case. Remember to add ignore_fault tag in yaml file when using twister to run testing. |
|
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). |