|
| 1 | +# Verify Audio Privacy (Hard Mute) Functionality |
| 2 | +Verify Audio Privacy (Hard Mute) Functionality in Linux |
| 3 | + |
| 4 | +## Preconditions |
| 5 | +1. The RVP should have active audio endpoints. |
| 6 | +2. The RVP should have a functional hard mute switch or toggle. |
| 7 | +3. Enable BIOS settings: |
| 8 | + * Microphone Privacy Mode = "HW managed Microphone Privacy" |
| 9 | + * Enable corresponding codec options, e.g., SNDW#3 [x] for SoundWire. |
| 10 | + * Enable DMIC option, e.g., DMIC [x] for DMIC |
| 11 | +4. Make sure UCM is up to date |
| 12 | + * Copy the ucm and ucm2 trees to the alsa-lib configuration directory (usually located in /usr/share/alsa) including symlinks |
| 13 | + * Reference: https://github.com/alsa-project/alsa-ucm-conf/ |
| 14 | + |
| 15 | +## Test Description |
| 16 | +* Verification of audio privacy (hard mute) functionality in a Linux system. |
| 17 | +* Should not capture audio samples when the audio privacy switch is turned ON. |
| 18 | + |
| 19 | +## Steps to Execute |
| 20 | +1. Turn ON the audio privacy switch. Refer to RVP TOPS documents to find the switch location. |
| 21 | + Example: Switch identification mentioned as "MIC_privacy_SW_IN". |
| 22 | +2. Capture audio via 3.5mm jack ports: |
| 23 | + ```bash |
| 24 | + arecord -Dhw:0,0 -c 2 -r 48000 -f S16_LE /tmp/test_sample_mute.wav -vvv |
| 25 | + ``` |
| 26 | +3. Verify the playback for the capture in step 2: |
| 27 | + ```bash |
| 28 | + aplay -Dhw:0,0 -c 2 /tmp/test_sample_mute.wav -vvv |
| 29 | + ``` |
| 30 | +4. Turn OFF the audio privacy switch. |
| 31 | +5. Capture audio via 3.5mm jack ports: |
| 32 | + ```bash |
| 33 | + arecord -Dhw:0,0 -c 2 -r 48000 -f S16_LE /tmp/test_sample_unmute.wav -vvv |
| 34 | + ``` |
| 35 | +6. Verify the playback for the capture in step 5: |
| 36 | + ```bash |
| 37 | + aplay -Dhw:0,0 -c 2 /tmp/test_sample_unmute.wav -vvv |
| 38 | + ``` |
| 39 | +7. Repeat steps 2 and 6 for USB-A/USB-C endpoints. |
| 40 | +8. Repeat steps 2 to 7 using PulseAudio or PipeWire sound server. |
| 41 | +9. Check the dmesg log. |
| 42 | +10. Repeat Step 1 to 9 for DMIC (Update DMIC Audio card instead of JACK e.g. "-Dhw:0,6" ) |
| 43 | + |
| 44 | +## Expected Results |
| 45 | +1. The MIC mute LED should glow. |
| 46 | +2. The microphone is completely disabled, and no audio is captured or transmitted. |
| 47 | +3. The playback should not contain audio samples. |
| 48 | +4. The MIC mute LED should turn OFF. |
| 49 | +5. The microphone is completely enabled, resuming normal functionality, capturing and transmitting audio. |
| 50 | +6. The playback should contain audio samples. |
| 51 | +7. Results should be the same as steps 2 to 6. |
| 52 | +8. Results should be the same as steps 2 to 7. |
| 53 | +9. No audio errors or failures should be present in the dmesg log. |
0 commit comments