#!/bin/bash set -euo pipefail LOG_TAG="sep5-loader" DRIVER_NAME="sep5" MODPROBE="/sbin/modprobe" DMSG="/bin/dmesg"
log() logger -t "$LOG_TAG" "$1" echo "$(date): $1" >> /var/log/sep5-load.log
log "Starting SEP5 driver load attempt" if lsmod | grep -q "^$DRIVER_NAME "; then log "Driver already loaded" exit 0 fi Pre-check module exists if ! $MODPROBE --dry-run "$DRIVER_NAME" 2>/dev/null; then log "ERROR: SEP5 module not found or invalid" exit 1 fi Load module if $MODPROBE "$DRIVER_NAME"; then log "SUCCESS: SEP5 driver loaded" # Optional: create device node if [ -c /dev/sep5 ]; then chmod 660 /dev/sep5 fi exit 0 else log "FAILED: modprobe sep5 returned $?" $DMSG | tail -20 | logger -t "$LOG_TAG" exit 1 fi
/etc/systemd/system/sep5-driver-load.service
/usr/local/sbin/load-sep5-driver.sh
# /etc/systemd/system/sep5-driver-load.service.d/10-depends.conf [Unit] After=dkms.service Requires=dkms.service