# Bug Report: CEC Wake-up Not Working on Tanix X4 (S905X4) in CoreELEC 22

## Device Information
- **Device:** Tanix X4
- **SoC:** Amlogic S905X4 (SC2)
- **Storage:** MicroSD card
- **Remote:** TV remote via HDMI-CEC only

## Problem Description
CEC wake-up does not work in CoreELEC 22. When the TV is turned off, the Tanix X4 goes into suspend correctly, but **does not wake up** when the TV is turned back on.

The same device with the same configuration works perfectly in CoreELEC 21.

## Investigation Results

### CE21 vs CE22 Comparison

**CoreELEC 21 (working):**
```
systemd version: 255
bl30_manager: driver init
```
No errors, clean initialization.

**CoreELEC 22 (broken):**
```
systemd version: 259
bl30_manager bl30_manager: Not find mbox channel byname
bl30_manager: Do setup BL30 blob
bl30_manager: IR remote wake-up code: 0xffffffff
bl30_manager: IR remote wake-up code protocol: 0x0
bl30_manager: IR remote wake-up code mask: 0xffffffff
bl30_manager: enable 5V system power on suspend/power off state: 0
bl30_manager: gpiopower: 65535 ()
bl30_manager: support WOL: 0
```

### Root Cause
The `bl30_manager` kernel driver in CE22 **fails to find the mailbox channel** on Tanix X4 (S905X4). This prevents proper BL30/CEC wake-up configuration.

In CE21, `bl30_manager` initializes cleanly without any mailbox errors.

In CE22, the driver source path changed:
```
file: common_drivers/drivers/bootloader/bl30_manager
```
This suggests a different kernel source is used in CE22 which has a regression for S905X4.

### Additional Findings

**BL301 injection status (both CE21 and CE22):**
```
CoreELEC BL301 not installed
```
BL301 injection is not the cause – it is not installed on either version.

**CEC status on CE22:**
```
wakeup_reason: 0x0
cec_config: 0x7f
wake_up: 0 (read-only, cannot be changed)
```

**Available mailbox devices on CE22:**
```
fe006000.mbox_fifo
fe441800.mbox_sec
mbox_devfs@0
```
The specific mailbox channel required by `bl30_manager` is not found.

**Kodi CEC settings:** Identical on CE21 and CE22 – not the cause.

**Systemd sleep configuration:** Identical on CE21 and CE22 – not the cause.

**guisettings.xml shutdownstate:** Set to `1` (Suspend) on both versions – not the cause.

## Conclusion
The regression was introduced in CoreELEC 22 kernel where the `bl30_manager` driver cannot find the required mailbox channel on Tanix X4 (S905X4). This prevents BL30 from being configured correctly for CEC wake-up.

## Steps to Reproduce
1. Install CoreELEC 22 on Tanix X4 (S905X4)
2. Enable HDMI-CEC in Kodi settings
3. Turn off TV using TV remote
4. Turn TV back on
5. Tanix X4 does not wake up

## Expected Behavior
Tanix X4 should wake up when TV is turned on, as it does in CoreELEC 21.

## Workaround
Use CoreELEC 21 until this is fixed.

## Relevant Log Output
```
journalctl -b | grep "bl30"

# CoreELEC 22 output:
Feb 06 15:35:38 CoreELEC kernel: bl30_manager bl30_manager: Not find mbox channel byname
Feb 06 15:35:38 CoreELEC kernel: bl30_manager: Do setup BL30 blob
Feb 06 15:35:38 CoreELEC kernel: bl30_manager: IR remote wake-up code: 0xffffffff
Feb 06 15:35:38 CoreELEC kernel: bl30_manager: IR remote wake-up code protocol: 0x0
Feb 06 15:35:38 CoreELEC kernel: bl30_manager: IR remote wake-up code mask: 0xffffffff
Feb 06 15:35:38 CoreELEC kernel: bl30_manager: enable 5V system power on suspend/power off state: 0
Feb 06 15:35:38 CoreELEC kernel: bl30_manager: gpiopower: 65535 ()
Feb 06 15:35:38 CoreELEC kernel: bl30_manager: support WOL: 0

# CoreELEC 21 output (working):
Feb 27 18:26:04 CoreELEC kernel: bl30_manager: driver init
```
