#!/bin/bash
set -e

echo "Copyright © Biaschtln 2024"
echo "Version 1.0.2"
echo
echo

echo "Stecke deinen USB-Drucker per USB an dein System und führe den Befehl 'lsusb' in einem Terminal aus."
echo "Die Ausgabe sollte in etwa so aussehen:"
echo
echo "$ lsusb"
echo "Bus 004 Device 011: ID 05e3:0616 Genesys Logic, Inc. hub"
echo "Bus 004 Device 010: ID 0bda:0411 Realtek Semiconductor Corp. Hub"
echo "Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub"
echo "Bus 001 Device 074: ID 04b8:0e28 Seiko Epson Corp. TM-T20III"
echo
echo "In diesem Beispiel ist die letzte Zeile wichtig, da sie die notwendigen Infos für den Drucker beinhaltet."
echo "Je nach Druckermodell kann sie bei dir ein bisschen anders aussehen."
echo "Die Zahl vor dem ':' ist die Vendor-ID."
echo "Die Zahl nach dem ':' ist die Product-ID."
echo
echo "Gib deine Vendor-ID ein: "
read idVendor
echo "Gib deine Product-ID ein: "
read idProduct

runCmd="/bin/sh -c 'echo -n \$id:1.0 > /sys/bus/usb/drivers/usblp/unbind && echo -n \$id:1.0 > /sys/bus/usb/drivers/usbfs/unbind'"
udevLine="SUBSYSTEM==\"usb\", ATTRS{idVendor}==\"$idVendor\", ATTRS{idProduct}==\"$idProduct\", MODE:=\"666\", GROUP=\"users\", RUN+=\"$runCmd\"\n"
fileName="/etc/udev/rules.d/99-pos-printer.rules"

echo -e $udevLine > $fileName
sudo udevadm control --reload-rules && sudo udevadm trigger

echo
echo "Entferne jetzt das USB-Kabel deines Druckers und stecke es erneut an."
echo "Jetzt sollte dein Drucker funktionieren."

echo
echo "Sollten immer noch Probleme auftreten schreib uns eine Mail an info@biaschtln.at."

exit 0
