View previous topic :: View next topic |
Author |
Message |
robertsurma n00b
Joined: 17 Jan 2008 Posts: 56 Location: Tychy
|
Posted: Thu Aug 27, 2015 8:35 pm Post subject: [SOLVED] Skrypty /etc/hotplug/* |
|
|
Czy coś się ostatnio zmieniło?
Skrypty w /etc/hotplug/usb/* nie są uruchamiane.
Nie mam także /sbin/hotplug
Używam udev, openrc, kernel 4.0.5.
Urządzenia USB są uczywiście wykrywane (drukarki, dyski). Chodzi tylko o uruchamianie tych skryptów.
Zapomniałem jakiegoś pakietu lub opcji w jądrze? _________________ Free as a bird...
Last edited by robertsurma on Fri Aug 28, 2015 8:50 pm; edited 1 time in total |
|
Back to top |
|
|
robertsurma n00b
Joined: 17 Jan 2008 Posts: 56 Location: Tychy
|
Posted: Fri Aug 28, 2015 8:49 pm Post subject: |
|
|
Wstyd się przyznać, ale nie śledziłem ostatnio trendów w tym temacie i nie byłem świadom, że udev już całkowicie zastąpiło /etc/hotplug (myślałem, że nadal działają równocześnie). Na swoje pocieszenie dodam, że developerzy pakietu foo2zjs też chyba nie są tego świadomi, bo to właśnie ten pakiet stworzył /etc/hotplug i umieścił w nim skrypty inicjujące drukarkę (które oczywiście są "martwe").
Cóż... musiałem sam napisać skrypty, które będą wysyłać do drukarki HP1018 firmware i umieścić je w /udev/rules.d.
Dla zainteresowanych, podaję poniżej zawartość (skrypty oprócz wysyłania firmware'u, mają także zapobiegać kilkukrotnemu uruchamianiu się w pętli - stąd "locker").
cat /udev/rules.d/hp_1018.rules
Code: | #!/bin/bash
# Wysyła firmware po wykryciu drukarki HP1018
# Atrybuty urzadzenia mozna uzyskac wydajac polecenie:
# udevadm info -a -p /sys/class/usbmics/lp0
ACTION=="add", ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="4117", ATTRS{serial}=="KP3KW7X", RUN+="/home/user/.skrypty/hp_1018_firmware"
ACTION=="remove", ENV{ID_MODEL}=="HP_LaserJet_1018", RUN+="/home/user/.skrypty/hp_1018_rm_locker" |
cat /home/user/.skrypty/hp_1018_firmware
Code: | #!/bin/bash
LOCKER='/tmp/hp1018.lock';
FIRMWARE='/usr/share/foo2zjs/firmware/sihp1018.dl';
DRUKARKA='/dev/usb/lp0';
LOG='/tmp/hp1018.log';
if [ -e $LOG ]; then
echo "`date` : Skrypt wywoływany jest po raz kolejny" >> $LOG;
else
touch $LOG;
chmod 777 $LOG;
chown robert.users $LOG;
fi
sleep 3;
if [ -e $LOCKER ]; then
echo "`date` : Odmowa. Firmware zostal juz wyslany" >> $LOG;
sleep 3;
break;
else
if [ -e $DRUKARKA ]; then
echo "`date` : Wykryto urzadzenie drukarki. Za 2 sekundy wysle firmware do drukarki." >> $LOG;
sleep 2;
echo "`date` : Wysylam..." >> $LOG;
cat $FIRMWARE > $DRUKARKA;
echo "`date` : Firmware zostal wyslany" >> $LOG;
sleep 4;
touch $LOCKER && chmod 777 $LOCKER && chown robert.users $LOCKER;
break;
else
echo "`date` : Nie wykryto jeszcze urzadzenia drukarki" >> $LOG;
fi
fi |
cat /home/user/.skrypty/hp_1018_rm_locker
Code: | #!/bin/bash
rm -f /tmp/hp1018.lock;
rm -f /tmp/hp1018.log; |
_________________ Free as a bird... |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|