20260311解决瑞芯微原厂RK3576的Android14刷入乐晓电子的K7开发板后耳机无声的问题【声卡es8388】【查找步骤】

3. 打开耳机相关的所有开关(列表中有多个,全部开启)

tinymix -D 0 "Headphone Switch" 1
tinymix -D 0 "hp switch" 1
tinymix -D 0 "OUT1 Switch" 1
tinymix -D 0 "OUT2 Switch" 1

rk3576_u:/sdcard/Music # tinyplay kiss8.wav -D 0 -d 0

20260311解决瑞芯微原厂RK3576的Android14刷入乐晓电子的K7开发板后耳机无声的问题【声卡es8388】【查找步骤】

2026/3/11 11:04

缘起:K7开发板的预编译固件update-rk3576-kickpi-k7-android-HDMI-202505300953.img,3截/4截耳机都有声音!

通过tinymix强制打开耳机,使用tinyplay播放wav音频有声音了。

【最后问DeepSeek,查明问题出在DTS。】

1、确认声卡es8388已经挂载了!

console:/ #
console:/ # cat /proc/asound/cards
0 [rockchipes8388 ]: rockchip-es8388 - rockchip-es8388
rockchip-es8388

1 [rockchipdp0 ]: rockchip-dp0 - rockchip-dp0

rockchip-dp0

2 [rockchiphdmi ]: rockchip-hdmi - rockchip-hdmi

rockchip-hdmi

console:/ #

2、确认RK3576的Android14可以检测到耳机的插拔!

【getevent貌似可以开多个,串口 和 adb的getevent可以同时打开^_】

耳机插拔可以检测到:

Microsoft Windows [版本 10.0.19045.6466]

(c) Microsoft Corporation。保留所有权利。

C:\Users\QQQ>adb shell

rk3576_u:/ $ su

rk3576_u:/ #
rk3576_u:/ # getevent -l

add device 1: /dev/input/event6

name: "rockchip-dp0 rockchip-dp0"
add device 2: /dev/input/event2
name: "headset-keys"
add device 3: /dev/input/event3
name: "rockchip-es8388 Headset"

add device 4: /dev/input/event0

name: "27330000.pwm"

add device 5: /dev/input/event1

name: "rk805 pwrkey"

add device 6: /dev/input/event5

name: "adc-keys"

add device 7: /dev/input/event7

name: "rockchip-hdmi rockchip-hdmi"

add device 8: /dev/input/event4

name: "bt-powerkey"
/dev/input/event3: EV_SW SW_HEADPHONE_INSERT 00000001
/dev/input/event3: EV_SYN SYN_REPORT 00000000
/dev/input/event3: EV_SW SW_HEADPHONE_INSERT 00000000
/dev/input/event3: EV_SYN SYN_REPORT 00000000

/dev/input/event3: EV_SW SW_HEADPHONE_INSERT 00000001

/dev/input/event3: EV_SYN SYN_REPORT 00000000

/dev/input/event3: EV_SW SW_HEADPHONE_INSERT 00000000

/dev/input/event3: EV_SYN SYN_REPORT 00000000

3、大致看一下audio音频的情况。

【Buildroot下测试过^_】如果通过HDMI线缆接入HDMI电视机,通过电视机输出音视频,是有声音的!
rk3576_u:/sdcard/Music # tinyplay kiss8.wav -D 2 -d 0

130|console:/ #
130|console:/ # logcat | grep -i audio

