Hallo
Ich habe diese Regel geschrieben: [code] cat /etc/udev/rules.d/51-my-fairphone2.rules # my fairphone 2 SUBSYSTEM=="usb", ATTR{idVendor}=="2ae5", ATTR{idProduct}=="9039", GROUP="plugdev", ENV{adb_user}=="yes", RUN+="/home/md/Software/Linux/Maint_u_Skripte/Fairphone2/Desktop_2_Fairphone2_rsync.bash" [/code]
Darin steht [code] cat /home/md/Software/Linux/Maint_u_Skripte/Fairphone2/Desktop_2_Fairphone2_rsync.bash #!/bin/bash
ULBIN_EXECS=/usr/local/bin/execs.source if [ -f "$ULBIN_EXECS" ] ;then . "$ULBIN_EXECS" else echo "$0 $ULBIN_EXECS nicht gefunden" exit 200 fi
if [ -f "$LOG_FUNC" ] ; then . "$LOG_FUNC" else echo "$0 $LOG_FUNC nicht gefunden" exit 201 fi
open_log
if ! [ "${UID}" = 0 ] ; then echo "Do operate $0 as root exclusively" close_on_error fi
set -x set -v set +e ADB=/usr/bin/adb DESKTOP=/home/md/Schreibtisch/
set -u #o pipefail IFS=$'\n\t'
MYPHONE=/home/md/.myphone if [ -f "$MYPHONE" ] then . "$MYPHONE" else echo "Datei $MYPHONE nicht gefunden" close_on_error fi
if [ "$(lsusb -d "$VENDOR":"$PRODUCT" )" ] ; then echo "Fairphone2 found" echo "Fairphone / Menu / Einstellungen / Suche 'USB' / Dateiübertragung wählen" echo "Fairphone / Menu / Einstellungen / System / Erweitert / Entwickleroptionen / USB-Debugging / ON" sleep 1 if [ "$($ADB get-serialno)" != "$SERIAL" ] ; then echo "not your Phone" close_on_error fi else echo "Fairphone2 not connected" close_on_error fi
#adb shell am start -n com.package.name/com.package.name.ActivityName $ADB shell ps com.termux || \ $ADB shell am start -n com.termux/.HomeActivity
adb forward tcp:8022 tcp:8022
$RSYNC -e 'ssh -p 8022' --delete -av $DESKTOP user@127.0.0.1:/data/data/com.termux/files/home/storage/documents/
for DIR in DCIM/Camera Pictures Movies DCIM Screenshots ; do #$RSYNC -e 'ssh -p 8022' --delete -av user@127.0.0.1:/data/data/com.termux/files/home/storage/dcim/ /home/md/Sofortupload/DCIM/Camera/${DIR}/
$RSYNC -e 'ssh -p 8022' -av user@127.0.0.1:/data/data/com.termux/files/home/storage/${DIR@L} /home/md/Sofortupload/${DIR}/ done
$ADB shell -user user am pkill termux
close_log_exit exit 0 [/code]
ULBIN_EXECS=/usr/local/bin/execs.source stellen eine Menge shortcuts für bash bereit (auch $LOG_FUNC) und $LOG_FUNC stellt eine automatisierte log Umgebung bereit mit open_log, close_log und close_on_error
Problem : die udev regel wird anscheinend zweimal unmittelbar hintereinander aufgerufen so dass ich bei jeden Anstecken des fairphones zwei logs bekommen. [code] ls -tl insgesamt 340 -rw-r--r-- 1 root root 8859 25. Jul 13:03 Desktop_2_Fairphone2_rsync.log -rw-r--r-- 1 root root 2439 25. Jul 13:02 Desktop_2_Fairphone2_rsync.log.2026-07-25_13:02:58 -rw-r--r-- 1 root root 30403 25. Jul 13:00 Desktop_2_Fairphone2_rsync.log.2026-07-25_13:00:08 -rw-r--r-- 1 root root 30536 25. Jul 13:00 Desktop_2_Fairphone2_rsync.log.2026-07-25_13:00:02 -rw-r--r-- 1 root root 30168 23. Jul 13:24 Desktop_2_Fairphone2_rsync.log.2026-07-23_13:24:40 -rw-r--r-- 1 root root 2451 23. Jul 13:24 Desktop_2_Fairphone2_rsync.log.2026-07-23_13:24:35 -rw-r--r-- 1 root root 30259 23. Jul 01:04 Desktop_2_Fairphone2_rsync.log.2026-07-23_01:04:27 -rw-r--r-- 1 root root 30317 23. Jul 01:04 Desktop_2_Fairphone2_rsync.log.2026-07-23_01:04:20 -rw-r--r-- 1 root root 34842 23. Jul 00:47 Desktop_2_Fairphone2_rsync.log.2026-07-23_00:47:03 -rw-r--r-- 1 root root 34899 23. Jul 00:46 Desktop_2_Fairphone2_rsync.log.2026-07-23_00:46:47 [/code]
[code] locate -i fairphone | grep rules /etc/udev/rules.d/51-my-fairphone2.rules /home/md/Hardware/Fairphone2/rules.txt [/code]
[code] /lib/udev/rules.d # grep -iA2 fairphone * 51-android.rules:# Fairphone 2 51-android.rules-SUBSYSTEM=="usb", ATTR{idVendor}=="2ae5", ENV{adb_user}="yes" 51-android.rules- 51-android.rules:# Fairphone 2 aka Qualcomm, Inc. 51-android.rules-SUBSYSTEM=="usb", ATTR{idVendor}=="05c6", ATTR{idProduct}=="901d", ENV{adb_user}="yes" 51-android.rules- [/code]
Wie kann ich den Grund für den doppelten Aufruf der udev Regel erkennen und beseitigen?
Das werden zwei verschiedene Events sein, die beide auf die Regel passen. Bei USB Geräten können da mehrere feuern. Da kannst du zB mit ENV{DEVTYPE}=="usb_device" weiter einschränken.
Erich Minderlein wrote (at 2026-07-25 11:43 +0000):
Hallo
Ich habe diese Regel geschrieben: [code] cat /etc/udev/rules.d/51-my-fairphone2.rules # my fairphone 2 SUBSYSTEM=="usb", ATTR{idVendor}=="2ae5", ATTR{idProduct}=="9039", GROUP="plugdev", ENV{adb_user}=="yes", RUN+="/home/md/Software/Linux/Maint_u_Skripte/Fairphone2/Desktop_2_Fairphone2_rsync.bash" [/code]
Darin steht [code] cat /home/md/Software/Linux/Maint_u_Skripte/Fairphone2/Desktop_2_Fairphone2_rsync.bash #!/bin/bash
ULBIN_EXECS=/usr/local/bin/execs.source if [ -f "$ULBIN_EXECS" ] ;then . "$ULBIN_EXECS" else echo "$0 $ULBIN_EXECS nicht gefunden" exit 200 fi
if [ -f "$LOG_FUNC" ] ; then . "$LOG_FUNC" else echo "$0 $LOG_FUNC nicht gefunden" exit 201 fi
open_log
if ! [ "${UID}" = 0 ] ; then echo "Do operate $0 as root exclusively" close_on_error fi
set -x set -v set +e ADB=/usr/bin/adb DESKTOP=/home/md/Schreibtisch/
set -u #o pipefail IFS=$'\n\t'
MYPHONE=/home/md/.myphone if [ -f "$MYPHONE" ] then . "$MYPHONE" else echo "Datei $MYPHONE nicht gefunden" close_on_error fi
if [ "$(lsusb -d "$VENDOR":"$PRODUCT" )" ] ; then echo "Fairphone2 found" echo "Fairphone / Menu / Einstellungen / Suche 'USB' / Dateiübertragung wählen" echo "Fairphone / Menu / Einstellungen / System / Erweitert / Entwickleroptionen / USB-Debugging / ON" sleep 1 if [ "$($ADB get-serialno)" != "$SERIAL" ] ; then echo "not your Phone" close_on_error fi else echo "Fairphone2 not connected" close_on_error fi
#adb shell am start -n com.package.name/com.package.name.ActivityName $ADB shell ps com.termux || \ $ADB shell am start -n com.termux/.HomeActivity
adb forward tcp:8022 tcp:8022
$RSYNC -e 'ssh -p 8022' --delete -av $DESKTOP user@127.0.0.1:/data/data/com.termux/files/home/storage/documents/
for DIR in DCIM/Camera Pictures Movies DCIM Screenshots ; do #$RSYNC -e 'ssh -p 8022' --delete -av user@127.0.0.1:/data/data/com.termux/files/home/storage/dcim/ /home/md/Sofortupload/DCIM/Camera/${DIR}/
$RSYNC -e 'ssh -p 8022' -avuser@127.0.0.1:/data/data/com.termux/files/home/storage/${DIR@L} /home/md/Sofortupload/${DIR}/ done
$ADB shell -user user am pkill termux
close_log_exit exit 0 [/code]
ULBIN_EXECS=/usr/local/bin/execs.source stellen eine Menge shortcuts für bash bereit (auch $LOG_FUNC) und $LOG_FUNC stellt eine automatisierte log Umgebung bereit mit open_log, close_log und close_on_error
Problem : die udev regel wird anscheinend zweimal unmittelbar hintereinander aufgerufen so dass ich bei jeden Anstecken des fairphones zwei logs bekommen. [code] ls -tl insgesamt 340 -rw-r--r-- 1 root root 8859 25. Jul 13:03 Desktop_2_Fairphone2_rsync.log -rw-r--r-- 1 root root 2439 25. Jul 13:02 Desktop_2_Fairphone2_rsync.log.2026-07-25_13:02:58 -rw-r--r-- 1 root root 30403 25. Jul 13:00 Desktop_2_Fairphone2_rsync.log.2026-07-25_13:00:08 -rw-r--r-- 1 root root 30536 25. Jul 13:00 Desktop_2_Fairphone2_rsync.log.2026-07-25_13:00:02 -rw-r--r-- 1 root root 30168 23. Jul 13:24 Desktop_2_Fairphone2_rsync.log.2026-07-23_13:24:40 -rw-r--r-- 1 root root 2451 23. Jul 13:24 Desktop_2_Fairphone2_rsync.log.2026-07-23_13:24:35 -rw-r--r-- 1 root root 30259 23. Jul 01:04 Desktop_2_Fairphone2_rsync.log.2026-07-23_01:04:27 -rw-r--r-- 1 root root 30317 23. Jul 01:04 Desktop_2_Fairphone2_rsync.log.2026-07-23_01:04:20 -rw-r--r-- 1 root root 34842 23. Jul 00:47 Desktop_2_Fairphone2_rsync.log.2026-07-23_00:47:03 -rw-r--r-- 1 root root 34899 23. Jul 00:46 Desktop_2_Fairphone2_rsync.log.2026-07-23_00:46:47 [/code]
[code] locate -i fairphone | grep rules /etc/udev/rules.d/51-my-fairphone2.rules /home/md/Hardware/Fairphone2/rules.txt [/code]
[code] /lib/udev/rules.d # grep -iA2 fairphone * 51-android.rules:# Fairphone 2 51-android.rules-SUBSYSTEM=="usb", ATTR{idVendor}=="2ae5", ENV{adb_user}="yes" 51-android.rules- 51-android.rules:# Fairphone 2 aka Qualcomm, Inc. 51-android.rules-SUBSYSTEM=="usb", ATTR{idVendor}=="05c6", ATTR{idProduct}=="901d", ENV{adb_user}="yes" 51-android.rules- [/code]
Wie kann ich den Grund für den doppelten Aufruf der udev Regel erkennen und beseitigen?
-- mit freundlichen Grüßen with the beste regards
cordialement
Erich |/|inderlei||
https://www.theregister.com/2024/06/28/windows_insecure_by_design/
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=958390
Sorglos-Software ist halt immer auch Hilflos-Software. https://european-alternatives.eu/
Hallo,
On 2026-07-26 13:00, Holger Klawitter wrote:
Das werden zwei verschiedene Events sein, die beide auf die Regel passen. Bei USB Geräten können da mehrere feuern. Da kannst du zB mit ENV{DEVTYPE}=="usb_device" weiter einschränken.
mit
udevadm monitor
kannst Du mitloggen, welche udev-Events feuern. Das sollte auch beim Einschränken helfen.
Liebe Grüße Uwe