sobota 18. ledna 2020

Symlinky pro více tiskáren pod OpenWRT

Tiskárny se přesunuly do /dev/usb/lp*, udev byl nahrazen procd. Konfigurační soubory jsou podobné jako u hotplug, tedy v /etc/hotplug.d/ pro USB je to například /etc/hotplug.d/usbmisc/20-p910nd

konfigurační soubor by mělo stačit upravit takto:

skriptík v podstatě načte z /sys/devices/ ze souboru ieee1284_id informace o tiskárně a podle názvu tiskárny vytvoří smylink do /dev. Například tedy /dev/ML-1520/dev/CLP-320.


#!/bin/sh case "$ACTION" in add) [ -n "${DEVNAME}" ] && [ "${DEVNAME##usb/lp*}" = "" ] && { chmod 660 /dev/"$DEVNAME" chgrp lp /dev/"$DEVNAME" # ieee1284_id file content: MFG:Samsung;CMD:SPLC,FWV,EXT;MDL:CLP-320 Series;CLS:PRINTER;STATUS:BUSY;root INFO=$(cat /sys${DEVPATH%usbmisc*}ieee1284_id) # get PRODUCT PRODUCT=${INFO#*MDL:} # remove string before printer name PRODUCT=${PRODUCT%;CLS*} # remove string after printer name PRODUCT=${PRODUCT% *} # remove string after space at printer name ln -s /dev/${DEVNAME} /dev/$PRODUCT # creat symlink logger "New symlink created (/dev/${PRODUCT})" } ;; remove) # device is gone ;; esac