2352.866875\]\[ T274\] logd: logdr: UID=0 GID=0 PID=3232 b tail=0 logMask=99 pid=0 start=0ns deadline=0ns 01-01 12:00:02.082 1 1 I usbcore : registered new interface driver snd-usb-audio 01-01 12:00:03.660 1 1 E init : Do not have permissions to set 'ro.audio.monitorOrientation' to 'true' in property file '/vendor/build.prop': SELinux permission check failed 01-01 12:00:03.702 1 1 I init : Parsing file /system/etc/init/audioserver.rc... 01-01 12:00:03.728 1 1 I init : Parsing file /vendor/etc/init/android.hardware.audio.service.rc... 01-01 12:00:04.465 1 1 I init : processing action (init) from (/system/etc/init/audioserver.rc:58) 01-01 12:00:06.822 1 1 I init : starting service 'vendor.audio-hal'... 01-01 12:00:06.828 1 1 I init : ... started service 'vendor.audio-hal' has pid 526 01-01 12:00:06.977 1 1 I init : starting service 'audioserver'... 01-01 12:00:06.984 1 1 I init : ... started service 'audioserver' has pid 563 01-01 12:00:07.234 265 265 I servicemanager: Found android.hardware.bluetooth.audio.IBluetoothAudioProviderFactory/default in device VINTF manifest. 01-01 12:00:07.582 1 1 I init : processing action (init.svc.audioserver=running) from (/system/etc/init/audioserver.rc:35) 01-01 12:00:07.583 1 1 I init : service 'vendor.audio-hal' requested start, but it is already running (flags: 4) 01-01 12:00:07.583 1 1 I init : Command 'start vendor.audio-hal-aidl' action=init.svc.audioserver=running (/system/etc/init/audioserver.rc:37) took 0ms and failed: service vendor.audio-hal-aidl not found 01-01 12:00:07.583 1 1 I init : Command 'start vendor.audio-effect-hal-aidl' action=init.svc.audioserver=running (/system/etc/init/audioserver.rc:38) took 0ms and failed: service vendor.audio-effect-hal-aidl not found 01-01 12:00:07.583 1 1 I init : Command 'start vendor.audio-hal-4-0-msd' action=init.svc.audioserver=running (/system/etc/init/audioserver.rc:39) took 0ms and failed: service vendor.audio-hal-4-0-msd not found 01-01 12:00:07.583 1 1 I init : Command 'start audio_proxy_service' action=init.svc.audioserver=running (/system/etc/init/audioserver.rc:40) took 0ms and failed: service audio_proxy_service not found 03-08 15:11:33.015 685 685 I InputManager: Initializing input manager, mUseDevInputEventForAudioJack=false 03-08 15:11:33.781 685 685 D SystemServerTiming: StartAudioService 03-08 15:11:33.781 685 685 I SystemServiceManager: Starting com.android.server.audio.AudioService$Lifecycle 03-08 15:11:33.821 685 685 V SystemServerTiming: StartAudioService took to complete: 40ms 03-08 15:11:33.833 685 685 W WiredAccessoryManager: This kernel does not have usb audio support 03-08 15:11:33.833 685 685 W WiredAccessoryManager: This kernel does not have HDMI audio support 03-08 15:11:33.976 685 861 W BroadcastLoopers: Found previously unknown looper Thread\[AudioService,5,main

03-08 15:11:34.080 685 685 D SystemServerTiming: OnBootPhase_480_com.android.server.audio.AudioService$Lifecycle

03-08 15:11:34.080 685 685 V SystemServerTiming: OnBootPhase_480_com.android.server.audio.AudioService$Lifecycle took to complete: 0ms

03-08 15:11:34.230 685 685 D SystemServerTiming: OnBootPhase_500_com.android.server.audio.AudioService$Lifecycle

03-08 15:11:34.230 685 685 V SystemServerTiming: OnBootPhase_500_com.android.server.audio.AudioService$Lifecycle took to complete: 0ms

03-08 15:11:34.314 685 685 D SystemServerTiming: OnBootPhase_520_com.android.server.audio.AudioService$Lifecycle

03-08 15:11:34.314 685 685 V SystemServerTiming: OnBootPhase_520_com.android.server.audio.AudioService$Lifecycle took to complete: 0ms

03-08 15:11:34.514 685 685 D SystemServerTiming: OnBootPhase_550_com.android.server.audio.AudioService$Lifecycle

03-08 15:11:34.514 685 685 V SystemServerTiming: OnBootPhase_550_com.android.server.audio.AudioService$Lifecycle took to complete: 0ms

03-08 15:11:34.520 685 858 W BroadcastLoopers: Found previously unknown looper Thread[AudioDeviceBroker,5,main]

03-08 15:11:34.527 685 861 D AS.AudioService: No vibrator found

03-08 15:11:34.745 685 685 D SystemServerTiming: OnBootPhase_600_com.android.server.audio.AudioService$Lifecycle

03-08 15:11:34.745 685 685 V SystemServerTiming: OnBootPhase_600_com.android.server.audio.AudioService$Lifecycle took to complete: 0ms

03-08 15:11:34.887 685 685 D SystemServerTimingAsync: ssm.onStartUser-0_com.android.server.audio.AudioService$Lifecycle

03-08 15:11:34.887 685 685 V SystemServerTimingAsync: ssm.onStartUser-0_com.android.server.audio.AudioService$Lifecycle took to complete: 0ms

03-08 15:11:35.263 685 1153 I Telecom : BluetoothRouteManager: getBluetoothAudioConnectedDevice: no service available.?

03-08 15:11:35.273 685 1154 I Telecom : Logging.Events: Non-call EVENT: AUDIO_ROUTE, Entering state QuiescentSpeakerRoute?

03-08 15:11:35.273 685 1154 I Telecom : BluetoothRouteManager: getBluetoothAudioConnectedDevice: no service available.?

03-08 15:11:35.279 685 1155 I Telecom : CallAudioModeStateMachine: Audio focus entering UNFOCUSED state?

03-08 15:11:35.280 685 1155 I Telecom : CallAudioModeStateMachine: Message received: null.: TS.init->CAMSM.pM_1@AAA?

03-08 15:11:37.179 685 720 D ActivityManagerTiming: OnBootPhase_1000_com.android.server.audio.AudioService$Lifecycle

03-08 15:11:37.179 685 720 V ActivityManagerTiming: OnBootPhase_1000_com.android.server.audio.AudioService$Lifecycle took to complete: 0ms

03-08 15:11:37.486 685 726 D SystemServerTimingAsync: ssm.onUnlockingUser-0_com.android.server.audio.AudioService$Lifecycle

03-08 15:11:37.486 685 726 V SystemServerTimingAsync: ssm.onUnlockingUser-0_com.android.server.audio.AudioService$Lifecycle took to complete: 0ms

03-08 15:11:37.527 685 726 D SystemServerTimingAsync: ssm.onUnlockedUser-0_com.android.server.audio.AudioService$Lifecycle

03-08 15:11:37.527 685 726 V SystemServerTimingAsync: ssm.onUnlockedUser-0_com.android.server.audio.AudioService$Lifecycle took to complete: 0ms

03-08 15:11:42.546 685 2048 D SystemServerTimingAsync: ssm.onCompletedEventUser-0_{|Unlocked|}_com.android.server.audio.AudioService$Lifecycle

03-08 15:11:42.546 685 2048 V SystemServerTimingAsync: ssm.onCompletedEventUser-0_{|Unlocked|}_com.android.server.audio.AudioService$Lifecycle took to complete: 0ms

03-11 02:51:39.849 1098 1220 W BatteryEntry: unknown attribute:AUDIO

03-11 02:53:20.105 685 1237 I MediaFocusControl: requestAudioFocus() from uid/pid 10068/910 AA=USAGE_NOTIFICATION/CONTENT_TYPE_SONIFICATION clientId=android.media.AudioManager@20054b2 callingPack=com.android.systemui req=3 flags=0x0 sdk=34

03-11 02:53:20.106 685 1237 I AudioService.FadeOutManager: unfadeOutUid() uid:10068

03-11 02:53:20.610 910 910 D MediaRouter: onRestoreRoute() : route=RouteInfo{ name=External Device, description=null, status=null, category=RouteCategory{ name=System types=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO groupable=false }, supportedTypes=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO , presentationDisplay=Display id 2: DisplayInfo{"HDMI Screen", displayId 2, displayGroupId 0, FLAG_SECURE, FLAG_SUPPORTS_PROTECTED_BUFFERS, FLAG_PRESENTATION, FLAG_TRUSTED, real 1920 x 1080, largest app 1920 x 1920, smallest app 1080 x 1080, appVsyncOff 1000000, presDeadline 16666666, mode 260.000004, defaultMode 2, modes [{id=2, width=1920, height=1080, fps=60.000004, alternativeRefreshRates=[], supportedHdrTypes=[]}], hdrCapabilities HdrCapabilities{mSupportedHdrTypes=[], mMaxLuminance=500.0, mMaxAverageLuminance=500.0, mMinLuminance=0.0}, userDisabledHdrTypes [], minimalPostProcessingSupported false, rotation 0, state ON, committedState ON}, DisplayMetrics{density=1.5, width=1920, height=1080, scaledDensity=1.5, xdpi=101.6, ydpi=105.507}, isValid=true }

03-11 02:53:20.610 910 910 V MediaRouter: Selecting route: RouteInfo{ name=External Device, description=null, status=null, category=RouteCategory{ name=System types=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO groupable=false }, supportedTypes=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO , presentationDisplay=Display id 2: DisplayInfo{"HDMI Screen", displayId 2, displayGroupId 0, FLAG_SECURE, FLAG_SUPPORTS_PROTECTED_BUFFERS, FLAG_PRESENTATION, FLAG_TRUSTED, real 1920 x 1080, largest app 1920 x 1920, smallest app 1080 x 1080, appVsyncOff 1000000, presDeadline 16666666, mode 260.000004, defaultMode 2, modes [{id=2, width=1920, height=1080, fps=60.000004, alternativeRefreshRates=[], supportedHdrTypes=[]}], hdrCapabilities HdrCapabilities{mSupportedHdrTypes=[], mMaxLuminance=500.0, mMaxAverageLuminance=500.0, mMinLuminance=0.0}, userDisabledHdrTypes [], minimalPostProcessingSupported false, rotation 0, state ON, committedState ON}, DisplayMetrics{density=1.5, width=1920, height=1080, scaledDensity=1.5, xdpi=101.6, ydpi=105.507}, isValid=true }

03-11 02:53:20.622 622 2191 D CCodecConfig: read media type: audio/vorbis

03-11 02:53:20.628 622 2191 D CCodecConfig: string input.media-type.value = "audio/vorbis"

03-11 02:53:20.628 622 2191 D CCodecConfig: string output.media-type.value = "audio/raw"

03-11 02:53:20.633 622 2191 D CCodec : string mime = "audio/vorbis"

03-11 02:53:20.633 622 2191 D CCodec : string mime = "audio/raw"

03-11 02:53:20.662 563 596 D AudioFlinger: Client defaulted notificationFrames to 11025 for frameCount 22050

03-11 02:53:20.713 526 526 D modules.primary.audio_hal: adev_create_audio_patch num_sources:1, num_sinks:1, mix(d)->device(400), handle:0xffc00988

03-11 02:53:20.713 526 526 D modules.primary.audio_hal: adev_create_audio_patch playback address:

03-11 02:53:20.713 526 526 D modules.primary.audio_hal: do_out_standby,out = 0xe7984810,device = 0x2, standby = 1

03-11 02:53:20.726 563 758 D audioserver: logFgsApiBegin: FGS Logger Transaction failed, -129

03-11 02:53:20.731 526 2198 D modules.primary.audio_hal: card0 id:rockchipes8388

03-11 02:53:20.731 526 2198 D modules.primary.audio_hal: SPEAKER card, got card=0,device=0

03-11 02:53:20.731 526 2198 D modules.primary.audio_hal: card1 id:rockchipdp0

03-11 02:53:20.731 526 2198 D modules.primary.audio_hal: SPDIF card, got card=1,device=0

03-11 02:53:20.731 526 2198 D modules.primary.audio_hal: card2 id:rockchiphdmi

03-11 02:53:20.731 526 2198 D modules.primary.audio_hal: HDMI card, got card=2,device=0

03-11 02:53:20.731 526 2198 D modules.primary.audio_hal: dump out device info

03-11 02:53:20.731 526 2198 D modules.primary.audio_hal: dev_info SPEAKER card=0, device:0

03-11 02:53:20.731 526 2198 D modules.primary.audio_hal: dev_info HDMI card=2, device:0

03-11 02:53:20.731 526 2198 D modules.primary.audio_hal: dev_info SPDIF card=1, device:0

03-11 02:53:20.731 526 2198 D modules.primary.audio_hal: start_output_stream: i = 0, device = 0x400

03-11 02:53:20.733 526 2198 D modules.primary.audio_hal: out->Device[0] : 0x400

03-11 02:53:20.733 526 2198 D modules.primary.audio_hal: out->SampleRate : 48000

03-11 02:53:20.733 526 2198 D modules.primary.audio_hal: out->Channels : 2

03-11 02:53:20.733 526 2198 D modules.primary.audio_hal: out->Format : 0

03-11 02:53:20.733 526 2198 D modules.primary.audio_hal: out->PreiodSize : 480

03-11 02:53:20.733 526 2198 D modules.primary.audio_hal: start_output_stream:1472, out = 0xe7984810

03-11 02:53:20.799 622 2189 D AudioTrack: getTimestamp_l(11): device stall time corrected using current time 148646591316

03-11 02:53:22.319 622 2189 D AudioTrack: stop(11): called with 84672 frames delivered

03-11 02:53:22.796 685 756 I MediaFocusControl: abandonAudioFocus() from uid/pid 10068/910 clientId=android.media.AudioManager@20054b2

03-11 02:53:22.797 563 660 D audioserver: logFgsApiEnd: FGS Logger Transaction failed, -129

03-11 02:53:22.799 563 643 I APM::AudioPolicyEngine: getDevicesForStrategyInt no device found for strategy 9

03-11 02:53:22.806 563 758 D audioserver: logFgsApiEnd: FGS Logger Transaction failed, -129

03-11 02:53:25.715 526 573 D modules.primary.audio_hal: do_out_standby,out = 0xe7984810,device = 0x2, standby = 0

03-11 02:53:25.717 526 573 D modules.primary.audio_hal: close device

03-11 02:53:30.335 2249 2249 D nativeloader: InitDefaultPublicLibraries for_preload=1: libandroid.so:libaaudio.so:libamidi.so:libbinder_ndk.so:libc.so:libcamera2ndk.so:libdl.so:libEGL.so:libGLESv1_CM.so:libGLESv2.so:libGLESv3.so:libicu.so:libicui18n.so:libicuuc.so:libjnigraphics.so:liblog.so:libmediandk.so:libm.so:libnativehelper.so:libnativewindow.so:libOpenMAXAL.so:libOpenSLES.so:libRS.so:libstdc++.so:libsync.so:libvulkan.so:libwebviewchromium_plat_support.so:libz.so

03-11 02:53:37.643 685 860 I AudioTrack: createTrack_l(0): AUDIO_OUTPUT_FLAG_FAST successful; frameCount 0 -> 4512

03-11 02:53:37.647 563 563 D audioserver: logFgsApiBegin: FGS Logger Transaction failed, -129

03-11 02:53:37.649 526 2198 D modules.primary.audio_hal: card0 id:rockchipes8388

03-11 02:53:37.649 526 2198 D modules.primary.audio_hal: card1 id:rockchipdp0

03-11 02:53:37.649 526 2198 D modules.primary.audio_hal: card2 id:rockchiphdmi

03-11 02:53:37.649 526 2198 D modules.primary.audio_hal: dump out device info

03-11 02:53:37.650 526 2198 D modules.primary.audio_hal: dev_info SPEAKER card=0, device:0

03-11 02:53:37.650 526 2198 D modules.primary.audio_hal: dev_info HDMI card=2, device:0

03-11 02:53:37.650 526 2198 D modules.primary.audio_hal: dev_info SPDIF card=1, device:0

03-11 02:53:37.650 526 2198 D modules.primary.audio_hal: start_output_stream: i = 0, device = 0x400

03-11 02:53:37.652 526 2198 D modules.primary.audio_hal: out->Device[0] : 0x400

03-11 02:53:37.652 526 2198 D modules.primary.audio_hal: out->SampleRate : 48000

03-11 02:53:37.652 526 2198 D modules.primary.audio_hal: out->Channels : 2

03-11 02:53:37.652 526 2198 D modules.primary.audio_hal: out->Format : 0

03-11 02:53:37.652 526 2198 D modules.primary.audio_hal: out->PreiodSize : 480

03-11 02:53:37.652 526 2198 D modules.primary.audio_hal: start_output_stream:1472, out = 0xe7984810

03-11 02:53:37.828 563 660 D audioserver: logFgsApiEnd: FGS Logger Transaction failed, -129

03-11 02:53:37.830 563 643 I APM::AudioPolicyEngine: getDevicesForStrategyInt no device found for strategy 9

03-11 02:53:40.159 563 563 D audioserver: logFgsApiBegin: FGS Logger Transaction failed, -129

03-11 02:53:40.310 563 660 D audioserver: logFgsApiEnd: FGS Logger Transaction failed, -129

03-11 02:53:40.311 563 643 I APM::AudioPolicyEngine: getDevicesForStrategyInt no device found for strategy 9

03-11 02:53:43.289 526 573 D modules.primary.audio_hal: do_out_standby,out = 0xe7984810,device = 0x2, standby = 0

03-11 02:53:43.291 526 573 D modules.primary.audio_hal: close device

03-11 02:55:52.861 563 758 D audioserver: logFgsApiBegin: FGS Logger Transaction failed, -129

03-11 02:55:52.863 526 2198 D modules.primary.audio_hal: card0 id:rockchipes8388

03-11 02:55:52.863 526 2198 D modules.primary.audio_hal: card1 id:rockchipdp0

03-11 02:55:52.863 526 2198 D modules.primary.audio_hal: card2 id:rockchiphdmi

03-11 02:55:52.864 526 2198 D modules.primary.audio_hal: dump out device info

03-11 02:55:52.864 526 2198 D modules.primary.audio_hal: dev_info SPEAKER card=0, device:0

03-11 02:55:52.864 526 2198 D modules.primary.audio_hal: dev_info HDMI card=2, device:0

03-11 02:55:52.864 526 2198 D modules.primary.audio_hal: dev_info SPDIF card=1, device:0

03-11 02:55:52.864 526 2198 D modules.primary.audio_hal: start_output_stream: i = 0, device = 0x400

03-11 02:55:52.868 526 2198 D modules.primary.audio_hal: out->Device[0] : 0x400

03-11 02:55:52.868 526 2198 D modules.primary.audio_hal: out->SampleRate : 48000

03-11 02:55:52.868 526 2198 D modules.primary.audio_hal: out->Channels : 2

03-11 02:55:52.868 526 2198 D modules.primary.audio_hal: out->Format : 0

03-11 02:55:52.869 526 2198 D modules.primary.audio_hal: out->PreiodSize : 480

03-11 02:55:52.869 526 2198 D modules.primary.audio_hal: start_output_stream:1472, out = 0xe7984810

03-11 02:55:52.924 2249 2268 I VysorControl: stopping audio

03-11 02:55:52.945 2249 2249 I VysorControl: stopping audio

03-11 02:55:53.036 563 660 D audioserver: logFgsApiEnd: FGS Logger Transaction failed, -129

03-11 02:55:53.038 563 643 I APM::AudioPolicyEngine: getDevicesForStrategyInt no device found for strategy 9

4、确认es8388的I2C挂在!

console:/ #
console:/ # i2cdetect -y -a 3
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
10: UU -- -- -- -- -- -- -- -- -- -- -- -- -- -- --

20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --

30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --

40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --

50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --

60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --

70: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --

console:/ #

console:/ #

5、确认声卡/耳机es8388的状态!

console:/ #
console:/ # tinymix -D 0
Mixer name: 'rockchip-es8388'
Number of controls: 81

ctl type num name value

0 ENUM 1 SAI1 Transmit Start Mode Sel Standalone

1 ENUM 1 SAI1 Receive Start Mode Sel Standalone

2 ENUM 1 SAI1 Transmit SDOx Select Auto

3 ENUM 1 SAI1 Receive SDIx Select Auto

4 INT 1 SAI1 Receive Mono Slot Select 0

5 ENUM 1 SAI1 Receive Mono Switch Disable

6 ENUM 1 SAI1 Transmit Mono Switch Disable

7 ENUM 1 SAI1 SDI3 Loopback I2S LR Channel Sel L:MIC R:LP

8 ENUM 1 SAI1 SDI2 Loopback I2S LR Channel Sel L:MIC R:LP

9 ENUM 1 SAI1 SDI1 Loopback I2S LR Channel Sel L:MIC R:LP

10 ENUM 1 SAI1 SDI0 Loopback I2S LR Channel Sel L:MIC R:LP

11 ENUM 1 SAI1 SDI3 Loopback I2S LR Switch Disable

12 ENUM 1 SAI1 SDI2 Loopback I2S LR Switch Disable

13 ENUM 1 SAI1 SDI1 Loopback I2S LR Switch Disable

14 ENUM 1 SAI1 SDI0 Loopback I2S LR Switch Disable

15 ENUM 1 SAI1 SDI3 Loopback Src Select From SDO0

16 ENUM 1 SAI1 SDI2 Loopback Src Select From SDO0

17 ENUM 1 SAI1 SDI1 Loopback Src Select From SDO0

18 ENUM 1 SAI1 SDI0 Loopback Src Select From SDO0

19 ENUM 1 SAI1 SDI3 Loopback Switch Disable

20 ENUM 1 SAI1 SDI2 Loopback Switch Disable

21 ENUM 1 SAI1 SDI1 Loopback Switch Disable

22 ENUM 1 SAI1 SDI0 Loopback Switch Disable

23 ENUM 1 SAI1 Sync Out Switch From CRU

24 ENUM 1 SAI1 Sync In Switch From IO

25 ENUM 1 SAI1 Receive PATH3 Source Select From SDI3

26 ENUM 1 SAI1 Receive PATH2 Source Select From SDI2

27 ENUM 1 SAI1 Receive PATH1 Source Select From SDI1

28 ENUM 1 SAI1 Receive PATH0 Source Select From SDI0

29 ENUM 1 SAI1 Transmit SDO3 Source Select From PATH3

30 ENUM 1 SAI1 Transmit SDO2 Source Select From PATH2

31 ENUM 1 SAI1 Transmit SDO1 Source Select From PATH1

32 ENUM 1 SAI1 Transmit SDO0 Source Select From PATH0

33 BOOL 1 SAI1 Clk Auto Switch Off

34 INT 1 SAI1 PCM Read Wait Time MS 0

35 INT 1 SAI1 PCM Write Wait Time MS 0

36 ENUM 1 3D Mode Level 1

37 INT 1 ALC Capture Target Volume 12

38 INT 1 ALC Capture Max PGA 0

39 INT 1 ALC Capture Min PGA 0

40 ENUM 1 ALC Capture Function Off

41 BOOL 1 ALC Capture ZC Switch Off

42 INT 1 ALC Capture Hold Time 0

43 INT 1 ALC Capture Decay Time 0

44 INT 1 ALC Capture Attack Time 5

45 INT 1 ALC Capture NG Threshold 10

46 ENUM 1 ALC Capture NG Type Mute ADC Output

47 BOOL 1 ALC Capture NG Switch Off

48 BOOL 1 ZC Timeout Switch Off

49 INT 2 Capture Digital Volume 192 192

50 BOOL 1 Capture Mute Off

51 INT 1 Left Channel Capture Volume 0

52 INT 1 Right Channel Capture Volume 0

53 ENUM 1 Playback De-emphasis None

54 ENUM 1 Capture Polarity Normal

55 INT 2 PCM Volume 192 192

56 INT 1 Left Mixer Left Bypass Volume 0

57 INT 1 Right Mixer Right Bypass Volume 0

58 INT 2 Output 1 Playback Volume 30 30

59 INT 2 Output 2 Playback Volume 30 30

60 ENUM 1 ADC Data Select Left Right

61 BOOL 1 Headphone Jack Off

62 BOOL 1 Headset Mic Jack Off

63 BOOL 1 spk switch Off
64 BOOL 1 hp switch Off
65 BOOL 1 Headphone Switch Off

66 BOOL 1 Speaker Switch On

67 BOOL 1 Main Mic Switch On

68 BOOL 1 Headset Mic Switch Off

69 ENUM 1 Left PGA Mux DifferentialL

70 ENUM 1 Right PGA Mux DifferentialR

71 ENUM 1 Differential Mux Line 2

72 ENUM 1 Mono Mux Stereo

73 ENUM 1 Left Line Mux Line 1L

74 ENUM 1 Right Line Mux Line 1R

75 BOOL 1 Left Mixer Left Playback Switch On

76 BOOL 1 Left Mixer Left Bypass Switch Off

77 BOOL 1 Right Mixer Right Playback Switch On

78 BOOL 1 Right Mixer Right Bypass Switch Off
79 BOOL 1 OUT1 Switch Off
80 BOOL 1 OUT2 Switch Off

console:/ #

6、【根据DeepSeek】强制/手动打开耳机:

2|console:/ #
2|console:/ # tinymix -D 0 "Headphone Switch" 1
console:/ # tinymix -D 0 "hp switch" 1
console:/ # tinymix -D 0 "OUT1 Switch" 1
console:/ # tinymix -D 0 "OUT2 Switch" 1

console:/ #

console:/ #

现在,请依次执行以下所有必要命令,确保耳机输出通路完全打开:

bash

1. 将数字音频信号接入混音器(必须开启)

tinymix -D 0 "Left Mixer Left Playback Switch" 1

tinymix -D 0 "Right Mixer Right Playback Switch" 1

2. 设置耳机输出通道的音量(原值为0,静音)

tinymix -D 0 "Output 1 Playback Volume" 30,30

tinymix -D 0 "Output 2 Playback Volume" 30,30

3. 打开耳机相关的所有开关(列表中有多个,全部开启)

tinymix -D 0 "Headphone Switch" 1
tinymix -D 0 "hp switch" 1
tinymix -D 0 "OUT1 Switch" 1
tinymix -D 0 "OUT2 Switch" 1

4. (可选)关闭扬声器,避免干扰

tinymix -D 0 "Speaker Switch" 0

执行完后,播放一段音频(例如通过系统音乐App或 tinyplay),耳机应该立刻出声。

如果仍然无声,请按以下步骤进一步排查:

确认控件值已正确设置

再次运行 tinymix -D 0,检查以下关键项的值是否已改变:

Left Mixer Left Playback Switch → On

Right Mixer Right Playback Switch → On

Output 1 Playback Volume → 例如 30 30(不再是 0 0)

Output 2 Playback Volume → 例如 30 30

Headphone Switch → On

hp switch → On

OUT1 Switch → On

OUT2 Switch → On

检查硬件物理连接

确认耳机插头完全插入,且耳机本身是好的。可以尝试在播放时稍微转动插头,排除接触不良。

进行音频环回测试(验证 Codec 是否正常工作)

bash

需要同时具备 arecord 和 aplay(tinyalsa 版本)

arecord -D hw:0,0 -f cd | aplay -D hw:0,0 -f cd

如果板载有麦克风,对着麦克风说话,耳机中能听到自己的声音,说明 DAC、耳机通路都正常,问题可能出在上层音频策略;如果听不到,则问题仍在底层配置。

检查内核日志,看是否有异常

bash

dmesg | tail -20

插入耳机时应有 headset inserted 或类似信息,如果没有,可能是耳机检测虽然上报了事件,但驱动未能正确切换路由。

如果以上步骤仍不能解决问题

可能是设备树中音频路由配置不完整,需要检查内核源码中 rockchip-audio-routing 或 simple-audio-card,routing 属性是否包含了耳机通路。但鉴于我们通过 tinymix 手动设置应该能强制输出,若依然无效,极少数情况下可能是硬件故障或驱动存在 Bug。

请先执行上述命令并反馈结果。

7、确认耳机开关打开了:

console:/ #
console:/ # tinymix -D 0
Mixer name: 'rockchip-es8388'
Number of controls: 81

ctl type num name value

0 ENUM 1 SAI1 Transmit Start Mode Sel Standalone

1 ENUM 1 SAI1 Receive Start Mode Sel Standalone

2 ENUM 1 SAI1 Transmit SDOx Select Auto

3 ENUM 1 SAI1 Receive SDIx Select Auto

4 INT 1 SAI1 Receive Mono Slot Select 0

5 ENUM 1 SAI1 Receive Mono Switch Disable

6 ENUM 1 SAI1 Transmit Mono Switch Disable

7 ENUM 1 SAI1 SDI3 Loopback I2S LR Channel Sel L:MIC R:LP

8 ENUM 1 SAI1 SDI2 Loopback I2S LR Channel Sel L:MIC R:LP

9 ENUM 1 SAI1 SDI1 Loopback I2S LR Channel Sel L:MIC R:LP

10 ENUM 1 SAI1 SDI0 Loopback I2S LR Channel Sel L:MIC R:LP

11 ENUM 1 SAI1 SDI3 Loopback I2S LR Switch Disable

12 ENUM 1 SAI1 SDI2 Loopback I2S LR Switch Disable

13 ENUM 1 SAI1 SDI1 Loopback I2S LR Switch Disable

14 ENUM 1 SAI1 SDI0 Loopback I2S LR Switch Disable

15 ENUM 1 SAI1 SDI3 Loopback Src Select From SDO0

16 ENUM 1 SAI1 SDI2 Loopback Src Select From SDO0

17 ENUM 1 SAI1 SDI1 Loopback Src Select From SDO0

18 ENUM 1 SAI1 SDI0 Loopback Src Select From SDO0

19 ENUM 1 SAI1 SDI3 Loopback Switch Disable

20 ENUM 1 SAI1 SDI2 Loopback Switch Disable

21 ENUM 1 SAI1 SDI1 Loopback Switch Disable

22 ENUM 1 SAI1 SDI0 Loopback Switch Disable

23 ENUM 1 SAI1 Sync Out Switch From CRU

24 ENUM 1 SAI1 Sync In Switch From IO

25 ENUM 1 SAI1 Receive PATH3 Source Select From SDI3

26 ENUM 1 SAI1 Receive PATH2 Source Select From SDI2

27 ENUM 1 SAI1 Receive PATH1 Source Select From SDI1

28 ENUM 1 SAI1 Receive PATH0 Source Select From SDI0

29 ENUM 1 SAI1 Transmit SDO3 Source Select From PATH3

30 ENUM 1 SAI1 Transmit SDO2 Source Select From PATH2

31 ENUM 1 SAI1 Transmit SDO1 Source Select From PATH1

32 ENUM 1 SAI1 Transmit SDO0 Source Select From PATH0

33 BOOL 1 SAI1 Clk Auto Switch Off

34 INT 1 SAI1 PCM Read Wait Time MS 0

35 INT 1 SAI1 PCM Write Wait Time MS 0

36 ENUM 1 3D Mode Level 1

37 INT 1 ALC Capture Target Volume 12

38 INT 1 ALC Capture Max PGA 0

39 INT 1 ALC Capture Min PGA 0

40 ENUM 1 ALC Capture Function Off

41 BOOL 1 ALC Capture ZC Switch Off

42 INT 1 ALC Capture Hold Time 0

43 INT 1 ALC Capture Decay Time 0

44 INT 1 ALC Capture Attack Time 5

45 INT 1 ALC Capture NG Threshold 10

46 ENUM 1 ALC Capture NG Type Mute ADC Output

47 BOOL 1 ALC Capture NG Switch Off

48 BOOL 1 ZC Timeout Switch Off

49 INT 2 Capture Digital Volume 192 192

50 BOOL 1 Capture Mute Off

51 INT 1 Left Channel Capture Volume 0

52 INT 1 Right Channel Capture Volume 0

53 ENUM 1 Playback De-emphasis None

54 ENUM 1 Capture Polarity Normal

55 INT 2 PCM Volume 192 192

56 INT 1 Left Mixer Left Bypass Volume 0

57 INT 1 Right Mixer Right Bypass Volume 0

58 INT 2 Output 1 Playback Volume 30 30

59 INT 2 Output 2 Playback Volume 30 30

60 ENUM 1 ADC Data Select Left Right

61 BOOL 1 Headphone Jack Off

62 BOOL 1 Headset Mic Jack Off

63 BOOL 1 spk switch Off
64 BOOL 1 hp switch On
65 BOOL 1 Headphone Switch On

66 BOOL 1 Speaker Switch On

67 BOOL 1 Main Mic Switch On

68 BOOL 1 Headset Mic Switch Off

69 ENUM 1 Left PGA Mux DifferentialL

70 ENUM 1 Right PGA Mux DifferentialR

71 ENUM 1 Differential Mux Line 2

72 ENUM 1 Mono Mux Stereo

73 ENUM 1 Left Line Mux Line 1L

74 ENUM 1 Right Line Mux Line 1R

75 BOOL 1 Left Mixer Left Playback Switch On

76 BOOL 1 Left Mixer Left Bypass Switch Off

77 BOOL 1 Right Mixer Right Playback Switch On

78 BOOL 1 Right Mixer Right Bypass Switch Off
79 BOOL 1 OUT1 Switch On
80 BOOL 1 OUT2 Switch On

console:/ #

8、最终测试结果:

a、命令行播放wav音频有声音了

rk3576_u:/sdcard/Music # tinyplay kiss8.wav -D 0 -d 0

Playing sample: 2 ch, 44100 hz, 16 bit 53268480 bytes

Draining... Wait 93090 us

rk3576_u:/sdcard/Music #

b、网页播放视频还是没有声音!

重启/关机之后,先打开耳机,网页播放还是没有声音。

【最后问DeepSeek,查明问题出在DTS。】

相关推荐
南棱笑笑生4 小时前
20260311解决瑞芯微原厂RK3576的Android14刷入乐晓电子的K7开发板后耳机无声的问题【DTS】
rockchip
南棱笑笑生12 小时前
20260310让瑞芯微原厂RK3576的Android14刷入乐晓电子的K7开发板时禁止休眠+锁屏
rockchip
南棱笑笑生13 小时前
20260310解决瑞芯微原厂RK3576的Android14刷入乐晓电子的K7开发板后适配ADB连接
数据库·rockchip
南棱笑笑生1 个月前
20260127让天启AIO-3576Q38开发板跑Rockchip瑞芯微原厂的Buildroot【linux-6.1内核】【使用天启Firefly的DTS】
linux·运维·elasticsearch·rockchip
proware1 个月前
qt与egl的那些事儿
qt·rockchip·3588·egl
南棱笑笑生2 个月前
20260123让天启AIO-3576Q38开发板在天启Android14下打包Chromium浏览器
rockchip
南棱笑笑生2 个月前
20260123让天启AIO-3576Q38开发板在天启Buildroot下读写TF卡
linux·运维·服务器·rockchip
南棱笑笑生2 个月前
20260123让天启AIO-3576Q38开发板在天启Buildroot下适配摄像头模块8ms1m【预览】
java·前端·数据库·rockchip
南棱笑笑生2 个月前
20260116让天启AIO-3576Q38开发板在天启Android14下适配摄像头模块8ms1m为4K录像
rockchip