123456789101112131415161718192021222324252627 |
- #!/bin/sh -e
- FIRMWARE_DIRS="/lib/firmware /usr/local/lib/firmware"
- err() {
- echo "$@" >&2
- if [ -x /bin/logger ]; then
- /bin/logger -t "${0##*/}[$$]" "$@"
- fi
- }
- if [ ! -e /sys$DEVPATH/loading ]; then
- err "udev firmware loader misses sysfs directory"
- exit 1
- fi
- for DIR in $FIRMWARE_DIRS; do
- [ -e "$DIR/$FIRMWARE" ] || continue
- echo 1 > /sys$DEVPATH/loading
- cat "$DIR/$FIRMWARE" > /sys$DEVPATH/data
- echo 0 > /sys$DEVPATH/loading
- exit 0
- done
- echo -1 > /sys$DEVPATH/loading
- err "Cannot find firmware file '$FIRMWARE'"
- exit 1
|