Summary
Internal speakers produce no sound on the TECNO Megabook S14 (Intel Core Ultra 200H / Meteor Lake variant — not the Snapdragon X Elite variant of the same model name). Headphone jack output works correctly. The onboard Realtek ALC269VC HDA codec is fully and correctly configured (pin defaults, mixer levels, mute state, EAPD all verified correct — details below), but a separate I2C-connected Realtek RT1308 smart amplifier sitting downstream of the codec is never probed or initialized by SOF, because the SOF stack picks the generic skl_hda_dsp_generic machine driver, which has no knowledge of the RT1308.
Hardware
- System: TECNO Megabook S14, Standard/MEGABOOK S14MM baseboard (
dmidecode below)
- CPU: Intel Core Ultra 200H (Meteor Lake-P)
- Audio Controller: Intel Meteor Lake-P HD Audio Controller, PCI
0000:00:1f.3 (8086:7e28)
- HDA Codec: Realtek ALC269VC, PCI Subsystem ID
1f5c:0024
- Speaker amplifier: Realtek RT1308 on I2C, ACPI HID
10EC1308 (/sys/bus/acpi/devices/10EC1308:00)
- Kernel:
7.2.6-arch2-1
- SOF firmware: 2.14.1.1 (Arch Linux
sof-firmware package)
- Distro: Arch Linux
dmidecode -t baseboard -t system (relevant excerpt)
System Information
Manufacturer: TECNO Mobile Limited
Product Name: MEGABOOK S14
Version: Standard
SKU Number: TECNO S14
Family: MEGABOOK S Series
Base Board Information
Manufacturer: Standard
Product Name: MEGABOOK S14MM
Version: Standard
Steps to reproduce / how DSP mode was reached
By default the kernel selects the legacy snd_hda_intel path on this machine (card shows as plain HDA Intel PCH), and SOF is never attempted — no SOF-related lines appear anywhere in dmesg at all under default settings. Adding snd_intel_dspcfg.dsp_driver=3 to the kernel command line forces SOF to load:
sof-audio-pci-intel-mtl 0000:00:1f.3: enabling device (0000 -> 0002)
sof-audio-pci-intel-mtl 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if 0x040380
sof-audio-pci-intel-mtl 0000:00:1f.3: bound 0000:00:02.0 (ops intel_audio_component_bind_ops [i915])
sof-audio-pci-intel-mtl 0000:00:1f.3: use msi interrupt mode
sof-audio-pci-intel-mtl 0000:00:1f.3: hda codecs found, mask 5
sof-audio-pci-intel-mtl 0000:00:1f.3: using HDA machine driver skl_hda_dsp_generic now
sof-audio-pci-intel-mtl 0000:00:1f.3: BT link detected in NHLT tables: 0x0
sof-audio-pci-intel-mtl 0000:00:1f.3: DMICs detected in NHLT tables: 0
sof-audio-pci-intel-mtl 0000:00:1f.3: Firmware file: intel/sof-ipc4/mtl/sof-mtl.ri
sof-audio-pci-intel-mtl 0000:00:1f.3: Topology file: intel/sof-ipc4-tplg/sof-hda-generic.tplg
sof-audio-pci-intel-mtl 0000:00:1f.3: Loaded firmware library: ADSPFW, version: 2.14.1.1
sof-audio-pci-intel-mtl 0000:00:1f.3: Booted firmware version: 2.14.1.1
sof-audio-pci-intel-mtl 0000:00:1f.3: loading topology: intel/sof-ipc4-tplg/sof-hda-generic.tplg
Card then shows as:
0 [sofhdadsp ]: sof-hda-dsp - sof-hda-dsp
Standard-MEGABOOKS14-Standard-MEGABOOKS14MM
10ec1308 / rt1308 never appears anywhere in dmesg, with or without forcing dsp_driver=3 — the amplifier is not touched at all, regardless of which machine driver path is taken.
What's been ruled out (codec-side is fully correct)
cat /proc/asound/card0/codec#0 shows a completely standard, valid configuration for the ALC269VC — no BIOS pin-table bug of the kind seen on other budget ODM boards (compare with e.g. ALC269VB_FIXUP_INFINIX_INBOOK_X3_SLIM / ALC269VC_FIXUP_LUNNEN_GROUND_14, where the BIOS wrongly declares an unconnected pin as the speaker):
Node 0x14 [Pin Complex] wcaps 0x40058d: Stereo Amp-Out
Pincap 0x00010014: OUT EAPD Detect
EAPD 0x2: EAPD
Pin Default 0x90170110: [Fixed] Speaker at Int N/A
Pin-ctls: 0x40: OUT
Speaker Playback Switch: on
Speaker Playback Volume: 87/87 (max)
Master Playback Switch: on
- No false/stuck headphone jack detection (
Headphone Jack reports off correctly)
- Confirmed no sound via
speaker-test -D pulse, pw-play, and raw ALSA — same result whether legacy snd_hda_intel or SOF sof-hda-dsp is active
- GPIO0/GPIO1 on the codec were manually toggled via
hda-verb (SET_GPIO_MASK/SET_GPIO_DIRECTION/SET_GPIO_DATA) in case the codec itself drives an amp-enable line — no effect, confirming the amp is a separate I2C device (RT1308) rather than a codec-GPIO-controlled amp
- Full codec dump and
amixer -c0 contents available on request
Expected behavior
A machine driver / ACPI match table entry recognizing the ALC269VC + RT1308 combination on this board (matching on ACPI HID 10EC1308 and/or the DMI strings above), so SOF configures the RT1308 DAI link — similar to existing RT1308 amplifier support already present in the kernel for other Meteor Lake/Tiger Lake platforms (sound/soc/codecs/rt1308.c, sound/soc/intel/boards/sof_realtek_common.c) — instead of falling back to the codec-only skl_hda_dsp_generic driver.
Additional info
Happy to test patches, provide additional diagnostics (full codec dump, ACPI tables, i2cdetect output, kernel config), or run a debug kernel with extra tracing on the SOF/ASoC ACPI match code if that would help pin down why this board isn't matched.
Summary
Internal speakers produce no sound on the TECNO Megabook S14 (Intel Core Ultra 200H / Meteor Lake variant — not the Snapdragon X Elite variant of the same model name). Headphone jack output works correctly. The onboard Realtek ALC269VC HDA codec is fully and correctly configured (pin defaults, mixer levels, mute state, EAPD all verified correct — details below), but a separate I2C-connected Realtek RT1308 smart amplifier sitting downstream of the codec is never probed or initialized by SOF, because the SOF stack picks the generic
skl_hda_dsp_genericmachine driver, which has no knowledge of the RT1308.Hardware
dmidecodebelow)0000:00:1f.3(8086:7e28)1f5c:002410EC1308(/sys/bus/acpi/devices/10EC1308:00)7.2.6-arch2-1sof-firmwarepackage)dmidecode -t baseboard -t system (relevant excerpt)
Steps to reproduce / how DSP mode was reached
By default the kernel selects the legacy
snd_hda_intelpath on this machine (card shows as plainHDA Intel PCH), and SOF is never attempted — no SOF-related lines appear anywhere in dmesg at all under default settings. Addingsnd_intel_dspcfg.dsp_driver=3to the kernel command line forces SOF to load:Card then shows as:
10ec1308/rt1308never appears anywhere in dmesg, with or without forcingdsp_driver=3— the amplifier is not touched at all, regardless of which machine driver path is taken.What's been ruled out (codec-side is fully correct)
cat /proc/asound/card0/codec#0shows a completely standard, valid configuration for the ALC269VC — no BIOS pin-table bug of the kind seen on other budget ODM boards (compare with e.g.ALC269VB_FIXUP_INFINIX_INBOOK_X3_SLIM/ALC269VC_FIXUP_LUNNEN_GROUND_14, where the BIOS wrongly declares an unconnected pin as the speaker):Speaker Playback Switch: onSpeaker Playback Volume: 87/87 (max)Master Playback Switch: onHeadphone Jackreportsoffcorrectly)speaker-test -D pulse,pw-play, and raw ALSA — same result whether legacysnd_hda_intelor SOFsof-hda-dspis activehda-verb(SET_GPIO_MASK/SET_GPIO_DIRECTION/SET_GPIO_DATA) in case the codec itself drives an amp-enable line — no effect, confirming the amp is a separate I2C device (RT1308) rather than a codec-GPIO-controlled ampamixer -c0 contentsavailable on requestExpected behavior
A machine driver / ACPI match table entry recognizing the ALC269VC + RT1308 combination on this board (matching on ACPI HID
10EC1308and/or the DMI strings above), so SOF configures the RT1308 DAI link — similar to existing RT1308 amplifier support already present in the kernel for other Meteor Lake/Tiger Lake platforms (sound/soc/codecs/rt1308.c,sound/soc/intel/boards/sof_realtek_common.c) — instead of falling back to the codec-onlyskl_hda_dsp_genericdriver.Additional info
Happy to test patches, provide additional diagnostics (full codec dump, ACPI tables,
i2cdetectoutput, kernel config), or run a debug kernel with extra tracing on the SOF/ASoC ACPI match code if that would help pin down why this board isn't matched.