-
Notifications
You must be signed in to change notification settings - Fork 1
Closed
Labels
Description
Description
Current implementation lacks proper device identification. Need to add EdgeOS branding and unique device naming based on hardware serial.
Current Problem
- Static product name
- No manufacturer branding
- No unique device identification
Implementation
- Extract device serial from multiple sources
- Set manufacturer to "EdgeOS"
- Set product name with serial suffix
- Create fallback chain for different hardware
Serial Detection Chain
# Try device tree serial (modern approach)
if [ -f /proc/device-tree/serial-number ]; then
SERIAL=$(cat /proc/device-tree/serial-number | tr -d '\0')
fi
# Try Raspberry Pi method
if [ -z "$SERIAL" ] && [ -f /proc/cpuinfo ]; then
SERIAL=$(awk -F ': ' '/Serial/ {print $2}' /proc/cpuinfo)
fi
# Try Jetson methods
if [ -z "$SERIAL" ]; then
SERIAL=$(cat /sys/devices/platform/tegra-fuse/uid 2>/dev/null)
fi
# Fallback to MAC address
if [ -z "$SERIAL" ]; then
SERIAL=$(cat /sys/class/net/eth0/address 2>/dev/null || echo "UNKNOWN")
fiUSB Gadget Configuration
# Get last 8 characters for short identifier
SHORT_SERIAL=${SERIAL: -8}
CLEAN_SERIAL=$(echo $SHORT_SERIAL | tr -d ':')
# Set device identification
echo "EdgeOS" > strings/0x409/manufacturer
echo "EdgeOS Device ${CLEAN_SERIAL}" > strings/0x409/product
echo "$SERIAL" > strings/0x409/serialnumberAcceptance Criteria
- Device appears as "EdgeOS Device XXXX" in host OS
- Serial number correctly extracted from hardware
- Works on RPi, Jetson, and generic ARM boards
- Meaningful fallback if serial unavailable
- Clean serial format (no colons or special chars in product name)
- Full serial preserved in serialnumber field
Reactions are currently unavailable