5.9 KiB
5.9 KiB
reTerminal DM4 Buzzer Test Guide
Overview
The reTerminal DM4 has a built-in buzzer located at the bottom right corner of the screen. The buzzer is controlled via the Linux LED subsystem and can be used for system alerts and notifications.
Buzzer Device Location
- Sysfs Path:
/sys/class/leds/usr-buzzer - Control Method: LED brightness control (0 = off, 1 = on)
- Type: Active buzzer (on/off control)
Quick Test Methods
Method 1: Simple On/Off Test
# Turn buzzer ON
echo 1 | sudo tee /sys/class/leds/usr-buzzer/brightness
# Turn buzzer OFF
echo 0 | sudo tee /sys/class/leds/usr-buzzer/brightness
Method 2: Single Beep
# Beep for 0.2 seconds
echo 1 | sudo tee /sys/class/leds/usr-buzzer/brightness
sleep 0.2
echo 0 | sudo tee /sys/class/leds/usr-buzzer/brightness
Method 3: Double Beep
# Double beep pattern
for i in 1 2; do
echo 1 | sudo tee /sys/class/leds/usr-buzzer/brightness
sleep 0.1
echo 0 | sudo tee /sys/class/leds/usr-buzzer/brightness
sleep 0.1
done
Method 4: Rapid Beeps
# 5 rapid beeps
for i in {1..5}; do
echo 1 | sudo tee /sys/class/leds/usr-buzzer/brightness
sleep 0.05
echo 0 | sudo tee /sys/class/leds/usr-buzzer/brightness
sleep 0.05
done
Complete Test Script
A comprehensive test script is available on the device at /tmp/test_buzzer.sh. To use it:
# Run the test script
/tmp/test_buzzer.sh
Or create your own script:
#!/bin/bash
# Buzzer test script for reTerminal DM4
BUZZER_PATH='/sys/class/leds/usr-buzzer'
echo 'Testing reTerminal DM4 Buzzer'
echo '=============================='
echo ''
# Test 1: Single beep
echo 'Test 1: Single beep (0.2 seconds)'
echo 1 | sudo tee $BUZZER_PATH/brightness > /dev/null
sleep 0.2
echo 0 | sudo tee $BUZZER_PATH/brightness > /dev/null
sleep 0.5
# Test 2: Double beep
echo 'Test 2: Double beep'
for i in 1 2; do
echo 1 | sudo tee $BUZZER_PATH/brightness > /dev/null
sleep 0.1
echo 0 | sudo tee $BUZZER_PATH/brightness > /dev/null
sleep 0.1
done
sleep 0.5
# Test 3: Long beep
echo 'Test 3: Long beep (0.5 seconds)'
echo 1 | sudo tee $BUZZER_PATH/brightness > /dev/null
sleep 0.5
echo 0 | sudo tee $BUZZER_PATH/brightness > /dev/null
sleep 0.5
# Test 4: Rapid beeps
echo 'Test 4: Rapid beeps (5 beeps)'
for i in {1..5}; do
echo 1 | sudo tee $BUZZER_PATH/brightness > /dev/null
sleep 0.05
echo 0 | sudo tee $BUZZER_PATH/brightness > /dev/null
sleep 0.05
done
echo ''
echo 'Buzzer test complete!'
Using Timer Trigger (Advanced)
The buzzer can also use the timer trigger for automatic beeping patterns:
# Set timer trigger
echo timer | sudo tee /sys/class/leds/usr-buzzer/trigger
# Set delay_on and delay_off (in milliseconds)
echo 100 | sudo tee /sys/class/leds/usr-buzzer/delay_on
echo 100 | sudo tee /sys/class/leds/usr-buzzer/delay_off
# Disable timer trigger (return to manual control)
echo none | sudo tee /sys/class/leds/usr-buzzer/trigger
Checking Buzzer Status
# Check current brightness (0 = off, 1 = on)
cat /sys/class/leds/usr-buzzer/brightness
# Check max brightness
cat /sys/class/leds/usr-buzzer/max_brightness
# Check current trigger
cat /sys/class/leds/usr-buzzer/trigger
Integration Examples
Python Script
#!/usr/bin/env python3
import time
BUZZER_PATH = '/sys/class/leds/usr-buzzer/brightness'
def buzzer_on():
with open(BUZZER_PATH, 'w') as f:
f.write('1')
def buzzer_off():
with open(BUZZER_PATH, 'w') as f:
f.write('0')
def beep(duration=0.2):
buzzer_on()
time.sleep(duration)
buzzer_off()
# Test
beep(0.2) # Single beep
time.sleep(0.5)
beep(0.1) # Short beep
time.sleep(0.1)
beep(0.1) # Short beep (double beep)
Bash Function
Add to your ~/.bashrc:
# Buzzer control function
buzzer() {
local action=${1:-status}
local BUZZER='/sys/class/leds/usr-buzzer/brightness'
case $action in
on)
echo 1 | sudo tee $BUZZER > /dev/null
echo "Buzzer ON"
;;
off)
echo 0 | sudo tee $BUZZER > /dev/null
echo "Buzzer OFF"
;;
beep)
local duration=${2:-0.2}
echo 1 | sudo tee $BUZZER > /dev/null
sleep $duration
echo 0 | sudo tee $BUZZER > /dev/null
;;
status)
local state=$(cat $BUZZER)
echo "Buzzer is: $([ $state -eq 1 ] && echo 'ON' || echo 'OFF')"
;;
*)
echo "Usage: buzzer {on|off|beep [duration]|status}"
;;
esac
}
Then use:
buzzer beep 0.2 # Single beep
buzzer on # Turn on
buzzer off # Turn off
buzzer status # Check status
Troubleshooting
Buzzer Not Working
-
Check device exists:
ls -la /sys/class/leds/usr-buzzer/ -
Check permissions:
# You need sudo to control the buzzer sudo echo 1 > /sys/class/leds/usr-buzzer/brightness -
Check kernel messages:
dmesg | grep -i buzzer -
Verify GPIO/device tree:
# Check if buzzer is in device tree ls /proc/device-tree/ | grep -i buzz
No Sound from Buzzer
- The buzzer is a simple active buzzer - it should make a continuous tone when ON
- If no sound, check physical connections (buzzer may be damaged)
- Verify the device is powered on
- Check if buzzer is disabled in device tree or kernel config
Notes
- Buzzer is simple: It can only be ON or OFF - no frequency control
- Requires sudo: Writing to sysfs requires root privileges
- Location: Bottom right corner of the screen
- Use case: System alerts, notifications, error indicators
- Not for audio: The buzzer cannot play music or complex sounds - only simple beeps
Related Documentation
- See
AUDIO-CONFIGURATION-REPORT.mdfor complete audio system information - reTerminal DM4 User Manual for hardware specifications