LIBRE CONFIDENTIAL
Light Weight Universal Control Interface
(LUCI)
Technical Note
Module : LSx
Revision: 15.0.7
Libre Wireless Technologies Private Limited
librewireless.com
Copyright © 2024 Libre Wireless Technologies. All rights reserved.
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 2 of 241
LIBRE CONFIDENTIAL
Table of Contents
1. Document Information ............................................................................................................ 8
1.1. Abstract ................................................................................................................................................... 8
1.2. Targeted Audience .............................................................................................................................. 8
1.3. Document Revision History ............................................................................................................. 8
2. Definitions ................................................................................................................................... 9
3. Introduction to LUCI ............................................................................................................... 10
4. LUCI Protocol ............................................................................................................................ 11
4.1. LUCI Message Box ............................................................................................................................ 11
4.1.1. Message Box Packet Format ................................................................................... 11
4.1.2. Cyclic Redundancy Check ...................................................................................... 12
4.2. Communication Protocol ............................................................................................................... 13
4.2.1. Command and Response ......................................................................................... 13
4.2.2. Acknowledgement .................................................................................................. 14
4.2.3. GET and SET .......................................................................................................... 14
5. LUCI Transport Interface ...................................................................................................... 16
5.1. UART Interface .................................................................................................................................. 16
5.2. TCP Interface ...................................................................................................................................... 17
5.2.1. LSx Discovery using Lightweight SSDP (LSSDP) ................................................ 17
5.2.2. Connection and Communication............................................................................. 22
5.2.3. Endianness .............................................................................................................. 23
6. Getting Started ......................................................................................................................... 24
6.1. Document Convention .................................................................................................................... 24
6.1.1. Tx-Rx Communication ........................................................................................... 24
6.1.2. Feature Message Boxes - Table .............................................................................. 25
7. LUCI Message Box Commands............................................................................................. 27
8. Features and its Associated Message Boxes .................................................................. 32
8.1. LUCI Registration.............................................................................................................................. 32
8.1.1. HOST MCU Registration ....................................................................................... 32
8.1.2. Network Client Registration ................................................................................... 33
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 3 of 241
LIBRE CONFIDENTIAL
8.2. Audio Playback Management ....................................................................................................... 34
8.2.1. Authorization and Playback Info Notifications ...................................................... 34
8.2.2. Playback Controls ................................................................................................... 39
8.2.3. Playback Status ....................................................................................................... 41
8.2.4. Playback Trigger ..................................................................................................... 42
8.3. AirPlay .................................................................................................................................................. 51
8.3.1. Apple Authentication Co-Processor (ACP) ............................................................ 51
8.3.2. AirPlay Password .................................................................................................... 54
8.3.3. AirPlay Certification ............................................................................................... 56
8.4. TCP Tunneling.................................................................................................................................... 57
8.4.1. Server Setup ............................................................................................................ 58
8.4.2. Communication ....................................................................................................... 58
8.5. OEM App Setup Flow ....................................................................................................................... 60
8.5.1. Network Configuration ........................................................................................... 60
8.5.2. Device Friendly Name ............................................................................................ 60
8.5.3. OTA Update ............................................................................................................ 61
8.5.4. Google ToS and User Feedback ............................................................................. 61
8.6. Firmware Updates ............................................................................................................................ 64
8.6.1. OTA (Over The Air) Update................................................................................... 64
8.7. BLE Remote......................................................................................................................................... 71
8.7.1. BLE Remote - Work Flow ...................................................................................... 71
9. LUCI Message Boxes ............................................................................................................... 74
9.1. Rx_MB# 3 (Register Network Clients)...................................................................................... 74
9.2. MB# 4 (Deregister Network Clients) - Deprecated ............................................................. 76
9.3. RxTx_MB# 5 (Firmware Version Information) ..................................................................... 76
9.4. Rx_MB# 6 (HOST MCU Firmware Version) ............................................................................ 77
9.5. Rx_MB# 8 (Serial Number) ........................................................................................................... 78
9.6. Rx_MB# 9 (Is HOST Present) ....................................................................................................... 79
9.7. Tx_MB# 10 (Playback Authorisation) ...................................................................................... 80
9.8. Rx_MB# 11 (Playback Authorisation Grant) .......................................................................... 82
9.9. MB# 12 (AirPlay Control) Deprecated.................................................................................. 83
9.10. MB#13 (AirPlay Status) Deprecated ................................................................................. 83
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 4 of 241
LIBRE CONFIDENTIAL
9.11. Rx_MB# 14 (ACP Share Command) ....................................................................................... 84
9.12. Tx_MB# 15 (ACP Share Response) ........................................................................................ 86
9.13. Tx_MB# 17 (SoftACP Status) .................................................................................................... 87
9.14. Rx_MB# 40 (Play Control) ........................................................................................................ 88
9.15. Rx_MB# 41 (Browse Control) .................................................................................................. 90
9.16. Tx_MB# 42 (UI Info) .................................................................................................................... 93
9.17. Tx_MB# 43 (Artwork Metadata) ............................................................................................ 97
9.18. Tx_MB# 44 (Airable Track Info) ........................................................................................... 101
9.19. Tx_MB# 45 (Play View)............................................................................................................ 102
9.20. Tx_MB# 49 (Current Playback Position Time) ............................................................... 104
9.21. Tx_MB# 50 (Current Source) ................................................................................................. 105
9.22. Tx_MB# 51 (Current Play State) ........................................................................................... 107
9.23. Tx_MB# 54 (Playback Error Status) ................................................................................... 109
9.24. Tx_MB# 56 (ISBROWSESTATUS) ......................................................................................... 111
9.25. Tx_MB# 63 (Remote Source MUTE/UNMUTE) .............................................................. 112
9.26. Rx_Tx_MB# 64 (Volume Control)......................................................................................... 113
9.27. Rx_ MB# 65 (Firmware Request) - Deprecated.............................................................. 119
9.28. Tx_MB# 66 (Firmware Install Progress) ........................................................................... 119
9.29. Tx_MB# 68 (HOST Image Ready) ......................................................................................... 120
9.30. MB# 69 (Request Firmware Upgrade) - Deprecated ................................................... 120
9.31. RxTx_MB# 70 (Preset, Auto USB & Standby) .................................................................. 121
9.32. Rx_MB# 76 (Acquire & Play) ................................................................................................. 125
9.33. RxTx_MB# 80 (Play Audio Cues) .......................................................................................... 126
9.34. RxTx_MB# 90 (Device Name) ................................................................................................ 127
9.35. RxTx_MB# 91 (Network Info) ............................................................................................... 130
9.36. RxTx_MB# 92 (Device Details) ............................................................................................. 132
9.37. Rx_MB# 95 (Input Start) ......................................................................................................... 135
9.38. Rx_MB# 96 (Input Stop) .......................................................................................................... 136
9.39. Rx_MB# 97 (External Playback) ........................................................................................... 137
9.40. Rx_MB# 111 (TCP/IP Tunneling Start) ............................................................................. 139
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 5 of 241
LIBRE CONFIDENTIAL
9.41. TxRx_MB# 112 (Tunnel Data) ............................................................................................... 140
9.42. Rx_MB# 114 (Reboot Request) ............................................................................................. 142
9.43. Tx_MB# 115 (Reboot Command) ........................................................................................ 143
9.44. Tx_MB# 149 (Miscellaneous MCU Requests) .................................................................. 144
9.45. MB# 211 (Start Firmware Upgrade) - Deprecated ....................................................... 145
9.46. Rx_MB# 213 (Music Service Credentials) ......................................................................... 146
9.47. Tx_MB# 223 (Firmware Download Progress) ................................................................ 147
9.48. Tx_MB# 230 (Audio Output FS)............................................................................................ 148
9.49. Rx_MB# 232 (AC Powered) .................................................................................................... 150
9.50. RxTx_MB# 235 (Trigger OTA) ............................................................................................... 151
9.51. RxTx_MB# 238 (Forced Upgrade) ....................................................................................... 152
9.52. Rx_MB# 556 (Audio Output FS ACK) .................................................................................. 154
9.53. RxTx_MB# 561 (Apple Home APP Inclusion Check) .................................................... 155
9.54. Rx_MB# 562 (AirPlay Password Request) ....................................................................... 157
9.55. Tx_MB# 563 (AirPlay Password Response) .................................................................... 158
9.56. Rx_MB# 571 (Google Cast ToS and Usage Report - Requests) ................................. 160
9.57. Tx_MB# 572 (Google Cast ToS & Usage Report - Response) ..................................... 163
9.58. RxTx_MB# 573 (TimeZone Configuration) ...................................................................... 165
9.59. Rx_MB# 611 (MCU-LSx Standby) ......................................................................................... 168
9.60. Tx_MB# 612 (LSx-MCU Standby) ......................................................................................... 171
9.61. RxTx_MB# 621 (HOST Settings) ........................................................................................... 172
9.62. Tx_MB# 622 (HOST Settings Status) .................................................................................. 175
9.63. RxTx_MB# 651 (Log Report) ................................................................................................. 177
9.64. Rx_MB# 653 (MCU Log Data) ................................................................................................ 179
9.65. Tx_MB# 654 (MCU Log Response) ...................................................................................... 182
9.66. Tx_MB# 655 (MCU Log Request) ......................................................................................... 183
9.67. Tx_MB# 661 (BLE Wi-Fi Config-Event Monitor)............................................................ 184
9.68. Rx_MB# 663 (BLE Remote Event Request) ..................................................................... 186
9.69. Tx_MB# 664 (BLE Remote Event Response) ............................................................. 187
9.70. Tx_MB# 691 (Cellular Mode) ................................................................................................. 188
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 6 of 241
LIBRE CONFIDENTIAL
9.71. Tx_MB# 692 (Cellular Modem Status) ............................................................................... 189
9.72. Tx_MB# 701 (OTA LSx Actions) ........................................................................................... 190
9.73. Rx_MB# 702 (OTA User Actions) ......................................................................................... 191
9.74. Tx_MB# 43690 (LSx LUCI Ready) ........................................................................................ 192
10. Message Boxes - Format Upgrade Ahead ..................................................................... 194
10.1. RxTx_MB# 7 (Google Cast Version Information) ........................................................... 194
10.2. Tx_ MB#36 (USB Device Disconnected) ............................................................................ 195
10.3. Rx_MB# 37 (Graceful Shutdown) ......................................................................................... 196
10.4. Tx_ MB# 38 (USB Device Connected) ................................................................................. 197
10.6. Rx_MB# 72 (Trigger Wi-Fi Scan) .......................................................................................... 198
10.7. Tx_ MB# 73 (Get Wi-Fi Scan Results) ................................................................................. 199
10.8. RxTx_MB# 123 (Interface IP Address Info) ..................................................................... 200
10.9. RxTx_ MB# 124 (Network Status) ....................................................................................... 201
10.10. RxTx_ MB# 125 (Network Conf) .......................................................................................... 204
10.11. Rx_MB# 127 (Network Reset)............................................................................................... 205
10.12. Rx_ MB# 128 (Configure Static Network) ........................................................................ 205
10.13. Rx_Message Box 134 (Ethernet Status Notifier) ............................................................ 207
10.14. Rx_ MB# 142 (WAC Start) ....................................................................................................... 208
10.15. Tx_ MB# 143 (Network Configuration Status) ............................................................... 210
10.16. RxTx_ MB# 144 (WAC Stop) .................................................................................................. 211
10.17. RxTx_MB# 150 (Factory Reset) ............................................................................................ 212
10.18. RxTx_MB# 151 (RSSI) .............................................................................................................. 213
10.19. Tx_MB# 205 (AVS Login Status) ........................................................................................... 214
10.20. MB# 206 (Region) ...................................................................................................................... 215
10.21. Rx_MB# 209 (Bluetooth Control) ........................................................................................ 216
10.22. Tx_MB# 210 (Bluetooth Response) .................................................................................... 218
10.23. RxTx_MB#208 (NV Read/Write) ......................................................................................... 220
10.24. Rx_MB# 212 (SDDP Notifier) ................................................................................................. 222
10.25. MB# 222 (Cast OTA Update) ................................................................................................. 224
10.26. RxTx_MB# 226 (Cast Update Info) ...................................................................................... 225
10.27. RxTx_MB# 229 (Get NTP Time) ........................................................................................... 228
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 7 of 241
LIBRE CONFIDENTIAL
10.28. RxTx_MB# 231 (Cast Serial Number)................................................................................. 230
10.29. RxTx_MB# 233 (MIC Control) ............................................................................................... 231
10.30. MB# 234 (AVS APP Service) .................................................................................................. 232
10.31. Tx_MB# 240 (AVS Client Status) .......................................................................................... 235
10.32. RxTx_MB# 246 (Alexa UI) ....................................................................................................... 236
10.33. RxTx_MB# 247 (Enable Speech Tone) ............................................................................... 239
10.34. MB# 248 (AVS Custom Speech) ............................................................................................ 240
10.35. Tx_MB# 494 (Cast Setup Started) ........................................................................................ 241
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 8 of 241
LIBRE CONFIDENTIAL
1. Document Information
1.1. Abstract
Light-weight Universal Control Interface (LUCI) is a protocol defined by Libre to control
any LibreSync (LS) enabled devices. This document explains LUCI and the specifications for
the message boxes used for LUCI communication between the LSx (LS10/11, LS9/X/AD,
LS6/5B) devices and the HOST MCU or APP.
1.2. Targeted Audience
This document is prepared to provide valuable insights to developers working on both
HOST MCU and Companion APP development. Its primary objective is to provide a
comprehensive understanding of the Libre platform's features and offer guidance on
implementing LUCI communication protocol for seamless interaction with the Libre LSx
platform.
1.3. Document Revision History
Revision
Date
Description of change
Author
15.0.7
Sep 06, 2024
Added MBs: 56, 92, 622, 651, 653,
654, 655, 661, 663, 664, 691, 692,
701, 702
Anoop, Santhosh,
Sampath, Ajit,
Anoop
15.0.6
June 10, 2024
Added OTA MBs
Ranjith C.
15.0.5
Apr 17, 2024
Added OEM MBs
Anoop Rajan
15.0
Apr 03, 2024
New LUCI Document
Anoop Rajan
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 9 of 241
LIBRE CONFIDENTIAL
2. Definitions
LSx: Libre Sync platform, where “x” can be any of the supported platforms i.e., LS11/LS10
/LS9/LS5B/LS6.
HOST MCU: HOST Microcontroller Unit manages user interfaces, which includes buttons,
touchscreens, LEDs and displays, allowing users to interact with the system.
Companion APP/APP: Companion APP is typically installed on a separate device, such as a
smartphone or tablet and are used to interact with or control the system. In this document
Companion APPs are referred to any network clients.
Content Provider APPs: These are streaming APPs provided by third parties like Spotify,
Roon desktop app, Tidal Connect, etc. which provides access to a vast library of digital
content, including music, podcasts and live broadcasts, typically on a subscription basis.
Message Box (MB): Message boxes are used to establish the communication and exchange
the data in packet format between HOST MCU/Companion APP and LSx.
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 10 of 241
LIBRE CONFIDENTIAL
3. Introduction to LUCI
LUCI (Light-weight Universal Control Interface) is a proprietary communication protocol
developed by Libre for seamless communication with LSx. Its architectural structure is
specifically tailored to enable developers to establish communication protocols with LSx
products using the LUCI framework. In practice, both HOST MCU and Companion Mobile
APPs can harness the capabilities of the LUCI protocol to control, share data and obtain
status updates from LSx.
Optional Display
Connected to MCU
Host MCU LSx
Optional IR Remote
Connected to MCU
LUCI (UART)
LUCI (TCP)
Buttons
LEDs
Figure 3-1: LUCI Block Diagram
The provided LUCI block diagram illustrates the ideal operational environment. LUCI
serves as a communication bridge, ensuring seamless interaction between the HOST
MCU/Companion APP and LSx.
HOST MCU: HOST MCU manages all actions involving buttons, LEDs, the display,
DAC/DSP/AMP, remote control and more. It interacts with LSx via LUCI over UART
interface.
Companion Application/APP: In this document the Companion APP is abbreviated as
“APP”. Companion APP is used to configure LSx to network, to register/login with the
streaming services (Alexa, Google Cast, etc.), to browse and play, to control the LSx
products, display play view and more. Companion APP interacts with LSx via LUCI over
TCP interface.
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 11 of 241
LIBRE CONFIDENTIAL
4. LUCI Protocol
LUCI defines a protocol for communicating and controlling LSx through the transmission of
"Message Packets”. It outlines a proprietary format for packaging these messages,
encompassing both data and essential header details.
4.1. LUCI Message Box
The “Message Packets” are organized into a specific proprietary packet structure, referred
to as "Message Boxes" by Libre. Each message is assigned with a unique Message Box ID
and each of these message boxes serves distinct purposes with varying data formats and
command-response behaviours.
4.1.1. Message Box Packet Format
The below figure provides the proprietary LUCI command and response packet format:
Figure 4.1.1-1: LUCI Command and Response Packet
Standard
Command
Description
Remote ID
For LUCI over UART: This serves as a magic number. Should use
0xAAAA for UART (HOST MCU) communication.
For LUCI over TCP: Currently this field is not used. In future this
field can be used to assign unique ID per APP to enhance security.
Command Type
LUCI provides two command types: GET or SET for any
command.
00000001: GET (decimal 1)
00000010: SET (decimal 2)
For more details, refer section 4.2.3
Command
16-bit representation of a command.
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 12 of 241
LIBRE CONFIDENTIAL
Standard
Command
Description
This field represents the message box ID.
Command Status
Not applicable for command and response packet.
Valid and non-zero only for Acknowledgement.
0: Invalid and can be ignored
1: Success
2: Generic error
3: Device not ready for specific command
4: CRC error
For more details, refer section 4.2.2
CRC
LSx supports CRC-16-CCITT in the LUCI protocol.
CRC follows ‘Big Endian’ format in LUCI UART HOST MCU
interface
Data Length
Length in bytes of the data payload.
Can be zero if no data is associated
Data
Actual data as specified in the Message-Box. Data field is always a
NULL terminated string type and wherever necessary should be
converted to integer wherever applicable.
If the Data value is mentioned as ‘1’ for any Message-Box, the
value to be interpreted in ASCII of it, that is “0x31”.
4.1.2. Cyclic Redundancy Check
LSx supports CRC-16-CCITT within the LUCI protocol. The CRC calculation encompasses
data from the Remote-ID to the end of the message-data, excluding the CRC field itself, as
illustrated in Figure 4.1-1. Upon receiving the CRC value from the HOST-MCU, LSx
calculates its own CRC and permits data passage only if the HOST-MCU's CRC matches the
LSx-calculated CRC for the received packet.
Customers who prefer not to calculate CRC should transmit a CRC value of “0” and set the
NV-item CRCenable to false. For specific details regarding the NV-item CRCenable, please
refer to the LibreSync_Non-Volatile_Items_TechNote, available in the Libre Portal.
The option to enable or disable CRC checks through NV-item is exclusively available for LS6
and LS9 platforms. For LS10 platform, CRC checks are completely disabled. Further, CRC
check is not applicable for companion APPs.
For any source code requirements related to CRC calculation, please contact Libre
FAE.
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 13 of 241
LIBRE CONFIDENTIAL
4.2. Communication Protocol
The central aspect of LUCI communication involves external entities like APP/MCU
engaging with LSx through the exchange of LUCI packets.
LUCI predominantly employs a command-response model, allowing either the LSx or
MCU/APP entity to initiate communication by transmitting commands to the other entity.
It's important to note that while some commands necessitate a response, others are simply
directives meant to trigger specific actions.
There is no difference in packet structure between command and response. It’s one and the
same, only difference in context is with the sequence of the events that can occur.
4.2.1. Command and Response
Here is a sample message box that includes both Command and Response.
Command Only: Here is a sample message box that includes only Command for your
reference.
HOST MCU LSx
MB#49 CommandSET
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 14 of 241
LIBRE CONFIDENTIAL
4.2.2. Acknowledgement
Acknowledgement (ACK) serves the purpose of confirming the receipt of a packet in LSx.
This is applicable only for UART interface, TCP itself have re-transmission and hence LUCI
ACK is not required for TCP. When HOST MCU sends a command, LSx LUCI UART lower
layer on successful reception will send an "ACK". However, LSx employs a selective
approach when it comes to sending ACKs. Not all packets are Acknowledgment, especially
those that already have quick responses, are exempted from the ACK mechanism. This
selective behaviour regarding ACKs is explicitly detailed for each Message Box (MB).
HOST MCU, after sending any packet, it can verify the reception status of that packet from
LSx by checking for its ACK. The absence of an ACK can signal that the packet may not have
reached LSx as intended. In such cases, the HOST MCU can initiate a packet retransmission.
Acknowledgement Format:
Remote ID
Command
Type
Message
-Box ID
Command
Status
CRC
Data Length
0xAAAA
SET
<MB ID>
<Cmd status>
NA
0
Where <MB ID> is the Message Box ID for which LSx has sent the ACK.
<Cmd status>:
Cmd status
Description
0
Invalid and can be ignored
1
SUCCESS
2
Generic Error
3
Device not ready for specific command
4
LUCI_CRCERROR
4.2.3. GET and SET
GET/SET is a field in LUCI packet structure, termed as "Command Type" field. This is
applicable only for the communication path from HOST MCU/APP to LSx, such that
MCU/APP can either use a GET or SET while issuing a command to LSx.
As per LSx LUCI architecture, LUCI framework internally maintains buffers to store
message box. These buffers will contain the last updated value of each message box. "GET"
command will instruct LSx to provide this last updated value from message box buffers. For
LSx, "GET" reduces overhead, as value can be directly fetched from buffers.
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 15 of 241
LIBRE CONFIDENTIAL
However, "GET" is applicable only for selected scenarios, such as those outlined below:
- MBs that does not require any frequent updates. e.g.: Getting LSx firmware version.
Firmware version is content and "GET" is recommended as buffer will contain desired
results.
- MBs that LSx framework will update and always keep the latest value. For example,
current volume of the system, LSx always maintains the latest value and “GET” is
recommended here.
"GET" is not recommended for the below scenario:
- Values that are not updated frequently to MB, e.g., "current time", the buffer will not
have latest values. "GET" will result in providing old time here.
“SET” on the other hand instructs LSx framework, to call respective application, act on the
action and provide the updated value/response.
In short SET/GET is specific to a message box, it is well distinguished and explained in the
document across each message boxes on where to use GET or SET, this has to be strictly
followed.
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 16 of 241
LIBRE CONFIDENTIAL
5. LUCI Transport Interface
LSx offers support for two interfaces, UART and TCP, to facilitate LUCI communication with
external or remote entities like HOST MCU or Companion Apps.
UART is used for LSx-HOST MCU communications.
TCP is used for LSx-Companion APP communications.
Figure 5-1: LUCI Transport Interface
5.1. UART Interface
This is the interface to be used by HOST MCU to communicate with LSx.
The specifications are as follows:
Serial
Settings
Baud Rate
LS9/LS10/LS11: 115200
LS6: 57600
Data Bits
8
Parity
None
Start Bit
1
Stop Bit
1
Flow Control
None
Voltage Levels
3.3V TTL
Refer the respective datasheets of LSx modules for UART pin details.
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 17 of 241
LIBRE CONFIDENTIAL
5.2. TCP Interface
LSx uses Transport Control Protocol (TCP) for communication with network clients.
Network clients refers to any applications, including companion APPs and remote network
clients, that intend to establish communication with the LSx over a network connection.
The following is the sequence of steps outlining how a companion app can discover,
connect, and communicate with LSx:
Discovery: The companion APP initiates the discovery process to identify LSx products
within the network. This process retrieves the IP address and port number of LSx, allowing
the APP to proceed with establishing a connection and subsequent communication.
Connection and Communication: After discovering LSx, the companion app establishes a
TCP connection to LSx using the port number obtained during discovery. Upon successful
connection, LSx and the companion app can engage in communication using the LUCI
protocol.
5.2.1. LSx Discovery using Lightweight SSDP (LSSDP)
LSx has introduced its proprietary Lightweight SSDP to address the limitations of the
standard Simple Service Discovery Protocol (SSDP). Unlike SSDP, which can be resource-
intensive and requires parsing large device description files, Lightweight SSDP eliminates
the necessity of parsing XML files.
LSSDP works on the same principle of SSDP:
LSx responds to M-search multicast request sent by the companion APP.
LSx sends out NOTIFY message after bootup which helps already opened companion
APP to discover the device.
LSSDP packet are simpler and involves simple headers.
Here are some example packets:
M-Search
M-Search Response
LSSDP NOTIFY
M-SEARCH *
HTTP/1.1\r\n
HOST:
239.255.255.250:1
800\r\n\r\n
PROTOCOL:
Version 1.0
HTTP/1.1 200 OK\r\n
USN:cc90932be79b\r\n
HOST:239.255.255.250:1800\r\n
Version:LSSDP 1.0\r\n
FN:0\r\n
FWVERSION:eng.C4A.2273.109.1
\r\n
CAST_FWVERSION:1.56.eng.C4A.
NOTIFY * HTTP/1.1\r\n
USN:cc90932be79b\r\n
HOST:239.255.255.250:1800\r\n
Version:LSSDP 1.0\r\n
FN:0\r\n
FWVERSION:eng.C4A.2273.109.1
\r\n
CAST_FWVERSION:1.56.eng.C4A.
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 18 of 241
LIBRE CONFIDENTIAL
M-Search
M-Search Response
LSSDP NOTIFY
2273\r\n
CAST_TIMEZONE:\r\n
CAST_MODEL:Tivoli_M2D\r\n
PORT:7777\r\n
DeviceName:M2D Garage speaker
White\r\n
State:S\r\n
NETMODE:WLAN\r\n
SPEAKERTYPE:Wireless
Speaker\r\n
TCPPORT:2020\r\n
WIFIBAND:2G\r\n
SOURCE_LIST:LS10::f7ffffff\r\n
MRAMode:DDMS\r\n
2273\r\n
CAST_TIMEZONE:\r\n
CAST_MODEL:Tivoli_M2D\r\n
PORT:7777\r\n
DeviceName:M2D Garage speaker
White\r\n
State:S\r\n
NETMODE:WLAN\r\n
SPEAKERTYPE:Wireless
Speaker\r\n
TCPPORT:2020\r\n
WIFIBAND:2G\r\n
SOURCE_LIST:LS10::f7ffffff\r\n
MRAMode:DDMS\r\n
5.2.1.1. LSSDP New Headers
The new LSSDP headers includes:
USN: This header specifies the MAC address of the LSx.
Version: This header specifies the version of LSSDP that is used.
FN: This header specifies if this M-Search response is the first notification for a request
from Companion APP.
- 1: First Notification
- 0: Not First Notification
FWVERSION: This header specifies the firmware version of LSx.
CAST_FWVERSION: This header specifies the version of Google Cast running on LSx.
CAST_TIMEZONE: This header is for future purpose.
CAST_MODEL: This header specifies the model of LSx speaker.
PORT: This header specifies the port number to which Companions apps should connect
over TCP for LUCI communication.
DeviceName: This header specifies the friendly name of the LSx speaker.
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 19 of 241
LIBRE CONFIDENTIAL
NETMODE: This header specifies if LSx is connected to network over Wi-Fi or Ethernet
SPEAKERTYPE: This header specifies the type of LSx speaker.
TCPPORT: This header is for future purpose.
WIFIBAND: This header specifies if LSx is connected to Wi-Fi over 2.4/5G. Not applicable
when LSx is connected to network over Ethernet.
SOURCE_LIST: This header specifies music services and sources supported by LSx. Please
contact Libre FAE for more information on this.
The following headers are applicable only to MRA functionality and not applicable
anymore:
State: DeviceState header includes the current state of the device:
- M: The device is the Audio-Master
- F: Device is in free state and not part of any Zone
- S: It is an Audio-Client to the Zone mentioned in ZoneID header
MRAMode: This header specifies the MRA mode of LSx.
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 20 of 241
LIBRE CONFIDENTIAL
Discovery sequence between a Companion APP and LSx:
Figure 5.2-1 - A: Discovery Sequence using LSSDP
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 21 of 241
LIBRE CONFIDENTIAL
Figure 5.2-1 - B: Discovery Sequence using LSSDP
Custom Discovery Protocols: If the Companion App developer intends to utilize a
discovery protocol different from LSSDP, they should get in touch with Libre FAE for
further assistance.
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 22 of 241
LIBRE CONFIDENTIAL
5.2.2. Connection and Communication
After successfully discovering the device, the companion app should establish a TCP
connection with the LSx device using the port number obtained during the discovery
process. Currently, the port number is set at 7777 but may change in the future. After
establishing a successful connection, the companion app should proceed to register with
LSx using MB#3, refer section 9. Upon successful registration, LSx and the companion app
can engage in communication using the LUCI protocol. The below sequence diagram
illustrates the flow of connection and communication:
Companion APP Connection and Communication
Companion
APP
Discovery
Completed
LSx
Create TCP server on
port 7777 and wait
for connection
Connect to LSx on Port-7777
Register using MB#3
Add to list for further
communication
MB #3 ACK
Communication using LUCI protocol
Figure 5.2-2 - Connection and Communication Sequence
To enhance security, Libre has implemented secure LUCI network communication using
TLS 1.2 on designated platforms. During the TLS handshake process, it is essential for
network clients to provide a certificate signed by Libre's Certificate Authority (CA). For
more comprehensive information, reach out to Libre FAE.
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 23 of 241
LIBRE CONFIDENTIAL
5.2.3. Endianness
Handling Little Endian (LE) and Big Endian (BE) data in networked systems involves
ensuring that data transmitted between different systems with varying endianness is
correctly interpreted and converted as needed. Several network protocols specify a
standard byte order for data transmission, which is often Big Endian (BE). When receiving
data from the network, it's converted to the HOST's native endianness if it's not already in
that format. This standardization simplifies data exchange between systems.
Though above mentioned is the standard, LSx follows it differently.
On Tx, LSx converts to network order (BE) and sends out the packet. This is as per the
standard.
On Rx, LSx expects LE format from network. This is not as per the standard. This
configuration was established in the distant past and our extensive portfolio of products in
the market prevents any modification due to inherent legacy constraints.
In short, the network clients (like App) should send the packet in LE format and can receive
the packet in BE format.
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 24 of 241
LIBRE CONFIDENTIAL
6. Getting Started
Step 1: The HOST MCU or APP developer should construct the LUCI framework for their
specific MCU or App in accordance with the specified requirements. Beginning with the
implementation of fundamental components such as UART/TCP transmission and
reception, as well as message box packetization and depacketization modules, is
recommended.
Step 2: In section 8. Features and its Associated Message Boxes, you will find information
regarding the supported features of LSx, along with details about their corresponding
message boxes. Developers should carefully review this section to identify which message
boxes need to be implemented based on the product's requirements.
Step 3: Developers should proceed with the implementation of message boxes one by one,
following the designated sequence and priority. The initial step involves referencing
section 8.1. LUCI Registration and implementing the registration message boxes.
Subsequently, developers should align with the feature list as required and continue with
the implementation of the relevant message boxes in a systematic manner.
6.1. Document Convention
This document consists of two conventions in the relevant sections and it is explained in
detail for user reference:
6.1.1. Tx-Rx Communication
In this document, each message box is named in accordance with the data communication
path, taking LSx as the point of reference.
For example,
HOST MCU LSx
MB#51 SET Command
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 25 of 241
LIBRE CONFIDENTIAL
The inclusion of the "Tx_" prefix for this message box explicitly signifies that its sole
function is to transmit data from LSx to the HOST MCU (with reference to LSx, it denotes
"Tx").
Below are the possible prefixes:
Prefix
Description
Rx_
LSx will receive the data from HOST MCU.
Tx_
LSx will transmit the data to HOST MCU.
RxTx_
LSx will receive the data from HOST MCU and then transmit the data to HOST
MCU.
TxRx_
LSx will transmit the data to HOST MCU and then receive the data from HOST
MCU.
6.1.2. Feature Message Boxes - Table
In this document, each feature section is accompanied by a table that lists its corresponding
LUCI message boxes, providing users with a helpful reference. For instance, the screenshot
below displays a table extracted from one of the feature sections:
Figure 6.1.2-1: Feature MB Sample
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 26 of 241
LIBRE CONFIDENTIAL
The highlights of the above table are detailed below:
Sl. No.
Items
Description
1
MB#Number -
Message Box Name
This section contains information regarding message box number
and its associated name. To access comprehensive information about
this message box, simply click here.
2
Description
This section explains the purpose and intended use of the message
box.
3
HOST MCU
This section explains the role of HOST MCU with respect to the
message box.
4
Mandatory/
Optional
This indicates whether it is mandatory or optional for HOST
MCU/Companion APP to implement the specific message box.
5
Companion
APP/APP
This section explains the role of Companion APP with respect to the
message box.
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 27 of 241
LIBRE CONFIDENTIAL
7. LUCI Message Box Commands
MB Number
Decimal
(Hex)
Direction
Message Box Name
Response
LUCI Registration
3 (0x3)
LSx → APP
Register Network Clients
No
9 (0x9)
HOST MCU LSx
Is HOST Present
No
43690
(0xAAAA)
LSx HOST MCU
LSx LUCI Ready
Yes, MB#9
Media Player and Playback Sequence
10 (0xA)
LSx → HOST MCU
Playback Authorisation
Yes, MB#11
11 (0xB)
HOST MCU → LSx
Playback Authorisation Grant
No
40 (0x28)
HOST MCU/APP → LSx
Play Control
No
41 (0x29)
HOST MCU/APP LSx
Browse Control
Yes, MB#42
42 (0x2A)
LSx → HOST MCU/APP
UI Info
No
43 (0x2B)
LSx → HOST MCU
Artwork Metadata
No
44 (0x 2C)
LSx → HOST MCU/APP
Airable Track Info
No
45 (0x2D)
LSx HOST MCU/APP
Play View
No
49 (0x31)
LSx → HOST MCU/APP
Current Playback Position
Time
No
50 (0x32)
LSx → HOST MCU/APP
Current Source
No
51 (0x33)
LSx →HOST MCU/APP
Current Play State
No
54 (0x36)
LSx →HOST MCU/APP
Playback Error Status
No
63 (0x3F)
LSx → HOST MCU/APP
Remote Source
MUTE/UNMUTE
No
64 (0x40)
LSx HOST MCU/APP
Volume Control
Yes
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 28 of 241
LIBRE CONFIDENTIAL
MB Number
Decimal
(Hex)
Direction
Message Box Name
Response
70 (0x46)
HOST MCU/APP LSx
Preset, Auto USB & Standby
Yes
76 (0x4C)
HOST MCU LSx
Acquire & Play
No
80 (0x50)
HOST MCU LSx
Play Audio Index
Yes
95 (0x5F)
HOST MCU/APP LSx
Input Start
No
96 (0x60)
HOST MCU/APP LSx
Input Stop
No
97 (0x61)
HOST MCU/APP LSx
External Playback
No
213 (0xD5)
HOST MCU/APP LSx
Music Service Credentials
No
230 (0xE6)
LSx → HOST MCU
Audio Output FS
Yes, MB#556
556 (0x22C)
LSx → HOST MCU
Audio Output FS ACK
No
AirPlay
14 (0xE)
HOST MCU LSx
ACP Share Command
Yes, MB#15
15 (0xF)
LSx HOST MCU
ACP Share Response
No
17 (0x11)
LSx HOST MCU
SoftACP Status
No
561 (0x231)
HOST MCU LSx
Apple Home APP Inclusion
Check
Yes
562 (0x232)
HOST MCU LSx
AirPlay Password Request
Yes, MB# 563
563 (0x233)
LSx HOST MCU
AirPlay Password Response
No
TCP Tunneling
111 (0x6F)
HOST MCU LSx
TCP/IP Tunneling Start
No
112 (0x70)
HOST MCU LSx
Tunnel Data
No
Setup
91 (0x5B)
HOST MCU LSx
Network Info
Yes
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 29 of 241
LIBRE CONFIDENTIAL
MB Number
Decimal
(Hex)
Direction
Message Box Name
Response
Standby
611 (0x263)
HOST MCU LSx
MCU-LSx Standby
Yes, MB# 612
612 (0x264)
LSx → HOST MCU
LSx-MCU Standby
Yes, MB# 611
HOST-MCU
621 (0x26D)
HOST MCU LSx
HOST Settings
Yes
OTA
6 (0x6)
HOST MCU LSx
HOST Firmware Version
Yes
66 (0x42)
LSx HOST MCU
Firmware Install Progress
No
68 (0x44)
LSx HOST MCU
HOST Image Ready
No
114 (0x72)
LSx HOST MCU
Reboot Request
Yes, MB#115
115 (0x73)
HOST MCU LSx
Reboot Command
No
223 (0xDF)
LSx HOST MCU
Firmware Download Progress
No
232 (0x E8)
HOST MCU LSx
AC Powered
No
235 (0x EB)
HOST MCU LSx
Trigger OTA
Yes
238 (0x EE)
HOST MCU LSx
Forced Upgrade
Yes
BLE Remote
663 (0x297)
HOST MCU LSx
BLE Remote Event Request
Yes
664 (0x298)
LSx HOST MCU
BLE Remote Event Response
No
General
5 (0x5)
HOST MCU LSx
Firmware Version Info
Yes
6 (0x6)
LSx HOST MCU
HOST Version Information
Yes
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 30 of 241
LIBRE CONFIDENTIAL
MB Number
Decimal
(Hex)
Direction
Message Box Name
Response
8 (0x8)
HOST MCU → LSx
Serial Number
No
149 (0x95)
LSx → HOST MCU
Miscellaneous MCU Requests
Yes, MB# 150
MB Number
Decimal
(Hex)
Direction
Message Box Name
Response
Message Boxes Format Upgrade Ahead
7 (0x7)
HOST MCU LSx
Google Cast Version Info
Yes
36 (0x24)
LSx → HOST MCU
Device Disconnected
No
37 (0x25)
HOST MCU LSx
Graceful Shutdown
No
38 (0x26)
LSx → HOST MCU
Device Connected
No
72 (0xE)
HOST MCU LSx
Trigger Wi-Fi Scan
Yes, MB#73
73 (0xF)
LSx HOST MCU
Get Wi-Fi Scan Results
No
90 (0x5A)
HOST MCU LSx
Device Name
Yes
123 (0x7B)
HOST MCU LSx
Network Info
Yes
124 (0x7C)
LSx HOST MCU
Network Status
No
125 (0x7D)
HOST MCU LSx
Network Conf
Yes, MB#124
127 (0x7F)
HOST MCU/APP LSx
Network Reset
No
128 (0x80)
HOST MCU LSx
Configure Static Network
No
134 (0x86)
HOST MCU LSx
Link Status
No
142 (0x8E)
HOST MCU LSx
WAC Start
Yes, MB#143
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 31 of 241
LIBRE CONFIDENTIAL
MB Number
Decimal
(Hex)
Direction
Message Box Name
Response
143 (0x8F)
LSx HOST MCU
Network Configuration Status
No
144 (0x90)
HOST MCU LSx
WAC Stop
Yes
150 (0x96)
HOST MCU LSx
Factory Default
Yes
151 (0x97)
HOST MCU LSx
RSSI
Yes
205 (0xCD)
HOST MCU LSx
AVS Login Stat
Yes
206 (0xCE)
HOST MCU → LSx
Region
No
208 (0xD0)
LSx HOST MCU
NV Read/Write
Yes
212 (0xD4)
HOST MCU → LSx
SDDP Notifier
No
222 (0xDE)
LSx → HOST MCU
Cast OTA Update
No
226 (0xE2)
HOST MCU LSx
Cast Update Info
Yes
229 (0xE5)
HOST MCU → LSx
GET NTP Time
Yes
231 (0xE7)
HOST MCU LSx
Cast Serial Number
Yes
233 (0xE9)
HOST MCU → LSx
LSx → HOST MCU
MIC Control
No
234 (0xEA)
HOST MCU → LSx
LSx → HOST MCU
AVS APP Service
No
240 (0xF0)
LSx → HOST MCU
AVS Client Status
No
246 (0xF6)
HOST MCU LSx
Alexa UI
Yes
247 (0xF7)
HOST MCU LSx
Enable Speech Tone
Yes
248 (0xF8)
HOST MCU → LSx
AVS Custom Speech
No
494 (0x1C1)
LSx → HOST MCU
Cast Setup Started
Yes
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 32 of 241
LIBRE CONFIDENTIAL
8. Features and its Associated Message Boxes
8.1. LUCI Registration
To initiate LUCI communication, the initial step involves HOST MCU and Network clients
registering with LSx.
8.1.1. HOST MCU Registration
Once the LSx platform completes its boot-up and initializes all essential modules, LSx
notifies the HOST MCU through MB#43690 that it is ready for LUCI communication. In
acknowledgment, the HOST MCU should respond through MB#9.
MB#9 Confirms that HOST is present
HOST MCU LSx
MB#43690 LSx LUCI Readiness
Regular Message Exchange Continues
HOST MCU registration message boxes in LUCI are:
MB#43690 LSx LUCI Ready
Description
LSx notifies HOST MCU on its readiness for LUCI communication.
HOST MCU
Mandatory
It is crucial that HOST MCU should initiate LUCI communication only
after receiving this MB. LSx will send this MB by end of its bootup
process and it is fairly assumed that HOST MCU should have booted
up earlier and will be waiting for this MB.
APP
Not Applicable.
MB#9 Is HOST Present
Description
HOST MCU acknowledges MB#43690 and responds using this MB.
HOST MCU
Mandatory
HOST MCU should compulsorily implement this MB and notify LSx.
APP
Not Applicable.
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 33 of 241
LIBRE CONFIDENTIAL
8.1.2. Network Client Registration
LSx employs the proprietary LUCI protocol to communicate with external devices, offering
interface options through UART (HOST MCU) or network (network clients).
Network clients refers to any Applications, including companion APPs and remote network
clients that intend to establish communication with LSx over a network connection. Libre
utilizes the TCP protocol for its interactions with these network clients.
After establishing a successful TCP connection with LSx, network clients should register to
LSx using MB#3. MB#4 is used for Deregistration, however, it is deprecated and not used in
the platform.
APP LSx
MB#3 Register Network Clients
Registration message boxes in LUCI are:
MB#3 Register Network Clients
Description
Register network clients to LSx.
HOST MCU
Not Applicable.
APP
Mandatory
All network clients should use MB#3 and register themselves to LSx.
MB#4 - Deregister Network Clients (Deprecated)
Description
Deregister network clients (This MB is no longer used as it is
deprecated).
HOST MCU
Not Applicable.
APP
Not Applicable.
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 34 of 241
LIBRE CONFIDENTIAL
8.2. Audio Playback Management
This section details on the message boxes involved in audio playback trigger, notification,
control and status.
A user can initiate playback using the methods like Content Provider APP (Spotify, Tidal,
etc.), Companion APP (Browse & Play), Bluetooth, AirPlay, Button trigger (to play from pre-
sets) and more.
Whenever a new playback request is initiated through any of these actions, it involves LUCI
communication between the LSx device and HOST MCU/APP and the below sections
outlines these with respect to audio player. Broadly, LUCI communication involved here
can be categorized into four sections: Authorization and Playback Info Notifications,
Playback Controls, Playback Status and Playback Trigger.
8.2.1. Authorization and Playback Info Notifications
This section details on how we communicate with HOST MCU about the new playback and
obtain permission from HOST MCU to carry forward (Authorization). It also covers various
notifications related to playback information, such as the current source, volume, metadata,
album art and more, which are sent to the HOST MCU/APPs.
8.2.1.1. Authorization
When a new playback is initiated, LSx will request authorisation from the HOST MCU and
the HOST MCU assesses whether the new playback source should be permitted or not and
provide the response back to LSx.
LSx notifies HOST MCU via MB#10 whenever there is a new playback request or a change
in playback source and HOST MCU verifies if the new source can take control over the
current one and communicates its decision in MB#11.
HOST MCU LSx
MB#11 Allow/Disallow
MB#10 Playback Change Request
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 35 of 241
LIBRE CONFIDENTIAL
Authorisation message boxes in LUCI are:
MB#10 Playback Authorisation
Description
LSx requests HOST MCU to grant permission to proceed with the
playback from the new source and then waits for response.
HOST MCU
Mandatory
HOST MCU may perform any necessary actions, such as
Change the audio route in DSP for LSx playbacks, prepare the
DSP with any specific settings like gain table particular for LSx
playback.
Waking the device from standby/sleep mode.
The above actions are optional and specific to HOST MCU
implementation.
The HOST MCU can subsequently grant permission in MB#11 after
completing the aforementioned tasks or any other task as deemed
necessary.
APP
Not Applicable.
MB#11 - Playback Authorisation Grant
Description
HOST MCU to grant or deny permission for new playback request.
HOST MCU
Mandatory
HOST MCU can grant or deny permission, once the essential tasks
outlined earlier are completed. Without this permission, LSx will not
proceed with the playback.
Though flexibility is provided to deny the LSx playback request
based on any precedence, this may impact user experience and
music certifications. Hence, MCU engineers need to discuss with
Libre FAE if they wish to deny the permission for any use case.
APP
Not Applicable.
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 36 of 241
LIBRE CONFIDENTIAL
8.2.1.2. Playback Info Notifications
LSx provides various Playback info such as current source, current playback time,
metadata, artwork and cover art, volume control, etc. to HOST MCU/APP, these data can be
employed for updating the UI display or for maintaining and managing the device's internal
state.
HOST MCU LSx
MB#50
MB#51
MB#54
MB#43
MB#42
MB#49
MB#64
Current State
Play Status (Playing,)
Error Status
Album Art
Meta Data
Playback Position
Volume
MB#230 Audio Output FS
MB#556 Audio Output FS ACK
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 37 of 241
LIBRE CONFIDENTIAL
Playback Info Notification message boxes in LUCI are:
MB#50 - CURRENT_SOURCE
Description
Used by LSx to inform the HOST MCU/APP on the presently chosen
audio source for playback.
HOST MCU
Optional
HOST MCU/APP can display the current source information on
its UI/LED. E.g., it can display the source logo or any related
information.
It can also be used for any internal implementation to
manage/book keep.
APP
MB#230 AUDIO_OUTPUT_FS
Description
Used by LSx to notify the sampling frequency change to HOST MCU.
Applicable only for systems that supports Dynamic Frequency
Sampling rates.
HOST MCU
Optional
HOST MCU can adjust the DSP/DAC settings (if any) on this sampling
rate change notification. After sending the new sampling rate, LSx
waits for maximum of 1 sec for the response on MB#556. On receiving
the response (or on timeout) LSx assumes that HOST MCU has done the
required changes and LSx starts the playback.
APP
Not Applicable.
MB#556 - AUDIO_OUTPUT_FS_ACK
Description
Send from HOST MCU to LSx acknowledging MB#230
HOST MCU
Optional
On receiving MB#230, HOST MCU can undertake essential
adjustments, such as configuring the DAC/DSP to accommodate the
updated sampling frequency and then acknowledge over MB#556 so
that LSx can proceed with the playback.
APP
Not Applicable
MB#51 Current Play State
Description
Used by LSx to inform the HOST MCU about the current play state
(playing, paused, stopped) of LSx.
HOST MCU
Optional
To update the UI/LED
To maintain the internal state, which can be used to perform
APP
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 38 of 241
LIBRE CONFIDENTIAL
appropriate actions. E.g., When HOST MCU maintains a single
button for Play/Pause, HOST to refer the internal state to trigger
Play or Pause using MB#40.
MB#54 Playback Error Status
Description
Used to determine whether the playback control events
(Pause/Resume, Next/Previous, Repeat/Shuffle) are success or failure.
HOST MCU
Optional
Update the UI with proper error notification in case of playback failure
of the given source like Airable (server not reachable, server not found,
timeout, decoders unavailable, sample rate not supported, etc.),
network failure, unexpected errors, etc.
APP
MB#43 - ARTWORK_METADATA
Description
Used to send the album art information to the HOST MCU enabling it to
refresh its display.
HOST MCU
Optional
Applicable only if HOST MCU have a display.
To update the UI display.
APP
Not Applicable (APP to fetch album art from the album art URL
directly)
MB#42 UI Info
Description
Provides the UI info like play view inf and Browse view info.
HOST MCU
Optional
Applicable only if HOST MCU have display.
Update the play view screen using Play view info.
Update the browsing UI using browse view.
APP
Optional
Update the play view screen using Play view info.
Update the browsing UI using browse view.
MB#49 CURRENT PLAYBACK POSITION_TIME
Description
Notifies the current playback position time of the music being played.
HOST MCU
Optional
Periodically updates the progress bar.
APP
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 39 of 241
LIBRE CONFIDENTIAL
Updates display with playback position time.
MB#64 VOLUME CONTROL
Description
Used for sending current volume to HOST MCU/APP on playback
initialisation. On initializing a playback from content provider APP, LSx
is supposed to notify some of these APPs with the current volume to
sync the content provider APP volume to device volume. After this as a
confirmation, content provider APPs provide the current volume to LSx
and LSx notifies this volume to HOST MCU/APP as a generic design.
HOST MCU
Optional
Unless user changes the volume explicitly, there will not be any volume
changes on playback initialisations. Hence HOST MCU/APP will not
have any specific action to take here as there is no explicit vol change
in this scenario. LSx will follow this as a general practice however,
HOST MCU/APP can check the current volume with the new volume
and ignore if there is no volume change.
APP
8.2.2. Playback Controls
User can control the playback (Pause, Stop, Next, Previous, Repeat, Shuffle, etc.) either by
using the HOST MCU button or through content provider APP or companion APP. These
playback controls from HOST MCU/APP can be notified to LSx by several message boxes as
explained below.
MB#40
MB#63
MB#64
Playback Control
Mute/Unmute Control
Volume Control
LSxHOST MCU
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 40 of 241
LIBRE CONFIDENTIAL
Playback Control message boxes are:
MB#40 Play Control
Description
Used to notify LSx with Play Control commands such as Play, Pause,
Stop, Next, etc.
HOST MCU
Optional
Issue respective play controls on button presses.
Issue respective play controls when actions are performed on
the device display.
APP
MB#63 - Remote SOURCE MUTE/UNMUTE
Description
Used to perform audio mute/unmute
HOST MCU
Mandatory
Mute/unmute the CODEC/DSP.
Update UI/LED
Maintains internal records
APP
Optional
Update UI/LED
Maintains internal records
MB#64 Volume Control
Description
Used for Volume control.
HOST MCU
Mandatory
There are various scenarios in which the user can change the volume.
In all these cases, LSx will eventually update HOST MCU with the final
volume. Upon receiving it, HOST MCU should:
Update the volume setting in the external DAC/DSP/AMP.
Update UI/LED.
Keep track of the updated volume for internal reference. E.g., If
user presses vol+ button, HOST MCU should increment on top of
the existing volume.
APP
Mandatory
On volume change notification from LSx:
APP should update the UI.
Keep track of the updated volume for internal reference. E.g., If
user changes the volume, APP should increment on top of the
existing volume.
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 41 of 241
LIBRE CONFIDENTIAL
8.2.3. Playback Status
All the MBs mentioned here are notified to HOST MCU/APP in the process of staring a
playback as mentioned in section 2. Playback Info Notifications. However, there are
instances where this information has to be read again. For example, if the user closes the
Companion APP during playback and then reopens it, the playback screen should be
reloaded with the relevant data, the same can be applicable for HOST MCU to update the
display. This can be accomplished by reading the status notification message boxes.
MB#50
MB#51
MB#42
MB#64
Current State
Play Status (Playing)
Meta data
Volume
LS10HOST MCU
MB#50 GET
MB#51 GET
MB#42 GET
MB#64 GET
Playback Status message boxes in LUCI are:
MB#50 - CURRENT_SOURCE
Description
HOST MCU/APP to read and get the current source that is selected.
HOST MCU
Optional
HOST MCU/APP can display the current source information on
its UI/LED. E.g., it can display the source logo or any related
information.
It can also be used for any internal implementation to
manage/book keep.
APP
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 42 of 241
LIBRE CONFIDENTIAL
MB#51 Play State
Description
HOST MCU/APP to read and get the current play state of LSx.
HOST MCU
Optional
To update the UI/LED
To maintain the internal state, which can be used to perform
Appropriate actions. E.g., When HOST MCU maintains a single
button for Play/Pause, HOST to refer the internal state to
trigger Play or Pause using MB#40.
APP
MB#42 -_UI Info
Description
Used by LSx to send meta data to the HOST MCU/APP to update
display.
HOST MCU
Optional
To update the UI display
MB#64 Volume Control
Description
HOST MCU/APP to read and get the current volume status.
HOST MCU
Optional
To read this MB and update the status. In most of the cases, HOST
MCU/APP will be maintaining an internal copy of current volume and
hence, this status might not be required. However, this option will be
available to read the current volume to meet any requirements.
8.2.4. Playback Trigger
Users have multiple methods to initiate music playback on the LSx, and this section outlines
the message boxes utilized to trigger these playback actions. The various methods for
commencing playback are as follows:
8.2.4.1. By using Content provider APPs, AirPlay, Bluetooth, Voice
This includes playing music from content provider APPs such as Spotify, ROON, AirPlay,
TIDAL, bubble UPnP, etc. wherein these APPs will provide the selected song/playlist to LSx
using the respective protocols they follow and LSx will initiate these playbacks. AirPlay and
Bluetooth playbacks will also be handled directly by LSx framework. Playing the music
using AVS (Voice) is handled by AVS SDK and notified to LSx player internally.
All of these scenarios are managed internally by the LSx and does not involve any message
boxes for playback trigger.
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 43 of 241
LIBRE CONFIDENTIAL
8.2.4.2. Browse & Play (LSx managed browsing sources)
This section includes browsing and playing for the sources for which LSx manages the
browsing content. For instance, in USB playback, LSx directly interacts with the USB pen
drive, LSx navigates through the USB file/folder structure according to the browse controls
provided by a user interface such as a content APP or the HOST MCU display.
Through the companion APP or the HOST MCU display, users have the capability to
navigate USB, DMR, Airable, etc. to select and play songs according to their preferences.
The HOST MCU/APP issues browse commands via MB#41, prompting LSx to explore the
designated sources and send the browse view via MB#42. Users can continue browsing
until they locate a song or playlist they wish to play. LSx continuously monitors MB#41
control commands, and when it receives a playable content, it proceeds with the playback
accordingly.
If the companion APP/HOST MCU display browses the content directly from the content
provider (not depending on LSx browsing) this section and message boxes are not
applicable.
MB#41
MB#42
MB#45
Browse Control
UI Info
GET UI Play
LS10HOST MCU
MB#41 - Browse Control
Description
Used by any interface controller (e.g., HOST-MCU over UART / I2C or
Phone APP over Network) to control the selection of Enter, Back, Up,
Down and Select Item Commands
HOST MCU
Optional
Control commands respective UI. Button or test display user
navigation.
APP
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 44 of 241
LIBRE CONFIDENTIAL
MB#42 - UI Info
Description
Used by LSx to send the Play View/ Browse View contents to the
HOST MCU/APP for display.
HOST MCU
Optional
Applicable only if HOST MCU has display.
To update the browse view/play view.
APP
Optional
Applicable if the companion APP supports the Now Playing
screen or supports LSx browsable contents.
To update the browse view/play view.
MB#45 Play View
Description
When the Play View is overwritten by Browse View, HOST MCU/APP
can get the play view information using this MB.
HOST MCU
Optional
Applicable if the HOST MCU supports display.
If the user moves from the play view screen to another screen
and then returns to play view, this MB can be used to retrieve
play view details.
APP
Optional
If the user moves from the play view screen to another screen
and then returns to play view, this MB can be used to retrieve
play view details.
Also, applicable if APP supports cascaded screen for play view
and browse view.
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 45 of 241
LIBRE CONFIDENTIAL
Music Service Login Credentials
When the product supports browsable music services like Airable Sources that demands
user login before, the user entered credentials are to be passed to LSx for logging into the
particular music service. MB# 213 is employed to support this.
MB#213 Music Service Credentials
Description
Used to provide login credentials of music service to LSx when the
service is browsed and played using LSx browsing.
HOST MCU
Optional
Applicable if the HOST MCU supports display and supports LSx
browsable music services like Airable.
Provide the user entered login credentials to LSx.
APP
Optional
Applicable if the APP supports LSx browsable music services
like Airable.
Provide the user entered login credentials to LSx.
Airable Track Info
To meet the Airable certification requirements and for better UX, LSx provides the detailed
info for track/album such that UI can display this information whenever user opts for it.
HOST MCU/APP can request info about Album/Artist/Track for Airable sources through
MB#41 and the respective details will be sent over MB#44 by LSx.
HOST MCU/APP LSx
MB#41 SET Command (SELECTINFO:<index>)
MB#41 Ack
MB#44 SET Response
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 46 of 241
LIBRE CONFIDENTIAL
MB#44 Airable Track Info
Description
Provides info about Album/Artist/Track for Airable sources
HOST MCU
Optional
Applicable only for the products which have display. It is mandatory
to display the track info to meet Airable certification requirements.
APP
Mandatory
It is mandatory to display the track info to meet Airable certification
requirements. IF the APP implements Airable browsing directly using
Airable SDK, this MB is not applicable as it can fetch this info from the
Airable cloud.
8.2.4.3. Audio Input Sources
Input sources refer to the connections or interfaces used to link audio sources to a system.
These sources include inputs such as AUX-in, SPDIF-in, USB-in and more.
The LSx system offers two primary design options for interfacing with these sources.
a. External Sources
In this scenario, the input sources are not directly connected to the LSx module but are
instead linked to an external DSP/DAC. These external DSP/DAC units have the capability
to connect to various sources such as AUX, USB, SPDIF, HDMI and more. They perform the
necessary processing and directly play out the audio. For LSx, all of these sources are
categorized as "external sources" and LSx doesn't need to differentiate between them.
Typically, there are buttons associated with these inputs and when a user presses one, the
HOST MCU can initiate playback using MB#97. In response, LSx switches the source type to
"external" and stops the current playing source (if any).
MB#97 External Playback
Description
Used to notify LSx on “Start” or “Stop” of external playback (playback
from any sources like AUX, SPDIF, etc.)
HOST MCU
Optional
If there is no requirement to input audio sources directly into the LSx,
and if the external DSP/DAC can support this, OEM/ODM can design
these sources as external.
This Approach is more relevant for input sources that LSx does not
support like HDMI-ARC.
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 47 of 241
LIBRE CONFIDENTIAL
The HOST MCU can assign these buttons (SPDIF-IN, AUX-IN, HDMI-IN,
etc.) to trigger playback using MB#97.
APP
Not Applicable
b. Internal Input Sources
In this design, the input sources will be directly read by LSx. For instance, SPDIF (directly
connected to LSx) or an Aux In (Analog input connected to an external DAC, DAC providing
it via I2S, LSx reads through I2S-IN). To trigger these input sources, buttons are made
available to end users. Upon user input, the HOST MCU can then initiate the corresponding
input playback using MB#95.
MB#95 Input Start & MB#96 Input Stop
Description
Used by the HOST MCU to switch the audio source to line input
sources like AUX, SPDIF, etc. and MB#96 used by the HOST MCU to
stop the audio input sources described in MB#95
HOST MCU
Optional
It is not advisable to route these input sources to LSx and load LSx
unnecessarily unless there is a valid reason to do so. SPDIF-IN in LS10
becomes a valid use case if the customer's DAC does not support
SPDIF-IN. If DSP processing is handled within LSx, it becomes logical
to bring all of these sources into LSx for unified processing.
When a user presses the corresponding button, the HOST MCU
can initiate the process by calling MB#95 with the appropriate
parameters.
Additionally, when a user switches to a different source by
pressing the button, HOST MCU should call the stop function
using MB#96.
APP
Not Applicable
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 48 of 241
LIBRE CONFIDENTIAL
8.2.4.4. Audio Cue
By this mechanism, ODMs/OEMs can include any notification tones in the device firmware
and these tones can be played using MB#80. Each event notification of a device can have its
own distinct tone, allowing for unique sounds like those for successful Wi-Fi connectivity
or Bluetooth pairing.
MB#80 Play Audio Cues
Description
This message box is used to play custom audio cues for event
notifications.
HOST MCU
Optional
Explore this option if there is a need to enhance the user experience
by playing audio cues for notifications. It can be extended to 3rd party
applications as well.
APP
8.2.4.5. Preset
Users have the capability to save and store their preferred songs in a designated favourite
list. These saved songs can be easily played later using a preset button. MB#70 is used to
trigger this preset button.
Preset Management (MB#70 Preset Control & Auto USB)
Description
Used to control favorite/presets feature.
HOST MCU
Optional
To decide on the no. of preset buttons required for the product.
Design the button spec (e.g., long press on preset button 1 will
save the preset, short press will play)
Send the respective commands (save, play, delete, etc.) on the
desired button triggers.
APP
Optional
APP can have UI to display preset buttons and allow actions on
it.
Send the respective commands (save, play, delete, etc.) on the
desired user clicks.
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 49 of 241
LIBRE CONFIDENTIAL
8.2.4.6. Direct URL
The HOST MCU/APP can provide LSx with a song or playlist URL through MB#41. LSx will
then retrieve the content from this URL and initiate playback. For playlists, LSx can support
playback controls like next, previous, etc. but for single song URLs, LSx is limited to playing
that individual song.
There are several potential use cases for using direct URLs:
1. From APP to provide Song/Playlist for LSx to play:
It can be any of the below scenarios:
If the APP implements native browsing by directly interacting with music servers
(e.g., Airable browsing directly with Airable servers), it can provide the final song or
playlist URL.
If the APP implements DMC (Digital Media Controller), users can browse the content,
and the APP can pass the final playback/playlist URL via direct URL.
This can be extended to other custom implementations, essentially allowing the APP
to provide a URL to LSx, which LSx can then play.
2. HOST MCU to Provide a URL or Playlist to LSx to Play:
The HOST MCU can provide a playable URL or playlist to LSx for playback.
It's up to the HOST MCU how it fetches the URL, and it can involve various custom
implementations. One common example is the MCU using TCP Tunneling to browse and
eventually present the URL to LSx.
3. Playback of Locally Stored Files:
The HOST MCU/APP can use the direct URL method to play any locally stored tones/files
within LSx by providing the local URL.
Direct URL functionality is supported by MB#41. For more details, refer to MB#41.
Direct URL (MB#41 - Browse Control)
Description
Used by HOST MCU/APP to play the song from a URL.
HOST MCU
Optional
It can be implemented if there is a requirement for any of the use
cases mentioned above.
APP
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 50 of 241
LIBRE CONFIDENTIAL
8.2.4.7. Quick-Start Source
Suppose a user is currently playing AirPlay but then decides to resume Spotify from where
they left off, how can they restart Spotify with just a single tap? This feature provides a
solution by seamlessly picking up and playing such sources from either their previous state
or the beginning.
Some of the music sources like Spotify can be resumed from its previous state by a simple
button press. This is beneficial as it avoids the hurdle of user browsing and playing using
the APPs. USB/hard disc playback also supports this feature where in with a button press,
LSx can initiate USB/ hard disc from the first song in the drive.
MB#76 provides the option to initiate USB playback. This MB can be extended to support
the similar requirements from more sources.
MB#70 is used currently to provide support for USB playback. We plan to migrate this
option to MB#76 in near future.
USB Playback (MB#70 Preset, Auto USB & Standby)
Description
Used for USB automatic playback
HOST MCU
Optional
Applicable only if there is a dedicated button in HOST MCU to initiate
USB/Hard Disc playback.
On pressing USB button LSx will initiate USB/Hard Disc playback
from the first song.
APP
Optional
APP can browse and play USB contents, hence this option is mostly
not applicable. However, this can be utilized for any specific
requirements like starting USB playback on a specific icon option
provided.
MB#76 Acquire & Play
Description
Used for resuming Spotify playback with a single touch.
HOST MCU
Mandatory
This feature is mandated by the Spotify for certification, if the device
supports Spotify as per Spotify guidelines.
As per this, on pressing play button, Spotify should resume from
wherever it was stopped. As most of the product supports multiple
sources, it doesn’t make sense to play Spotify on pressing play button.
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 51 of 241
LIBRE CONFIDENTIAL
If the HOST MCU supports display, this can be implemented on user
selecting Spotify source from display UI. HOST MCU to send MB#76 in
this case.
APP
Optional
APP can implement this on selecting Spotify source.
8.3. AirPlay
AirPlay is an updated version of Apple's wireless streaming and communication protocol
AirPlay. It enables the wireless transmission of audio, between Apple devices and
compatible third-party hardware.
The LSx platform seamlessly incorporates the AirPlay SDK for AirPlay compatibility. Once
the device is connected to a network, LSx utilizes Bonjour discovery to broadcast its
presence, allowing content provider APPs to detect and display the available speakers.
When a user chooses an AirPlay speaker from any music service, the chosen music is
streamed from their mobile device or laptop to the selected speaker through the advanced
AirPlay technology.
For more details, refer: https://support.apple.com/en-in/HT202809
8.3.1. Apple Authentication Co-Processor (ACP)
ACP is an accessory hardware component that provides device related digital signature
creation and verification services. Apple mandates the inclusion of an ACP in accessories to
enable them for AirPlay streaming. The AirPlay SDK authenticates the accessory, like the
LSx-enabled speaker, by leveraging the capabilities of the ACP. Once a valid challenge-
response is obtained from the ACP, the LSx speaker can proceed with AirPlay streaming.
The ACP is additionally required to provide support for Wireless Accessory Configuration
(WAC), a technology offered by Apple to streamline the network setup of wireless
accessories. It's important to note that the ACP is not integrated into the LSx module;
instead, it needs to be physically mounted onto the customer's board by ODMs/OEMs. LSx
establishes communication with the ACP using the I2C protocol.
Apple provides another option to use the software ACP instead of hardware ACP but, it has
certain limitation as explained in the below section.
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 52 of 241
LIBRE CONFIDENTIAL
8.3.1.1. SoftACP
As an alternative to hardware ACP, Apple offers a method for authenticating AirPlay
services using software tokens. In this approach, Apple allocates software tokens and these
to be provisioned to LSx. Provisioning the tokens onto an accessory can be done through either
factory provisioning or in-field provisioning.
1. Factory Provisioning: The tokens can be flashed to LSx during the factory process.
2. In-Field Provisioning: For devices that have previously been manufactured or sold,
in-field provisioning may be used to upgrade them to become AirPlay audio enabled
through a firmware update. To support this Libre/customer can host a server,
install tokens in the server and can be provisioned to LSx on token request during
the initial setup.
However, it's important to consider the following limitations while using software tokens:
1. Incompatibility with WAC: Software tokens do not support Wireless Accessory
Configuration (WAC).
2. Limited Support on Older Apple Devices: Software authentication support was
added in iOS 13.4 and is not supported in earlier versions.
3. Custom Cloud Management: Need to maintain and manage a customized cloud
infrastructure to support token provisioning in case of on-field provisioning.
4. It is mandatory for the end user to add the device to Apple Home APP before using
AirPlay. Apple Home APP reprovisions the device by issuing new tokens.
5. Software authentication requires setup of a bulk vendor server to download the
tokens from Apple. The product manufacturer is expected to come up with their
own mechanism to inject the token in the factory or OTA and Apple does not
provide this infrastructure.
In- field provisioning status info is provided by MB#17.
MB# 17 - SoftACP Status
Description
Provides in-field provisioning status.
HOST MCU
Optional
If token provisioning is not successful, device will not be able to
support AirPlay. APP/HOST MCU UI can display the success/error
status to take appropriate actions.
APP
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 53 of 241
LIBRE CONFIDENTIAL
8.3.1.2. ACP Factory Tests
As the ACP is not included in LSx module but is down designed into customer’s PCBA, it
becomes crucial to thoroughly inspect the connectivity and soldering quality of the ACP
chipset during factory test phase.
Performing operations like AirPlay playback or WAC setup within the factory can be costly
hence to validate the ACP connectivity, LSx provides MB#14 & MB#15 to read the version
information from the ACP. ODMs/OEMs can employ these MBs to validate ACP connectivity
as part of their factory processes.
Factory Test (MB# 14 & 15 - ACP Share Command & Response)
Description
Used to check the connectivity and solderability of the ACP chipset.
HOST MCU
Optional
In factory, HOST MCU can trigger MB#14 with “MAJOV”, LSx will
communicate with ACP chipset over I2C and receive the major
version from ACP and this will be responded over MB#15.
HOST MCU can check the version and determine whether the ACP is
functional.
APP
Not Applicable.
8.3.1.3. ACP Share
When a product mount multiple LSx modules, the ACP can be shared between these
modules in order to reduce the cost. In this setup, one LSx module takes on the role of a
master and interfaces with the ACP through the I2C protocol.
HOST MCU can manage this by retrieving the required information from the master LSx
(ACP Certificate, ACP Device Version, ACP Firmware Version, etc.) making use of MB#14 &
MB#15 and sharing this info to other LSx slave devices. This approach allows for efficient
sharing of the ACP among multiple modules. Contact Libre FAE for more details.
The NV Item “AcpToLS is used to set the LSx as master or slave, ODM to set it as per the
design. HOST MCU can identify the master LSx from the schematic design and use this
information to provide the respective LUCI commands.
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 54 of 241
LIBRE CONFIDENTIAL
MB# 14 &15 - ACP Share Command & Response
Description
Used by HOST MCU to share ACP among multiple LSx modules.
HOST MCU
Optional
LSx slave will request HOST MCU on MB#14 for the required data,
HOST MCU to trigger MB#14 to LSx master.
LSx master to provide the response to HOST MCU over MB#15.
HOST MCU to provide this response back to LSx slave over MB#15.
APP
Not Applicable.
8.3.2. AirPlay Password
To manage access to music streaming through AirPlay, an authentication password can be
implemented. This is entirely optional, but it can ensure that only authorized users can play
music on the device. The user has three options to configure AirPlay password via:
1. Apple Home APP
2. Webpage/APP
3. WAC
Apple Home APP
Apple offers a built-in APP on iOS devices called "Home" that is part of Apple's HomeKit
ecosystem. The Home APP allows users to manage and control their HomeKit-compatible
smart home devices. After a device is added to the Home APP, there is an option to set the
desired password. If a device had a password configured through a webpage, app, HOST
MCU, or WAC prior to its addition to the Home APP, the Home APP will request that specific
password as a prerequisite before including it within the Home APP.
Webpage/APP/HOST MCU UI
For a device that has not yet been added to the Apple Home APP, users should have the
ability to view and edit the friendly name and password. Once a device has been added to
Home, the user must not be allowed to change the name and password via
webpage/APP/HOST MCU UI.
1. The user has the option to configure the AirPlay password either through a mobile
APP or a webpage or HOST MCU UI, however, this can only be done when the device
is not already added to Apple Home APP. If the device is already added in the Apple
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 55 of 241
LIBRE CONFIDENTIAL
Home APP, the Apple Home APP will take priority and override the password set by
the user through other means.
2. If a device is added to the Home APP and there is no password set for the Home APP.
The password will be empty, but the user will still be unable to set a password via
webpage/APP/HOST MCU UI.
3. In cases where the device is removed from the Home APP, the password will be left
empty, allowing the user to set a new password through the webpage, app, or HOST
MCU UI.
To set a password for AirPlay, it's essential to confirm that the device is added to Apple
Home APP or not. MB# 561 verifies whether the device is added to Apple Home APP, MB#
562 facilitates password setup, and the response is conveyed through MB# 563.
MB# 561 - Apple Home APP Inclusion Check
Description
Used to check if the LSx device is added in Apple Home APP.
HOST MCU
Optional
Applicable only if HOST MCU have a display.
Determines whether friendly name and set AirPlay password fields
are editable and update the UI accordingly.
APP
Optional
Determines whether friendly name and set AirPlay password fields
are editable and update the UI accordingly.
MB# 562 & 563 - AirPlay Password Request & Response
Description
Used to set/get the AirPlay password.
HOST MCU
Optional
Applicable only if HOST MCU have a display.
Set password: Facilitates to set the user entered password.
Get password: Displaying the password might breach the security,
however it can be used to get the password length and show
asterisks.
APP
Optional
Set password: Facilitates to set the user entered password.
Get password: Displaying the password might breach the security,
however it can be used to get the password length and show
asterisks. On the other hand, it can also be used to display the
password for the device in which the password was set originally.
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 56 of 241
LIBRE CONFIDENTIAL
Status 1
Device Configured
(From MB# 563)
Yes
Status 3
Invalid Message
(From MB# 563)
No
Apple Home APP
Configuration
Validate JSON
Format
Correct JSON Format
Wrong JSON Format
MB# 562
Status 0
Success
(From MB# 563)
Status 2
Invalid Password
(From MB# 563)
No Yes
Validate Password
GET Password
Correct JSON Format
Set New Password
Apple Home APP
Configuration
Yes Status 1
Device Configured
(From MB# 563)
No
Status 0
Share the current
AP2 Password
(From MB# 563)
SET Password
WAC
The user can also set AirPlay password through WAC. The iOS device will display a list of all
compatible devices that are in WAC setup mode. After configuration, the user can change
the device friendly name and set AirPlay password.
1. The user has the option to configure the AirPlay password through WAC only if the
device is not added to Apple Home APP otherwise Apple Home APP will take
priority and override the password set by the user through WAC.
2. The user can change the AirPlay password through webpage/UI/HOST MCU display,
even if the password is already set in WAC.
3. In cases where the device is removed from the Home APP, the password will be
empty, user can set a new password using webpage/APP/HOST MCU UI.
For more details refer to WAC setup section.
8.3.3. AirPlay Certification
It is mandatory for ODMs to seek AirPlay certification if their products are compatible with
AirPlay. Before formal certification, Libre/ODM will perform pre-certification (WAC, ACT
and BCT) testing and make sure that there are no failures. Few samples of the end product
along with pre-cert reports will be send to Apple for certification. Once Apple is satisfied
with the speaker's compliance with AirPlay standards, they will provide certification and
branding rights and the product will be "AirPlay Certified."
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 57 of 241
LIBRE CONFIDENTIAL
8.4. TCP Tunneling
TCP Tunneling is a unique capability supported by LSx, enabling the HOST MCU to establish
communication with other network devices via LSx. These network devices can include
companion APP or any other device capable of connecting with LSx using TCP. LSx serves
as a tunnel, exclusively forwarding data between the HOST MCU and the network device
without processing it.
Typical use cases of TCP tunneling can be:
Implement custom features in the mobile APP without direct support of LSx. For
example, the EQ settings like bass or treble controller can be implemented in APP
making use of TCP tunneling to transfer the user settings to HOST MCU.
Enhance the APP to add any custom features that need interaction with HOST MCU.
To display the play view information for the sources external to Libre but managed
by HOST MCU.
The HOST MCU and network clients have the flexibility to create their proprietary
communication protocol and engage in data exchange. Using MB#111, the HOST MCU can
direct LSx to initiate a TCP server on a predetermined port number. Network clients can
then connect to LSx over TCP via this designated port number to commence their
communication over MB#112.
Host MCU LSx
UART
Tunnels TCP Data
LSx module offers TCP tunnel to
network clients/APP
Wi-Fi/Ethernet Wireless Access
Point Smart Phone
Laptop
(Network Client)
Wi-Fi
(Network Client)
Wi-Fi/Ethernet
Figure: LUCI TCP Tunneling
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 58 of 241
LIBRE CONFIDENTIAL
8.4.1. Server Setup
To set up a TCP server on LSx, the HOST MCU is required to specify the port using MB#111
command. It's essential to note that the chosen port number should be greater than 1023,
as ports ranging from 0 to 1023 are reserved for other purposes. If the specified port
number is less than 1024, LSx will respond with an error. Upon successful receipt of
MB#111 command, LSx will initiate a TCP server, making it ready to accept connections
from network clients.
MB# 111 - TCP/IP Tunneling Start
Description
Used by HOST MCU to notify LSx with the port number on which LSx
will start the TCP tunnel server.
HOST MCU
Optional
After bootup and once the system is ready for LUCI communication,
HOST MCU can request LSx over MB#111 to initialize TCP tunneling.
APP
Not Applicable
8.4.2. Communication
Once the server setup is successful, network clients can establish connections with LSx and
initiate communication with the HOST MCU. LSx acts as a tunnel, transmitting data
received from network clients to the HOST MCU through MB#112 command. If the HOST
MCU wishes to send data to the network clients, it can transmit the data to LSx using the
same MB#112 command. Upon receiving the MB#112 command from the HOST MCU, LSx
will distribute the data to all connected network clients.
Important points to consider:
1. LSx can accept a maximum of 2048 bytes of data from network clients in a single
transaction. If the data volume exceeds this limit, it will be fragmented and
forwarded to the HOST MCU. The responsibility for reassembling this data lies with
the HOST MCU.
2. When multiple network clients are simultaneously transmitting data to LSx, LSx will
process this data sequentially in the order it is received. LSx does not provide any
specific information about the source network client. Any identification details or
protocol-specific information should be added by the HOST MCU and network client
as needed.
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 59 of 241
LIBRE CONFIDENTIAL
3. Data received from the HOST MCU via MB#112 will be broadcast to all network
clients connected to LSx at that moment. There is no provision to target or send data
exclusively to a particular network client.
MB# 112 - Tunnel Data
Description
Used by MCU or LSx to send TCP data.
HOST MCU
Optional
Forward the TCP data to network clients through LSx.
Obtain the TCP data sent by network clients from LSx.
APP
Not Applicable
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 60 of 241
LIBRE CONFIDENTIAL
8.5. OEM App Setup Flow
This section provides a general overview of setting up LSx using the OEM app as part of the
Out of the Box Experience (OOBE). For devices that support Google Cast (GC4A - Google
Cast for Audio), Google imposes specific setup flows and guidelines. In this section, we will
explain the OEM app setup flow mandated by Google. It's strongly advised for ODMs/OEMs
to adhere to the relevant sections, even if Google Cast is not supported on the device.
GC4A 2.0 OEM App Setup
Google has come up with a newer version GC4A 2.0 (aka Cast Lite 2.0) and mandated all
OEMs to go ahead with Cast Lite 2.0 for all products launched post Dec 2023. With the
release of Cast Lite 2.0, the Google Home App will no longer support Wi-Fi setup or Cast
enablement for third-party devices running Google Cast. These responsibilities have moved
to the OEM setup app.
Google has strict guidelines on the setup flow and cast enablement and OEM app has to
comply with the UX wire frames defined by Google. The OEM app developer should refer to
the latest Google CRD and implement the flow as per the guidelines. This section details the
requirements in high level, refer Google guidelines for more details.
8.5.1. Network Configuration
The OEM setup app MUST allow users to choose a Wi-Fi network and input the correct
password to connect to the network. OEM setup apps MUST allow users to select the
configured device and remove or change the Wi-Fi network connection settings. LSx
supports network configuration using BLE, contact Libre FAE for further information and
documentation.
For the devices that do not support Wi-Fi, but only ethernet, this step can be skipped.
8.5.2. Device Friendly Name
LSx provides a default friendly name for each device. The OEM app MUST provide users an
option to switch from the default name to a unique name for their device in the OOBE flow
and MB#90 can be used to facilitate this.
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 61 of 241
LIBRE CONFIDENTIAL
HOST MCU/APP LSx
MB#90 GET/SET Command
MB#90 SET Response
MB#90 Device Name
Description
Used to fetch or update the device friendly name.
HOST MCU
Optional
If the product includes a display feature, the HOST MCU can offer users the
choice to view the default friendly name and provide an option to modify it.
APP
Mandatory
As a part of setup flow or from settings menu, the app can offer users the
choice to view the default friendly name and provide an option to modify it.
8.5.3. OTA Update
The LSx setup flow must incorporate a mandatory, non-skippable step to verify the
availability of firmware updates. If an update is available, the process must proceed with
the firmware update. The OEM app must integrate this flow into the setup process. The
OEM app can verify firmware update availability using MB#223. If an update is detected,
the corresponding UI for the entire firmware update process should be displayed, refer the
OTA feature section in the LUCI document for more details. If no update is available, the
process can continue with a notification message stating that the firmware is up to date.
8.5.4. Google ToS and User Feedback
MB#571 and MB#572 facilitate communication between the app and LSx for executing
Terms of Service (ToS) and user feedback. The app will initiate this process immediately
after network configuration and LSx may not have fully booted Google Cast services at that
time. Therefore, the OEM app must verify whether LSx is ready to accept these settings. To
accomplish this, the app should first check MB#7 (Google Cast Version Information). If
Google Cast has booted, MB#7 will provide a valid version number; otherwise, it will return
no data (empty). The app should repeatedly query this message until it receives a valid
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 62 of 241
LIBRE CONFIDENTIAL
version number to ensure that the Google Cast service is booted before proceeding with the
ToS.
8.5.4.1. Google Terms of Service (ToS)
OEM app MUST provide users an option to accept ToS during the setup flow, after a
network connection has been established. User will have an option to either "Accept" or
"Skip" the ToS. If the user chooses not to accept the ToS, they will be unable to cast audio to
LSx using a Google Cast-enabled app. However, if the user agrees to the ToS, LSx will
activate the necessary settings, which will remain in effect until a factory reset occurs.
8.5.4.2. User Feedback
Enable Usage Reporting Opt-In
If the Google ToS is accepted by the user, the OEM setup app MUST include a page in the
setup flow with a prompt for the user to opt-in to allow Google to collect device data.
Essentially, this entails seeking the user's authorization to submit device status and crash
reports to Google. The user retains the option to either Opt-In or Opt-Out of this feature.
The chosen preference will then be transmitted by the application to LSx. LSx, in turn, will
undertake the appropriate action based on the user's selection, either sending or refraining
from sending the data and crash reports to Google servers.
Opt-In/Opt-Out Settings for Usage Reporting (post OOBE)
Users will also be able to change their usage reporting setting from the Google Home app.
Thus, the OEM setup app MUST read the usage report value from LSx and display it to the
user correctly in the device settings page. This must be provided in the OEM setup app
settings UI under Google Cast menu or something similar. OEM setup app MUST allow
users to Opt-In/Opt-Out of usage reporting post OOBE in the same location.
MB# 571 SET Command
APP LSX
MB# 572 SET Response
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 63 of 241
LIBRE CONFIDENTIAL
MB# 571 (Google Cast ToS and Usage Report Requests)
MB# 572 (Google Cast ToS & Usage Report Response)
Description
Used to read/update user preferences for ToS and usage report.
HOST MCU
Optional
If the product includes a display feature and if customer has
requirements to provide UX for Google Cast enablement from built-
in display, HOST MCU can utilize this MB to read/update the user
preferences for ToS and usage reports.
APP
Mandatory (if the product supports Google Cast)
As a part of setup flow or from settings menu, the app can offer users
the choice to accept/reject the ToS and usage reports.
8.5.4.3. Cast Built-in User Education
The OEM setup app MUST present a brief description of Google Cast, including a link and
direct the user to continue in the Google Home app to set up groups and other Google Cast
features.
8.5.4.4. Deep-link to Google Home App
OEM apps MUST provide the user a prompt to continue onto the Google Home App via a
deep-link after completing setup and accepting Google ToS and accepting (or rejecting)
usage reporting.
8.5.4.5. Time Zone Configuration
The OEM app is required to retrieve the user's selected time zone from the mobile services
and transmit this information to LSx. The application has the flexibility to send this data
without presenting a user interface screen for time zone selection. Alternatively, it may
offer users the choice to select their time zone within the app. Given that mobile services
already furnish the selected time zone, the latter option might be unnecessary.
Additionally, the OEM application can include a feature in its settings menu that allows
users to modify the time zone if needed. MB#573 facilitates this option.
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 64 of 241
LIBRE CONFIDENTIAL
MB# 573 GET Command
APP LSX
MB# 573 SET Response
MB#573 TimeZone Configuration
Description
Used to query the timezone settings of the LSx device and to modify
the device timezone using OEM app.
HOST MCU
Optional
If the product includes a display, HOST MCU can utilise this MB to
read/update time zone configurations.
APP
Optional
App can utilise this MB to read/update time zone configurations.
8.6. Firmware Updates
8.6.1. OTA (Over The Air) Update
OTA (Over-The-Air) update is a process of updating a device's firmware or software
remotely, typically through a wireless connection like Wi-Fi.
This section explains the OTA update process and the message boxes involved to share the
status/progress to the HOST MCU & APP.
OTA update will be performed automatically without user intervention to make sure
the device is always running the updated firmware.
OTA update process will be initiated:
o After reboot once the device is connected to the network via Wi-Fi or
Ethernet.
o Periodic checks at regular intervals (if LSx is in active playback this update
will be skipped and rescheduled to next periodic check.)
LSx also provides an option to trigger update manually using MB#238 & MB#235.
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 65 of 241
LIBRE CONFIDENTIAL
LSx OTA Flow
OTA Manager Check for Update
Signature verification using Libre key
Request for firmware with system
info and Libre certificate
Delete the
downloaded
image
MCU Install
Abort
Application
Cert
Authentication
Push download link
Success
Failure
Failure
Success
OTA-Server
SW update
Sig Verification using Libre Key
Application Install
Delete
Downloaded Image
Abort
BSL
Reboot
Update
available?
Yes
No update
available
No
N/A
Download
Reboot
OTA process has four stages:
1. Check for Firmware Update
2. Download the New Firmware
3. Install from Application
4. Install from Bootloader
8.6.1.1. OTA Stages
Check for Firmware Update
LSx will send a request to the server containing the current device information, which
includes hardware details, the current firmware version, and some data from the MCU. The
OTA server will then respond with information about the availability of an updated
firmware version. The status of the update check will be communicated to the HOST
MCU/APP via MB#223.
To ensure accurate reporting to the OTA server, the HOST MCU must inform LSx of its
current firmware version. This allows LSx to present this information to the OTA server
effectively.
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 66 of 241
LIBRE CONFIDENTIAL
HOST MCU LSX
If update available
or
No update available/
Error in server connection
MB# 6HOST Version (on bootup)
MB# 232 AC power status
(on bootup/change in state)
MB# 223 Update started
or
No update
MB#6 HOST MCU Version Info
Description
To notify the HOST MCU version to LSx.
HOST MCU
Mandatory
LSx will send the HOST MCU version information to OTA server to
verify if the HOST MCU is running the latest available firmware.
HOST MCU must send this info in the bootup process.
APP
Not applicable.
MB#223 Firmware Upgrade Status
Description
Used by LSx to notify the firmware upgrade state to HOST MCU/APP.
HOST MCU
Mandatory
To display the firmware upgrade status/progress in UI.
To do internal actions in HOST MCU for firmware update.
APP
Mandatory (for OOBE)
To display the firmware upgrade progress in app.
After the first Wi-Fi configuration (OOBE flow), app can check this
MB for any available update and display the ‘update in progress’
screen.
MB#232 - AC Powered
Description
Used by HOST MCU to notify the power state of product to LSx.
HOST MCU
Mandatory (for battery powered)
To send the power status on bootup.
To report the power status upon a change in the power source
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 67 of 241
LIBRE CONFIDENTIAL
(battery/live power).
LSx will skip OTA if the device is running in battery power and the
battery level is below a specified threshold.
APP
Not applicable.
Download the New Firmware
If an updated firmware for the device is available in the server, LSx will start downloading
the new firmware. The download status and progress will be shared to MCU/APP via
MB#223.
HOST MCU LSX
MB# 223
"UPDATE_DOWNLOAD"
Download progress <1 - 100>
MB# 223
MB# 223
"UPDATE_IMAGE_AVAILABLE"
"DOWNLOAD_FAIL"
MB# 223 Download Start
Download Progress
Download Complete
Error in Download
or
MB#223 Firmware Upgrade Status
Description
Used by LSx to notify the download progress to HOST MCU/APP.
HOST MCU
Mandatory
To display the firmware download progress in UI if there is an MCU
display.
To do internal actions in HOST MCU for firmware update.
APP
Optional
To display the firmware download progress in app.
After the first Wi-Fi configuration (OOBE flow), app can check this
MB for any available update and display the ‘update in progress’
screen.
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 68 of 241
LIBRE CONFIDENTIAL
Install from Application
If the new firmware is downloaded successfully, LSx will start the installation process.
The first stage of installation will be taken care in the application without reboot. The
following steps will be done in this stage:
Verify the integrity and authenticity of the downloaded firmware.
Install the bootloader (BSL) firmware (if available).
Transfer the MCU firmware to HOST via XModem (if available).
Reboot to bootloader.
All the installation status will be notified to HOST MCU/APP via MB#66.
HOST MCU LSX
MB# 66
"CRC_CHECK_ERROR"
Install progress
<1 - 70>
MB# 68 <MCU Firmware size>
Xmodem
Transfer
MB# 223 If firmware verification fails
or
Install required components
If MCU firmware available
MCU firmware transfer
MB# 66 Install progress
<80 - 100>Install progress
MB# 66 "complete" Complete stage 1 installation
MB# 114 "rebootrequest" requesting host to reboot
MB# 115 reboot command Graceful shutdown
Reset LSx
During XModem transfer of MCU firmware LSx/HOST MCU must stop all LUCI
communication over UART.
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 69 of 241
LIBRE CONFIDENTIAL
MB#66 Firmware Install Progress
Description
Used by LSx to notify the installation progress of new firmware.
HOST MCU
Mandatory
To display the firmware installation progress in UI.
To do internal actions in HOST MCU for installation.
APP
Optional
To display the firmware installation progress in UI.
MB#68 HOST Image Ready
Description
Used by LSx to notify HOST MCU to start the HOST MCU firmware
update process.
HOST MCU
Mandatory
Stop sending any LUCI communication during MCU update.
Start Xmodem transfer to receive MCU firmware from LSx.
After Xmodem transfer completes, resume LUCI communication.
APP
Not applicable.
MB#114 Reboot Request
Description
Used by LSx to notify the HOST MCU to reboot LSx to complete the
installation.
HOST MCU
Mandatory
To send MB#115 to enable graceful shutdown of LSx.
In systems with HOST MCU, LSx will reboot only if HOST MCU does
a hardware reset.
APP
Optional
Can be used to display the UI to notify installation progress.
MB#115 Reboot Command
Description
HOST MCU to send graceful shutdown request to LSx.
HOST MCU
Mandatory
To send this after receiving reboot request on MB#114.
HOST MCU must send this MB to close all the apps running on LSx.
Failure to do so will result in unexpected UI behavior in content
apps.
APP
Not applicable.
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 70 of 241
LIBRE CONFIDENTIAL
Install from Bootloader
If the stage 1 installation is successful in application, LSx will enter Bootloader mode after
the reboot. LSx will install all the components in the firmware and reboots the new
application firmware. There will be no communication to HOST MCU from LSx in
bootloader. After installation, LSx will automatically reboot to new application and HOST
MCU can wait for MB# 0xAAAA.
8.6.1.2. OTA Trigger
LSx enables OTA updates through MB#235, which can be used by the HOST MCU or APP to
check and update LSx firmware at any point of time as a part of UI/UX. On receiving this
MB, LSx will follow the standard OTA process.
MB#235 OTA Trigger
Description
This MB allows manual triggering of OTA upgrades from HOST MCU
or app.
HOST MCU
Optional
To manually trigger OTA.
APP
8.6.1.3. Forced Upgrade
LSx provides an option to do force update of the firmware available in the OTA server
without any version check. This can be used to reinstall the same firmware version or older
versions if there is a special requirement.
Force Upgrade is not recommended and is not a part of regular flow, contact
Libre FAE if HOST MCU have a requirement to use this.
MB#238 Forced Upgrade
Description
This MB facilitates forced OTA upgrades.
HOST MCU
Optional
HOST MCU can reapply a firmware update using the current
firmware available on the OTA server, even if it matches the version
currently running on the device.
This requirement arises from the incorrect installation of the
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 71 of 241
LIBRE CONFIDENTIAL
previous firmware upgrade on the HOST MCU or DSP module,
attributed to potential bugs or limitations in the HOST MCU/DSP
firmware update implementations.
APP
Not applicable.
8.7. BLE Remote
The BLE Remote is designed to seamlessly control all our LS modules, using Bluetooth Low
Energy (BLE) technology. The HID (Human Interface Devices) protocol offers a
standardized way to transmit user input data from devices such as keyboards, mice and
more, enabling seamless interaction between various devices and systems. This
communication format is universally recognized by all operating systems and our BLE
remote supports the HID protocol.
Our remote operates with the HOGP (Human Interface Over GATT Profile), allowing it to
communicate with and control any compatible device. With nearly 13 buttons, including
the source switch and Bluetooth buttons, the remote simplifies user actions and minimizes
effort. The advantage of this BLE remote is that it enables users to control devices easily
without needing a companion app. Additionally, the remote features an LED that blinks
with each action to notify the user
8.7.1. BLE Remote - Work Flow
The workflow of the BLE remote is detailed below:
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 72 of 241
LIBRE CONFIDENTIAL
MCU/APP LSX
MB# 663
MB# 664
Data: actioncheck
Check for Feature
Checks Remote feature is
enabled or disabled.
Data: actioncheckstatus
Status: 1 (Enabled), Status: 0 (Disabled)
MB# 663
MB# 664
Data: actionpair
Scan and
connect
User pairs the device
Data: actionpairstatus
Status: 0 (Success), Status: 1 (Failure)
Verifies if the remote feature is enabled or not
Pair the remote
MB# 663
MB# 664
Data: actionunpair
Disconnect and
remove
Data: actionunpairstatus
Status: 0 (Success), Status: 1 (Failure)
Unpair the remote
MB# 663
MB# 664
Data: actionremote status
Fetching remote
status
Data: actionremote statusstatuspairingconnection
Status: 0 (paired/connected), Status: 1 (unpaired/disconnected)
Remote status
User unpairs the
device
Remote status
The app or MCU can determine if the current firmware supports the BLE remote feature by
using the "check" action in JSON format. A status of 0 indicates success, while a non-zero
value denotes failure.
If the feature is enabled, the app or MCU can display the remote's pairing, unpairing and
status information to the user. Based on user actions, the app or MCU will send appropriate
messages to the LSx module via MB# 663, and the LSx module will respond through MB#
664.
Here,
The JSON format includes two keys: "action" and "status."
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 73 of 241
LIBRE CONFIDENTIAL
The "action" key is used by the MCU or app to query the LSx.
The "status" key is used for the response.
The below table outlines the JSON keys and their corresponding functions used in LSx
systems for managing remote control operations:
Json Key
Info
pair
Initiates scanning and connects the remote to LSx
unpair
Disconnects and unpairs the remote from LSx
check
Verifies if the current firmware supports the remote
remote status
To get remote connection and pairing status
MB#663 - BLE Remote Event Request
MB#664 - BLE Remote Event Response
Description
Used for remote related queries and remote feature controlling.
HOST MCU
Mandatory
Both the MCU and the app can request the status of the remote
feature to determine whether it is enabled or not.
Pair/unpair and remote status.
App
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 74 of 241
LIBRE CONFIDENTIAL
9. LUCI Message Boxes
9.1. Rx_MB# 3 (Register Network Clients)
LS10/11
LS9/X
LS6/5B
APP
MCU
×
This message box is used to register network clients like mobile APPs. It is mandatory for
LUCI network clients to register with LSx as further LSx-APP communication will be
allowed only after successful registration. MB#3 is not applicable for HOST MCU.
LSx has enhanced MB#3 implementation for LS10 and LS11 platforms by including more
client specific information as part of MB#3 registration. All new designs on LS10/11 should
follow this. Refer command <data> section for more details.
APP LSx
MB#3 SET Command
AckMB#3
Acknowledgement
Response
Yes
No
Command Format:
Remote
ID
Command
Type
Message
Box ID
Command
Status
CRC
Data
Length
Data
0xAAAA
SET
3
NA
Variable
Length of
Message
<Data>
Data:
1. Legacy (LS6, LS9, LS10/11 old designs)
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 75 of 241
LIBRE CONFIDENTIAL
Data values can be IP address, zero or empty. All these data values will result in
successful registration of network client.
2. New Design (LS10/11 designs after October 2023)
Data should be in the below JSON format:
{
"APP_info":{
"id":"<Client ID>",
"version":"<Client Version>",
"ip":"<Client IP address>"
}
}
Client ID:
For android APPs, the package name should be used as client ID.
For iOS APPs, the bundle ID should be used as the client ID.
For any other network clients, contact Libre FAE.
Client Version: Version of the iOS/android/any network client.
Client IP address: The IP address of the iOS/android/any network client.
e.g.,
{
"APP_info":{
"id":"com.libre.all",
"version":"1.2.3",
"ip":"192.168.1.100"
}
}
The new design is followed only on LS10 platform. LS10 is backward compatible
with legacy data format to accommodate the APPs that are already designed and in
field. But it is highly recommended to follow new design for upcoming
developments, for existing products, if APP can be enhanced, contact Libre FAE
and take further steps.
Acknowledgement:
An acknowledgment will be sent following the format outlined in ACK Format.
To go back to Feature Section click here.
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 76 of 241
LIBRE CONFIDENTIAL
9.2. MB# 4 (Deregister Network Clients) - Deprecated
MB#4 is presently inactive across all Libre platforms, as LSx relies on other methods for
client deregistration. The possibility of adding this feature in the future remains open, in
case of any valid use cases.
To go back to Feature Section click here.
9.3. RxTx_MB# 5 (Firmware Version Information)
LS10/11
LS9
LS5B/6
APP
MCU
×
This message box can be used to query the Version Information of LSx speaker. LSx will
send Firmware Version to HOST MCU through the same message box.
HOST MCU LSx
MB#5 GET Command
MB#5 SET Response
Acknowledgement
Response
No
Yes
Command Format:
Remote ID
Command
Type
Message
Box ID
Command
Status
CRC
Data Length
Data
0xAAAA
GET
5
NA
Variable
0
-
Response Format:
Remote ID
Command
Type
Message
Box ID
Command
Status
CRC
Data Length
Data
0xAAAA
SET
5
NA
Variable
Length of the
data field
<Data>
Data:
Data is the firmware version number.
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 77 of 241
LIBRE CONFIDENTIAL
9.4. Rx_MB# 6 (HOST MCU Firmware Version)
LS10/11
LS9
LS5B/6
APP
MCU
×
HOST MCU will send the HOST firmware version information in the data field of MB#6 as a
string in numeric format to LSx speaker. This is a default action/command after every
reboot.
HOST MCU LSx
MB#6
MB#6
SET
SET
ACK
Command
Acknowledgement
Response
Yes
No
Command Format:
Remote ID
Command
Type
Message
Box ID
Command
Status
CRC
Data Length
Data
0xAAAA
SET
6
NA
Variable
Length of data
<Data>
Data:
Data is a numeric value and it varies for each and every firmware.
e.g., “123”
Acknowledgement:
An acknowledgment will be sent following the format outlined in ACK Format.
To go back to Feature Section click here.
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 78 of 241
LIBRE CONFIDENTIAL
9.5. Rx_MB# 8 (Serial Number)
LS10/11
LS9
LS5B/6
×
×
APP
MCU
×
In certain scenarios, customers may want to showcase their unique serial number or device
tag that is printed on the product's label or sticker within a user interface like a webpage or
APP.
To achieve this, HOST MCU can follow any of the below:
Embed this serial number in its Flash/OTP memory during the HOST MCU's
factory processes.
Can interact with other customer board MCUs or Flash and fetch the required
serial number.
Follow any other custom implementation to fetch the serial number.
Once communication with LSx is established through LUCI, during the initial interaction,
the HOST MCU can transmit the serial number or tag to LSx using this message box after
each system bootup. LSx can then store this information and utilize it for various
applications, including webpage displays, as needed.
HOST MCU LSx
MB#8 SET Command
Acknowledgement
Response
No
No
Command Format:
Remote ID
Command
Type
Message
Box ID
Command
Status
CRC
Data Length
Data
0xAAAA
SET
8
NA
NA
Length of data
<Data>
Data:
Data is the serial number/tag provided by the MCU.
e.g.:
LSCST0200000050
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 79 of 241
LIBRE CONFIDENTIAL
9.6. Rx_MB# 9 (Is HOST Present)
LS10/11
LS9
LS5B/6
APP
MCU
×
This message box is used by the HOST MCU to acknowledge MB#43690.
Upon receiving the message over MB#43690 from LSx, the HOST MCU responds back to
LSx over MB#9 confirming its readiness for further LUCI communication.
This message box is only applicable for LSx-HOST MCU communication.
MB#9 SET Response
HOST MCU LSx
MB#43690 SET Command
Acknowledgement
Response
No
No
Command Format:
Remote ID
Command
Type
Message
box ID
Command
Status
CRC
Data Length
Data
0xAAAA
SET
9
NA
Variable
Length of the
data field
<Data>
Data:
Data
Description
1
HOST is available
To go back to Feature Section click here.
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 80 of 241
LIBRE CONFIDENTIAL
9.7. Tx_MB# 10 (Playback Authorisation)
LS10/11
LS9
LS5B/6
APP
MCU
×
LSx informs HOST MCU whenever there is a new/change in playback request (AirPlay,
DMR, Spotify, Google CAST, etc.) from any of the music services. HOST MCU then decides if
the new playback source is to be allowed or not. HOST MCU confirms whether the new
source can take over the existing one and responds back in MB#11.
Upon receiving this MB#10, HOST MCU can perform any necessary actions, such as change
the audio route in DSP for LSx playbacks, prepare the DSP with any specific settings like
gain table particular for LSx playback, etc. The HOST MCU can subsequently grant
permission in MB#11 after completing the aforementioned tasks or any other task as
deemed necessary. The actions mentioned are optional and specific to HOST MCU
implementation.
HOST MCU LSx
MB#10 SET Command
MB#11 Response
SET
MB#11 ACK
Acknowledgement
Response
No
Yes, MB# 11
Command Format:
Remote ID
Command
Type
Message
box ID
Command
Status
CRC
Data Length
Data
0xAAAA
SET
10
NA
Variable
Length of the
data field
<Data>
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 81 of 241
LIBRE CONFIDENTIAL
Data:
Data
LS10/11
LS9
LS6
0
NoSource **
NoSource
NoSource
1
AirPlay
AirPlay
AirPlay
2
DMR
DMR
DMR
3
DMP *
DMP
DMP
4
Spotify
Spotify
Spotify
5
USB
USB
USB
6
Reserved
SDCARD
SDCARD
7
MELON *
MELON
Playlist
8
vTuner *
vTuner
vTuner
9
TuneIn *
TuneIn
TuneIn
10
Reserved
Miracast
Miracast
11
Playlist
Playlist
Playlist
12
Reserved
DDMSSlaves
DDMSSlaves
13
AuxIn
AuxIn
AuxIn
14
SpdifIn
LineInDDMS
LineInDDMS
15
Reserved
LineInGeneric
LineInGeneric
16
Reserved
iPod
iPod
17
DirectUrl
DirectUrl
DirectUrl
18
QPlay
QPlay
QPlay
19
Bluetooth
Bluetooth
Bluetooth
20
Reserved
Reserved
Reserved
21
Deezer *
Deezer
Deezer
22
Tidal
Tidal
Tidal
23
Favorites
Favorites
Favorites
24
Cast
Cast
25
External
External
External
26
RTSP *
RTSP
RTSP
27
Roon
Roon
Reserved
28
Alexa
Alexa
Alexa
29
Reserved
IoT
Roon
30
Airable
Airable
Airable
31
Democloud
NA
NA
* These features are not currently implemented but are in the development pipeline.
** NoSource The data value will read as 'NoSource' if there has been no source played
since the system's bootup. Additionally, if AirPlay was initially chosen as the media
source but is subsequently disconnected and there is currently no active playback
source, the data value will still be 'NoSource.' Presently, this functionality is limited to
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 82 of 241
LIBRE CONFIDENTIAL
AirPlay, as in other sources, the last connected source will remain displayed even after
disconnection until a new source is connected. Ideally this feature has to be
implemented across all sources, it is in pipeline.
Response Format:
For response, refer to Message Box 11.
To go back to Feature Section click here.
9.8. Rx_MB# 11 (Playback Authorisation Grant)
LS10/11
LS9
LS5B/6
APP
MCU
×
HOST MCU controls and confirms whether the new audio source request received over
MB#10 must be allowed or not.
On receiving MB#10, HOST MCU can parse the current source sent over MB#10 and takes
the decision whether to allow or deny the new playback request. If HOST MCU denies, LSx
will not proceed with the playback.
Though flexibility is provided to deny the LSx playback request based on any precedence,
this may impact user experience and music certifications. Hence, MCU engineers need to
discuss with Libre FAE if they wish to deny the permission for any use case.
After issuing MB#10, LSx will wait for a maximum timeout of ~5-7 seconds (depending on
the platform) for MB#11 response. If HOST MCU does not respond within this timeframe,
LSx will consider the response as denial and won’t be proceeding with the playback. It is
recommended for HOST MCU to respond back in MB#11 as early as possible (50-500ms) to
avoid playback latency.
HOST MCU LSx
MB#10 SET Command
MB#11 Response
SET
MB#11 ACK
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 83 of 241
LIBRE CONFIDENTIAL
Acknowledgement
Response
Yes
No
Response Format:
Remote ID
Command
Type
Message
box ID
Command
Status
CRC
Data Length
Data
0xAAAA
SET
11
NA
Variable
Length of the
data field
<Data>
Data:
Data
Description
0
New audio source not allowed
1
New audio source allowed
Acknowledgement:
An acknowledgment will be sent following the format outlined in ACK Format.
To go back to Feature Section click here.
9.9. MB# 12 (AirPlay Control) Deprecated
This feature is specific to AirPlay version 1 and was available for LS6/5B & LS9 devices
until the introduction of AirPlay version 2. Therefore, any customer product on LS6/5B &
LS9 that has not transitioned to AirPlay 2 and still relies on AirPlay 1 will remain
compatible with these commands. Contact Libre FAE in case of any requirements.
9.10. MB#13 (AirPlay Status) Deprecated
This feature is specific to AirPlay version 1 and was available for LS6/5B & LS9 devices
until the introduction of AirPlay version 2. Therefore, any customer product on LS6/5B &
LS9 that has not transitioned to AirPlay 2 and still relies on AirPlay 1 will remain
compatible with these commands. Contact Libre FAE in case of any requirements.
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 84 of 241
LIBRE CONFIDENTIAL
9.11. Rx_MB# 14 (ACP Share Command)
LS10/11
LS9
LS5B/6
APP
MCU
×
This message box is used by HOST MCU to send commands to LSx requesting ACP related
data like ACP chip version, ACP certificate, Authentication, etc. LSx responds with the
required data in MB#15.
HOST MCU LSx
MB#14 SET Command
MB#15 SET Response
AckMB#14
Acknowledgement
Response
Yes
Yes, MB# 15
This MB can be used to share ACP with different modules. This is useful in the designs
which incorporates more than one LSx module, so that the LSx module that is interfaced to
ACP act as master and other LSx modules act as slaves. The slave LSx module can request
the required ACP data to HOST MCU via MB#14, HOST MCU request the same to master LSx
using MB#14, master LSx responds with the required data via MB#15 and finally HOST
MCU will send this data back to the slave who requested the data using MB#15.
HOST MCU Slave LSx
MB#14 ACP share Command
MB#15 ACP share Response
Master LSx
MB#14 ACP share Command
MB#15 ACP share Response
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 85 of 241
LIBRE CONFIDENTIAL
In addition, this MB serves the purpose of factory validation of ACP where HOST MCU can
request the chip version (utilizing the command MAJOV) using MB#14, on this LSx will
communicate with ACP over I2S, fetches the chip version and provides back to HOST MCU.
This whole process flow can be employed during factory process to validate the ACP
solderability and connectivity.
Command Format:
Remote ID
Command
Type
Message-
Box ID
Command
Status
CRC
Data Length
Data
0xAAAA
SET
14
NA
Variable
Length of the
data field
<Data>
Data:
Data
Description
CERTI
ACP Certificate
CHALL, <ACP-Challenge Data>
ACP Challenge Data
DEVVE
ACP Device Version
FIRVE
ACP Firmware Version
MAJOV
ACP Authentication Protocol Major Version
MINOV
ACP Authentication Protocol Minor Version
DEVID
ACP Device ID
For LS10, only the command MAJOV is implemented to validate the ACP
chipset is in place or not.
Currently LS10 supports only ACP version 3.0. and the MB#15 responds as MAJOV,3.
In future, when the ACP version changes, it should be updated to the current version
as it is hard coded now.
Response Format:
For response, refer to MB#15.
Acknowledgement:
An acknowledgment will be sent following the format outlined in ACK Format
To go back to Feature Section click here.
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 86 of 241
LIBRE CONFIDENTIAL
9.12. Tx_MB# 15 (ACP Share Response)
LS10/11
LS9
LS5B/6
APP
MCU
×
Message boxes 14 and 15 work as a pair. Based on the command received by LSx for
MB#14, the response data is sent over MB#15.
Example:
1. Host MCU passes the ‘Challenge’ information over MB#14 to LSx and requests
‘Signature response’. LSx responds back to Host MCU in MB#15, with the data of
‘Signature Response’.
2. Host MCU asks for ‘ACP Device Version’ using MB #14 and LSx responds with ‘ACP
Device Version’ data on MB #15.
HOST MCU LSx
MB#14 SET Command
MB#15 SET Response
ACKMB#14
Acknowledgement
Response
No
No
Response Format:
Remote ID
Command
Type
Message-
Box ID
Command
Status
CRC
Data Length
Data
0xAAAA
SET
15
NA
Variable
Length of the
data field
<Data>
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 87 of 241
LIBRE CONFIDENTIAL
Data:
Command Data
Response Data
Description
CERTI
CERTI, <value>
value is the ACP Certificate
CHALL, <ACP-Challenge
Data>
CHALL, <ACP Signature-
Response>
ACP Signature-Response will contain
the response for the challenge
DEVVE
DEVEE, <ACP Device
Version>
ACP Device Version provides the
device version
FIRVE
FIRVE, <ACP Firmware
Version>
ACP Firmware Version
MAJOV
MAJOV, <ACP Authentication
Protocol Major Version>
ACP Authentication Protocol Major
Version
MINOV
MINOV, <ACP Authentication
Protocol Minor Version>
ACP Authentication Protocol Minor
Version
DEVID
DEVID, <ACP Device ID>
ACP Device ID
ACPNP, <ACP Not Present>
No ACP chip present.
To go back to Feature Section click here.
9.13. Tx_MB# 17 (SoftACP Status)
LS10/11
LS9
LS5B/6
×
×
APP
MCU
Software tokens allocated by Apple must be provisioned to LSx. One of the provisioning
mechanisms is ‘on-field provisioning’ where the tokens will be saved in the Libre/customer
server and will be provisioned in the initial setup. This MB provides the status of
downloading the tokens from the server.
HOST MCU LSx
MB#17 SET Command
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 88 of 241
LIBRE CONFIDENTIAL
Acknowledgement
Response
No
No
Command Format:
Remote ID
Command
Type
Message
Box ID
Command
Status
CRC
Data Length
Data
0xAAAA
SET
17
NA
Variable
Length of the
data field
<Data>
Data values for Server status:
Data
Description
SERVER_TOKEN_DOWNLOADING
LSx made successful connection with server and a
token is requested.
SERVER_TOKEN_RECEIVE_SUCCESS
If token is downloaded successfully.
SERVER_RECEIVED_WRONG_DEVICE_INFO
Server rejected the token request due to wrong
request data by LSx.
SERVER_SIDE_NO_MORE_TOKEN
When there are no more tokens available in the
server.
To go back to Feature Section click here.
9.14. Rx_MB# 40 (Play Control)
LS10/11
LS9
LS5B/6
APP
MCU
An end user can issue play controls like Play, Pause, Stop, Next, etc. from:
1. Buttons provided in the product (e.g., Play/Pause button), HOST MCU will be
listening and issuing these commands to LSx.
2. Play controls from companion APP.
3. Play controls from content provider APPs.
MB#40 is used to notify LSx with the play control commands issued in cases 1 &2
mentioned above. For case 3, LUCI commands will not be used but LSx will be notified as
per the content provider SDK/protocol.
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 89 of 241
LIBRE CONFIDENTIAL
HOST MCU LSx
MB#40 Command
MB#40
SET
Ack
Acknowledgement
Response
Yes
No*
* Though there is no specific response, MB#51 will be sequentially sent with the updated
play status.
For MUTE and UNMUTE the response status is sent over MB#63.
Command Format:
Remote ID
Command
Type
Message
box ID
Command
Status
CRC
Data Length
Data
0xAAAA
SET
40
NA
Variable
Length of the
data field
<Data>
Data:
Data
Description
PLAY
Start Playback with URL
(Only applicable when device is in a paused/stopped state)
PAUSE
Pause Playback
(Only applicable when the device is currently playing)
STOP
Stop Playback
(Applicable in all states (playing/paused/buffering, etc.)
RESUME
Resume playback after PAUSE
(Only applicable when device is in pause state)
NEXT
Play next song
(Only applicable in playing/paused state)
PREV
Play previous song
(Only applicable in playing/paused state)
MUTE
Mute playback volume
UNMUTE
Unmute playback volume
SEEK: <time in
milliseconds>
Seek to a location specified by “time in milliseconds.”
(Only applicable when device is in playing/paused state)
REPEAT: <action>
“action” can be ONE, OFF or ALL.
E.g., REPEAT:ONE, REPEAT:OFF, REPEAT:ALL
REPEAT:ONE will loop play back over a song.
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 90 of 241
LIBRE CONFIDENTIAL
Data
Description
REPEAT:OFF will turn off repeat.
REPEAT:ALL will loop playback over playlist.
If the display has only one icon for all these actions, HOST MCU/APP
has to retain the previous state and notify LSx with the intended
action on pressing the repeat icon.
SHUFFLE: <action>
“action” can be ON or OFF.
e.g., SHUFFLE:ON, SHUFFLE:OFF
SHUFFLE:ON will turn ON shuffle mode
SHUFFLE:OFF will turn OFF shuffle mode
If the display has only one icon for both the actions, HOST MCU/APP
has to retain the previous state and notify LSx with the intended
action on pressing the shuffle icon.
TOGGLEFAV
Toggles favorite state of current song. i.e., it adds or removes the song
from favorite playlist.
REPEATTOGGLE
LSx keeps the REPEAT modes in the order REPEAT:ONE,
REPEAT:OFF and REPEAT:ALL. When triggered by the HOST
MCU/APP using REPEATTOGGLE, LSx transitions between these
REPEAT actions in the order specified.
The repeat toggle behaviour is different in iTunes and in other iOS devices. Repeat
Toggle functionality for different iOS sources should be taken care by HOST MCU.
Acknowledgement:
An acknowledgment will be sent following the format outlined in ACK Format.
To go back to Feature Section click here.
9.15. Rx_MB# 41 (Browse Control)
LS10/11
LS9
LS5B/6
APP
MCU
This MB is used to issue the browse control commands to LSx on user browsing and
playing for the sources for which LSx manages the browsing content. For instance, in USB
playback, LSx directly interacts with the USB pen drive, LSx navigates through the USB
file/folder structure according to the browse controls provided by a user interface such as
a content APP or the HOST MCU display.
Through the companion APP or the HOST MCU display, users have the capability to
navigate USB, DMR, Airable, etc. to select and play songs according to their preferences.
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 91 of 241
LIBRE CONFIDENTIAL
The HOST MCU/APP issues browse commands via MB#41, prompting LSx to explore the
designated sources and send the browse view via MB#42. Users can continue browsing
until they locate a song or playlist they wish to play. LSx continuously monitors MB#41
control commands, and when it receives a playable content, it proceeds with the playback
accordingly.
HOST MCU LSx
MB#41 Command
MB#41 ACK
SET
MB#42 SET Response
Acknowledgement
Response
Yes
Yes, MB#42
Command Format:
Remote ID
Command
Type
Message
box ID
Command
Status
CRC
Data Length
Data
0xAAAA
SET
41
NA
Variable
Length of the
data field
<Data>
Data:
Data
Description
BACK
Goes backward
UP
Navigates up
DOWN
Navigates back
ONETOUCH
The last played track/radio will be played.
SCROLLUP
Scrolls up the page
SCROLLDOWN
Scrolls down the page
SELECTITEM:<index>
Select the particular item at the given index. e.g.,
SELECTITEM:10
SETFAVORITES:<index>
The given track/album/playlist at the index will be saved to
the favorite list. Note that this item is saved in the
respective music services’ cloud.
If HOST MCU provides a button, it can be applicable only for
a track, but in case of APP, it can be a track/album/playlist.
REMOVEFAVORITES:<index>
Remove the track/album/playlist at the given index from
favorites.
ADDTOPLAYLIST:<index>
(Applicable only for Airable).
Add the track at the given index to the selected playlist.
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 92 of 241
LIBRE CONFIDENTIAL
Data
Description
Here user will select a track, navigate further and selects the
playlist to which it has to be added. LSx will receive this
playlist index through MB#42 and the track will be added to
this selected playlist.
SELECTINFO:<index>
(Applicable only for Airable).
Returns description about selected item at the given index,
device sends the Album/Artist/Track info response in MB#
44.
In Airable UI display, users have an option to access track
info. When a user selects this option, SELECTINFO:<index>
is utilized to retrieve and display the details of the track.
PLNAME:<Name>
(Applicable only for Airable).
When user selects a song and needs to add this to a new
playlist, he needs to first create the playlist, the new playlist
name will be provided in <Name>. On this a new playlist
will be created and the selected song will be added to that.
PAGESELECT:<index>
Jumps directly to the selected page at the given index.
e.g., PAGESELECT:3 will take user directly to 3rd page of the
list.
PLAYITEM: <HTTP URL of
the song>
Play the song from the provided URL.
LSx currently supports playing from a raw URL, this is
called Direct URL playback. For this append DIRECT: in the
beginning of the URL of the Song.
e.g., PLAYITEM:DIRECT:<HTTP URL of the song >
This can be extended in future to play URLs from specific
services rather than ‘DIRECT:’
GETUI: <Current view>
To get the required ‘view from the HOST MCU/APP.
For Play view, HOST MCU/APP should send command
GETUI:PLAY, for this LSx will provide the play view as
response in MB#42.
For Home view, HOST MCU/APP should send command
GETUI:HOME, for this LSx will send the browse view of the
home in MB#42. Home is the parent directory of the
browsable music sources (it displays USB, Airable, media
server, etc.)
Response Format:
For response, refer to Message Box 42.
Acknowledgement:
An acknowledgment will be sent following the format outlined in ACK Format.
To go back to Feature Section click here.
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 93 of 241
LIBRE CONFIDENTIAL
9.16. Tx_MB# 42 (UI Info)
LS10/11
LS9
LS5B/6
APP
MCU
This message box is used by LSx to send the Play View/Browse View contents to the HOST
MCU/APP which can be used for display. The UI information is embedded in JSON format.
At present LSx supports only two views: Play view and Browse view. The concept of UI Info
can be extended to cater future requirements adding more views.
Play View: It provides all relevant information for HOST MCU display or companion APP
display to update its play view UI. LSx provides play view JSON at the onset of every
playback. Play View is also provided by MB#45. Refer to MB#45 for more details.
Browse View: It provides all relevant information to populate the browse view for HOST
MCU display or content APP display. This is applicable only for the sources like USB
playback, DMR, Airable, etc. that will request LSx to browse and present the contents. HOST
MCU/APP will provide the browse commands over MB#41 and the response of that is
provided in MB#42. As browse and play are mutually exclusive, MB#42 is used as a
common message box to present both these data.
Steps involved in playing an LSx supported browsable content:
Step 1. User browses the contents (USB, Airable, DMR, etc.) using companion APP or
HOST display.
Step 2. HOST MCU/APP provides browse commands over MB#41.
Step 3. LSx browses the respective sources and presents the browse view over
MB#42 browse view.
Step 4. User selects the final song file and try to play it.
Step 5. LSx initiates the playback and presents the play view information over
MB#42 play view.
LSx will send this message box (both play view and browse view) to HOST MCU only if the NV-
Item HOSTUiEnabled is set to 1. For products which have display and intends to show the UI
information, ensure that the NV-Item is enabled in LSx firmware release package.
HOSTUiEnabled does not control this message box notification to companion APP.
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 94 of 241
LIBRE CONFIDENTIAL
Step 6. User goes back, continue to browse other contents, provides browse control
over MB#41 and LSx provides browse view over MB#42.
Step 7.
HOST MCU/APP LSx
MB#41 Command
MB#41 Ack
SET
MB#42 SET Response
Steps involved in playing other content (non LSx browsable content):
Step 1. User initiates and play other contents like AirPlay, CAST, Spotify from
content APPs or any other means like presets from buttons.
Step 2. LSx initiates the playback and provides play view JSON over MB#42 play
view. Note that browse view is not applicable in this case as LSx is not involved in
browsing these contents.
HOST MCU/APP LSx
MB#42 SET Command
Acknowledgement
Response
No
No
Command Format:
Remote ID
Command
Type
Message
Box ID
Command
Status
CRC
Data Length
Data
0xAAAA
SET
42
NA
Variable
Length of the
data field
<Data >
Data:
Data is browse view or play view UI Information in JSON format.
Example for Browse view data played for Airable source:
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 95 of 241
LIBRE CONFIDENTIAL
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 96 of 241
LIBRE CONFIDENTIAL
Example for Play view data for Airable Source:
For more details, refer to the document Airable UI Guide for
MCU/Companion APP Implementation.
Reading the UI Information
If HOST MCU or companion APP needs to repopulate the display, in scenarios like
navigating to a different screen and returning to browse view/play view or closing and
opening of an APP, etc. they can read MB#42.
To go back to Feature Section click here.
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 97 of 241
LIBRE CONFIDENTIAL
9.17. Tx_MB# 43 (Artwork Metadata)
LS10/11
LS9
LS5B/6
×
APP
MCU
×
Album art, also known as album artwork or cover art, refers to the visual representation or
graphic design associated with a music album. Album art typically includes an image or
illustration on the album cover, along with the album's title, the artist's name, and often
other information like track listings, record label and release date.
This Message box is used to send the album art information to the HOST MCU enabling it to
refresh its display with the relevant information. This is not applicable for mobile APP as
they will directly fetch the album art from the album art URL provided in metadata.
LSx retrieves the album art information from the music source (whichever supports this)
or fetches the album art from the music file. (e.g., music files in USB storage) and provides
this data to HOST MCU. For music sources/files that does not provide the album art URL
like USB playback, bluetooth, etc. LSx can get album art from meta data provider services
like Gracenote. Gracenote is not implemented in all platforms as it involves commercials,
please discuss with Libre FAE for more details.
LSx stores the album art in JPEG or PNG formats. LSx implements the below two
mechanisms to transfer album art:
1. Over USB interface: Using USB is the preferred method due to its ability to facilitate
faster data transfer, which is particularly advantageous when dealing with large
album art images.
2. Over UART (LUCI): This can be used for small display sizes and for MCUs that
doesn’t support USB. This will result in slow data transfer and also blocks the other
LUCI communication over UART during the transfer time. Libre doesn’t recommend
this method due to its demerits.
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 98 of 241
LIBRE CONFIDENTIAL
USB Method
LSx will fetch album art from the URL provided by the music services.
LSx resizes the image according to the HOST MCU display size. HOST MCU provides the
display size in the ENV DisplayArtworkSize’.
LSx implements USB HOST and HOST MCU needs to implement USB device (mass storage),
LSx detects this mass storage device, validates the vendor ID and writes the resized image
to HOST MCU over USB.
MCU developer can contact Libre FAE for more details on the USB device mass storage
implementation.
LSx notifies HOST MCU over MB#43 with the details of the album art ready to be
transferred and then starts sending the album art over USB.
On receiving MB#43, HOST MCU can start reading the album art that is being transferred
by LSx over USB interface. HOST MCU can validate the read bytes with “file size” updated in
MB#43 and then update the display.
HOST MCU LSx
MB#43 SET Command
Acknowledgement
Response
No
No
Command Format:
Remote ID
Command
Type
Message
Box ID
Command
Status
CRC
Data Length
Data
0xAAAA
SET
43
NA
Variable
Length of the
data field
<Data>
Data:
Data will be sent in JSON format as given below:
{"response":{"status":"<status type>","filesize":<size>,"service":"<service type>"}}
status type: success or failed.
Failed will be triggered in instances where, LSx could not fetch the album art, e.g.,
the music source does not support album art.
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 99 of 241
LIBRE CONFIDENTIAL
size: size of the file in bytes
service type: native or Gracenote
native stands for LSx downloading the album art from the URL provided by the
music service/music file. Gracenote is an external paid service that will fetch album
art of the particular music file by providing few essential information about it.
Success status example: {"response":{"status":"success","filesize":7256,"service":"native"}}
Failed status example: {"response":{"status":"failed","filesize":0}}
UART Method
LSx will transmit album art data in chunks to the HOST MCU via UART. Upon the receipt of
each packet, the HOST MCU should send an acknowledgment. Upon receiving the
acknowledgment, LSx will move forward to transmit the next packet, otherwise it will
resend the same chunk.
HOST MCU LSx
MB#43 SET Command
Chunk 1
MB#43 SET Cover Art ACK
MB#43 SET Command
Chunk 2
MB#43 SET Cover Art ACK
MB#43 SET Command
Chunk 3
<No Cover Art ACK>
MB#43 SET Command
Chunk 3
MB#43 SET Cover Art ACK
Acknowledgement
Response
No
Yes
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 100 of 241
LIBRE CONFIDENTIAL
Command Format:
Remote ID
Command
Type
Message-
Box ID
Command
Status
CRC
Data Length
Data
0xAAAA
SET
43
NA
Variable
Length of the
data field
<Data>
Data:
Data will be sent as chunks of information in the format given below:
{<format>, <offset>, <total size>, <data size>, <chunk no>, <chunk data>}
format: Format of the image
offset: Offset of current chunk
total_size: Total size of image
data_size: Size of the current chunk
chunk_no: Chunk number
chunk data: Binary data of the chunk
Example:
1st packet:
format:PNG,offset:0,total_size:69755,data_size:4096,chunk_no:0,PNG
2nd packet:
format:PNG,offset:4096,total_size:69755,data_size:4096,chunk_no:1,BCPCc2FA:}��o}
����n�����!F!Y��-7��|�����-OH]8kɬ!j^��
Last packet:
format:PNG,offset:69632,total_size:69755,data_size:123,chunk_no:17,\l�����?
<^-( ܖ +����l{X-m
��l+m
��l+m
��l+m
��l+m
MCU should read the data and exclude the headers from the image and then store it on the
MCU’s RAM or flash memory for display.
To go back to Feature Section click here.
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 101 of 241
LIBRE CONFIDENTIAL
9.18. Tx_MB# 44 (Airable Track Info)
LS10/11
LS9
LS5B/6
×
APP
MCU
This MB supports only Airable sources.
HOST MCU/APP can request info about Album/Artist/Track for Airable sources through
MB#41 and the respective details will be sent over in MB#44 by LSx.
HOST MCU/APP LSx
MB#41 SET Command (SELECTINFO:<index>)
MB#41 Ack
MB#44 SET Response
Acknowledgement
Response
No
No
Command Format:
Remote ID
Command
Type
Message-
Box ID
Command
Status
CRC
Data Length
Data
0xAAAA
SET
44
NA
Variable
Length of the
data field
<Data>
Data:
Data will be sent in JSON format in the below format:
"{"description":"< Info >"}
Info will be the Album/Artist/Track details.
Example:
To go back to Feature Section click here.
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 102 of 241
LIBRE CONFIDENTIAL
9.19. Tx_MB# 45 (Play View)
LS10/11
LS9
LS5B/6
APP
MCU
Although MB#42 has provided the Play View UI information, there are scenarios where
these are overwritten by the browse view UI contents. For example, user starts browsing
while a playback is ongoing. At this time, if HOST MCU/APP needs play view information
they can depend on MB#45 to GET the play view UI information.
In addition, on start of every playback LSx will provide play view UI information in MB#45.
Hence, this message box serves two purposes:
1. Retrieve the Play view contents
In this scenario, the APP/HOST MCU uses a “GET” command type to fetch the current play
view UI information. E.g., If an APP is opened while a playback is ongoing, APP can use
MB#45 GET to retrieve the play view information.
HOST MCU LSx
MB#45 GET Command
MB#45 SET Response
Command Format:
Remote ID
Command
Type
Message
Box ID
Command
Status
CRC
Data Length
Data
0xAAAA
GET
45
0
NA
Variable
-
Response Format:
Remote ID
Command
Type
Message
Box ID
Command
Status
CRC
Data Length
Data
0xAAAA
SET
45
0
NA
Variable
<Data>
Data:
Data is UI information in JSON format.
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 103 of 241
LIBRE CONFIDENTIAL
2. LSx sets the play view data on Playback start
When the user clicks on Next/Previous, Pause/Play or do source switch from current to a
different source, LSx send MB#45 to HOST MCU/APP.
HOST MCU/APP LSx
MB#45 SET Command
This message box is updated with the Play View information. Mobile APPs can read this
message box to update the current song information on ‘Now Playing’ screen irrespective
of device’s current menu/view. The UI information is embedded in JSON format.
This message box keeps only the now playing track/stations information to avoid losing
the playing information when the user browses different contents/menu from the UI.
Acknowledgement
Response
No
No
Command Format:
Remote ID
Command
Type
Message
Box ID
Command
Status
CRC
Data Length
Data
0xAAAA
SET
45
0
N/A
Variable
<Data >
Data:
Data is UI information in JSON format.
E.g.:
To go back to Feature Section click here.
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 104 of 241
LIBRE CONFIDENTIAL
9.20. Tx_MB# 49 (Current Playback Position Time)
LS10/11
LS9
LS5B/6
×
APP
MCU
In every one second, LSx periodically notifies HOST MCU/APP with the current playback
position time of the music being played. The “current playback position time” represents
the elapsed duration of the song in milliseconds.
This information is useful for HOST MCU/APP to show the song progress bar duration in its
display.
HOST MCU LSx
MB#49 CommandSET
Acknowledgement
Response
No
No
Command Format:
Remote ID
Command
Type
Message
box ID
Command
Status
CRC
Data Length
Data
0xAAAA
SET
49
NA
Variable
Length of the
data field
<Data>
Data:
Data will be the current playback position time in milliseconds.
E.g., Suppose LSx is playing a song and if it is currently presenting 2 minutes 15 seconds of
the song, the data will be 135000 milliseconds.
To go back to Feature Section click here.
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 105 of 241
LIBRE CONFIDENTIAL
9.21. Tx_MB# 50 (Current Source)
LS10/11
LS9
LS5B/6
APP
MCU
This message box is used by LSx to notify the HOST MCU/APP about the currently selected
audio source for playback.
The current playing source information can be used by HOST MCU/APP to display the
playback source details like logo, or any other information.
HOST MCU LSx
MB#50 SET Command
Acknowledgement
Response
No
No
Command Format:
Remote ID
Command
Type
Message
box ID
Command
Status
CRC
Data Length
Data
0xAAAA
SET
50
NA
Variable
Length of the
data field
<Data>
Data:
Data
LS10/11
LS9
LS6
0
NoSource **
NoSource
NoSource
1
AirPlay
AirPlay
AirPlay
2
DMR
DMR
DMR
3
DMP *
DMP
DMP
4
Spotify
Spotify
Spotify
5
USB
USB
USB
6
Reserved
SDCARD
SDCARD
7
MELON *
MELON
Playlist
8
vTuner *
vTuner
vTuner
9
TuneIn *
TuneIn
TuneIn
10
Reserved
Miracast
Miracast
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 106 of 241
LIBRE CONFIDENTIAL
Data
LS10/11
LS9
LS6
11
Playlist
Playlist
Playlist
12
Reserved
DDMSSlaves
DDMSSlaves
13
AuxIn
AuxIn
AuxIn
14
SpdifIn
LineInDDMS
LineInDDMS
15
Reserved
LineInGeneric
LineInGeneric
16
Reserved
iPod
iPod
17
DirectUrl
DirectUrl
DirectUrl
18
QPlay
QPlay
QPlay
19
Bluetooth
Bluetooth
Bluetooth
20
Reserved
Reserved
Reserved
21
Deezer *
Deezer
Deezer
22
Tidal
Tidal
Tidal
23
Favorites
Favorites
Favorites
24
Cast
Cast
Reserved
25
External
External
External
26
RTSP *
RTSP
RTSP
27
Roon
Roon
Reserved
28
Alexa
Alexa
Alexa
29
Reserved
IoT
Roon
30
Airable
Airable
Airable
31
Democloud
NA
NA
* These features are not currently implemented but are in the development
pipeline.
** NoSource The data value will read as 'NoSource' if there has been no source played
since the system's bootup. Additionally, if AirPlay was initially chosen as the media
source but is subsequently disconnected and there is currently no active playback
source, the data value will still be 'NoSource.' Presently, this functionality is limited to
AirPlay, as in other sources, the last connected source will remain displayed even after
disconnection until a new source is connected. Ideally this feature has to be
implemented across all sources, it is in pipeline.
The HOST MCU/APP can also read this message box to determine the audio source selected
by LSx using a ‘GET’ command.
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 107 of 241
LIBRE CONFIDENTIAL
HOST MCU LSx
MB#50 GET Command
MB#50 SET Response
Acknowledgement
Response
No
Yes
Command Format:
Remote ID
Command
Type
Message
-Box ID
Command
Status
CRC
Data Length
Data
0xAAAA
GET
50
NA
Variable
0
-
Response Format:
Remote ID
Command
Type
Message
box ID
Command
Status
CRC
Data Length
Data
0xAAAA
SET
50
NA
Variable
Length of the
data field
<Data>
Data:
Data values are same as mentioned above.
To go back to Feature Section click here.
9.22. Tx_MB# 51 (Current Play State)
LS10/11
LS9
LS5B/6
APP
MCU
This MB is used by LSx to update the HOST MCU/APP on the current play state of LSx.
Whenever there is a change in current play state, LSx communicates it to HOST MCU/APP
over MB#51.
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 108 of 241
LIBRE CONFIDENTIAL
HOST MCU LSx
MB#51 SET Command
Acknowledgement
Response
No
No
Command Format:
Remote ID
Command
Type
Message
box ID
Command
Status
CRC
Data Length
Data
0xAAAA
SET
51
NA
Variable
Length of the
data field
<Data>
Data:
Data
Description
0
Playing
1
Stopped
2
Paused
3
Connecting
4
Receiving
5
Buffering
Supported Music
Playback Status
Playing
Stopped
Paused
Connecting
Receiving
Buffering
AirPlay
iMusic
(Play)
(Disconnect/
Source Switch to
AirPlay)
(Source
Switch)
×
×
×
Spotify Connect
(Play)
(Disconnect/
Source Switch)
(Source
Switch)
×
×
×
Tidal Connect
(Play)
(Disconnect/
Source Switch)
×
×
×
Cast sources
(Play)
(Disconnect)
×
×
(Connecting
and
Next/Prev/
Source
Switch)
Amazon Alexa
(Play)
(Pause/Next/Prev
/ Source Switch)
(Next/Prev/
Source Switch)
×
×
×
Airable
(Source Switch)
×
×
×
Bluetooth
(PAIR and
(AUX source
×
×
×
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 109 of 241
LIBRE CONFIDENTIAL
Supported Music
Playback Status
Playing
Stopped
Paused
Connecting
Receiving
Buffering
UNPAIR)
while AirPlay
to BT switch)
Aux-In
(Change the
source from
the device
button e.g.:
AUX)
(Change the
source from the
device button e.g.:
Wi-Fi)
×
×
×
×
DMR
(Play)
(Next/Prev/
Source Switch)
×
×
×
USB
(Play)
(Play)
(Play)
×
×
×
Roon Ready
(Play)
(Connecting/
Next/Prev)
(Source
Switch)
×
×
×
To go back to Feature Section click here.
9.23. Tx_MB# 54 (Playback Error Status)
LS10/11
LS9
LS5B/6
×
×
APP
MCU
MB 54 is used to determine whether the playback control events (Pause/Resume,
Next/Previous, Repeat/Shuffle) are success or failure.
LSx sends the Success or Error notification on playback event. This notification is directly
derived from the media player response.
HOST MCU LSx
MB#54 SET Command
Acknowledgement
Response
No
No
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 110 of 241
LIBRE CONFIDENTIAL
Command Format:
Remote
ID
Command
Type
Message-
Box ID
Command
Status
CRC
Data
Length
Data
0xAAAA
SET
54
NA
Variable
Length of
data field
<Data>
Data:
Data
Description
success
When playback succeeds
error_playfail
When the song has bad header and this song is at the last
position in the playlist.
error_nonextsong
Indicates no next song or end of playlist.
error_noprevsong
Indicates no previous song.
error_notsupported
This error message is sent when the given command is not
supported.
error_notavailablenow
onSpotifyfree
Indicates that requested feature is not available for Spotify free
users. (Spotify supports maximum of 6 skip next requests in 1
hour for free user. If free user tries to skip 7th song, Spotify
returns error).
error_notsupportedonS
potifyfree
Indicates that invoked action is not supported for Spotify free
users. (Skip back and Seek functions are not available/allowed
for free users).
error_shuffleoffnotsup
portedonSpotifyfree
Indicates that Spotify free user cannot turn off Shuffle. (For free
users, songs always play in Shuffle ON mode).
SpotifyAdsplaying
Indicates that AD is playing on Spotify. (Some user actions like,
next, prev, seek are not supported while playing AD).
To go back to Feature Section click here.
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 111 of 241
LIBRE CONFIDENTIAL
9.24. Tx_MB# 56 (ISBROWSESTATUS)
LS10/11
LS9
LS5B/6
×
×
APP
MCU
This MB is used to display browsing error screen in the APP/MCU display in instances
where Airable server experiences downtime or Airable music source is unavailable.
HOST MCU LSx
MB#56 SET Command
Acknowledgement
Response
No
No
Command Format:
Remote
ID
Command
Type
Message
Box ID
Command
Status
CRC
Data Length
Data
0xAAAA
SET
56
NA
NA
Length of
the data
<Data>
Data:
The data will be sent in the below format:
Mar 27 11:25:11:462437 I/luci_service[330]: lucitransport: writeRemoteMessage() MID = 56 <Error
Message>
Mar 27 11:25:11:462534 I/luci_service[330]: lucinetwork: write() Command = 56 type = 2 status = 0
len = 21 sockets = 1 ID = 0
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 112 of 241
LIBRE CONFIDENTIAL
<Error Message> can be any of the following:
<Error Message>
Description
buffer = Internal_Server_Error
Server error
Error_Redirection
When the playback fails to redirect to the intended page.
Error_missing_url_secret
When base URL or secret is not available
9.25. Tx_MB# 63 (Remote Source MUTE/UNMUTE)
LS10/11
LS9
LS5B/6
APP
MCU
User can perform audio mute/unmute in two ways:
1. Pressing the mute/unmute button provided by the HOST MCU.
2. Clicking the mute/unmute button provided by the companion APP/content provider
APP (Roon, Google Cast, …). Note that this functionality is not provided by all the
content provider APPs.
This message box sends the mute/unmute status to the HOST MCU when user
mutes/unmutes using the companion APP/content provider APP. On this message, HOST
MCU can mute the audio by controlling the audio DSP/Amp.
In addition, when the user presses the mute/unmute button, HOST MCU will send the mute
state over MB# 40, and LSx will send the response mute/unmute status over MB# 63.
MB# 63 status can be used by HOST MCU to SET mute/unmute status LED.
Mute/unmute from APP:
HOST MCU LSx
MB#63 Mute/Unmute
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 113 of 241
LIBRE CONFIDENTIAL
Mute/unmute using button:
HOST MCU LSx
MB#63 SET Response
MB#40 SET Command (only for Mute/Unmute)
MB #40 ACK
Acknowledgement
Response
No
No
Command/Response Format:
Remote ID
Command
Type
Message
-Box ID
Command
Status
CRC
Data Length
Data
0xAAAA
SET
63
NA
Variable
Length of the
data field
<Data>
Data:
Data
Description
MUTE
Sends ‘Mute’ state to HOST MCU
UNMUTE
Sends ‘Unmute’ state to HOST MCU
To go back to Feature Section click here.
9.26. Rx_Tx_MB# 64 (Volume Control)
LS10/11
LS9
LS5B/6
APP
MCU
This message box serves the purpose of informing LSx, HOST MCU, or the companion APP
about changes in volume. LSx maintains a volume range from "0," representing no volume,
to "100," which corresponds to the maximum volume.
End users have several methods to adjust the volume:
1. Use buttons/volume knobs or a remote controller to change the volume. In these
cases, the HOST MCU will send a notification to LSx using MB#64.
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 114 of 241
LIBRE CONFIDENTIAL
2. Users can also make volume adjustments through a companion APP. In this case, the
companion APP will notify the volume changes to LSx through MB#64.
3. When volume changes are made from content provider APPs, the APP will notify LSx
using custom protocols/APIs.
LSx does not feature software-based volume control. Instead, it relies on the HOST MCU to
regulate volume by modifying the gain of the AMP/DSP/CODEC. Upon receiving a
notification of volume change, LSx will undertake the required actions and subsequently
instruct the HOST MCU to execute the actual volume change.
Volume Change trigger from HOST MCU
When the user regulates the volume using buttons or by a remote controller, volume
change takes place, HOST MCU manages this change and subsequently notifies LSx over
MB#64. HOST MCU needs to make sure that the volume level sent to LSx is always in the
range of “0 - 100”.
The procedures undertaken when adjusting the volume on the HOST MCU side are outlined
as follows:
Step 1. The user presses the volume button/remote in the end product.
Step 2. HOST MCU sends the volume control command (value “0 - 100”) to LSx.
Step 3. LSx processes this volume change request and communicate the altered
volume level to the active content providers.
Step 4. LSx sends the volume control command back to HOST MCU and upon this
HOST MCU to regulate the actual volume. LSx also sends the changed volume to
companion APP for updating its UI.
After the volume reaches zero (0) or hundred (100), HOST MCU should inform the
volume changes to LSx module ONLY once. It is advisable for the HOST MCU to avoid
sending continuous successive signals of volume level ‘0’ or volume level '100' to the
LSx module repeatedly.
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 115 of 241
LIBRE CONFIDENTIAL
HOST MCU LSx
MB#64 SET Response
MB#64 SET Command
MB#64 ACK
Acknowledgement
Response
Yes
Yes
HOST-MCU LSx Content Provider App Companion App
User Changes Volume
(Vol + /Vol -) Sends request Over MB# 64
Volume level (0 100)
Process Volume
Change Request
Uses Respective Protocol to
Inform Content Providers
Updates Over MB# 64
Volume level (0 100)
Updates Over MB# 64
Volume level (0 100)
Process Volume
Change
Command Format:
Remote ID
Command
Type
Message
Box ID
Command
Status
CRC
Data Length
Data
0xAAAA
SET
64
NA
Variable
Length of the
data field
<Data>
Data:
Data is ‘Volume Level’ values which are always between “0 - 100.”
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 116 of 241
LIBRE CONFIDENTIAL
Response Format:
Remote ID
Command
Type
Message
-Box ID
Command
Status
CRC
Data Length
Data
0xAAAA
SET
64
NA
Variable
Length of the
data field
<Data>
Data:
Data is ‘Volume Level’ values which are always between “0 - 100.”
Acknowledgement:
An acknowledgment will be sent following the format outlined in ACK Format.
Volume Change through Companion APP
When user changes the volume using companion APP, it notifies LSx using MB#64, LSx
process these changes and notify HOST MCU to regulate the actual volume as per the levels
provided in MB#64.
Step 1. The user changes the volume in the companion APP.
Step 2. Companion APP notifies LSx regarding the volume change via MB#64, LSx
processes this volume change request and updates active content providers.
Step 3. LSx sends the volume control command (value between “0 - 100”) to HOST
MCU via MB#64. HOST MCU to regulate the volume. LSx also sends the changed
volume to companion APP for updating its UI.
HOST MCU LSx
MB#64 SET Command
MB#64 SET Command
APP
Acknowledgement
Response
No
No
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 117 of 241
LIBRE CONFIDENTIAL
HOST-MCU LSx Content Provider App Companion App
Process Volume
Change Request
Uses Respective Protocol to
Inform Content Providers
Updates Over MB# 64
Volume level (0 100)
Updates Over MB# 64
Volume level (0 100)
Process Volume
Change
User Changes Volume
Volume level (0-100)
Volume change through Companion APP
Volume Change through Content Provider APPs
When user changes the volume using content provider APP, it notifies LSx using MB#64,
LSx process these changes and notify HOST MCU to regulate the actual volume as per the
levels provided in MB#64
The procedures undertaken when adjusting the volume on the LSx side are outlined as
follows:
The user changes the volume in the content provider APP.
Content provider APP notifies LSx regarding the volume change via MB#64,
LSx processes this volume change request.
LSx sends the volume control command (value between “0 - 100”) to HOST
MCU via MB#64. HOST MCU to regulate the volume.
HOST MCU/
Companion App LSx
Volume Level
MB#64 SET Command
Content Provider
APP
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 118 of 241
LIBRE CONFIDENTIAL
HOST-MCU LSx Content Provider App Companion App
Process Volume
Change Request
Updates Over MB# 64
Volume level (0 100)
Updates Over MB# 64
Volume level (0 100)
Process Volume
Change
User Changes Volume
Volume change through Content Provider APP
Reading Current Volume Level
HOST MCU/APP can GET the volume level from LSx using MB#64 at any point of time.
HOST MCU LSx
MB#64 GET Command
MB#64 SET Response
Command Format:
Remote ID
Command
Type
Message
Box ID
Command
Status
CRC
Data Length
Data
0xAAAA
GET
64
NA
Variable
0
--
Response Format:
Remote
ID
Command
Type
Message-
Box ID
Command
Status
CRC
Data Length
Data
0xAAAA
SET
64
NA
Variable
Length of Data
Field
<Data>
Data:
Data is ‘Volume Level’ values which are always between “0-100.”
To go back to Feature Section click here.
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 119 of 241
LIBRE CONFIDENTIAL
9.27. Rx_ MB# 65 (Firmware Request) - Deprecated
HOST MCU triggers LSx module to initiate firmware upgrade process.
9.28. Tx_MB# 66 (Firmware Install Progress)
LS10/11
LS9
LS5B/6
APP
MCU
This MB is used to indicate the installation progress of the LSx firmware to HOST
MCU/APP.
HOST MCU LSx
MB#66 SET Command
Acknowledgement
Response
No
No
Command Format:
Remote ID
Command
Type
Message
Box ID
Command
Status
CRC
Data Length
Data
0xAAAA
SET
66
NA
Variable
Length of data
field
<Data>
Data:
Data
Description
0 to 100
Percentage progress varying from 0 to 100 (multiples of 10).
E.g.: 10%, 20%, 40%, 60%, 80%, …100%
Complete
LSx sends the data as Complete on successful upgrade.
To go back to Feature Section click here.
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 120 of 241
LIBRE CONFIDENTIAL
9.29. Tx_MB# 68 (HOST Image Ready)
LS10/11
LS9
LS5B/6
APP
MCU
This message box is used by LSx to inform the HOST MCU on the availability of a HOST MCU
Image ready for firmware update. After receiving this MB, the HOST MCU should start the
xModem transfer.
HOST MCU LSx
MB#68 SET Command
Acknowledgement
Response
No
No
Command Format:
Remote ID
Command
Type
Message-
Box ID
Command
Status
CRC
Data Length
Data
0xAAAA
SET
68
NA
Variable
Length of the
data field
<Data>
Data:
Data will be the size of the MCU image in bytes.
To go back to Feature Section click here.
9.30. MB# 69 (Request Firmware Upgrade) - Deprecated
This MB is used only in LS6 module to request permission for Firmware Upgrade from
HOST MCU. On Firmware Upgrade trigger, LSx sends firmware upgrade request to HOST
MCU and waits for a response from MB# 211.
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 121 of 241
LIBRE CONFIDENTIAL
9.31. RxTx_MB# 70 (Preset, Auto USB & Standby)
LS10/11
LS9
LS5B/6
APP
MCU
This message box is employed to manage the favorite/preset feature and auto playback
(USB). The HOST MCU can add the presently playing song to the favorites list by assigning
it a specific index. Later, it can play this song using the assigned index number, delete it, or
view the list of songs in the favorites. Preset is applicable for the sources such as Spotify,
Airable and UPnP.
Moreover, this message box is also utilized for USB auto playback, especially in cases where
there is a dedicated USB playback button. Note that that USB auto playback will be moved
to MB#76 in future designs.
Furthermore, this message box serves to inform LSx about the device's standby status
(ON/OFF) so that it can initiate the necessary actions accordingly. When a user presses the
standby button, the HOST MCU will use this message box to notify LSx of the corresponding
standby state. Additionally, there are options to enable or disable device standby from
content applications like ROON. In such instances, LSx utilizes this message box to notify
the HOST MCU about the standby state.
HOST MCU LSx
MB#70 SET Command
MB#70 SET Response
Acknowledgement
Response
No
Yes
Command Format:
Remote
ID
Command
Type
Message
Box ID
Command
Status
CRC
Data Length
Data
0xAAAA
SET
70
NA
Variable
Length of data
field
<Data>
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 122 of 241
LIBRE CONFIDENTIAL
Data:
Data
Description
PLAYUSB
Using this command, the HOST MCU/APP can start USB Playback, and
when the command is executed successfully, the device will begin USB
playback. This is useful in scenarios where HOST MCU dedicates a
button for USB playback.
FAV_SAVE: <Index>
HOST MCU/APP sends the command to save the current playing song in
the specified favorite/preset location. Index range is from 0-9.
E.g., To save the current playing song in location 5 of the Favourite list,
HOST MCU sends the command as FAV_SAVE:5.
Note: The index range for LS10/11 is increased to 0-19.
FAV_PLAY: <Index>
HOST MCU/APP sends command to play the song specified in index
location from the favorite/preset list.
E.g., To play the song in location 5 of the Favourite list, HOST MCU
sends the command as FAV_PLAY:5.
FAV_DELETE:<Index>
HOST MCU/APP sends command to delete the song specified in index
location from the favorite list.
E.g., To delete the song in location 5 of the Favourite list, HOST MCU
sends the command as FAV_DELETE:5.
FAV_LIST
HOST MCU/APP sends command to receive the songs saved in favorite
list.
On successful execution of the command, LSx device sends the stored
list of songs in JSON format.
STANDBYON
To notify standby ON state to LSx from HOST MCU.
To notify standby ON state to HOST MCU from LSx. (Trigger from
content provider APP)
STANDBYOFF
To notify standby OFF state to LSx from HOST MCU.
To notify standby OFF state to HOST MCU from LSx. (Trigger from
content provider APP)
Response Format:
Remote
ID
Command
Type
Message-
Box ID
Command
Status
CRC
Data
Length
Data
0xAAAA
SET
70
SUCCESS /
FAILURE
Variable
Length of
data
<Data>
Data for PLAYUSB:
In case of successful execution of the command, device starts USB playback.
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 123 of 241
LIBRE CONFIDENTIAL
LSx sends the following response to HOST MCU in case of playback failure.
Data
Description
NO_USB
USB device is not connected/detected on the LSx device.
NO_SONG
No audio file available in the USB device.
Data for Standby
No response.
Data for FAV_SAVE: <Index>:
Data
Description
GENERIC_FAV_SAVE_SUCCESS
Successfully saved the favorite list.
GENERIC_FAV_SAVE_FAIL
Failed to save the favorite list.
GENERIC_FAV_EXISTS
The song already exists in the favorite list.
Data for FAV_PLAY: <Index>:
Data
Description
GENERIC_FAV_PLAY_SUCCESS
Upon successful playback of the favorite track.
GENERIC_FAV_PLAY_FAIL
When playback fails due to server being not
reachable/not found.
GENERIC_FAV_PLAY_NOURL
URL for playback is not found in the favorite list.
Data for FAV_DELETE:<Index>:
Data
Description
GENERIC_FAV_DELETE_SUCCESS
Successfully deleted the favorite track.
GENERIC_FAV_ DELETE _FAIL
Failed to delete the favorite track from ENV item.
Data for FAV_LIST: On successful execution of the command, LSx device sends the stored
favorite songs list in JSON format as response. If there is no favorite list, the response will
be empty.
For example,
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 124 of 241
LIBRE CONFIDENTIAL
JSON names in LS10/11 are changed from LS9 to reduce JSON size.
LS9
LS10/11
PresetName
Name
PresetIndex
Index
PresetURL
URL
To go back to Feature Section click here.
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 125 of 241
LIBRE CONFIDENTIAL
9.32. Rx_MB# 76 (Acquire & Play)
LS10/11
LS9
LS5B/6
APP
MCU
×
This MB is used by HOST MCU/APP to trigger playback from a specified source. For
example, if there is dedicated buttons to play USB, on pressing that button, HOST MCU/APP
will trigger this MB, on that LSx can start the playback from the specified source. This MB
can be extended for all required sources, currently supported sources are:
1. Spotify
2. USB Playback (To Do This is still handled in MB#70, will be moved to MB#76)
HOST MCU LSx
MB#76 SET Command
Acknowledgement
Response
No
No
Spotify Grab
By pressing a specific button or selecting the Spotify source through the display interface,
this feature permits the continuation of Spotify playback from its previous state, provided
that Spotify has been played at least once prior. It's important to emphasize that this is a
mandatory certification requirement imposed by Spotify.
Spotify Certification Checklist:
Test No.: 10.6
Test Case: Pull Context
Description: Press play on the DUT
Expectation: Spotify should start playing from where the user left it off.
Command Format:
Remote
ID
Command
Type
Message-
Box ID
Command
Status
CRC
Data
Length
Data
0xAAAA
SET
76
SUCCESS /
FAILURE
Variable
Length of
Data
<Data>
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 126 of 241
LIBRE CONFIDENTIAL
Data:
Data
Description
GRAB
Switch source to Spotify, start the playback
SPOTIFY GRAB
Not yet implemented
USB GRAB
Not yet implemented
To go back to Feature Section click here.
9.33. RxTx_MB# 80 (Play Audio Cues)
LS10/11
LS9
LS5B/6
APP
MCU
×
This message box is used to play custom audio cues for any event notifications as per the
customer requirements. Distinct tones can be assigned for each event notification based on
customer preferences, such as a unique tone for successful Wi-Fi connectivity or another
for indicating successful bluetooth pairing and so on. These tones have to be renamed as
“song<x>.file type (Note: LS9 supports all formats and LS10 supports only .wav) where x can
be values from 1-10, a maximum of 10 such tones can be supported. Using the software
customisation kit (SCK) these files can be included in the final LSx firmware package. LSx
will store these files in a predetermined location in device flash. This can be played by the
HOST MCU whenever required using MB#80. It's important to use brief notification tones
to avoid any potential storage space issues. For additional information, get in touch with
Libre's Field application Engineer (FAE).
HOST MCU LS
MB#80 SET Command
MB# 80 SET Response
Acknowledgement
Response
No
Yes
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 127 of 241
LIBRE CONFIDENTIAL
Command Format:
Remote ID
Command
Type
Message
Box ID
Command
Status
CRC
Data
Length
Data
0xAAAA
SET
80
NA
variable
length of
data field
<Data>
Data:
Data format is as given below:
play <Index>
Supported Index values are 1-10.
E.g.: play 3
On this LSx will fetch song3.mp3 from flash and play it.
Response Format:
Remote
ID
Command
Type
Message
Box ID
Command
Status
CRC
Data Length
Data
0xAAAA
SET
80
success/
failure
Variable
Length of
data field
<Data>
Data:
Data
Description
SUCCESS
When the audio cue is correctly played on the device.
FILE_NOT_FOUND
When the audio file is not found in the LSx fw.
NI
When wrong play index or command is given by the MCU.
To go back to Feature Section click here.
9.34. RxTx_MB# 90 (Device Name)
LS10/11
LS9
LS5B/6
×
App
MCU
This MB is utilised by HOST MCU/app to read and update the device name.
Device name or friendly name serves as a distinct identifier across all different user-facing
services and applications, including the OEM app, content provider apps and product
display. LSx sets a default unique name in the format “BrandName_XXXX” (XXXX denotes
last four digits of the MACID). OEM app/HOST MCU can provide an option to switch from
default name to a unique name for the end users, during the initial configuration or via the
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 128 of 241
LIBRE CONFIDENTIAL
settings menu. Additionally, users can modify the name via the device webpage, Google
Home app, or as part of the WAC configuration process. This name persists across power
cycles however, it reverts to the default name following a factory reset.
The friendly name may consist of alphanumeric characters or special
symbols, with a maximum limit of 64 characters.
1. To read the Device name:
HOST MCU LSx
MB#90 GET Command
MB#90 SET Response
Acknowledgement
Response
No
Yes
Command Format:
Remote ID
Command
Type
Message
box ID
Command
Status
CRC
Data Length
Data
0xAAAA
GET
90
NA
Variable
0
-
Response Format:
Remote ID
Command
Type
Message
box ID
Command
Status
CRC
Data Length
Data
0xAAAA
GET
90
SUCCESS/
FAILURE
Variable
Length of the
data field
<Data>
Data:
Data will be the device name in string format.
e.g., “Kitchen_Speaker”
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 129 of 241
LIBRE CONFIDENTIAL
2. To update the Device name:
HOST MCU LSx
MB#90 SET Command
MB#90 ACK
Acknowledgement
Response
Yes
No
Command Format:
Remote ID
Command
Type
Message
box ID
Command
Status
CRC
Data Length
Data
0xAAAA
SET
90
NA
Variable
Length of the
data field
<Data>
Data:
Data will be the new device name that is to be set in string format.
e.g., “Master_Speaker”
Acknowledgement:
An acknowledgment will be sent following the format outlined in ACK Format
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 130 of 241
LIBRE CONFIDENTIAL
9.35. RxTx_MB# 91 (Network Info)
LS10/11
LS9
LS5B/6
APP
MCU
The HOST MCU/APP can utilize this message box to obtain either the IP address or the MAC
address of the device as per the specific requirement. Multiple options are available to
obtain the MACID or IP address for active interfaces or for specific interface, additional
information is provided in the data section.
HOST MCU LSx
MB#91 Command
SET
MB#91 SET Response
Acknowledgement
Response
No
Yes
Command Format:
Remote ID
Command
Type
Message
box ID
Command
Status
CRC
Data Length
Data
0xAAAA
SET
91
NA
Variable
Length of the
data field
<Data>
Response Format:
Remote ID
Command
Type
Message
box ID
Command
Status
CRC
Data Length
Data
0xAAAA
SET
91
NA
Variable
Length of the
data field
<Data>
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 131 of 241
LIBRE CONFIDENTIAL
Command/Response Data for LS10:
Command Data
Response Data
Description
MACADDR:wlan0
Wlan0:<mac address>
LSx provides wlan0 mac address.
e.g. Wlan0:AA:BB:CC:DD:EE:FF
MACADDR:eth0
Eth0:<mac address>
LSx provides eth0 mac address.
e.g. Eth0:AA:BB:CC:DD:EE:FF
MACADDR
Wlan0:<mac address>
Eth0:<mac address>
LSx will send two response packets:
Response 1: wlan0 mac address
Response 2: eth0 mac address.
MACADDR:
IPADDR
<IPv4 ADDRESS>
LSx provides IP address of the current active
interface. If none of the interface is active,
0.0.0.0 will be send. In network setup mode,
both p2p0 and p2p1 both will be active, in this
case p2p0 IP address will be send.
IPADDR:
IPADDR:wlan0
<IPv4 ADDRESS>
LSx provides IP address of wlan0 interface.
If wlan0 interface is not active, 0.0.0.0 will be
send.
IPADDR:eth0
<IPv4 ADDRESS>
LSx provides IP address of eth0 interface.
If eth0 interface is not active, 0.0.0.0 will be
send.
IPADDR:p2p0
IPADDR:p2p0
LSx provides IP address of p2p0 interface.
If p2p0 interface is not active, 0.0.0.0 will be
send.
IPADDR:p2p1
IPADDR:p2p1
LSx provides IP address of p2p1 interface.
If p2p1 interface is not active, 0.0.0.0 will be
send.
Command/Response Data for LS9:
Command Data
Response Data
Description
“” (Any data in the
3rd argument).
Wlan0:<mac address>
Eth0:<mac address>
If the netif value is auto, it will send the
wlan0, eth0 mac address.
If the netif value is eth0, it will send the
eth0 mac address else it will send the
wlan0 mac address.
MACADDR:
Wlan0:<mac address>
Device will send the wlan0 mac address.
IPADDR:
Interface-name
<IP address of the
interface>
Device will send IP address of the given
interface if the interface is UP.
IPADDR
<IPv4 ADDRESS>
If the eth0 interface is UP it will show the eth0
interface IP address else, it will show the
wlan0 interface IP address.
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 132 of 241
LIBRE CONFIDENTIAL
Command/Response Data for LS5B/LS6:
Command Data
Response Data
Description
“” (Any data in the
3rd argument).
Wlan0:<mac address>
Eth0:<mac address>
If the ethernet interface is up, it will send the
eth0 mac address else if the netif value is
eth0, it will send the eth0 mac address or will
send the wlan0 mac address.
If an invalid interface is utilized to retrieve the MAC address, the display will
indicate "00:00:00:00:00:00" (Zero MAC).
Similarly, if an invalid interface is used to obtain the IP address, the display will
show "0.0.0.0" (Zero IP).
9.36. RxTx_MB# 92 (Device Details)
LS10/11
LS9
LS5B/6
×
×
APP
MCU
This MB is used by HOST MCU and OEM APPs to request for device details such as MAC
address, serial number, device firmware version, etc. LSx dynamically updates this data as
it receives the dependent data and shaping it into a JSON format.
Phase 1 - The below JSON will be formed when the device boots up completely:
Phase 2: The below JSON will be formed when HOST MCU sends or update HOST MCU
version:
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 133 of 241
LIBRE CONFIDENTIAL
HOST MCU LSx
MB#92 GET Command
MB#92 SET Response
Acknowledgement
Response
No
Yes
Command Format:
Remote
ID
Command
Type
Message
Box ID
Command
Status
CRC
Data Length
Data
0xAAAA
GET
92
NA
NA
Length of
the data
-
Response Format:
Remote
ID
Command
Type
Message
Box ID
Command
Status
CRC
Data Length
Data
0xAAAA
SET
92
NA
NA
Length of
the data
<Data>
Data:
JSON format provided below represents the optimal scenario; however, variations in the
format may occur depending on the data available at the time of request.
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 134 of 241
LIBRE CONFIDENTIAL
{
macaddress: {
wlan0:, <wlanMACID>
eth0:, <ETH_MACID>
bt: <bt_MACID>
},
serialnumber: {
device_serialnumber:, <device_serial_number >
package_serialnumber:, :<package_serial_number>
},
versioninfo: {
castliteversion:,
devicefwversion:, :<device_fw_version>
mcuversion: :<mcu_version_number>
}
}
Where,
macaddress It contains the interface MAC addresses of WLAN, BT and Ethernet.
serialnumber It contains serial numbers of device.
versioninfo It contains device firmware version in the below format:
e.g., eng.C4A.1001.026.036
Example,
{
macaddress: {
wlan0:00:50:43:02:FE:01,
eth0:02:35:B7:DC:98:6E,
bt:43:43:43:43:43:43
},
serialnumber: {
device_serialnumber:d5b785eaa3475df6169d,
package_serialnumber:<Package serial number received via MB #8>,
},
versioninfo: {
castliteversion:<Not updating now>,
devicefwversion:eng.C4A.3105.146.023,
mcuversion:146
}
}
The Castlite version is reserved for now.
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 135 of 241
LIBRE CONFIDENTIAL
9.37. Rx_MB# 95 (Input Start)
LS10/11
LS9
LS5B/6
APP
MCU
This message box is used by the HOST MCU to switch the audio source to line input sources
like AUX, SPDIF, etc. These input audio sources will be directed to LSx from external
connectors/ADCs, LSx will read this audio input data, process it (optional) and play it out.
HOST MCU can trigger MB#95 with Appropriate params when user selects the desired
source using button control.
HOST MCU LSx
MB#95 SET Command
MB#50 SET Current Source (13)
MB#95 ACK
MB#10 SET New Source <source type>
MB#11 SET Allow
Acknowledgement
Response
Yes
No
Command Format for LS9 & LS6/5B:
Remote ID
Command
Type
Message
Box ID
Command
Status
CRC
Data Length
Data
0xAAAA
SET
95
NA
Variable
0
NA
LS9 and LS6/5B doesn’t support SPDIF. It supports only AUX hence, there is
no data argument for LS9 and LS6/5B.
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 136 of 241
LIBRE CONFIDENTIAL
Command Format for LS10:
Remote ID
Command
Type
Message
Box ID
Command
Status
CRC
Data Length
Data
0xAAAA
SET
95
NA
Variable
Length of data
field
<Data>
Data:
Data
Description
AUX_START
To start the AUX playback.
SPDIF_START
To start the SPDIF playback.
Acknowledgement:
An acknowledgment will be sent following the format outlined in ACK Format.
To go back to Feature Section click here.
9.38. Rx_MB# 96 (Input Stop)
LS10/11
LS9
LS5B/6
APP
MCU
This message box is used by the HOST MCU to stop the audio input sources described in
MB#95.
HOST MCU LSx
MB#96 SET Command
MB#96 ACK
Acknowledgement
Response
Yes
No
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 137 of 241
LIBRE CONFIDENTIAL
Command Format for LS9 & LS6/5B:
Remote
ID
Command
Type
Message
Box ID
Command
Status
CRC
Data
Length
Data
0xAAAA
SET
96
NA
Variable
0
NA
LS9 and LS6/5B doesn’t support SPDIF. It supports only AUX hence there is no data
argument for LS9 and LS6/5B.
Command Format for LS10:
Remote
ID
Command
Type
Message
Box ID
Command
Status
CRC
Data
Length
Data
0xAAAA
SET
96
NA
Variable
Length
data field
<Data>
Data:
Data
Description
AUX_STOP
To stop the AUX playback.
SPDIF_STOP
To stop the SPDIF playback.
Acknowledgement:
An acknowledgment will be sent following the format outlined in ACK Format.
To go back to Feature Section click here.
9.39. Rx_MB# 97 (External Playback)
LS10/11
LS9
LS5B/6
APP
MCU
This message box is used to notify LSx on “Start” or “Stop” of external playback. External
Playback is the playback from any sources like AUX, SPDIF, etc. that HOST MCU will directly
play using external DSP/CODEC without directing this audio to LSx. On receiving the
command “Start”, LSx internally manages the source selection as “external source” on
Source Switch module. HOST MCU can send this message box upon user selecting the
source selection button for external sources.
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 138 of 241
LIBRE CONFIDENTIAL
HOST MCU LSx
MB#97 SET Command
MB#97 ACK
MB#50 SET Current Source 25
MB#10 SET New Source 25
MB#11 Allow
SET
Acknowledgement
Response
Yes
No
Command Format:
Remote
ID
Command
Type
Message
Box ID
Command
Status
CRC
Data
Length
Data
0xAAAA
SET
97
NA
Variable
Length of
Data
<Data>
Data:
Remote ID
Command Type
START
To start playback from external source.
STOP
To stop playback from external source.
Acknowledgement:
An acknowledgment will be sent following the format outlined in ACK Format.
To go back to Feature Section click here.
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 139 of 241
LIBRE CONFIDENTIAL
9.40. Rx_MB# 111 (TCP/IP Tunneling Start)
LS10/11
LS9
LS6/5B
-
APP
MCU
×
TCP Tunneling is a mechanism for HOST MCU to communicate with network devices or
mobile APPs by using the “TCP tunnel” offered by LSx. MCU developer predefines a port
number that LSx should use to communicate with Network TCP clients/APP. LSx will
accept connection request from this port and establishes a tunnel to pass to and forth the
TCP messages between network client/APP and the HOST MCU.
MB#111 is used by the HOST MCU to notify LSx on the port number which LSx should use
to communicate with APP/network clients.
HOST MCU LSx
MB#111 SET Command
ACKMB#111
Acknowledgement
Response
Yes
No
To start tunneling, HOST MCU must specify the port number using this message box. Once
triggered, LSx opens a TCP listening socket and is ready to accept connection from network
clients/APPs.
Command Format:
Remote
ID
Command
Type
Message-
Box ID
Command
Status
CRC
Data
Length
Data
0xAAAA
SET
111
0
Variable
Length of
Data
<Data>
Data:
Data is the port number. MCU developer will predefine the port number and send it to LSx.
Example of port number field: 4444.
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 140 of 241
LIBRE CONFIDENTIAL
Acknowledgement:
An acknowledgment will be sent following the format outlined in ACK Format.
To go back to Feature Section click here.
9.41. TxRx_MB# 112 (Tunnel Data)
LS10/11
LS9/X
LS6/5B
-
APP
MCU
×
Once a tunnel is created using the MB# 111, LSx opens a TCP listening socket and accepts
connection from network clients/APPs.
LSx can accept more than one TCP connections with a MAX limit set to 10.
All data received from TCP socket from any of the connections will be passed to the MCU
over this message box. MCU can also send data to connected clients using this message box.
This message box can be used in two scenarios:
1. MCU to send data to APP/network clients.
Here, MCU will send the data over MB# 112, LSx will tunnel this data to the APP/network
client.
HOST MCU LSx
MB#112 SET Command
MB#112 ACK
Acknowledgement
Response
Yes
No
2. LSx to send data to MCU.
Here, LSx will send the data received from the mobile APP/network clients to MCU over
MB# 112.
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 141 of 241
LIBRE CONFIDENTIAL
HOST MCU LSx
MB#112 SET Command
Acknowledgement
Response
No
No
Below sequence diagram shows details of steps involved for using TCP tunneling.
MCU LSx Remote Device
MB# 111 (Tunneling Start) parameter
<port>
ACK
MB# 112 LUCI Header + data
Creates Socket and binds to port number and
stays in listening mode
App sends Data on TCP (No LUCI Headers) LSx
removes TCP/IP Header and adds LUCI header in
front of Data
Data encapsulated on TCP/IP packet
UART TCP
ACK
MB# 112 LUCI Header + data
Figure: TCP/IP Tunneling Sequence
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 142 of 241
LIBRE CONFIDENTIAL
Command Format:
Remote
ID
Command
Type
Message
Box ID
Command
Status
CRC
Data
Length
Data
0xAAAA
SET
112
0
Variable
Length of
Data
<Data>
Data:
Data is the TCP raw data.
Acknowledgement:
An acknowledgment will be sent following the format outlined in ACK Format.
To go back to Feature Section click here.
9.42. Rx_MB# 114 (Reboot Request)
LS10/11
LS9
LS5B/6
×
APP
MCU
×
During the OTA process, after the application completes the first stage of installation, the
LSx must reboot into bootloader mode to finish the remaining installation. In a system with
a HOST MCU, the LSx will request the HOST MCU to initiate this reboot. This reboot request
can be sent via MB#114. Upon receiving this command, the HOST MCU must send MB#115
to gracefully shut down the apps running on LSx.
This MB will be sent from LSx to HOST MCU whenever LSx requires a reboot for scenarios
such as firmware updates, factory reset, etc. HOST MCU must perform the following actions
upon receiving this command:
Send MB#115 for graceful shutdown of LSx apps.
Perform a hardware reset of LSx.
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 143 of 241
LIBRE CONFIDENTIAL
HOST MCU LSx
MB#114 SET Command
MB#115 SET Response
Acknowledgement
Response
No
Yes, MB#115
Command Format:
Remote ID
Command
Type
Message
box ID
Command
Status
CRC
Data Length
Data
0xAAAA
SET
114
0
Variable
Length of data
<Data>
Data:
Data is ‘reboot request’.
Response Format:
For response, refer MB#115.
To go back to Feature Section click here.
9.43. Tx_MB# 115 (Reboot Command)
LS10/11
LS9
LS5B/6
×
APP
MCU
×
This MB is used by HOST MCU to send reboot command to LSx to do graceful shut down of
all LSx apps.
After reboot, HOST MCU waits for message box # 0xAAAA.
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 144 of 241
LIBRE CONFIDENTIAL
HOST MCU LSx
MB#114 SET Command
MB#115 SET Response
Acknowledgement
Response
No
No
Response Format:
Remote ID
Command
Type
Message
box ID
Command
Status
CRC
Data Length
Data
0xAAAA
SET
115
0
Variable
0
-
To go back to Feature Section click here.
9.44. Tx_MB# 149 (Miscellaneous MCU Requests)
LS10/11
LS9
LS5B/6
×
×
APP
MCU
×
LSx utilizes this MB to notify HOST MCU on various events and to take necessary actions.
Currently, it is employed for initiating a factory reset. In the future, this MB will undergo
enhancements to cater for any additional requirements.
1. Factory Reset Request
Upon receiving MB#149 with data facresetrequest, the MCU is prompted to
undertake preparatory steps for the factory reset. Subsequently, the MCU needs to
send MB#150 to LSx, signalling to proceed with the factory reset.
If a customer needs to include a factory reset option on the device webpage, upon
the user selecting this option, LSx will signal the MCU to execute a factory reset
utilizing this MB and it can be applied to fulfil any similar requirements.
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 145 of 241
LIBRE CONFIDENTIAL
HOST MCU LSx
MB#149 SET Command
MB#150 SET Response
[facresetrequest]
Acknowledgement
Response
No
Yes, MB# 150
Command Format:
Remote
ID
Command
Type
Message
Box ID
Command
Status
CRC
Data Length
Data
0xAAAA
SET
149
NA
NA
Length of
the data
<Data>
Data:
Data
Description
facresetrequest
Requests MCU to perform factory reset. Upon receiving this
data, the MCU will prepare for factory reset and then signal
LSx via MB#150 to proceed further.
9.45. MB# 211 (Start Firmware Upgrade) - Deprecated
This MB is used only in LS6. On request for Firmware Upgrade from LSx over MB# 69,
HOST MCU either starts the firmware upgrade process or denies the firmware upgrade.
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 146 of 241
LIBRE CONFIDENTIAL
9.46. Rx_MB# 213 (Music Service Credentials)
LS10/11
LS9
LS5B/6
-
APP
MCU
This MB is employed to share login credentials (Username & Password) of Music service to
LSx, enabling LSx to login to the corresponding music service using these provided
credentials.
This applies exclusively to specific music services that are browsed and played. For
instance, Airable supports services like TIDAL, Deezer, and Napster, which require user
login. When a user selects these music services first time, using HOST MCU/APP UI display,
a pop-up prompts them to enter their credentials and log into these respective services.
These login details are then provided to LSx through MB#213, and LSx utilizes them to
login to the designated music service.
This scenario doesn't apply when the APP directly implements the Airable UI by
communicating with Airable Cloud, bypassing LSx for browse control. In such cases, the
login is carried out directly by the APP with the music server.
Note that this is not applicable for native applications such as TIDAL Connect Native as the
login will be done using TIDAL app directly with TIDAL server.
HOST MCU LSx
MB#213 SET Command
Acknowledgement
Response
No
No
Command Format:
Remote
ID
Command
Type
Message Box
ID
Command
Status
CRC
Data Length
Data
0xAAAA
SET
213
0
Variable
Length of Data
<Data>
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 147 of 241
LIBRE CONFIDENTIAL
Data:
The data format is as given below:
<Music Service>USERNAME_<username>, < Music Service >USERPASSWORD_<password>
< Music Service >: The name of music service such as TIDAL, QOBUZ, DEEZER, NAPSTER
and HIGHRESAUDIO
<Username>: End User login name
<Password>: End User login password.
E.g.,
DEEZERUSERNAME_libreteset@librewireless.com, DEEZERUSERPASSWORD_xyz@153
To go back to Feature Section click here.
9.47. Tx_MB# 223 (Firmware Download Progress)
LS10/11
LS9
LS5B/6
×
APP
MCU
This message box is used to send firmware download progress to the HOST MCU and app.
HOST MCU/APP LSx
MB#223 SET Command
Acknowledgement
Response
No
No
Command Format:
Remote ID
Command
Type
Message
Box ID
Command
Status
CRC
Data Length
Data
0xAAAA
SET
223
NA
Variable
Length of the
data field
<Data>
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 148 of 241
LIBRE CONFIDENTIAL
Data:
Data
Description
UPDATE_STARTED
LSx detects a valid firmware update is available and about to start.
UPDATE_DOWNLOAD
Download of the firmware image is initiated.
UPDATE_IMAGE_AVAILABLE
LSx firmware image is downloaded successfully.
NO_UPDATE
This data is sent when the update is not available or fails to
download the firmware.
CRC_CHECK_ERROR
This error message will be sent if there are any failures in the
integrity (hash) or authenticity (sign verify) of the downloaded
image.
Additionally, for LS9 this data is sent when the downloaded image
CRC and the CRC written in the field <crc32check> of the XML file
used for internet upgrade do not match.
DOWNLOAD_FAIL
Firmware download is unsuccessful.
To go back to Feature Section click here.
9.48. Tx_MB# 230 (Audio Output FS)
LS10/11
LS9
LS5B/6
-
APP
MCU
×
This message-box is used by LSx to notify the sampling frequency (I2S-LRClock) to HOST
MCU, every time the sampling frequency changes. HOST MCU can adjust the DSP/DAC
settings (if any) on this sampling rate change notification. After sending the new sampling
rate, LSx waits for maximum of 1 sec for the response on MB#556. On receiving the
response (or on timeout) LSx assumes that HOST MCU has done the required changes and
LSx starts the playback.
Take into account that LSx provides two kinds of configurations: Fixed Frequency and
Variable Frequency. In the Fixed Frequency, the output sampling frequency is fixed as per
Additionally, the download percentage of firmware upgrade (0% -100%) will
also be sent on this message box for LS10.
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 149 of 241
LIBRE CONFIDENTIAL
the value in the ENV ‘alsaoutputdevice’ (LSx performs a software sampling rate conversion
to convert the original song FS to this fixed FS). On the other hand, in the Variable
Frequency mode, the audio is played in its original frequency without any conversion, and
the ENV 'alsaoutputdevice' should be set as “default”. MB#230 is applicable only for
variable frequency mode.
Acknowledgement
Response
No
Yes, MB#556
HOST MCU LSx
MB#230 SET Command
MB#556 SET Response
Command Format:
Remote ID
Command
Type
Message-
Box ID
Command
Status
CRC
Data Length
Data
0xAAAA
SET
230
Success /
Failure
Variable
Length of the
data
<Data>
Data:
Data will be sample rate of the current playback. The supported sample rates range from
8kHz -192kHz.
e.g., If the sampling frequency is 48kHz, data will be 48000. Similarly, if the sampling
frequency is 96kHz, data will be 96000.
Response Format:
For response, refer to Message Box 556.
To go back to Feature Section click here.
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 150 of 241
LIBRE CONFIDENTIAL
9.49. Rx_MB# 232 (AC Powered)
LS10/11
LS9
LS5B/6
×
APP
MCU
×
This message box is applicable only for battery powered devices. The purpose of this
message box is to safeguard the device from entering into undesirable situations like
running out of battery during firmware update.
LSx will update the firmware only if an AC adapter is connected (charging) or there is
sufficient battery power in the device. The MCU must update this message box in the
following conditions:
On bootup
Change in power state (Connecting or disconnecting AC adapter)
LSx will allow the firmware update to proceed only if this message box value is True.
HOST MCU LSx
MB#232 SET Command
Acknowledgement
Response
No
No
Command Format:
Remote ID
Command
Type
Message
Box ID
Command
Status
CRC
Data Length
Data
0xAAAA
SET
232
NA
Variable
Length of the
data field
<Data>
Data:
Data
Description
TRUE
The speaker is AC powered/above battery threshold and firmware
download/update can occur.
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 151 of 241
LIBRE CONFIDENTIAL
FALSE
The speaker is NOT AC powered (running in battery) and in low battery
state, firmware download/update cannot occur.
To go back to Feature Section click here.
9.50. RxTx_MB# 235 (Trigger OTA)
LS10/11
LS9
LS5B/6
×
×
APP
MCU
LSx will automatically check for OTA updates on boot up and at regular intervals. This MB
allows manual triggering of OTA upgrades from HOST MCU or APP. Responding to MB#235
request, LSx queries the OTA server for available updates and proceeds with upgrade
process if a valid update is found.
HOST MCU LSx
MB#235 SET Command
MB#235 SET Response
MB#235 ACK
Acknowledgement
Response
Yes
Yes
Command Format:
Remote ID
Command
Type
Message
Box ID
Command
Status
CRC
Data Length
Data
0xAAAA
SET
235
NA
NA
Length of data
<Data>
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 152 of 241
LIBRE CONFIDENTIAL
Data:
Data
Description
TRIGGER_OTA
LSx will trigger an OTA update request, proceeds with the firmware
upgrade if a valid upgrade is found.
The progress of the firmware update can be monitored using MB#223.
Response Format:
Remote ID
Command
Type
Message
Box ID
Command
Status
CRC
Data Length
Data
0xAAAA
SET
235
NA
Variable
Length of the
data field
<Data>
Data:
Data
Description
CHECKING_UPDATE
Checking for update. Refer MB#223 for update status.
UPDATE_INPROGRESS
If already some update is going on, MB#235 request will be ignored.
Acknowledgement:
An acknowledgment will be sent following the format outlined in ACK Format.
To go back to Feature Section click here.
9.51. RxTx_MB# 238 (Forced Upgrade)
LS10/11
LS9
LS5B/6
-
APP
MCU
×
This MB facilitates forced OTA upgrades. LSx will automatically check for OTA updates on
boot up and at regular intervals. Additionally, MB#235 allows manual triggering of OTA
updates from HOST MCU or APP. Responding to MB#235 request, LSx queries the OTA
server for available updates and proceeds if found. However, customers have specified the
need to reapply a firmware update using the current firmware available on the OTA server,
even if it matches the version currently running on the device.
This requirement arises from the incorrect installation of the previous firmware upgrade
on the HOST MCU or DSP module, attributed to potential bugs or limitations in the HOST
MCU/DSP firmware update implementations. Introducing MB#238 aims to redo the
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 153 of 241
LIBRE CONFIDENTIAL
firmware update and address the mentioned failures. The HOST MCU provides an option
for end users or service engineers to trigger MB#238 in such scenarios. Moreover, MB#238
can be employed for similar situations wherever applicable.
This is a special MB introduced to handle specific use cases. Contact Libre FAE and
confirm the use case and implications before handling this MB.
HOST MCU LSx
MB#238 SET Command
MB#238 SET Response
MB#238 ACK
Acknowledgement
Response
Yes
Yes
Command Format:
Remote ID
Command
Type
Message
Box ID
Command
Status
CRC
Data
Length
Data
0xAAAA
SET
238
NA
Variable
Length of
Data
<Data>
Data:
Data
Description
REQ_FORCE_UPDATE
LSx will request OTA server for a forced firmware upgrade. OTA
server will validate the current firmware version of LSx and the
firmware version of the hosted image in the OTA server and proceed
with update only if the hosted image firmware version is greater than
or equal to the current firmware version running in the LSx. If the
hosted image firmware version is lower, the update will not be
triggered.
The progress of the firmware update can be monitored using
MB#223.
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 154 of 241
LIBRE CONFIDENTIAL
Response Format:
Remote ID
Command
Type
Message
Box ID
Command
Status
CRC
Data Length
Data
0xAAAA
SET
238
NA
Variable
Length of the
data field
<Data>
Data:
Data
Description
CHECKING_UPDATE
Checking for update. Refer MB#223 for update status.
UPDATE_INPROGRESS
If already some update is going on, MB#238 request will be ignored.
Acknowledgement:
An acknowledgment will be sent following the format outlined in ACK Format.
To go back to Feature Section click here.
9.52. Rx_MB# 556 (Audio Output FS ACK)
LS10/11
LS9
LS5B/6
×
-
APP
MCU
×
This message box is sent from HOST MCU to LSx and serves as an acknowledgement for
MB#230. On receiving MB#230, HOST MCU can undertake essential adjustments, such as
configuring the DAC/DSP to accommodate the updated sampling frequency and then
acknowledge over MB#556 so that LSx can proceed with the playback.
HOST MCU LSx
MB#230 SET Command
MB#556 SET Response
Acknowledgement
Response
No
No
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 155 of 241
LIBRE CONFIDENTIAL
Response Format:
Remote ID
Command
Type
Message-
Box ID
Command
Status
CRC
Data Length
Data
0xAAAA
SET
556
NA
Variable
Length of the
data field
<Data>
Data:
Data
Description
0
Success
1
Failure
0: HOST MCU can acknowledge the change by sending 0.
-1: In the event, the HOST MCU doesn’t acknowledges the sampling rate change, it can send
the value -1. However, this is never an expected scenario as HOST MCU decides to proceed
with the playback issuing MB#11 and configuring the system to accept variable FS and
HOST MCU cannot refuse it at this stage.
To go back to Feature Section click here.
9.53. RxTx_MB# 561 (Apple Home APP Inclusion Check)
LS10/11
LS9
LS5B/6
×
×
APP
MCU
Users can set up an AirPlay password using a mobile APP or webpage, but this is only
possible if the device isn't already configured to the Apple Home APP. If the device is
already part of the Apple Home APP, it takes precedence, and users can't change the
password. Therefore, it's important to verify whether the device is currently connected to
the Apple Home APP before attempting to modify the AirPlay password. MB#561 is used to
check if the LSx device is configured/added in the Apple Home APP.
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 156 of 241
LIBRE CONFIDENTIAL
HOST MCU LSx
MB#561 SET Command
MB#561 SET Response
MB#561 Ack
Acknowledgement
Response
Yes
Yes
Command Format:
Remote ID
Command
Type
Message-
Box ID
Command
Status
CRC
Data Length
Data
0xAAAA
SET
561
SET
Variable
Length of the
data field
<Data>
Data:
The data is “get”.
Response Format:
Remote ID
Command
Type
Message-
Box ID
Command
Status
CRC
Data Length
Data
0xAAAA
SET
561
NA
Variable
Length of the
data field
<Data>
Data:
Data
Description
0
Device is not configured in Apple home.
1
Device is configured in Apple home.
Acknowledgement:
An acknowledgment will be sent following the format outlined in ACK Format
To go back to Feature Section click here.
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 157 of 241
LIBRE CONFIDENTIAL
9.54. Rx_MB# 562 (AirPlay Password Request)
LS10/11
LS9
LS5B/6
×
×
APP
MCU
This MB is used to set/get the AirPlay password.
MCU LSHOST MCU LSx
MB#562 SET Command
MB#563 SET Response
MB#562 ACK
Acknowledgement
Response
Yes
No
Command Format:
Remote ID
Command
Type
Message-
Box ID
Command
Status
CRC
Data Length
Data
0xAAAA
SET
562
SET
Variable
Length of the
data field
<Data>
Data:
The data will be sent in the below JSON format:
{
"action": "<control>",
"password": "<value>"
}
control: It can be ‘set’ or ‘get’
value: Applicable only for set, value should contain the password string to be set. For ‘get’,
it is not applicable, should be empty string (“”).
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 158 of 241
LIBRE CONFIDENTIAL
e.g. {"action":"set","password":"111222"}
{"action":"get","password":""}
Response Format:
For response, refer to MB#563.
Acknowledgement:
An acknowledgment will be sent following the format outlined in ACK Format
To go back to Feature Section click here.
9.55. Tx_MB# 563 (AirPlay Password Response)
LS10/11
LS9
LS5B/6
×
×
APP
MCU
This MB is the response to MB# 562.
MCU LSHOST MCU LSx
MB#562 SET Command
MB#563 SET Response
MB#562 ACK
Acknowledgement
Response
No
No
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 159 of 241
LIBRE CONFIDENTIAL
Response Format:
Remote ID
Command
Type
Message-
Box ID
Command
Status
CRC
Data Length
Data
0xAAAA
SET
563
NA
Variable
Length of the
data field
< Data>
Data:
Response for "action": "set" triggered from MB# 562:
Data will be in the below JSON format:
{
"password": "<new password>",
"status": <value>
}
<new password> and <value> can be as given below:
Description
New password
Value
Example
The device password is
set successfully.
The password
entered in
MB#562.
0
{
"password": "111222",
"status": 0
}
Device is already
configured in Apple home.
Empty String
1
{
"password": "",
"status": 1
}
Invalid password.
(Empty, more than 32
characters)
The invalid
password
entered in MB#
562.
2
{
"password": "",
"status": 2
}
Invalid request from MCU
(Invalid JSON/wrong
data)
Empty String
3
{
"password": "",
"status": 3
}
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 160 of 241
LIBRE CONFIDENTIAL
Response for "action": "get" triggered from MB# 562:
Data will be in the below JSON format:
{
"password": "<password>",
"status": <value>
}
<password> and <value> can be as given below:
Description
password
Value
Example
The AirPlay password is
retrieved successfully.
The existing
password
0
{
"password": "111222",
"status": 0
}
Device is already configured
in Apple home.
Empty String
1
{
"password": "",
"status": 1
}
To go back to Feature Section click here.
9.56. Rx_MB# 571 (Google Cast ToS and Usage Report -
Requests)
LS10/11
LS9/X
LS6/5B
×
×
APP
MCU
This MB is used by companion app/HOST MCU to:
Update the user selection preference of ToS and Usage Report (Opt-In/Opt-Out). User
can accept/decline to these services and App/MCU to update the preferred status to
LSx.
Get the current status of ToS and Usage reports preferences. This will be helpful to
update the UI as per the current selected preference.
The password can be set only if the device is not configured to home APP.
The password can be numbers, alphabets (upper and lower case), special
characters and the length will be 1 to 32.
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 161 of 241
LIBRE CONFIDENTIAL
LSx will respond back in MB #572.
MB# 571 SET Command
APP LSX
MB# 572 SET Response
Acknowledgement
Response
No
Yes, MB# 572
Command Format:
Remote
ID
Command
Type
Message
Box ID
Command
Status
CRC
Data
Length
Data
0xAAAA
SET
571
NA
Variable
Length of
Message
<Data>
Data:
1. To update the User Selection preference
The data format will be:
{
“request_type”:“set”,
"id":"<ID>",
"action": "<ACTION>",
"user_ip": “<Client_IP>”,
"device_uuid": “<Unique_device_ID>”
}
Where,
ID: “tos” or “crash_report”
Use “tos” for ToS and “crash_report” for usage reporting Opt-in or Opt-out user
selections.
ACTION: accepted or “declined”
Update as per user selection. For ToS, LSx expects only accepted, if user declines,
app should take care of re-populating the ToS acceptance screen again as per the UX
guidelines from Google.
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 162 of 241
LIBRE CONFIDENTIAL
In usage report, for opt-in send “accepted” and for opt-out send “declined.
Client_IP: For network Apps (e.g., Mobile App), send the phone’s IP address, for HOST MCU
this can be empty.
Unique_device_ID: This functions as a distinct identifier for message filtering. The
app/HOST MCU can compare the unique ID in the response packet with the one sent,
determining if the response is intended for the sender. Since LSx broadcasts the response,
it's crucial for the app to verify that it corresponds to the request made by the app.
Every mobile app will possess a unique ID, which can be retrieved and inserted here. The
HOST MCU can produce a unique ID of 16/32 length or opt for any other suitable unique
IDs available.
Examples: Go to Example 1 & Example 2
2. Current Selected Preference
Use the below JSON to fetch the current value of ToS and Usage report from LSx:
{
“request_type”: ”get”,
"id": "status",
"device_uuid": <Unique_device_ID>
}
request_type: use “get”
id: use “status”, this will fetch the value for both ToS and usage reports.
Unique_device_ID: Unique ID for message filtration (refer above)
To go back to Feature Section click here.
The Terms of Service (ToS) should only be accepted once. The ToS state cannot
be changed until the device undergoes a Factory Data Reset (FDR).
* ToS should be accepted for stable channel/production firmware otherwise LSx will not
be advertised and be available to Cast on any content app. However, an exception is made
for beta/engineering firmware to proceed with Google Cast even if ToS is not accepted,
this exception is applicable only for development and debugging.
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 163 of 241
LIBRE CONFIDENTIAL
9.57. Tx_MB# 572 (Google Cast ToS & Usage Report - Response)
LS10/11
LS9/X
LS6/5B
×
×
APP
MCU
LSx uses this MB to respond back to app/Host MCU for the requests that are made via
MB#571.
MB# 571 SET Command
APP LSX
MB# 572 SET Response
Response Format:
Remote
ID
Command
Type
Message
Box ID
Command
Status
CRC
Data
Length
Data
0xAAAA
SET
572
NA
Variable
Length of
Message
<Data>
Data:
1. Response for “User selection Preference”
This is the response for the request To update the User Selection preference as mentioned
in MB#571. The format will be:
{
"id": "<ID>",
"status": "<STATUS>",
"status_msg": “<FAILURE_REASON>“,
“user_ip”: “<Client_IP>”,
"device_uuid": <Unique_device_ID>
“action": “<ACTION>”
}
ID: “tos” or “crash_report” as per the request command.
STATUS: “success” or “failure.” If the status is “failure” refer FAILURE_REASON in
status_msg for further details.
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 164 of 241
LIBRE CONFIDENTIAL
FAILURE_REASON: The failure reason string can be used for debugging.
Client_IP: The same IP address of the client who requested data.
Unique_device_ID: The unique ID of the requested client.
ACTION: “accepted” or “declined, it will be the same value as given in the action field of
request command format.
Example 1: for ToS
Command Format
Response Format
{
“request_type”: “set”,
"id": "tos",
"action": "accepted",
"user_ip": 192.168.1.30,
"device_uuid": 2C76D223-4974-4F46-
B368-012E912B600E
}
{
"id": "tos,
"status": "success",
"status_msg": ",
“user_ip: “192.168.1.30,
"device_uuid": 2C76D223-4974-4F46-
B368-012E912B600E
“action": “accepted”
}
Example 2: for Usage Reports
Command Format
Response Format
{
“request_type”:“set”,
"id":"crash_report",
"action": "declined",
"user_ip": 192.168.1.30,
"device_uuid": 2C76D223-4974-4F46-B368-
012E912B600E”
}
{
"id":"crash_report",
"status": "success",
"status_msg": "",
“user_ip: “192.168.1.30”,
"device_uuid": 2C76D223-4974-4F46-
B368-012E912B600E”,
“action": “declined”
}
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 165 of 241
LIBRE CONFIDENTIAL
2. Response for “Current selected Preference”
This is the response for the request Current Selected Preference as given in MB#571. The
format will be as follows:
{
"id": "status",
“tos”: “<ToS_STATUS>”,
“crash_report”: <USAGE_REPORT_STATUS>,
“status”: “success”,
"device_uuid": “<Unique_device_ID>”
}
ToS_STATUS: “activated” or “not_activated”
USAGE_REPORT_STATUS: It is a boolean value, it can be either true or false.
Unique_device_ID: The unique ID of the requested client.
Example:
Command Format
Response Format
{
“request_type”: ”get”,
"id": "status",
"device_uuid": 2C76D223-4974-4F46-B368-
012E912B600E
}
{
"id": "status",
“tos”: “activated”,
“crash_report”: true,
“status”: “success”,
"device_uuid": 2C76D223-4974-4F46-
B368-012E912B600E
}
To go back to Feature Section click here.
9.58. RxTx_MB# 573 (TimeZone Configuration)
LS10/11
LS9
LS5B/6
×
×
APP
MCU
×
This MB allows users to adjust the TimeZone to suit their preferences or retrieve
information on the currently selected TimeZone. Libre operates an NTP Server, which
relies on TimeZone settings to accurately update the current time according to the selected
Zone. TimeZone data holds significance for LSx, as it is utilized internally for various
actions, such as scheduling OTA updates at specific times (e.g., 2:00 AM daily). The Host
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 166 of 241
LIBRE CONFIDENTIAL
MCU can retrieve the TimeZone format and display the time on the display, refer to
MB#229 for more details.
If the TimeZone is not explicitly set, LSx defaults to UTC. LSx maintains the set TimeZone
persistently in the NV item, TimeZone.
App can fetch the current time zone from mobile services and set it silently as a part of set
up flow or even provide UI for user interaction to set it. In addition, in settings an option
can be provided for users to change the TimeZone.
Reading the Current Time Zone
App can GET the current time zone from LSx using MB#573 at any point of time.
MB# 573 GET Command
APP LSX
MB# 573 SET Response
Acknowledgement
Response
No
Yes
Command Format:
Remote
ID
Command
Type
Message
Box ID
Command
Status
CRC
Data
Length
Data
0xAAAA
GET
573
NA
Variable
0
-
Response Format:
Remote ID
Command
Type
Message
Box ID
Command
Status
CRC
Data
Length
Data
0xAAAA
SET
573
NA
Variable
Length of
Message
<Data>
Data:
The data format is a string (“continent/city”) with TimeZone in IANA format.
E.g.: “Asia/Kolkata
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 167 of 241
LIBRE CONFIDENTIAL
Configuring the Current Time Zone
MB# 573 SET Command
APP LSX
MB# 573 Ack
Acknowledgement
Response
Yes
No
Command Format:
Remote
ID
Command
Type
Message
Box ID
Command
Status
CRC
Data
Length
Data
0xAAAA
SET
573
NA
Variable
Length of
Message
<Data>
Data:
The data format is as given below:
{
“timezone_oem”: “<TimeZone>”,
"time_in_12_hour_format": <12_HOUR_FORMAT>
}
TimeZone: Configured TimeZone in IANA format (continent/city).
12_HOUR_FORMAT: true or false in Boolean format. LSx is not handling this currently, it is
reserved for future use.
Eg:
{
“timezone_oem”: “Asia/Kolkata”,
"time_in_12_hour_format": false
}
Acknowledgement:
An acknowledgment will be sent following the format outlined in ACK Format
To go back to Feature Section click here.
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 168 of 241
LIBRE CONFIDENTIAL
9.59. Rx_MB# 611 (MCU-LSx Standby)
LS10/11
LS9
LS5B/6
×
×
APP
MCU
×
The HOST MCU communicates to LSx on standby state through this MB, exchanging both
commands and acknowledgements. There are four scenarios involved.
1. When the device enters standby:
The HOST MCU can initiate the system's standby mode either through user input by
pressing the standby button or automatically in the event of an inactivity timeout.
When the standby entry command is received, LSx performs internal housekeeping
tasks, makes adjustments to playback states as needed, and then sends an
acknowledgment back to the HOST MCU.
Acknowledgement for standby from LS10
Enter standby from MCU
MB# 611 SET Command
(Data: MCU_ENTERED_STANDBY)
MB# 612 SET Command
(Data: ACK_MCU_ENTERED_STANDBY)
HOST MCU LSx
User button press/
Inactivity timeout
(Enter Standby mode)
2. Standby exit from HOST MCU:
Exiting standby mode can be triggered by pressing buttons or through relevant actions
on the HOST MCU, including button presses or interactions with the display. When the
standby exit command is received, LSx performs internal housekeeping tasks, makes
adjustments to playback states as needed, and then sends an acknowledgment back to
the HOST MCU.
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 169 of 241
LIBRE CONFIDENTIAL
User button press
(Exit standby)
Acknowledgement
Exit standby from MCU
MB# 611 SET Command
(Data: MCU_EXITED_STANDBY)
MB# 612 SET Command
(Data: ACK_MCU_EXITED_STANDBY)
LSx
HOST MCU
3. Standby exit on LSx events:
LSx can command HOST MCU to exit from standby when specific events originate from
LSx. e.g., playback trigger, bluetooth connection, etc. Upon receiving a playback start
signal from any source, LSx will verify the device's standby status using its internal
state variables. If the device is in standby, LSx notifies the HOST MCU to exit standby.
LSx then awaits the HOST MCU's response to confirm its exit from standby before
proceeding with MB#10 to initiate playback. It is crucial for the HOST MCU to promptly
exit standby and respond to LSx to minimize playback latencies. It should be noted that
many music services have stringent certification requirements, necessitating the
commencement of playback within a few seconds.
Exit standby from MCU
MB# 611 SET Command
Data: MCU_EXITED_STANDBY
MB# 612 SET Command
Data: MCU_EXIT_STANDBY
Acknowledgement
MB# 612 SET Command
(Data: ACK_MCU_EXITED_STANDBY) Playback starts
MCU exit from
standby
HOST MCU LSx
User Interaction
E.g. Playback trigger
4. Standby entry & exit from content provider APPs:
There are options to enable or disable device standby from content applications like
ROON. In such instances, LSx utilizes this message box to enter or exit standby.
4a. Standby entry from content provider APPs:
When the user presses the standby entry icon in content provider APPs.
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 170 of 241
LIBRE CONFIDENTIAL
Acknowledgement for standby from LS10
Enter standby from MCU
MB# 611 SET Command
(Data: MCU_ENTERED_STANDBY)
MB# 612 SET Command
(Data: ACK_MCU_ENTERED_STANDBY)
HOST MCU LSx
User taps standby entry
option in content
provider APPs
Command to MCU to force enter into standby
MB# 612 SET Command
(Data: MCU_ENTER_STANDBY)
4b. Standby exit from content provider APPs:
When the user presses the standby exit icon in content provider APPs.
Exit standby from MCU
MB# 611 SET Command
Data: MCU_EXITED_STANDBY
MB# 612 SET Command
Data: MCU_EXIT_STANDBY
Acknowledgement
MB# 612 SET Command
(Data: ACK_MCU_EXITED_STANDBY)
MCU exit from
standby
HOST MCU LSx
User taps standby exit
option in content
provider APPs
Acknowledgement
Response
No
Yes, MB#612
Command Format:
Remote ID
Command
Type
Message
Box ID
Command
Status
CRC
Data Length
Data
0xAAAA
SET
611
NA
NA
Length of data
<Data>
Data:
Data
Description
MCU_ENTERED_STANDBY
To notify LSx when the HOST MCU enters standby mode.
MCU_EXITED_STANDBY
To notify LSx when the HOST MCU existed standby mode.
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 171 of 241
LIBRE CONFIDENTIAL
Response Format:
For response, refer to MB# 612.
9.60. Tx_MB# 612 (LSx-MCU Standby)
LS10/11
LS9
LS5B/6
×
×
APP
MCU
×
LSx communicates to HOST MCU on standby state through this MB, exchanging both
commands and acknowledgements. There are four scenarios involved. The scenarios are as
explained in MB# 611.
Acknowledgement
Response
No
Yes, MB# 611
Command Format:
Remote ID
Command
Type
Message
Box ID
Command
Status
CRC
Data
Length
Data
0xAAAA
SET
612
NA
Variable
Length of
Data
<Data>
Data:
Data
Description
ACK_MCU_ENTERED_STANDBY
Acknowledgement to MB#611 that the HOST MCU has
entered Standby state.
ACK_MCU_EXITED_STANDBY
Acknowledgement to MB#611 that the HOST MCU has exited
Standby state.
MCU_ENTER_STANDBY
LSx sends this command data to HOST MCU to enter standby.
MCU_EXIT_STANDBY
LSx sends this command data to HOST MCU to exit standby.
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 172 of 241
LIBRE CONFIDENTIAL
9.61. RxTx_MB# 621 (HOST Settings)
LS10/11
LS9
LS5B/6
×
×
APP
MCU
Certain customers will have custom features that are mostly managed by HOST MCU and
customers can design their Web UI or APP with options to enable or disable this feature.
This MB is used to update the status of such features to HOST MCU when user changes
these settings from Web UI/APP. HOST MCU records and saves these settings and
subsequently initiate corresponding actions.
In addition, these features and states are managed by HOST MCU, LSx will not save the
status in its persistent region (NV), HOST MCU should save the status and on every bootup,
HOST MCU should update the current status to LSx so that LSx can populate the value for
these features in the respective UI.
The features supported by this MB will be mostly customer specific and might require
custom implementations to accommodate new requirements. Discuss with Libre FAE to
explore the utilisation of existing features or the addition of new ones.
An example of one such feature is ‘Start Volume Limit’ and ‘Power Sleep Timer.’.
Startup Volume Limit:
This feature is implemented to ensure that when the device powers up, it doesn't start
playback at the prior volume level. Instead, it commences at a lower volume and gradually
raises it until it matches the volume level prior to the reboot.
For instance, if the device's volume was initially set to 90 and the device is rebooted and if
the startup volume limit feature is enabled, playback starts at a lower volume, such as 30,
and then gradually escalates to reach the desired 90 as per customer requirement.
User is provided with an option to turn ON/OFF feature via webpage or application. When
user selects his desired preference through UI, LSx communicates this status to HOST MCU
using MB#622 via "st_volume_limit" field in JSON. The HOST MCU is responsible for
preserving this setting.
Following bootup, during the initial playback, the HOST MCU reviews the stored startup
volume limit flag. If it's enabled, the HOST MCU takes charge of the volume gain settings of
the DAC/DSP to achieve the volume ramp-up in accordance with the customer's
requirements.
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 173 of 241
LIBRE CONFIDENTIAL
After every boot-up, it is the responsibility of the HOST MCU to keep LSx informed about
the current status of the startup volume limit.
Power Sleep Timer:
If the product does not achieve a successful standby state consuming less than 0.5watts
while maintaining wireless network connection (which is required to meet current ErP
requirements), Power Sleep Timer is used by the customer to control the power state of the
product. The Power Sleep Timer offers flexibility to users, enabling them to choose
between two options: either maintaining a Wi-Fi connection, which consumes additional
power, or allowing the device to enter true standby mode, consuming less power but losing
network connectivity.
HOST-MCU LSx Web UI
**Note: After boot up, if HOST MCU does not send MB#621 to LSx, display the default status as 'false' for st_volume_limit/power_sleep_timer and
firmware details as empty.
Boot Up
MB#621
User updates the st_volume_limit/
power_sleep_timer from Web page
Updates HOST MCU over
MB#622
MB#622
App
Updates details on webpage
Updates details on App
User updates
st_volume_limit/
power_sleep_timer from
mobile APP
Updates HOST MCU over
MB#622
App notifies LSx with updated details
MB#621
Acknowledgement
Response
No
Yes, MB#622
Command Format:
Remote ID
Command
Type
Message
Box ID
Comman
d Status
CRC
Data Length
Data
0xAAAA
SET
621
NA
NA
Length of data
<Data>
Data:
Data will be in JSON format including the values for various features.
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 174 of 241
LIBRE CONFIDENTIAL
Data for Startup Volume Limit & Power Sleep Timer:
{
"hostmcusettings":{
"power_sleep_timer":<Boolean>,
"st_volume_limit":<Boolean>
},
"firmware_info":{
"product_mcu":"<String>",
"bt_version":"<String>"
}
}
If the value is true for power_sleep_timer, the option will be enabled.
If the value is true for st_volume_limit, startup volume limit will be enabled and HOST MCU
to ramp up the volume gradually.
“firmware_info” is specific to certain customers and it gives firmware
information like product MCU version.
e.g.
{
"hostmcusettings":{
"power_sleep_timer":true,
"st_volume_limit":true
},
"firmware_info":{
"product_mcu":"123",
"bt_version":"123"
}
}
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 175 of 241
LIBRE CONFIDENTIAL
9.62. Tx_MB# 622 (HOST Settings Status)
During the boot-up process, HOST MCU must transmit a JSON message (MB#621) that
includes the status of the startup_volume_limit and power_sleep_timer, as well as
information about the PMCU and BT_Version. Upon receiving MB#621, LSx responds to the
HOST MCU with MB#622, containing a corresponding JSON message.
When accessing the webpage, LSx will update the current status of the
startup_volume_limit, power_sleep_timer, PMCU version and BT version, based on the
messages received from the HOST MCU. If the app needs to display these details, it can
retrieve all the relevant information in JSON format by reading MB#622.
Whenever there is a change in the status of the startup_volume_limit or power_sleep_timer
from the webpage, LSx notifies the HOST MCU via MB#622 containing all the details with
the updated JSON message.
If a user changes the status of the startup_volume_limit or power_sleep_timer using the
app, the app should notify LSx through MB#621 by sending a JSON object with the modified
values. Subsequently, LSx will update MB#622 with all the details and send it to HOST MCU.
HOST-MCU LSx Web UI
**Note: After boot up, if HOST MCU does not send MB#621 to LSx, display the default status as 'false' for st_volume_limit/power_sleep_timer and
firmware details as empty.
Boot Up
MB#621
User updates the st_volume_limit/
power_sleep_timer from Web page
Updates HOST MCU over
MB#622
MB#622
App
Updates details on webpage
Updates details on App
User updates
st_volume_limit/
power_sleep_timer from
mobile APP
Updates HOST MCU over
MB#622
App notifies LSx with updated details
MB#621
Acknowledgement
Response
No
No
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 176 of 241
LIBRE CONFIDENTIAL
Command Format:
Remote ID
Command
Type
Message
Box ID
Comman
d Status
CRC
Data Length
Data
0xAAAA
SET
621
NA
NA
Length of data
<Data>
Data:
Data will be in JSON format including the values for various features.
Data for Startup Volume Limit & Power Sleep Timer:
{
"firmware_info":{
"product_mcu":"<String>",
"bt_version":"<String>"
},
"hostmcusettings":{
"power_sleep_timer":<Boolean>,
"st_volume_limit":<Boolean>
}
}
e.g.
{
"firmware_info":{
"product_mcu":"123",
"bt_version":"123"
},
"hostmcusettings":{
"power_sleep_timer":true,
"st_volume_limit":true
}
}
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 177 of 241
LIBRE CONFIDENTIAL
9.63. RxTx_MB# 651 (Log Report)
LS10/11
LS9
LS5B/6
×
×
APP
MCU
When user reports an issue from app, this MB is used by companion app/HOST MCU to
send the data in JSON format to LSx. The data consists of App info, User info and details
about the issue.
Device will process this data and upload it to the server along with device logs.
LSx will respond to app/HOST MCU through the same MB.
MB# 651
HOST MCU/APP LSX
CommandSET
MB# 651 ResponseSET
Acknowledgement
Response
No
Yes
Command Format:
Remote ID
Command
Type
Message-
Box ID
Command
Status
CRC
Data Length
Data
0xAAAA
SET
651
NA
Variable
Length of the
data field
<Data>
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 178 of 241
LIBRE CONFIDENTIAL
Data:
The data format:
{
"app_info" :
{
"app_version" : “<app version>”,
"brand" : “<brand>”,
"date_time" : “<date and time>”,
"model" : “<model>”
},
"description" : “<log report>”,
"email" : “email”,
"name" : “name”,
"source" : “<app>” ,
"time" : “<time>”
"uuid" : “<unique ID>”
}
Where,
“app_version” - current version of the mobile application
“brand” - mobile phone brand
“date_time” - date and time when the issue was reported. The standard format is 2024-04-19
17:41:56 +05:30
“model” - mobile phone model number
“description” - details on the issue
“name” - reporter’s name (optional)
“email” - reporter’s mail id (optional)
“source” - source from which the issue is triggered (in this case, source is app)
“uuid” - unique identifier of the log report (uuid type 1). App generates new uuid for each
and every log report.
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 179 of 241
LIBRE CONFIDENTIAL
For example,
{
"app_info" :
{
"app_version" : "1.6(1.0)",
"brand" : "samsung",
"date_time" : "2024-04-22 13:05:04.161 IST",
"model" : "SM-M536B"
},
"description" : "dut 3 long hour ",
"email" : "",
"name" : "",
"source" : "App",
"time" : "6 Hours",
"uuid" : "a5757f08-b0c8-4377-8b29-0a0baa79b151"
}
Response Format:
Remote ID
Command
Type
Message-
Box ID
Command
Status
CRC
Data Length
Data
0xAAAA
SET
651
NA
Variable
1
<Data>
Data:
0 - File uploaded successfully.
1 - File upload unsuccessful.
9.64. Rx_MB# 653 (MCU Log Data)
LS10/11
LS9
LS5B/6
×
×
APP
MCU
×
This message box is used by the HOST MCU to transfer MCU logs to the LSx. The MCU can
send logs with a size of up to 2KB per transfer. The LSx responds to the MCU via MB# 654.
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 180 of 241
LIBRE CONFIDENTIAL
HOST MCU LSX
MB# 653 SET Command
MB# 654 SET Response
MB# 653 ACK
Acknowledgement
Response
Yes
Yes, MB#654
Command Format:
Remote ID
Command
Type
Message-
Box ID
Command
Status
CRC
Data Length
Data
0xAAAA
SET
653
NA
Variable
Length of the
data field
<Data>
Data:
The log dump received in this MB will have the MCU logs in compressed/uncompressed
format with a custom log header of 12 bytes.
The header format of MCU log is defined below:
Bytes
Description
0 to 3
Magic ID
4
MCU Number
5
Compression Format
6,7
Sequence Number
8,9
CRC (optional)
10,11
Reserved
< Log size >
Log Dump
Magic ID: This is a unique ID used for identification of the data being received/
transmitted.
Magic ID Format: ML<CRC enable/disable><protocol version>
Our existing protocol version is set as 0. The accepted values for magic ID’s are as follows:
- ML00 - CRC Disabled
- ML10 - CRC Enabled
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 181 of 241
LIBRE CONFIDENTIAL
MCU Number: In case of multiple MCUs within a product, it's important to identify the
MCU ID with the received logs. MCU Number helps differentiate between logs generated by
different MCUs. LSx supports maximum 3 MCUs.
Values: 1 / 2 / 3
Compression Format: This indicates the compression format of the shared logs.
LSx will support the following values for compression format:
- 0 - No Compression
- 1 Heatshrink
- 2 - gzip
Sequence Number: The MCU needs to send an incremental sequence number for each
transferred log.
CRC: This is an optional field to check the integrity of the received logs. If CRC is enabled in
the magic ID, the MCU must calculate the CRC value of the log data and include it here.
Log Dump: Log received from the Host MCU and the size must not exceed 2KB.
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 182 of 241
LIBRE CONFIDENTIAL
9.65. Tx_MB# 654 (MCU Log Response)
LS10/11
LS9
LS5B/6
×
×
APP
MCU
×
This message box is used by LSx to send the response to Host MCU.
Upon receiving the logs from Host MCU via MB# 653, LSx uses this message box to notify
the status of log reception to Host MCU.
HOST MCU LSX
MB# 653 SET Command
MB# 654 SET Response
MB# 653 ACK
Acknowledgement
Response
No
No
Command Format:
Remote ID
Command
Type
Message-
Box ID
Command
Status
CRC
Data Length
Data
0xAAAA
SET
654
NA
Variable
Length of the
data field
<Data>
Data:
Data should be in the below JSON format:
{
"response":{
"status":<log_status>,
"seqNo":<sequence number>
}
}
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 183 of 241
LIBRE CONFIDENTIAL
Log_status: Status of the log received in MB# 653. The possible values are success and
failure.
Sequence number: Sequence number of the log header received in MB# 653.
e.g.,
{
"response":{
"status":"success",
"seqNo":12345
}
}
9.66. Tx_MB# 655 (MCU Log Request)
LS10/11
LS9
LS5B/6
×
×
App
MCU
×
This message box is used by LSx to request MCU logs in scenarios such as system reboot,
system crash, log reporting, etc. Upon receiving the request from LSx, Host MCU transmits
the logs to LSx through MB# 653.
HOST MCU LSX
MB# 655 SET Command
MB# 653 SET Response
Acknowledgement
Response
No
Yes, MB# 653
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 184 of 241
LIBRE CONFIDENTIAL
Command Format:
Remote ID
Command
Type
Message-
Box ID
Command
Status
CRC
Data Length
Data
0xAAAA
SET
655
NA
Variable
Length of the
data field
<Data>
Data:
Data should be in the below JSON format:
{
"request":{
"action":"log_request"
}
}
9.67. Tx_MB# 661 (BLE Wi-Fi Config-Event Monitor)
LS10/11
LS9
LS5B/6
×
×
APP
MCU
×
During the Wi-Fi setup process, LSx utilizes the BLE protocol to establish a connection with
the Companion APP. This procedure involves multiple steps, including LSx advertising its
BLE device, the user selecting the device via the Companion APP, establishing a connection
between the mobile application and LSx using BLE, transmitting user-entered Wi-Fi
credentials over this connection to LSx, LSx connecting to the selected Access Point, and
updating the outcome of the entire network setup for the end user.
HOST MCU LSx
MB#661 SET Command
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 185 of 241
LIBRE CONFIDENTIAL
This MB fulfills the role of updating the status of each step in this workflow to the Host
MCU. These detailed event updates provide the Host MCU with the granularity required to
undertake necessary actions or implement precise updates to the display interface.
Acknowledgement
Response
No
No
Command Format:
Remote
ID
Command
Type
Message
Box ID
Command
Status
CRC
Data Length
Data
0xAAAA
SET
661
NA
NA
Length of
the data
<Data>
Data:
Data
Description
1
LSx started BLE Advertisement
2
Stop Advertisement
5
Waiting for client Connection
6
Client connected
7
Client disconnected
8
Waiting for client event
9
Got play tone request
10
Playing tone
12
Reply friendly name request
14
Reply security details request
16
Reply scan List request
21
Got credentials from APP
24
Connecting to Wi-Fi
25
Connection success
26
Connection timeout
27
Wrong password
28
Connection fail
35
BLE in Setup mode after FDR
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 186 of 241
LIBRE CONFIDENTIAL
9.68. Rx_MB# 663 (BLE Remote Event Request)
LS10/11
LS9
LS5B/6
×
×
APP
MCU
This message box allows you to check BLE remote feature availability, monitor connection
status and manage pairing and unpairing controls.
HOST MCU LSx
MB#663 SET Command
MB#664 SET Response
MB#663 ACK
Acknowledgement
Response
Yes
Yes, MB#664
Command Format:
Remote ID
Command
Type
Message-
Box ID
Command
Status
CRC
Data Length
Data
0xAAAA
SET
663
NA
Variable
Length of the
data field
<Data>
Data:
Data will be in JSON format as shown below:
{
"action": "check /pair/unpair/remote status",
}
Data
Description
0
Success/Paired/Connected
1
Failure/Unpaired/Disconnected
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 187 of 241
LIBRE CONFIDENTIAL
Response Command:
For response, refer to Message Box 664.
Acknowledgement:
An acknowledgment will be sent following the format outlined in ACK Format.
9.69. Tx_MB# 664 (BLE Remote Event Response)
LS10/11
LS9
LS5B/6
×
×
APP
MCU
This message box is used by LSx as a response to MB#663.
HOST MCU LSx
MB#663 SET Command
MB#664 SET Response
Acknowledgement
Response
No
No
Response Format:
Remote ID
Command
Type
Message-
Box ID
Command
Status
CRC
Data Length
Data
0xAAAA
SET
664
NA
Variable
Length of the
data field
<Data>
Data:
Data will be in JSON format as shown below:
{
"action": " check /pair/unpair/remote status",
"status": 0/1/ {" paring ": 0/1, "connection":0/1}
}
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 188 of 241
LIBRE CONFIDENTIAL
Data
Description
0
Success/Paired/Connected
1
Failure/Unpaired/Disconnected
9.70. Tx_MB# 691 (Cellular Mode)
LS10/11
LS9
LS5B/6
×
×
APP
MCU
×
After the system boots up, HOST MCU should inform LSx via MB#692 if the 'Cellular Mode'
is set to 'ON' or 'OFF'.
HOST MCU LSx
MB#691
MB#692
SET Command
Response
SET
Acknowledgement
Response
No
Yes, MB#692
Command Format:
Remote
ID
Command
Type
Message
Box ID
Command
Status
CRC
Data Length
Data
0xAAAA
SET
691
NA
NA
Length of
the data
<Data>
Data:
Data will be in JSON format including the values for various features.
Data for Cellular Mode:
{ "cellularmode": 1}
Values: 0 or 1
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 189 of 241
LIBRE CONFIDENTIAL
If the value is 1, cellular mode is ON.
If the value is 0, cellular mode is OFF.
9.71. Tx_MB# 692 (Cellular Modem Status)
LS10/11
LS9
LS5B/6
×
×
APP
MCU
×
When the connection is established between LSx and cellular modem, the device is in
cellular mode (Wi-Fi unavailable), LSx will send the status to the HOST MCU.
HOST MCU LSx
MB#691
MB#692
SET Command
Response
SET
Acknowledgement
Response
No
No
Command Format:
Remote
ID
Command
Type
Message
Box ID
Command
Status
CRC
Data Length
Data
0xAAAA
SET
692
NA
NA
Length of
the data
<Data>
Data:
Data will be in JSON format including the values for various features.
Data for Cellular Modem Status:
{ " cellularmodemstatus": 1}
Values: 1
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 190 of 241
LIBRE CONFIDENTIAL
If the value is 1, cellular modem connection is successful.
9.72. Tx_MB# 701 (OTA LSx Actions)
LS10/11
LS9
LS5B/6
×
×
APP
MCU
×
This message box is used by LSx to update its firmware via OTA. The LSx sends MB#701 to
request permission from the HOST MCU for the firmware update. The HOST MCU responds
with MB#702, either granting permission for the update or instructing to skip it. The LSx
then acknowledges this in MB#701, indicating whether the firmware update has been
skipped or initiated.
HOST MCU LSx
MB#701 SET Command
MB#702 SET Response
MB#701 SET Status Response
Acknowledgement
Response
No
Yes, MB#702
Command Format:
Remote ID
Command
Type
Message-
Box ID
Command
Status
CRC
Data Length
Data
0xAAAA
SET
701
NA
Variable
Length of the
data field
<Data>
Command Data:
Data will be in JSON format as shown below:
{
"type": "request",
"request": "allowupdate"
}
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 191 of 241
LIBRE CONFIDENTIAL
Data
Description
allowupdate
Requesting to initiate an update
Status Response Data:
Data will be in JSON format as shown below:
{
"type": "status",
"status": "updateskipped"
}
{
"type": "status",
"status": "updatestarted"
}
Data
Description
updateskipped
Skipped the firmware update
updatestarted
Started the firmware update
Response Command:
For response, refer to Message Box 702.
9.73. Rx_MB# 702 (OTA User Actions)
LS10/11
LS9
LS5B/6
×
×
App
MCU
×
This message box is used by HOST MCU as a response to MB#701 granting permission for
the LSx firmware update via OTA or instructing to skip it.
HOST MCU LSx
MB#701 SET Command
MB#702 SET Response
MB#701 SET Status Response
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 192 of 241
LIBRE CONFIDENTIAL
Acknowledgement
Response
No
Yes, MB#701
Response Format:
Remote ID
Command
Type
Message-
Box ID
Command
Status
CRC
Data Length
Data
0xAAAA
SET
702
NA
Variable
Length of the
data field
<Data>
Data:
Data will be in JSON format as shown below:
{
"type": "response",
"request": "allowupdate",
"response": "proceed"
}
{
"type": "response",
"request": "allowupdate",
"response": "skip"
}
Data
Description
proceed
To proceed with the firmware update
skip
To skip the firmware update
9.74. Tx_MB# 43690 (LSx LUCI Ready)
LS10/11
LS9
LS5B/6
APP
MCU
×
Once LSx platform boots up and initializes all the essential modules and when it is ready for
LUCI communication, it notifies HOST MCU through MB#43690.
After powering on/resetting the system, LSx will trigger this MB after completing its
bootup sequence. The timing of this MB transmission may differ across platforms as per
respective bootup sequence, (Approximately 15-40 secs). It is fairly assumed that HOST
MCU will be booting much faster, initialise its LUCI stack and is waiting for this MB to
proceed with LUCI communication.
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 193 of 241
LIBRE CONFIDENTIAL
The data sent over this Message-Box from LSx to HOST MCU will be a fixed data
‘0xAAAAAAAAAA’ (10 times hex A). HOST MCU can start the communication as soon as it
reads 0xAAAAAAAAAA data in the data payload.
MB#9 SET Response
HOST MCU LSx
MB#43690 SET Command
Acknowledgement
Response
No
Yes, MB#9
Command Format:
Remote
ID
Command
Type
Message-
Box ID
Command
Status
CRC
Data
Length
Data
0xAAAA
SET
43690
NA
Variable
Length of
Data Field
<Data>
Data:
The data will be fixed as 
Response Format:
For response, refer to Message Box 9.
To go back to Feature Section click here.
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 194 of 241
LIBRE CONFIDENTIAL
10. Message Boxes - Format Upgrade Ahead
The message boxes outlined below are yet to be worked upon by the Libre LUCI core team.
Consequently, there may be minor errors and potential confusion associated with these
message boxes. Despite this, in order to promptly release the document in the new
template, we have incorporated these message boxes here. They are scheduled for a
comprehensive review and content addition. These message boxes are currently not linked
to the feature section, but subsequently will be integrated into the main section (LUCI
Message Boxes) during the upcoming document releases.
10.1. RxTx_MB# 7 (Google Cast Version Information)
LS10/11
LS9
LS5B/6
×
APP
MCU
This message box can be used to query the Google Cast Version Information of LSx speaker.
Based on MCU request, LSx sends Google Cast Version Information to MCU.
HOST MCU LSx
MB#7 GET Command
MB#7 SET Response
Acknowledgement
Response
No
Yes
Command Format:
Remote ID
Command
Type
Message
box ID
Command
Status
CRC
Data Length
Data
0xAAAA
GET
7
NA
Variable
0
-
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 195 of 241
LIBRE CONFIDENTIAL
Response Format:
Remote ID
Command
Type
Message
box ID
Command
Status
CRC
Data Length
Data
0xAAAA
SET
7
NA
Variable
Length of data
<Data>
Data:
Data is Google cast version information.
10.2. Tx_ MB#36 (USB Device Disconnected)
LS10/11
LS9
LS5B/6
APP
MCU
This MB is used by LSx to inform HOST MCU if in case USB is disconnected on runtime.
This MB is applicable only for a valid UART interface where HOST MCU communication is
possible.
HOST MCU LSx
MB#36 SET Command
Acknowledgement
Response
No
No
Command Format:
Remote ID
Command
Type
Message
Box ID
Command
Status
CRC
Data Length
Data
0xAAAA
SET
36
NA
Variable
Length of the
data field
<Data>
Data:
Data
Description
1
Disconnected
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 196 of 241
LIBRE CONFIDENTIAL
10.3. Rx_MB# 37 (Graceful Shutdown)
LS10/11
LS9
LS5B/6
App
MCU
×
This message box is used by the HOST MCU to gracefully shutdown LSx module.
After receiving the command, LSx module will de-register itself from Bonjour,
disconnecting active music services (AirPlay, Spotify, Cast, etc.), SSDP and
LUCI LSSDP protocols. LSx completes critical tasks like saving file, ENV items, etc. and
responds back in the same message box the final status. HOST MCU has to discontinue the
supply (3v3 supply in case of LS6) to LSx after receiving this command.
HOST MCU LSx
MB#37 SET Command
MB#37 ACK
Acknowledgement
Response
Yes
Yes
Command Format:
Remote ID
Command
Type
Message
Box ID
Command
Status
CRC
Data Length
Data
0xAAAA
SET
37
NA
Variable
0
<Data>
Data:
Data
Description
1
Graceful Shut down
Acknowledgement:
An acknowledgment will be sent following the format outlined in ACK Format.
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 197 of 241
LIBRE CONFIDENTIAL
10.4. Tx_ MB# 38 (USB Device Connected)
LS10/11
LS9
LS5B/6
App
MCU
-
This MB is used by LSx to inform HOST MCU if in case any USB device is connected on
runtime. This MB is applicable only for a valid UART where HOST MCU communication is
possible.
HOST MCU LSx
MB# 38 SET Command
Acknowledgement
Response
No
No
Command Format:
Remote ID
Command
Type
Message
Box ID
Command
Status
CRC
Data Length
Data
0xAAAA
SET
38
NA
Variable
Length of the
data field
<Data>
Data:
Data
Description
0
Disconnected USB
1
Connected USB
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 198 of 241
LIBRE CONFIDENTIAL
10.6. Rx_MB# 72 (Trigger Wi-Fi Scan)
LS10/11
LS9
LS5B/6
×
App
MCU
This message box serves the purpose of initiating a Wi-Fi scan within LSx when the user
selects "Scan SSID List" in the APP/Web UI. The HOST MCU transmits MB#72 to LSx,
prompting LSx to search for accessible APs and compile the SSID List. The scan results will
be conveyed through MB# 73.
HOST MCU/APP LSx
MB#72 SET Command
MB#73 SET Response
MB#72 ACK
Acknowledgement
Response
Yes
Yes, MB#73
Command Format:
Remote ID
Command
Type
Message-
Box ID
Command
Status
CRC
Data Length
Data
0xAAAA
SET
72
NA
Variable
Length of Data
field
<Data>
Data:
Response Format:
For response, refer to MB# 73.
Acknowledgement:
Data
Description
1
Trigger Wi-Fi scan
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 199 of 241
LIBRE CONFIDENTIAL
An acknowledgment will be sent following the format outlined in ACK Format.
10.7. Tx_ MB# 73 (Get Wi-Fi Scan Results)
LS10/11
LS9
LS5B/6
×
App
MCU
This message box is used to send the Wi-Fi scan results in JSON format from LSx to HOST
MCU as a response to MB# 72.
HOST MCU/APP LSx
MB#72 SET Command
MB#73 SET Response
MB#72 ACK
Acknowledgement
Response
No
No
Response Format:
Remote ID
Command
Type
Message-
Box ID
Command
Status
CRC
Data Length
Data
0xAAAA
SET
73
NA
Variable
Length of the
data field
<Data>
Data in JSON Format:
{
"Items": [{
"SSID": "<SSID Value>",
"Security": "<Security Value>"
}, {
"SSID": "<SSID Value>",
"Security": "<Security Value>"
}]
}
SSID Value: Name of Wi-Fi Network
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 200 of 241
LIBRE CONFIDENTIAL
Security Value: Type of security protocol
Example:
"Items": [{
"SSID": "vodafone4058ED",
"Security": "WPA-PSK"
}, {
"SSID": "Libre",
"Security": "WPA-PSK"
}]
}
10.8. RxTx_MB# 123 (Interface IP Address Info)
LS10/11
LS9
LS5B/6
×
×
App
MCU
×
This Message box is used to get LSx device current Network Information such as IP address,
WI-FI, interface, etc.
HOST MCU LSx
MB#123 Command
MB#123 SET
GET
Response
Acknowledgement
Response
No
Yes
Command Format:
Remote ID
Command
Type
Message-
Box ID
Command
Status
CRC
Data Length
Data
0xAAAA
GET
123
NA
Variable
Length of the
data field
<Data>
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 201 of 241
LIBRE CONFIDENTIAL
Response Format:
Remote ID
Command
Type
Message
box ID
Command
Status
CRC
Data Length
Data
0xAAAA
SET
123
NA
Variable
Length of the
data field
<Data>
Data:
<interface name>:<IPaddress>
Eth:IP address or Wlan: IP address
e.g., Eth:192.168.1.100
Wlan:192.168.1.101
10.9. RxTx_ MB# 124 (Network Status)
LS10/11
LS9
LS5B/6
×
×
App
MCU
×
LSx informs the HOST MCU about the current network status of various interfaces like
WLAN, ETH, P2P and various configuration modes such as WAC/SAC/LSx-Connect.
When there is a change in Network Type or Network Status this message is sent to the
HOST MCU. The HOST MCU can always send a GET in the same MB to know about the
current status of connectivity.
HOST MCU LSx
MB#124 Command
MB#124
GET
SET Response
Acknowledgement
Response
No
Yes
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 202 of 241
LIBRE CONFIDENTIAL
Command Format:
Remote ID
Command
Type
Message
box ID
Command
Status
CRC
Data Length
Data
0xAAAA
GET
124
NA
Variable
Length of the
data field
-
Response Format:
Remote ID
Command
Type
Message
box ID
Command
Status
CRC
Data Length
Data
0xAAAA
SET
124
NA
Variable
Length of the
data field
Network
Status
Data:
The Data length field is always 17 Bytes. Data has the following format:
<active_Network>#WLAN,status#ETH,status#P2P,status#CONF,status
Where,
active_Network is the current active network interface, values for the Network Type
/ Network Interface are as below:
o 1 = WLAN
o 2 = ETH
o 3 = P2P
o 4 = WAC/SAC/LS-Connect
WLAN, Status is as below:
o 0 = WLAN is not active
o 1 = WLAN is active
ETH, Status is as below:
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 203 of 241
LIBRE CONFIDENTIAL
o 0 = Ethernet is not active
o 1 = Ethernet is active
P2P, Status is as below:
o 0 = P2P is not active
o 1 = P2P is active
CONF, Status is as below:
o 0 = WAC / SAC / LS-Connect configuration mode is not active.
o 1 = WAC / SAC / LS-Connect configuration mode is active.
For Example,
If the current active network type/network interface is WLAN, and LSx is connected to the
Network over WLAN then, LSx sets the data field of Message box#124 to:
In Home-Network Mode or Infrastructure Mode, values will be
1#1,1#2,0#3,0#4,0
In MRA HN mode or Miracast, values will be
1#1,1#2,0#3,0#4,0
In MRA SA mode, values will be
3#1,0#2,0#3,1#4,0
In Configuration mode (WAC/SAC/LSx-Connect) values will be
4#1,0#2,0#3,0#4,1
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 204 of 241
LIBRE CONFIDENTIAL
10.10. RxTx_ MB# 125 (Network Conf)
LS10/11
LS9
LS5B/6
×
×
App
MCU
×
This message box can be used by HOST MCU or Libre App controller to make LSx module
connect to specific Access points.
Both App developers and HOST MCU can make use of this message box to receive the
credentials of Home/commercial Access Point from the user and send the same to LSx
module.
LSx module will connect to this AP once it receives the credentials.
HOST MCU/APP LSx
MB#125 SET Command
MB#124 SET Response
Acknowledgement
Response
No
Yes, 124
Command Format:
Remote ID
Command
Type
Message
box ID
Command
Status
CRC
Data Length
Data
0xAAAA
SET
125
NA
Variable
Length of the
data field
<Data>
Data:
<SSID>,<Password>
e.g. LibreAP,Libre@123
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 205 of 241
LIBRE CONFIDENTIAL
10.11. Rx_MB# 127 (Network Reset)
LS10/11
LS9
LS5B/6
×
App
MCU
This MB is used by HOST MCU to reset only the Wi-Fi credentials on the device.
HOST MCU/APP LSx
MB#127 SET Command
MB#127 ACK
Acknowledgement
Response
Yes
No
Command Format:
Remote ID
Command
Type
Message
Box ID
Command
Status
CRC
Data Length
Data
0xAAAA
SET
127
0
Variable
Length of the
data field
-
Acknowledgement:
An acknowledgment will be sent following the format outlined in ACK Format.
10.12. Rx_ MB# 128 (Configure Static Network)
LS10/11
LS9
LS5B/6
App
MCU
This MB can be used by HOST MCU or Libre App controller to make LSx connect to specific
access point with given Static IP configuration parameters.
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 206 of 241
LIBRE CONFIDENTIAL
Both APP developer and HOST MCU can make use of this MB to receive the static IP
configuration details (IP address, netmask, gateway, primary and secondary DNS) of Home
AP from the user and send the same to LSx.
LS module will connect to the AP with given static IP configuration details. An intermediate
response will be sent by LSx in MB#128 while the network connection status will be sent
by MB#124.
HOST MCU/APP LSx
MB#128 SET Command
MB#128 ACK
Acknowledgement
Response
Yes
No
Command Format:
Remote ID
Command
Type
Message
Box ID
Command
Status
CRC
Data Length
Data
0xAAAA
SET
128
NA
Variable
Length of the
data
<Data>
Data:
DATA format (Wi-Fi Mode):
<ssid::password::security::staticip::netmask::gateway::primarydns::secondarydns>
Example, If SSID of the home AP is LibreAP and Passphrase is libre@123:
DATA = LUCI_local 128 “LibreAP::libre@123::WPA PSK::192.168.1.51::255.255.255.0::
192.168.1.1::8.8.8.8::4.4.4.4"
To connect with Wi-Fi security disabled router/access point:
Example, LUCI_local 128 "DC06::NONE::NONE::192.168.1.51::255.255.255.0::192.168.1.1::
8.8.8.8::4.4.4.4"
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 207 of 241
LIBRE CONFIDENTIAL
If the device is connected in Ethernet Mode:
DATA format (Ethernet Mode):
staticip::netmask::gateway::primarydns::secondarydns
Example, LUCI_local 128 "192.168.1.51::255.255.255.0::192.168.1.1::8.8.8.8::4.4.4.4"
Intermediate response from LSx module:
POST_SUCCESS Static IP configuration details posted to LS module without any errors.
POST_FAILED Failed to post Static IP configuration details to LS module.
Acknowledgement:
An acknowledgment will be sent following the format outlined in ACK Format.
10.13. Rx_Message Box 134 (Ethernet Status Notifier)
LS10/11
LS9
LS5B/6
-
App
MCU
×
It is used to intimate the Ethernet Status (Link up and Link down) from MCU to LSx.
HOST MCU LSx
MB#134 SET Command
Acknowledgement
Response
No
No
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 208 of 241
LIBRE CONFIDENTIAL
Command Format:
Remote ID
Command
Type
Message
Box ID
Command
Status
CRC
Data Length
Data
0xAAAA
SET
134
NA
Variable
Length of the
data
<Data>
Data:
Data
Description
LINKUP
Ethernet cable is connected to Device
LINKDOWN
Ethernet cable is disconnected from Device
This message box is applicable only in Ethernet switch enabled products.
10.14. Rx_ MB# 142 (WAC Start)
LS10/11
LS9
LS5B/6
-
-
App
MCU
×
This message box is used by the HOST MCU to trigger WAC Mode in LSx device. Once WAC
is initiated, either an iOS device or device webpage can be used to configure LSx to Home
AP. The status of Network Configuration is sent by LSx over message box#143 to Host
MCU.
This message box is employed by the HOST MCU to activate the Wireless Access Control
(WAC) Mode in the LSx device. Once WAC is initiated, it opens up the possibility for
configuring LSx to connect to a Home Access Point (AP) through either an iOS device or a
device webpage.
Subsequently, LSx communicates the status of the Network Configuration through MB#143
to the HOST MCU. This status update ensures that the HOST MCU is aware of the progress
and outcome of the network configuration process.
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 209 of 241
LIBRE CONFIDENTIAL
HOST MCU LSx
MB#142 Command
MB#143
SET
SET Response
Acknowledgement
Response
No
Yes, 143
Command Format:
Remote ID
Command
Type
Message
box ID
Command
Status
CRC
Data Length
Data
0xAAAA
SET
142
NA
Variable
Length of the
data field
<Data>
Data:
Data
Description
0
Device will trigger the WAC.
Response Format:
Refer to MB# 143 for response.
LS10 device will support only SoftAP mode, so whenever request is received
from LS10 it will trigger the WAC without reboot.
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 210 of 241
LIBRE CONFIDENTIAL
10.15. Tx_ MB# 143 (Network Configuration Status)
LS10/11
LS9
LS5B/6
-
-
App
MCU
×
This message box is used by the LSx to send update for the Network Configuration status to
the HOST MCU.
HOST MCU LSx
MB#142 Command
MB#143
SET
SET Response
Acknowledgement
Response
No
No
Command Format:
Remote ID
Command
Type
Message
Box ID
Command
Status
CRC
Data Length
Data
0xAAAA
SET
143
NA
Variable
Length of the
data
<Data>
Data:
Data
Description
0
Initializing
1
Ready
2
Configuration Start
3
Configuration Received
4
Configuration Complete
5
Stop
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 211 of 241
LIBRE CONFIDENTIAL
10.16. RxTx_ MB# 144 (WAC Stop)
LS10/11
LS9
LS5B/6
-
-
App
MCU
×
This MB is used to STOP WAC which was already triggered. HOST MCU/Phone App sends
the message over MB #144 and LSx in turn responds back with the SUCCESS/FAILURE
status of STOP WAC.
HOST MCU LSx
MB#144 SET Command
MB#144 ACK
Acknowledgement
Response
Yes
No
Command Format:
Remote ID
Command
Type
Message
box ID
Command
Status
CRC
Data Length
Data
0xAAAA
SET
144
NA
Variable
0
-
Acknowledgement:
An acknowledgment will be sent following the format outlined in ACK Format.
Device may send WAC Stop when the WAC is triggered. This is because WAC triggered
previously is not cleared.
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 212 of 241
LIBRE CONFIDENTIAL
10.17. RxTx_MB# 150 (Factory Reset)
LS10/11
LS9
LS5B/6
-
App
MCU
This MB is used by HOST MCU/APP requesting LSx device to reboot itself to factory settings.
HOST MCU LSx
MB#150 SET Command
MB#150 SET Response
MB#150 ACK
Acknowledgement
Response
Yes
Yes
Command Format:
Remote ID
Command
Type
Message
Box ID
Command
Status
CRC
Data Length
Data
0xAAAA
SET
150
NA
Variable
Length of Data Field
-
Response Format:
Remote ID
Command
Type
Message
Box ID
Command
Status
CRC
Data Length
Data
0xAAAA
SET
150
SUCCESS /
FAILURE
Variable
Length of Data Field
-
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 213 of 241
LIBRE CONFIDENTIAL
10.18. RxTx_MB# 151 (RSSI)
LS10/11
LS9
LS5B/6
×
App
MCU
×
RSSI is a relative value for the quality of received signal and it does not have any absolute
value. HOST MCU/APP enquiries LSx on RSSI value over this MB and LSx in turn responds
back with the current RSSI level in dBm.
LS9 and LS5B modules have single antenna (1*1) and will return only one RSSI value.
Whereas, LS6 has 2 antennas (2*2) and will return two RSSI values separated with comma.
HOST MCU LSx
MB#151 Command
MB#151
GET
Response
SET
Acknowledgement
Response
No
Yes
Command Format:
Remote ID
Command
Type
Message
box ID
Command
Status
CRC
Data Length
Data
0xAAAA
GET
151
0
Variable
0
-
Response Format:
Remote ID
Command
Type
Message
box ID
Command
Status
CRC
Data Length
Data
0xAAAA
SET
151
SUCCESS/
FAILURE
Variable
Length of the
data field
<Data>
Data:
Data will be the RSSI value in dBm.
Few issues are yet to be completed in LS10.
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 214 of 241
LIBRE CONFIDENTIAL
10.19. Tx_MB# 205 (AVS Login Status)
LS10/11
LS9
LS5B/6
App
MCU
LSx device sends the AVS Login status in the below format.
HOST MCU/APP LSx
MB#205 SET Command
Acknowledgement
Response
No
No
Command Format:
Remote ID
Command
Type
Message
Box ID
Command
Status
CRC
Data Length
Data
0xAAAA
SET
205
SUCESS/
FAILURE
Variable
Length of Data
Field
<Data>
Data:
Data
Description
LOGGEDIN
User is in logged in state.
LOGGINGIN
Login process is in progress.
NOLOGIN
User is in logged out state.
LOGGINGOUT
Log out process is in progress.
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 215 of 241
LIBRE CONFIDENTIAL
The Companion App can also request the AVS Login Status as below.
HOST MCU/APP LSx
MB#205 SET Response
MB#205 GET Command
Acknowledgement
Response
No
Yes
Remote ID
Command
Type
Message
Box ID
Command
Status
CRC
Data Length
Data
0xAAAA
GET
205
SUCESS/
FAILURE
Variable
Length of Data
Field
<Data>
Data:
Data will be GETLOGINSTAT.
Response:
LSx will respond in the same MB#205 with the command data given above.
10.20. MB# 206 (Region)
This MB is used to read the country code, when NV-item e2pregion is set to 1 only.
For details on the e2pregion NV-Item, refer NV-Item Tech Note, available in Libre Portal.
Command Format:
Remote
ID
Command
Type
Message
Box ID
Command
Status
CRC
Data
Length
Data
0xAAAA
SET
206
0
Variable
Length of
data Field
<Data>
Data:
Data from NV-item e2pregion.
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 216 of 241
LIBRE CONFIDENTIAL
Response Format:
Remote
ID
Command
Type
Message
Box ID
Command
Status
CRC
Data
Length
Data
0xAAAA
SET
207
0
Variable
Length of
data Field
<Data>
Data:
ERROR If country code is invalid.
10.21. Rx_MB# 209 (Bluetooth Control)
LS10/11
LS9
LS5B/6
×
App
MCU
×
Acknowledgement
Response
Notification
Yes
Yes, MB#210
Yes, MB#209 and MB#210
This message box is used to set commands to control the LibreSync Device over Bluetooth.
Command Format:
Remote
ID
Command
Type
Message-
Box ID
Command
Status
CRC
Data Length
Data
0xAAAA
SET
209
NA
Variable
Length of the
data field
<Data>
Data:
Data
Description
LS10 & LS9
ON
Change source as bluetooth and turn ON bluetooth.
OFF
Come out of bluetooth source and turn OFF bluetooth.
ENTPAIR
Make the device discoverable and pairable. Disconnects current BT
connection if already in connected state.
SETLOCALNAME,
BTname
To give a name to the local BT device.
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 217 of 241
LIBRE CONFIDENTIAL
GETREMOTENAME
To know the name of the remote BT device.
GETLOCALBTADDR
To know the address of the local BT device.
DISCONNECT
Disconnects the current Bluetooth connection, but the current
source is BT itself.
LS9
AUDIOFORMAT
To know the current audio format, BT device is playing.
ENTCONNECTABLE
To set the device in connectable state.
EXTPAIR
Makes the device to enter non-discoverable mode.
EXTCONNECTABLE
To set the device in not connectable state. When this
EXTCONNECTABLE command is sent, the device already paired
with, also is not connectable.
PAIREDDEV
To get a paired device list
AUTOCON
Automatically connects to the paired Bluetooth device; provided the
current source is Bluetooth.
Notification Format: (LS9)
Remote ID
Command
Type
Message-
Box ID
Command
Status
CRC
Data Length
Data
0xAAAA
SET
209
NA
Variable
Length of the
data field
< Data>
Data:
Data
Description
btconnect,XX:XX:XX:XX:XX:XX
Notification for BT connected status.
btdisconnect
Notification for BT disconnected status.
There is no response for LS10.
Response/Notification Format for LS9:
Remote ID
Command
Type
Message-
Box ID
Command
Status
CRC
Data Length
Data
0xAAAA
SET
209
NA
Variable
Length of the
data field
<Data>
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 218 of 241
LIBRE CONFIDENTIAL
Data:
Data
Description
btdisconnect
Notification for BT disconnected status.
LOCALBTADDR,xxxxxx. Where, xxxxx is the
MAC ID of the device.
Response for requesting a local BT address.
GETREMOTENAME,xxx (remote device name)
Response for requesting a remote BT name.
AUDIOFORMAT,x
Where, x can be:
f - when no deviceis connected (default
value)
0 - sbc codec support
2 - aac codec support
Response for requesting a current BT audio
format.
PAIREDDEV,XX:XX:XX:XX
where XX:XX , mac address of paired devices.
Response for requesting a paired device list.
Currently we are using notification on MB# 209 (LS10 → MCU). It needs to be
deprecated.
10.22. Tx_MB# 210 (Bluetooth Response)
LS10/11
LS9
LS5B/6
×
×
App
MCU
×
Acknowledgement
Response
Notification
No
No
Yes
This MB is used to notify the MCU about the Bluetooth status of LS10.
Response Format:
Remote ID
Command
Type
Message-
Box ID
Command
Status
CRC
Data Length
Data
0xAAAA
SET
210
NA
Variable
Length of the
data field
<Data>
Data:
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 219 of 241
LIBRE CONFIDENTIAL
Data
Description
ON:0
Response for OFF command. It will be sent when BT is in
OFF mode.
ON:1
Response for ON command. It will be sent when BT is in
ON mode.
ENTPAIR:1
Response for ENTPAIR command. It will be sent when
pairable mode started.
LOCALBTADDR,xxxxxx.
Where, xxxxx is the MAC ID of
the device.
Response for requesting a local BT address.
GETREMOTENAME,xxx
(remote device name).
Response for requesting a remote BT name.
Notification Format:
Remote ID
Command
Type
Message-
Box ID
Command
Status
CRC
Data Length
Data
0xAAAA
SET
210
NA
Variable
Length of the
data field
<Data>
Data:
Data
Description
BT:READY
Notification for BT is ready to accept command.
BT:2
Notification for BT connected status.
BT:0
Notification for BT disconnected status.
ENTPAIR:0
Notification for pairable mode timeout.
AUTOCONN:0
Notification for autocon mode timeout.
AUTOCONN:1
Notification for autocon mode started.
AUTOCONN:2
Notification for autocon mode is disabled.
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 220 of 241
LIBRE CONFIDENTIAL
10.23. RxTx_MB#208 (NV Read/Write)
LS10/11
LS9
LS5B/6
APP
MCU
This MB is used by the HOST MCU to read and write the device NV-items.
HOST MCU LSx
MB#208 SET Command
MB#208 SET Response
MB#208 ACK
Acknowledgement
Response
Yes
Yes
To Read the device NV item:
Command Format:
Remote ID
Command
Type
Message
Box ID
Command
Status
CRC
Data Length
Data
0xAAAA
SET
208
SUCESS/
FAILURE
Variable
Length of Data
Field
<Data>
Data:
Data is READ_<ENVName>
Example:
READ_FriendlyName
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 221 of 241
LIBRE CONFIDENTIAL
Response Format:
Remote
ID
Command
Type
Message
Box ID
Command Status
CRC
Data
Length
Data
0xAAAA
SET
208
SUCCESS/FAILURE
Variable
Length of
Data Field
<Data>
Data:
Data will be the value of the NV item requested.
Example:
For the request READ_FriendlyName, the value provided can be LibreSync_26c843
To Write the device NV item:
Command
Remote ID
Command
Type
Message
Box ID
Command
Status
CRC
Data
Length
Data
0xAAAA
SET
208
SUCESS/
FAILURE
Variable
Length of
Data Field
<Data>
Data:
Data is WRITE_<ENVName,ENVValue>
E.g. WRITE_FriendlyName,OfficeSpeaker
Response
Remote
ID
Command
Type
Message
Box ID
Command Status
CRC
Data
Length
Data
0xAAAA
SET
208
SUCCESS/FAILURE
Variable
Length of
data
<Data>
Data:
Data is <ENVName:ENVValue>
E.g. FriendlyName:OfficeSpeaker
If the NV item is not available, the response is failure and the data will be 2
(LUCI error) for both READ and WRITE scenarios.
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 222 of 241
LIBRE CONFIDENTIAL
Acknowledgement:
An acknowledgment will be sent following the format outlined in ACK Format.
10.24. Rx_MB# 212 (SDDP Notifier)
LS10/11
LS9
LS5B/6
×
App
MCU
×
Simple Device Discovery Protocol (SDDP) is a protocol defined by Control4. SDDP is used to
discover and add all the SDDP compliant devices to the Control4 eco-system. LS enabled
devices on receipt of IP from DHCP, enables the SDDP feature and is ready to send/receive
notifications to/from the Control4 server. Control4 Server broadcasts SDDP-Messages on
the multicast address 239.255.255.250 on port 1902. LS enabled device validates the SDDP
M-Search message in the multicast address and responds to the Control4 server to
establish a session in the Control4 eco-system. The SDDP response message sent from LSx
to Control4 server is unicast message.
This MB is used to send SDDP message commands from HOST MCU to LSx.
HOST MCU LSx
MB#212 SET Command
MB#212 ACK
Acknowledgement
Response
Yes
No
Command Format:
Remote
ID
Command
Type
Message
Box ID
Command
Status
CRC
Data Length
Data
0xAAAA
SET
212
Success/Failure
Variable
Length of the
data
<Data>
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 223 of 241
LIBRE CONFIDENTIAL
Data:
Data
Description
1
NOTIFY ALIVE
Once a session is established, LSx sends “ALIVE” message to the multicast
address periodically to notify the Control4 Server that the device is online.
LSx sends the NOTIFY ALIVE message at intervals of 25 minutes.
NOTIFY IDENTIFY
NOTIFY IDENTIFY message is sent from LSx to Control4 Server when the
device is identified in the Control4 eco system. The device is identified by
user operation such as button press or any other mechanism as defined by
HOST MCU.
Transmits NOTIFY IDENTIFY message only when HOST MCU commands LSx
to do so.
2
NOTIFY OFFLINE
NOTIFY OFFLINE message is a broadcast message sent by LSx to Control4
Server.
When the device goes offline or when there is an error in connection with
Control4. If the device changes its IP address, this notification may be sent
before the change, and a NOTIFY ALIVE message must be sent immediately
after the change.
LSx transmits NOTIFY OFFLINE message only when HOST MCU commands
LSx to do so.
Acknowledgement:
An acknowledgment will be sent following the format outlined in ACK Format.
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 224 of 241
LIBRE CONFIDENTIAL
10.25. MB# 222 (Cast OTA Update)
LS10/11
LS9
LS5B/6
×
×
APP
MCU
This MB is used by LSx to update CAST receiver package update status to HOST MCU/APP.
HOST MCU LSx
MB#222 SET Command
Acknowledgement
Response
No
No
Command Format:
Remote
ID
Command
Type
Message
Box ID
Command
Status
CRC
Data
Length
Data
0xAAAA
SET
222
NA
Variable
Length of
Data
<Data>
Data:
Data
Description
1
Downloading OTA image in background.
2
Ready for Restart.
4
Force Upgrade, HOST-MCU should get ready for immediate reboot.
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 225 of 241
LIBRE CONFIDENTIAL
10.26. RxTx_MB# 226 (Cast Update Info)
This message box is used for two purposes:
To update device equalizer settings (LS9 & LS10)
To manage the Google CAST settings for TOS (Terms of Service), Share Usage Data
and Time Zone. (LS9)
LS10/11
LS9
LS5B/6
×
App
MCU
This message box is used by MCU to update device equalizer settings in LS9 and LS10. The
same settings will be notified to cast server upon receiving it from the MCU.
HOST MCU LSx
MB#226 SET Command
The same message box is also used to manage the Google CAST settings for TOS, Share
Usage Data and Time Zone in LS9.
HOST MCU LSx
MB#226 SET Command
MB#226 SET Response
(Only for TOS Share)
Acknowledgement
Response
No
Yes, for TOS Share
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 226 of 241
LIBRE CONFIDENTIAL
Command Format:
Remote ID
Command
Type
Message
Box ID
Command
Status
CRC
Data Length
Data
0xAAAA
SET
226
NA
Variable
Length of the
data field
<Data>
Data
Description
“EQSettings:<EQType>:
<Frequency>:<Quality>:
<gain>”
“EQSettings” is a string and EQType, Frequency, Quality Gain gives
the respective values.
<EQType> values are:
LowPass = 0
HighPass = 1
LowShelf = 2
HighShelf = 3
Peak = 4
Frequency, Quality and Gain will be their respective values.
<TOS SHARE
status>:<Timezone>
<TOS SHARE status> indicates whether TOS and usage report
share is accepted by user. It is an integer with value between 0 and
3.
0: TOS and Share is not accepted
1: Only TOS is accepted
2: Only Share is accepted
3: Both Share and TOS are accepted
<TIMEZONE> indicates the time-zone in String format. Example:
Asia/Calcutta.
APP can GET the current configuration values and can inform the
device when some settings is changed. Device will also notify the
APP when the settings is changed.
APP should strictly follow Google’s guidelines on implementing
this.
This data is used to manage the Google CAST settings for
TOS, Share Usage Data and Time Zone in LS9 only.
<CastMRALatency>
Google Cast MRA certification new test sheet mandated C4A
devices should have less than or equal to 1ms latency for MRA
playback. In some devices DSP includes significant amount of delay
during processing. In such cases, customer's C4A devices might fail
in Google MRA certification.
To meet Google Cast MRA requirements on MRA latency <= 1 ms
across all customer devices, MB#226 is used to update Cast
receiver about dynamic change in DSP delays.
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 227 of 241
LIBRE CONFIDENTIAL
Data
Description
For dynamic changes, use MB#226. This will dynamically update
MRA latency values based on play mode (Movie, night mode, music,
Dolby, DTS surround etc.),
MRALatency:10000 → to set 10ms MRA latency
This data is used to manage the Google CAST settings for
TOS, Share Usage Data and Time Zone in LS9 only.
On SET, its mandatory to provide the config values of all the fields. Say
user changes <Timezone>. on setting this, the current <TOS SHARE status> should
also be provided along with the new <Timezone>. Device reads all the fields,
compare the existing configuration and changes the updated ones.
NV value is updated according to the message box latency values. So new changes
will be restored even after power cycles.
Response Format:
Remote
ID
Command
Type
Message-
Box ID
Command
Status
CRC
Data
Length
Data
0xAAAA
SET
226
NA
Variable
Length of
Data Field
<Data>
Data:
Data will be the TOS and Time zone values, there is no response for Cast MRA Latency.
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 228 of 241
LIBRE CONFIDENTIAL
10.27. RxTx_MB# 229 (Get NTP Time)
LS10/11
LS9
LS5B/6
×
App
MCU
×
This message box is used to send the NTP (Network Time Protocol) time, date and current
Epoch time to HOST MCU from LSx module only when internet is active.
HOST MCU LSx
MB#229 SET Command
MB#229 SET Response
Acknowledgement
Response
No
Yes
Command Format:
Remote ID
Command
Type
Message
Box ID
Command
Status
CRC
Data Length
Data
0xAAAA
SET
229
NA
Variable
Length of the data
field
<Data>
Data:
Data
Description
date
To get the current date and time.
time
To get the current epoch time.
ntp
To get the current GMT time.
Response Format:
Remote ID
Command
Type
Message
Box ID
Command
Status
CRC
Data Length
Data
0xAAAA
SET
229
NA
Variable
Length of the data
field
<Data>
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 229 of 241
LIBRE CONFIDENTIAL
The command data is considered invalid, if it is anything other than date, time and
ntp.
Data
Description
date
LS10:
Thu 2023-06-08
06:07:41 PDT
LS9:
Thu 2023-06-08
06:07:41 GMT
If device is configured with network, LSx will send the current date.
Otherwise, LSx will send device’s default date.
time
1686231669
If device is configured with network, LSx will send the current Epoch
time (sec) otherwise, it will send device’s default Epoch time (sec).
ntp
Thursday-June- 8-
2023,13:08:07
If device is configured with network, LSx will send the current GMT
time.
NO_INTERNET
LSx sends error message “NO_INTERNET” if the internet connectivity
is not active.
NO_NETWORK
LSx sends error message “NO_NETWORK“ when WLAN or Ethernet
interface is down.
UNKNOWN_ERROR
LSx sends error message “UNKNOWN_ERROR“ for any issues other
than internet or network connectivity.
invalid
INVALID
If HOST MCU requests an invalid data.
LS9 CAST branch supports "date" and "time".
LS9 Alexa supports only "time" (Response: Thursday-June- 8-2023,13:08:07)
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 230 of 241
LIBRE CONFIDENTIAL
10.28. RxTx_MB# 231 (Cast Serial Number)
LS10/11
LS9
LS5B/6
×
×
App
MCU
This message box is used to store the unique GCAST serial number of the device that is read
from serial.txt file. Whenever HOST MCU requests for the serial number it will be fetched
and sent to HOST MCU by LSx.
HOST MCU LSx
MB#231 GET Command
MB#231 SET Response
Acknowledgement
Response
No
Yes
Command Format:
Remote ID
Command
Type
Message
Box ID
Command
Status
CRC
Data Length
Data
0xAAAA
GET
231
NA
Variable
0
-
Response Format:
Remote ID
Command
Type
Message
Box ID
Command
Status
CRC
Data Length
Data
0xAAAA
SET
231
NA
Variable
Length of the
data field
<Data>
Data:
Data
Description
<Serial number>,VALID
Google CAST serial number of the module. “VALID”
denotes that Google CAST is enabled in the module.
<Serial number>,INVALID
“INVALID” denotes that Google CAST is disabled in this
module. This is done for specific use cases where Google
Cast is disabled dynamically in the module.
Get in touch with Libre FAE if you have this use case.
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 231 of 241
LIBRE CONFIDENTIAL
10.29. RxTx_MB# 233 (MIC Control)
LS10/11
LS9
LS5B/6
App
MCU
×
This MB is used to send MIC control messages between LSx and HOST MCU.
HOST MCU LSx
MB#233 SET Command
MB#233 SET Response
Acknowledgement
Response
No
Yes
Command
Remote
ID
Command
Type
Message
Box ID
Command
Status
CRC
Data
Length
Data
0xAAAA
SET
233
NA
Variable
Length of
Data
<Data>
Response
Remote
ID
Command
Type
Message
Box ID
Command
Status
CRC
Data
Length
Data
0xAAAA
SET
233
Success /
Failure
Variable
Length of
Data
<Data>
Command & Response Data:
Command Data
Description
Response Data
Description
START_MIC
Indicates LSx to start
capturing the voice.
Typical scenario would
be button press or tap or
when MIC detects "Alexa"
key word.
MIC_STARTED
(Not
implemented
yet)
Indicates to HOST MCU
that LSx has started
listening to user's voice,
HOST MCU can use this
command to show LED
indication.
STOP_MIC
Indicates LSx to stop
MIC_STOPPED
Indicates to HOST MCU
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 232 of 241
LIBRE CONFIDENTIAL
Command Data
Description
Response Data
Description
capturing the voice.
Typical scenario would
be button press or when
user releases the tap or
when MIC detects
silence.
(Not
implemented
yet)
that LSx has stopped
listening to user's voice,
HOST MCU can use this
command to stop LED
indication.
ENABLE_MICS
HOST MCU commands
LSx to move the device
from privacy mode to
ready mode.
MICS_ENABLED
Send by LSx as a
confirmation message to
HOST MCU, that the
device is in ready mode.
DISABLE_MICS
HOST MCU commands
LSx to move the device to
PRIVACY mode.
MICS_DISABLED
LSx sends as confirmation
message to HOST MCU,
that the device is in
privacy mode.
STOP_ALERT
Indicates LSx to stop the
alarm trigger. Typical
scenario would be button
press or when user
releases the tap.
-
-
10.30. MB# 234 (AVS APP Service)
This MB is used for AVS login/logout, Language Change transactions between LSx device
and Companion APP.
Case 1: AVS Login through companion APP using MB#234
1. When user access Login with Amazon (LWA) icon in the companion APP, APP will send
the metadata request to the LS Device over MB #234 in the following format. (Login session
started from here):
Companion App LS device
Remote ID
Command
Type
Message
Box ID
Command
Status
CRC
Data
Length
Data
0xAAAA
GET
234
SUCESS/
FAILURE
Variable
Length of
Data Field
DEVICE_METAD
ATA_REQUEST
2. LS device will form the metadata and send it back to the companion app in the following
format:
LS device Companion App
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 233 of 241
LIBRE CONFIDENTIAL
Remote ID
Command
Type
Message
Box ID
Command
Status
CRC
Data
Length
Data
0xAAAA
SET
234
SUCESS/
FAILURE
Variable
Length of
Data Field
<Data>
data: " {"Title":"DEVICE_PROVISIONING_INFO","Window
CONTENTS":{"PRODUCT_ID":"XXXXXXXXX","DSN":"XX:XX:XX:XX:XX:XX","SESSION_ID":"123
456789","CODE_CHALLENGE":"XXXXXXXXXXX","CODE_CHALLENGE_METHOD":"S256","LO
CALE":"en-US"}} "
S256
A Base64url encoding of your code verifier's SHA256
hash. The Base64url encoded string should not contain
the following characters: "=", "+", or "/"
Title
On every metadata request the value of Title is constant
{e.g., "DEVICE_PROVISIONING_INFO"}
PRODUCT_ID
The value of PRODUCT_ID is Alexa Product ID of the LS
Device
DSN
MAC id of the LS Device
SESSION_ID
Random generated number which remains same for the
current active session. Session_ID changes for the new
session
CODE_CHALLENGE
Random string generated by the product which is
hashed (SHA256) and handed off to the companion app.
The string should be between 43 and 128 characters
long and composed of characters from the URL and
filename-safe alphabet ([A-Z], [a-z], [0-9], "-", "_ ", ".",
"~")
CODE_CHALLENGE_METHOD
The method used to derive the code challenge. AVS
requires SHA-256. So, the value of
ODE_CHALLENGE_METHOD is S256
LOCALE
Supported language
The Companion App uses this information to interact with AVS cloud.
Refer to the link for transaction details between Companion App and AVS cloud:
https://developer.amazon.com/en-US/docs/alexa/alexa-voice-service/authorize-
companion-app.html
3. The user is redirected to an Amazon login page and prompted to enter their Amazon
credentials and consent.
4. After user enters their Amazon credentials and consent, the companion APP interacts
with AVS cloud and should send below information to the LS Device:
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 234 of 241
LIBRE CONFIDENTIAL
- Authorization Code
- Client ID
- Redirect URI
Companion App LS device.
Remote ID
Command
Type
Message
Box ID
Command
Status
CRC
Data
Length
Data
0xAAAA
SET
234
SUCESS/
FAILURE
Variable
Length of
Data Field
<Data>
data:
"AUTHCODE_EXCH:
{"AUTH_CODE":"XXXXXXXX","CLIENT_ID":"XXXXXXXXXXXXXX","REDIRECT_URI":"XXXXXXX
XXXXXX","SESSION_ID":"123456789"}"
5. The LS device uses the above Authorization Code, Client ID, Redirect URI information to
interact with AVS cloud via Login with Amazon and receive refresh token and access token.
6. LS device sends the ACCESS_TOKENS_STATUS to the App in below format (Login session
completes here):
LS device Companion App
Remote ID
Command
Type
Message
Box ID
Command
Status
CRC
Data
Length
Data
0xAAAA
SET
234
SUCESS/
FAILURE
Variable
Length of
Data Field
<Data
data: "{"Title": "ACCESS_TOKENS_STATUS", "status": true/false}"
If status value is true: LWA success
If status value is false: LWA failed
7. The app must get the login status by sending AVS Login status request to the LS device
over MB#205. Refer to MB #205 for more information.
8. The LS Device uses the access token to interact with AVS and it will refresh the token
once its expired.
Case 2: Log out scenario using MB-234
1. Once the user press sign-out button from the companion app, companion app will send
the log out message to the LS device in the following format.
Companion App LS device
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 235 of 241
LIBRE CONFIDENTIAL
Remote ID
Command
Type
Message
Box ID
Command
Status
CRC
Data
Length
Data
0xAAAA
SET
234
SUCESS/
FAILURE
Variable
Length of
Data Field
SIGN_OUT
The Companion APP should read the LOGOUT status from MB #205.
Case 3: Change the language from companion app using MB-234
1. When user changes the language from companion app, the APP should send the below
information to the LS device:
Companion App LS device
Remote ID
Command
Type
Message
Box ID
Command
Status
CRC
Data
Length
Data
0xAAAA
SET
234
SUCESS/
FAILURE
Variable
Length of
Data Field
data
data: "UPDATE_LOCALE:Supported Language values"
Supported Language values: en-US, en-GB, en-AU, en-NZ, de-DE, fr-FR, it-IT, es-ES, en-IN, ja-
JP.
10.31. Tx_MB# 240 (AVS Client Status)
This MB is used to communicate current AVS status to HOST MCU. On receipt of the
message, HOST MCU should drive the LEDs as mandated by Amazon.
HOST MCU LSx
MB#240 SET Command
Command
Remote
ID
Command
Type
Message
Box ID
Command
Status
CRC
Data
Length
Data
0xAAAA
SET
240
NA
Variable
Length of
Data
<Data>
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 236 of 241
LIBRE CONFIDENTIAL
Data:
Data
Description
READY
System is ready to accept commands
LISTENING
MIC is turned ON for recording
THINKING
MIC is turned OFF
SPEAKING
Speech Started
TIMEOUT
Response from Amazon server is empty or
there was an error in communicating the
voice request
NOLOGIN
User has not logged into the device using the
amazon account
PRIVACY MODE
System is in Privacy mode
ALERTTRIGERRED
Alarm is Triggered
NOTIFICATIONMODE
Notifications are in queue
ALEXATRIGGERED
Whenever the system detects Alexa wake-
word. Host-MCU need not to respond with
any indication for this command.
NOINTERNET
Whenever the end user asks for a query and if
the system loses the internet connection.
DNDON
Do Not Disturb mode is Turned-On.
CALLINBOUNDRINGING
Incoming Call Alert.
CALLINBOUNDRINGING_ONENUM
Incoming One Number Call Alert.
CALLOUTBOUNDRINGING
Outgoing Call Alert.
CALLOUTBOUNDRINGING_ONENUM
Outgoing One Number Call Alert.
CALLCONNECTED
Call Successfully Connected
CALLCONNECTED_ONENUM
One Number Call Successfully Connected
CALLDISCONNECTED
Call Disconnected
CALLDISCONNECTED_ONENUM
One Number Call Disconnected
10.32. RxTx_MB# 246 (Alexa UI)
This MB is used to update the Alert List and other UI information to HOST MCU from LSx.
HOST MCU LSx
MB#246 SET Command
MB#246 SET Response
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 237 of 241
LIBRE CONFIDENTIAL
Command (Network Client / HOST-MCU to LSx)
Remote
ID
Command
Type
Message-
Box ID
Command
Status
CRC
Data
Length
Data
0xAAAA
GET
246
NA
Variable
Length of
Data
<Data>
Data:
Data is GET_ALERTS_LIST.
Response (LSx to HOST-MCU / Network Client)
Remote
ID
Command
Type
Message-
Box ID
Command
Status
CRC
Data
Length
Data
0xAAAA
GET
246
SUCCESS /
FAILURE
Variable
Length of
JSON Data
<Data>
Data:
Data will be JSON information.
Example of GET_ALERTS_LIST Response
{
"ALERTS_LIST":{
"activeAlerts":[
{
"scheduledTime":"2017-11-02T10:48:05+0000",
"token":"amzn1.as-
ct.v1.Domain:Application:NotificationsV4#DNID#f067d84d-619c-3527-99fc-
5515cdde1ef0",
"type":"TIMER"
}
],
"allAlerts":[
{
"scheduledTime":"2017-11-02T10:50:00+0000",
"token":"amzn1.as-
ct.v1.Domain:Application:NotificationsV4#DNID#d4e98dfc-ebc3-338a-bb55-
97df88bf4883",
"type":"ALARM"
},
{
"scheduledTime":"2017-11-02T10:48:05+0000",
"token":"amzn1.as-
ct.v1.Domain:Application:NotificationsV4#DNID#f067d84d-619c-3527-99fc-
5515cdde1ef0",
"type":"TIMER"
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 238 of 241
LIBRE CONFIDENTIAL
}
]
}
}
where,
ALERTS_LIST: Title of Json.
"allAlerts”: Key/value pairs for allAlerts object
o allAlerts. token: Alert token returned by Alexa when the alert was
set.
o allAlerts. type: Identifies the alert type. Accepted Values: TIMER,
ALARM.
o allAlerts. scheduledTime: Time the alert is scheduled in ISO 8601
format.
"activeAlerts”: Key/value pairs for activeAlerts object
o activeAlerts. token: The token for the alert that is currently firing.
o activeAlerts. type: Identifies the alert type. Accepted Values: TIMER
or ALARM
o activeAlerts. scheduledTime: Time the alert is scheduled in ISO 8601
format.
Additional JSON Information
Example New Alert JSON Format
{
"NEW_ALERT":{
"scheduledTime":"2017-11-02T10:48:05+0000",
"token":"amzn1.as-
ct.v1.Domain:Application:NotificationsV4#DNID#f067d84d-619c-3527-99fc-
5515cdde1ef0",
"type":"TIMER"
}
}
Example Alert Removed JSON Format
{
"ALERT_REMOVED":{
"scheduledTime":"2017-11-02T10:48:05+0000",
"token":"amzn1.as-
ct.v1.Domain:Application:NotificationsV4#DNID#f067d84d-619c-3527-99fc-
5515cdde1ef0",
"type":"TIMER"
}
}
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 239 of 241
LIBRE CONFIDENTIAL
10.33. RxTx_MB# 247 (Enable Speech Tone)
LS10/11
LS9
LS5B/6
×
×
App
MCU
-
-
This message box allows remote devices to know the "EnableSpeechTone" ENV status and
remote devices can set the ENV-item "EnableSpeechTone" to value "1" or "0".
To SET the ENV item:
HOST MCU LSx
MB#247 SET Command
MB#247 SET Response
Command Format:
Remote
ID
Command
Type
Message
Box ID
Command
Status
CRC
Data Length
Data
0xAAAA
SET
247
NA
Variable
Length of
Data
<Data>
Data:
Data
Description
0
Will disable Alexa speech start and stop tones and EnableSpeechTone NV-
item will be set to “0”.
1
Will enable Alexa speech start and stop tones and EnableSpeechTone NV-
item will be set to “1”
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 240 of 241
LIBRE CONFIDENTIAL
Response Format:
Remote
ID
Command
Type
Message
Box ID
Command
Status
CRC
Data
Length
Data
0xAAAA
SET / GET
247
NA
Variable
Length of
JSON Data
-
Data:
To know the ENV status
Command Format:
Remote
ID
Command
Type
Message
Box ID
Command
Status
CRC
Data Length
Data
0xAAAA
GET
247
NA
Variable
Length of
Data
-
Response Format:
Remote
ID
Command
Type
Message
Box ID
Command
Status
CRC
Data
Length
Data
0xAAAA
SET / GET
247
NA
Variable
Length of
JSON Data
<Data>
Data:
Data
Description
0
Will disable Alexa speech start and stop tones and EnableSpeechTone NV-
item will be set to “0”.
1
Will enable Alexa speech start and stop tones and EnableSpeechTone NV-
item will be set to “1”
10.34. MB# 248 (AVS Custom Speech)
This MB is added to enable "alarm snooze functionality" through button. This will work
along with the conventional "Alexa Snooze".
Command Format
Remote
ID
Command
Type
Message
Box ID
Command
Status
CRC
Data
Length
Data
0xAAAA
SET
248
NA
Variable
0
<Data>
LUCI Technical Note
Libre Wireless Technologies Technical Note: LUCI, Ver. 15.0.7 Page 241 of 241
LIBRE CONFIDENTIAL
10.35. Tx_MB# 494 (Cast Setup Started)
LS10/11
LS9
LS5B/6
×
×
APP
MCU
×
In this MB, LS9 CAST-Enabled Device initiates a notification by sending a CAST SETUP
started signal to the HOST MCU. On receiving this message, HOST MCU should change the
source to WiFi/Network source, wake the peripheral interfaces in case the device is in
standby mode to play the audio test tone during the Google Home APP setup. If the device’s
audio path is assigned to external sources, the user might not hear the audio test tone
played by the LS9, potentially causing issues during the setup process. Hence, this
notification serves the purpose of changing the audio path back to LS9.
MCU LSx
MB#494 SET Command
Acknowledgement
Response
No
No
Command Format:
Remote
ID
Command
Type
Message
Box ID
Command
Status
CRC
Data
Length
Data
0xAAAA
SET
494
NA
Variable
0
Data
Data:
Data is <CASTSetupStart>.