Environment
-
CMS version: 4.4.0
-
Installation method: Docker (official docker-compose)
-
Player: Linux Player v4 (Electron)
-
OS player: Ubuntu
-
CMS URL:
http://YOUR_CMS_URL -
XMR port exposed: 9505
Containers running:
-
cms-web
-
cms-xmr
-
cms-db
-
cms-memcached
Both cms-web and cms-xmr containers are on the same docker network.
Problem
CMS displays the warning:
Linux Player is not configured or ready to receive push commands over XMR.
However, player debug logs clearly show a successful WebSocket connection and active heartbeat messages.
The player is:
-
authorized
-
active
-
connected
-
downloading layouts
-
playing content correctly
So XMR appears to be working, but CMS still reports the player as not ready.
Evidence that XMR is working
Player debug log:
Xmr::start: connecting to ws://YOUR_CMS_URL/xmr
Xmr::open
XMR Connected
MessageEvent
Heartbeat
Also visible in logs:
method=registerDisplay
code="READY"
message="Display is active and ready to start."
requiredFiles
mediaInventory
notifyStatus
submitStats
schedule change received
layout downloaded
Network verification
From the player machine:
nc -vz YOUR_CMS_URL 9505
Connection succeeded
curl -i http://YOUR_CMS_URL/xmr
HTTP/1.1 426 Upgrade header MUST be provided
Upgrade: websocket
Connection: Upgrade
Port 9505 reachable externally and listening.
Player configuration files
config.json
{
"xmrChannel": "UUID_REDACTED",
"cmsUrl": "http://YOUR_CMS_URL"
}
cms_config.json
{
"displayName": "Linux Player",
"settings": {
"xmrWebSocketAddress": "",
"xmrCmsKey": "REDACTED",
"collectionInterval": 299
}
}
Steps already attempted
-
verified docker containers running
-
verified XMR port exposed
-
verified websocket endpoint reachable
-
restarted docker stack
-
restarted player
-
removed ~/.config/xibo-player and re-registered
-
re-authorized display in CMS
-
used “Reconfigure XMR” checkbox
-
cleared player cache
-
verified player receives schedules and downloads content
Result is always the same:
XMR connects successfully but CMS still shows warning.
Expected behaviour
When XMR WebSocket is connected and heartbeat messages are received, CMS should mark the display as ready for push commands.
Question
Is this a known issue in CMS 4.4.0 where the XMR capability flag is not updated even though the websocket session is active?
Is there a way to force CMS to refresh the XMR readiness status?