[SOLVED] udev rules: cannot run command
I want to run a scipt everytime I plug in my external harddrive. I read the documentation and create a file called /etc/udev/rules.d/extern_hd.rules:
SUBSYSTEMS=="usb", SYSFS{serial}=="33504D315647585A", SYMLINK+="ExternHD", RUN+="/root/scripts/test.sh"
The symlink "ExternHD" gets created. The permissions of test.sh are rwxr-xr-x root root, but it never gets executed. What am I doing wrong?
Last edited by Kei (2007-09-18 11:30:35)
Solution was easy... Udev doesn't want to start anything from within /root, so I put a hardlink to /usr/local/bin/ and now everything works fine.
Similar Messages
-
In Windows I would expect to call up a seperate command window with the following, but it appears to freeze up. What am I doing wrong?
import java.io.*;
public class command {
public static void main(String[]args) {
try {
Process runprogram = Runtime.getRuntime().exec("C:\\windows\\system32\\cmd.exe");
try {
runprogram.waitFor();
catch(InterruptedException e){}
catch(IOException e) {
System.err.println("Cannot run command window");
}What about this...
Process proc = null;
try
proc = Runtime.getRuntime().exec("start cmd");
proc.waitFor();
catch(Exception e)
e.printStackTrace();
}Some dukies would be nice next time ;-) -
[SOLVED] udev rule no longer working
I have a udev rule set up to automatically mount an ext4 filesystem when I plug a certain thumb drive in. It was working fine until yesterday (probably due to updates). Here is the rule, in file /etc/udev/rules.d/99-gfk.rules:
KERNEL=="sd?2", SUBSYSTEM=="block", ATTRS{idVendor}=="0930", ATTRS{idProduct}=="6545", ATTRS{serial}=="1C6F654E4041ED601910053F", SYMLINK+="gfshare"
ACTION=="add", KERNEL=="sd?2", SUBSYSTEM=="block", ATTRS{idVendor}=="0930", ATTRS{idProduct}=="6545", ATTRS{serial}=="1C6F654E4041ED601910053F", RUN+="/bin/mkdir /media/gfshare"
ACTION=="add", KERNEL=="sd?2", SUBSYSTEM=="block", ATTRS{idVendor}=="0930", ATTRS{idProduct}=="6545", ATTRS{serial}=="1C6F654E4041ED601910053F", RUN+="/bin/mount -t ext4 -o ro,nosuid,nodev,noexec,noatime /dev/gfshare /media/gfshare"
The symlink and the mkdir command are both working fine, but the mount command is not being run for some reason. If I manually run the mount command it works fine. Some possibly helpful output:
# pacman -Qo $(which udevadm)
/usr/bin/udevadm is owned by systemd 212-1
# dmesg |tail -16
[26458.120628] usb 7-1.3: new high-speed USB device number 7 using ehci-pci
[26458.223059] usb-storage 7-1.3:1.0: USB Mass Storage device detected
[26458.223825] scsi10 : usb-storage 7-1.3:1.0
[26459.311607] scsi 10:0:0:0: Direct-Access Kingston DataTraveler 2.0 PMAP PQ: 0 ANSI: 4
[26460.834081] sd 10:0:0:0: [sdd] 15240576 512-byte logical blocks: (7.80 GB/7.26 GiB)
[26460.834931] sd 10:0:0:0: [sdd] Write Protect is off
[26460.834935] sd 10:0:0:0: [sdd] Mode Sense: 23 00 00 00
[26460.835617] sd 10:0:0:0: [sdd] No Caching mode page found
[26460.835621] sd 10:0:0:0: [sdd] Assuming drive cache: write through
[26460.839455] sd 10:0:0:0: [sdd] No Caching mode page found
[26460.839460] sd 10:0:0:0: [sdd] Assuming drive cache: write through
[26460.860579] sdd: sdd1 sdd2
[26460.867111] sd 10:0:0:0: [sdd] No Caching mode page found
[26460.867115] sd 10:0:0:0: [sdd] Assuming drive cache: write through
[26460.867118] sd 10:0:0:0: [sdd] Attached SCSI removable disk
[26461.041982] EXT4-fs (sdd2): mounted filesystem with ordered data mode. Opts: (null)
# udevadm test /sys/bus/usb/devices/7-1.3
calling: test
version 212
This program is for debugging only, it does not run any program
specified by a RUN key. It may show incorrect results, because
some values may be different, or not available at a simulation run.
load module index
timestamp of '/etc/systemd/network' changed
timestamp of '/usr/lib/systemd/network' changed
Parsed configuration file /usr/lib/systemd/network/99-default.link
Created link configuration context
timestamp of '/etc/udev/rules.d' changed
Skipping overridden file: /usr/lib/udev/rules.d/80-net-setup-link.rules.
read rules file: /usr/lib/udev/rules.d/10-dm.rules
read rules file: /usr/lib/udev/rules.d/11-dm-lvm.rules
read rules file: /etc/udev/rules.d/12-android.rules
read rules file: /usr/lib/udev/rules.d/13-dm-disk.rules
read rules file: /usr/lib/udev/rules.d/40-hpet-permissions.rules
read rules file: /usr/lib/udev/rules.d/40-usb-media-players.rules
read rules file: /usr/lib/udev/rules.d/42-usb-hid-pm.rules
read rules file: /usr/lib/udev/rules.d/50-firmware.rules
read rules file: /usr/lib/udev/rules.d/50-udev-default.rules
read rules file: /usr/lib/udev/rules.d/51-android.rules
read rules file: /usr/lib/udev/rules.d/60-cdrom_id.rules
read rules file: /usr/lib/udev/rules.d/60-drm.rules
read rules file: /usr/lib/udev/rules.d/60-keyboard.rules
read rules file: /usr/lib/udev/rules.d/60-pcmcia.rules
read rules file: /usr/lib/udev/rules.d/60-persistent-alsa.rules
read rules file: /usr/lib/udev/rules.d/60-persistent-input.rules
read rules file: /usr/lib/udev/rules.d/60-persistent-serial.rules
read rules file: /usr/lib/udev/rules.d/60-persistent-storage-tape.rules
read rules file: /usr/lib/udev/rules.d/60-persistent-storage.rules
read rules file: /usr/lib/udev/rules.d/60-persistent-v4l.rules
read rules file: /usr/lib/udev/rules.d/60-vboxdrv.rules
read rules file: /usr/lib/udev/rules.d/61-accelerometer.rules
read rules file: /usr/lib/udev/rules.d/63-md-raid-arrays.rules
read rules file: /usr/lib/udev/rules.d/64-btrfs.rules
read rules file: /usr/lib/udev/rules.d/64-md-raid-assembly.rules
read rules file: /usr/lib/udev/rules.d/69-cd-sensors.rules
read rules file: /usr/lib/udev/rules.d/69-dm-lvm-metad.rules
read rules file: /usr/lib/udev/rules.d/69-libmtp.rules
read rules file: /usr/lib/udev/rules.d/70-infrared.rules
read rules file: /usr/lib/udev/rules.d/70-power-switch.rules
read rules file: /usr/lib/udev/rules.d/70-uaccess.rules
read rules file: /usr/lib/udev/rules.d/71-seat.rules
read rules file: /usr/lib/udev/rules.d/73-seat-late.rules
read rules file: /usr/lib/udev/rules.d/75-net-description.rules
read rules file: /usr/lib/udev/rules.d/75-probe_mtd.rules
read rules file: /usr/lib/udev/rules.d/75-tty-description.rules
read rules file: /usr/lib/udev/rules.d/78-sound-card.rules
read rules file: /usr/lib/udev/rules.d/80-drivers.rules
read rules file: /etc/udev/rules.d/80-net-setup-link.rules
read rules file: /usr/lib/udev/rules.d/80-udisks.rules
read rules file: /usr/lib/udev/rules.d/80-udisks2.rules
read rules file: /usr/lib/udev/rules.d/85-usbmuxd.rules
read rules file: /usr/lib/udev/rules.d/90-alsa-restore.rules
read rules file: /usr/lib/udev/rules.d/95-cd-devices.rules
read rules file: /usr/lib/udev/rules.d/95-dm-notify.rules
read rules file: /usr/lib/udev/rules.d/95-udev-late.rules
read rules file: /usr/lib/udev/rules.d/95-upower-battery-recall-dell.rules
read rules file: /usr/lib/udev/rules.d/95-upower-battery-recall-fujitsu.rules
read rules file: /usr/lib/udev/rules.d/95-upower-battery-recall-gateway.rules
read rules file: /usr/lib/udev/rules.d/95-upower-battery-recall-ibm.rules
read rules file: /usr/lib/udev/rules.d/95-upower-battery-recall-lenovo.rules
read rules file: /usr/lib/udev/rules.d/95-upower-battery-recall-toshiba.rules
read rules file: /usr/lib/udev/rules.d/95-upower-csr.rules
read rules file: /usr/lib/udev/rules.d/95-upower-hid.rules
read rules file: /usr/lib/udev/rules.d/95-upower-wup.rules
read rules file: /etc/udev/rules.d/99-gfk.rules
read rules file: /usr/lib/udev/rules.d/99-systemd.rules
read rules file: /usr/lib/udev/rules.d/kino.rules
rules contain 98304 bytes tokens (8192 * 12 bytes), 22360 bytes strings
10092 strings (88570 bytes), 8317 de-duplicated (67986 bytes), 1776 trie nodes used
IMPORT builtin 'usb_id' /usr/lib/udev/rules.d/50-udev-default.rules:9
IMPORT builtin 'hwdb' /usr/lib/udev/rules.d/50-udev-default.rules:9
MODE 0664 /usr/lib/udev/rules.d/50-udev-default.rules:37
GROUP 1002 /usr/lib/udev/rules.d/51-android.rules:387
MODE 0660 /usr/lib/udev/rules.d/51-android.rules:387
RUN '/usr/share/virtualbox/VBoxCreateUSBNode.sh $major $minor $attr{bDeviceClass} vboxusers' /usr/lib/udev/rules.d/60-vboxdrv.rules:6
PROGRAM '/usr/lib/udev/mtp-probe /sys/devices/pci0000:00/0000:00:1a.7/usb7/7-1/7-1.3 7 7' /usr/lib/udev/rules.d/69-libmtp.rules:1204
starting '/usr/lib/udev/mtp-probe /sys/devices/pci0000:00/0000:00:1a.7/usb7/7-1/7-1.3 7 7'
'/usr/lib/udev/mtp-probe /sys/devices/pci0000:00/0000:00:1a.7/usb7/7-1/7-1.3 7 7'(out) '0'
'/usr/lib/udev/mtp-probe /sys/devices/pci0000:00/0000:00:1a.7/usb7/7-1/7-1.3 7 7' [24644] exit with return code 0
IMPORT builtin 'path_id' /usr/lib/udev/rules.d/71-seat.rules:43
RUN 'uaccess' /usr/lib/udev/rules.d/73-seat-late.rules:15
handling device node '/dev/bus/usb/007/007', devnum=c189:774, mode=0660, uid=0, gid=1002
preserve permissions /dev/bus/usb/007/007, 020660, uid=0, gid=1002
preserve already existing symlink '/dev/char/189:774' to '../bus/usb/007/007'
ACTION=add
BUSNUM=007
DEVNAME=/dev/bus/usb/007/007
DEVNUM=007
DEVPATH=/devices/pci0000:00/0000:00:1a.7/usb7/7-1/7-1.3
DEVTYPE=usb_device
DRIVER=usb
ID_BUS=usb
ID_DRIVE_THUMB=1
ID_FOR_SEAT=usb-pci-0000_00_1a_7-usb-0_1_3
ID_MODEL=DataTraveler_2.0
ID_MODEL_ENC=DataTraveler\x202.0
ID_MODEL_FROM_DATABASE=Kingston DataTraveler 102 Flash Drive / HEMA Flash Drive 2 GB / PNY Attache 4GB Stick
ID_MODEL_ID=6545
ID_PATH=pci-0000:00:1a.7-usb-0:1.3
ID_PATH_TAG=pci-0000_00_1a_7-usb-0_1_3
ID_REVISION=0100
ID_SERIAL=Kingston_DataTraveler_2.0_1C6F654E4041ED601910053F
ID_SERIAL_SHORT=1C6F654E4041ED601910053F
ID_USB_INTERFACES=:080650:
ID_VENDOR=Kingston
ID_VENDOR_ENC=Kingston
ID_VENDOR_FROM_DATABASE=Toshiba Corp.
ID_VENDOR_ID=0930
MAJOR=189
MINOR=774
PRODUCT=930/6545/100
SUBSYSTEM=usb
TAGS=:seat:uaccess:
TYPE=0/0/0
USEC_INITIALIZED=26452326568
adb_user=yes
run: '/usr/share/virtualbox/VBoxCreateUSBNode.sh 189 774 00 vboxusers'
run: 'uaccess'
unload module index
Unloaded link configuration context
# udevadm test /sys/bus/usb/devices/7-1.3:1.0
calling: test
version 212
This program is for debugging only, it does not run any program
specified by a RUN key. It may show incorrect results, because
some values may be different, or not available at a simulation run.
load module index
timestamp of '/etc/systemd/network' changed
timestamp of '/usr/lib/systemd/network' changed
Parsed configuration file /usr/lib/systemd/network/99-default.link
Created link configuration context
timestamp of '/etc/udev/rules.d' changed
Skipping overridden file: /usr/lib/udev/rules.d/80-net-setup-link.rules.
read rules file: /usr/lib/udev/rules.d/10-dm.rules
read rules file: /usr/lib/udev/rules.d/11-dm-lvm.rules
read rules file: /etc/udev/rules.d/12-android.rules
read rules file: /usr/lib/udev/rules.d/13-dm-disk.rules
read rules file: /usr/lib/udev/rules.d/40-hpet-permissions.rules
read rules file: /usr/lib/udev/rules.d/40-usb-media-players.rules
read rules file: /usr/lib/udev/rules.d/42-usb-hid-pm.rules
read rules file: /usr/lib/udev/rules.d/50-firmware.rules
read rules file: /usr/lib/udev/rules.d/50-udev-default.rules
read rules file: /usr/lib/udev/rules.d/51-android.rules
read rules file: /usr/lib/udev/rules.d/60-cdrom_id.rules
read rules file: /usr/lib/udev/rules.d/60-drm.rules
read rules file: /usr/lib/udev/rules.d/60-keyboard.rules
read rules file: /usr/lib/udev/rules.d/60-pcmcia.rules
read rules file: /usr/lib/udev/rules.d/60-persistent-alsa.rules
read rules file: /usr/lib/udev/rules.d/60-persistent-input.rules
read rules file: /usr/lib/udev/rules.d/60-persistent-serial.rules
read rules file: /usr/lib/udev/rules.d/60-persistent-storage-tape.rules
read rules file: /usr/lib/udev/rules.d/60-persistent-storage.rules
read rules file: /usr/lib/udev/rules.d/60-persistent-v4l.rules
read rules file: /usr/lib/udev/rules.d/60-vboxdrv.rules
read rules file: /usr/lib/udev/rules.d/61-accelerometer.rules
read rules file: /usr/lib/udev/rules.d/63-md-raid-arrays.rules
read rules file: /usr/lib/udev/rules.d/64-btrfs.rules
read rules file: /usr/lib/udev/rules.d/64-md-raid-assembly.rules
read rules file: /usr/lib/udev/rules.d/69-cd-sensors.rules
read rules file: /usr/lib/udev/rules.d/69-dm-lvm-metad.rules
read rules file: /usr/lib/udev/rules.d/69-libmtp.rules
read rules file: /usr/lib/udev/rules.d/70-infrared.rules
read rules file: /usr/lib/udev/rules.d/70-power-switch.rules
read rules file: /usr/lib/udev/rules.d/70-uaccess.rules
read rules file: /usr/lib/udev/rules.d/71-seat.rules
read rules file: /usr/lib/udev/rules.d/73-seat-late.rules
read rules file: /usr/lib/udev/rules.d/75-net-description.rules
read rules file: /usr/lib/udev/rules.d/75-probe_mtd.rules
read rules file: /usr/lib/udev/rules.d/75-tty-description.rules
read rules file: /usr/lib/udev/rules.d/78-sound-card.rules
read rules file: /usr/lib/udev/rules.d/80-drivers.rules
read rules file: /etc/udev/rules.d/80-net-setup-link.rules
read rules file: /usr/lib/udev/rules.d/80-udisks.rules
read rules file: /usr/lib/udev/rules.d/80-udisks2.rules
read rules file: /usr/lib/udev/rules.d/85-usbmuxd.rules
read rules file: /usr/lib/udev/rules.d/90-alsa-restore.rules
read rules file: /usr/lib/udev/rules.d/95-cd-devices.rules
read rules file: /usr/lib/udev/rules.d/95-dm-notify.rules
read rules file: /usr/lib/udev/rules.d/95-udev-late.rules
read rules file: /usr/lib/udev/rules.d/95-upower-battery-recall-dell.rules
read rules file: /usr/lib/udev/rules.d/95-upower-battery-recall-fujitsu.rules
read rules file: /usr/lib/udev/rules.d/95-upower-battery-recall-gateway.rules
read rules file: /usr/lib/udev/rules.d/95-upower-battery-recall-ibm.rules
read rules file: /usr/lib/udev/rules.d/95-upower-battery-recall-lenovo.rules
read rules file: /usr/lib/udev/rules.d/95-upower-battery-recall-toshiba.rules
read rules file: /usr/lib/udev/rules.d/95-upower-csr.rules
read rules file: /usr/lib/udev/rules.d/95-upower-hid.rules
read rules file: /usr/lib/udev/rules.d/95-upower-wup.rules
read rules file: /etc/udev/rules.d/99-gfk.rules
read rules file: /usr/lib/udev/rules.d/99-systemd.rules
read rules file: /usr/lib/udev/rules.d/kino.rules
rules contain 98304 bytes tokens (8192 * 12 bytes), 22360 bytes strings
10092 strings (88570 bytes), 8317 de-duplicated (67986 bytes), 1776 trie nodes used
IMPORT builtin 'hwdb' /usr/lib/udev/rules.d/50-udev-default.rules:11
RUN 'kmod load $env{MODALIAS}' /usr/lib/udev/rules.d/80-drivers.rules:5
ACTION=add
DEVPATH=/devices/pci0000:00/0000:00:1a.7/usb7/7-1/7-1.3/7-1.3:1.0
DEVTYPE=usb_interface
DRIVER=usb-storage
ID_MODEL_FROM_DATABASE=Kingston DataTraveler 102 Flash Drive / HEMA Flash Drive 2 GB / PNY Attache 4GB Stick
ID_VENDOR_FROM_DATABASE=Toshiba Corp.
INTERFACE=8/6/80
MODALIAS=usb:v0930p6545d0100dc00dsc00dp00ic08isc06ip50in00
PRODUCT=930/6545/100
SUBSYSTEM=usb
TYPE=0/0/0
USEC_INITIALIZED=452326811
run: 'kmod load usb:v0930p6545d0100dc00dsc00dp00ic08isc06ip50in00'
unload module index
Unloaded link configuration context
Last edited by bentglasstube (2014-04-03 20:51:36)I see. That is somewhat aggravating but I will find another way to achieve what I wanted I suppose.
Thank you. Should I mark this is solved or unsolvable or something? Sorry, I'm new to posting on these forums.
Edit: I was able to achieve what I wanted with udevil as recommended by the wiki.
Last edited by bentglasstube (2014-04-03 20:55:45) -
[SOLVED] udev rule launch graphical app
How can I make a udev rule launch a graphical application, like, for instance, feh?
I've tried creating a rule detects when a specific mass storage device is connected and executes a script (/root/.scripts/feh-camera.sh). The script exports DISPLAY and XAUTHORITY and everything seems to work.
However when I restarted a black screen appeared right after Loading Modules (that appears after Starting udev events). Removing the udev rule solved the problem, so I must be doing something wrong.
What's the right way of doing this?
Thanks in advance.
Last edited by Vieira (2010-05-06 22:38:49)Device was not connected at boot but I'll try what you suggested anyway. Thanks for your help.
EDIT:
It's solved. It turns out the underlying problem was that exporting DISPLAY breaks the udev environment. For future reference solved it with:
45-foobar.rules
ATTRS{product}=="DSLR-A330", ATTR{removable}=="1", ENV{REMOVE_CMD}="/bin/umount /media/camera", RUN+="/bin/mount <bla bla>", RUN+="/bin/su vieira -c '/etc/udev/rules.d/45-foobar.sh'"
and the script, where the problem was, must not export anything, just set inline, i.e.
#!/bin/sh
HOME=/home/vieira DISPLAY=:0 /usr/bin/feh -r /mnt/camera
Last edited by Vieira (2010-05-06 22:35:39) -
[solved] udev-rules for bluetooth PCMCIA
My plan:
get my bluetooth-PCMCIA card to work:
CONCEPTONIC CBT100C
Problem:
I have to issue the following command for it to work:
#hciattach ttyS0 bcsp
Therefor I wrote following udev-rule that doesn't work:
##/etc/udev/rules.d/05-bluez-pcmcia-support.rules
SUBSYSTEMS=="pcmcia", ATTRS{prod_id2}=="Bluetooth Card", RUN+="/usr/sbin/hciattach ttyS0 bcsp"
My Question:
Could someone explain to me why this rule does not work?
Info:
#pccardctl info
PRODID_1="PCMCIA"
PRODID_2="Bluetooth Card"
PRODID_3=""
PRODID_4=""
MANFID=0279,950b
FUNCID=2
after #hciattach ttyS0 bcsp
#udevinfo -a -p /sys/devices/pci0000\:00/0000\:00\:1e.0/0000\:06\:09.0/0.0/tty/ttyS0/
KERNEL=="ttyS0"
SUBSYSTEM=="tty"
DRIVER==""
ATTR{dev}=="4:64"
looking at parent device '/devices/pci0000:00/0000:00:1e.0/0000:06:09.0/0.0/tty':
KERNELS=="tty"
SUBSYSTEMS==""
DRIVERS==""
looking at parent device '/devices/pci0000:00/0000:00:1e.0/0000:06:09.0/0.0':
KERNELS=="0.0"
SUBSYSTEMS=="pcmcia"
DRIVERS=="serial_cs"
ATTRS{modalias}=="pcmcia:m0279c950Bf02fn00pfn00pa281F1C5Dpb7664FB1Dpc00000000pd00000000"
ATTRS{prod_id2}=="Bluetooth Card"
ATTRS{prod_id1}=="PCMCIA"
ATTRS{card_id}=="0x950b"
ATTRS{manf_id}=="0x0279"
ATTRS{func_id}=="0x02"
ATTRS{pm_state}=="on"
ATTRS{function}=="0x00"
looking at parent device '/devices/pci0000:00/0000:00:1e.0/0000:06:09.0':
KERNELS=="0000:06:09.0"
SUBSYSTEMS=="pci"
DRIVERS=="yenta_cardbus"
ATTRS{msi_bus}=="1"
ATTRS{broken_parity_status}=="0"
ATTRS{enable}=="2"
ATTRS{modalias}=="pci:v00001180d00000476sv0000144Dsd0000C01Ebc06sc07i00"
ATTRS{local_cpus}=="f"
ATTRS{irq}=="16"
ATTRS{class}=="0x060700"
ATTRS{subsystem_device}=="0xc01e"
ATTRS{subsystem_vendor}=="0x144d"
ATTRS{device}=="0x0476"
ATTRS{vendor}=="0x1180"
looking at parent device '/devices/pci0000:00/0000:00:1e.0':
KERNELS=="0000:00:1e.0"
SUBSYSTEMS=="pci"
DRIVERS==""
ATTRS{msi_bus}=="1"
ATTRS{broken_parity_status}=="0"
ATTRS{enable}=="1"
ATTRS{modalias}=="pci:v00008086d00002448sv00000000sd00000000bc06sc04i01"
ATTRS{local_cpus}=="f"
ATTRS{irq}=="0"
ATTRS{class}=="0x060401"
ATTRS{subsystem_device}=="0x0000"
ATTRS{subsystem_vendor}=="0x0000"
ATTRS{device}=="0x2448"
ATTRS{vendor}=="0x8086"
looking at parent device '/devices/pci0000:00':
KERNELS=="pci0000:00"
SUBSYSTEMS==""
DRIVERS==""
ATTRS{uevent}==""
#dmesg
pccard: PCMCIA card inserted into slot 0
cs: memory probe 0xb4000000-0xb40fffff: excluding 0xb4000000-0xb400ffff
pcmcia: registering new device pcmcia0.0
ttyS0: detected caps 00000700 should be 00000100
0.0: ttyS0 at I/O 0x400 (irq = 3) is a 16C950/954
Last edited by mehldutt (2007-08-07 18:04:37)I called it
05-bluez-pcmcia-support.rules
I rebooted but still no success.
I also tried this:
ACTION=="add", SUBSYSTEMS=="pcmcia", ATTRS{prod_id2}=="Bluetooth Card", RUN+="aplay /usr/share/sounds/phone.wav"
But still no success -
[SOLVED] Udev rule to hibernate my laptop at certain battery level
Hi!
I'm needing this kind of udev rule, to have my laptop automatically hibernate when battery level is about 3% (or 5, it doesn't matter).
I don't want to have a little script running in the background that every eg 5 seconds polls my battery level, because i find it a really rough system.
I guess i can use udev to reach what i want.
udevadm info --path=/sys/class/power_supply/BAT0
P: /devices/LNXSYSTM:00/device:00/PNP0A08:00/device:0f/PNP0C09:00/PNP0C0A:00/power_supply/BAT0
E: DEVPATH=/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:0f/PNP0C09:00/PNP0C0A:00/power_supply/BAT0
E: POWER_SUPPLY_CHARGE_FULL=4800000
E: POWER_SUPPLY_CHARGE_FULL_DESIGN=4800000
E: POWER_SUPPLY_CHARGE_NOW=4800000
E: POWER_SUPPLY_CURRENT_NOW=0
E: POWER_SUPPLY_CYCLE_COUNT=0
E: POWER_SUPPLY_MANUFACTURER=SANYO
E: POWER_SUPPLY_MODEL_NAME=AS07B32
E: POWER_SUPPLY_NAME=BAT0
E: POWER_SUPPLY_PRESENT=1
E: POWER_SUPPLY_SERIAL_NUMBER= 7210
E: POWER_SUPPLY_STATUS=Full
E: POWER_SUPPLY_TECHNOLOGY=Li-ion
E: POWER_SUPPLY_VOLTAGE_MIN_DESIGN=14800000
E: POWER_SUPPLY_VOLTAGE_NOW=16142000
E: SUBSYSTEM=power_supply
Any help?
Thank you very much!
Last edited by nierro (2012-09-21 20:36:45)It is indeed udev, displaying device info from its database in response to a query - that's what 'udevadm info' does. But you can't write a udev rule against that info - you need a uevent.
man udev wrote:The udev daemon, systemd-udevd.service(8), receives device uevents directly from the kernel whenever a device is added or removed from the system, or it changes its state. When udev receives a device event, it matches its configured set of rules against various device attributes to identify the device. Rules that match may provide additional device information to be stored in the udev database or to be used to create meaningful symlink names.
If you run cybertorture's 'udevadm monitor' command above, as your battery is running down, you will not see any uevents. If you connect or disconnect your AC adapter, you will see uevents - in fact, you're using those ones already, to trigger your powersave script. So although the general description I've quoted mentions kernel uevents generated when a device "changes its state", this does not cover all possible changes, and in this particular case, it does not cover changes in battery charge level. -
[Solved] udev rule not working
Hi!
I'm trying to set my trackpoint sensitivity and speed using an udev rule:
[jeroen@zechs ~]$ ls -l /etc/udev/rules.d/
total 4
-rw-r--r-- 1 root root 113 Sep 14 01:54 10-trackpoint.rules
[jeroen@zechs ~]$ cat /etc/udev/rules.d/10-trackpoint.rules
# Set trackpoint option
KERNEL=="serio2", ATTR{speed}="180", ATTR{sensitivity}="255", RUN+="touch /tmp/udevtest"
When I test the rule, everything seems to be working as planned:
[jeroen@zechs ~]$ cat /sys/devices/platform/i8042/serio1/serio2/speed
97
[jeroen@zechs ~]$ cat /sys/devices/platform/i8042/serio1/serio2/sensitivity
128
[jeroen@zechs ~]$ sudo udevadm test /sys/devices/platform/i8042/serio1/serio2/
calling: test
version 216
timestamp of '/etc/udev/rules.d' changed
Reading rules file: /etc/udev/rules.d/10-trackpoint.rules
ATTR '/sys/devices/platform/i8042/serio1/serio2/speed' writing '180' /etc/udev/rules.d/10-trackpoint.rules:2
ATTR '/sys/devices/platform/i8042/serio1/serio2/sensitivity' writing '255' /etc/udev/rules.d/10-trackpoint.rules:2
RUN 'touch /tmp/udevtest' /etc/udev/rules.d/10-trackpoint.rules:2
ACTION=add
DEVPATH=/devices/platform/i8042/serio1/serio2
DRIVER=psmouse
MODALIAS=serio:ty05pr00id00ex00
SERIO_EXTRA=00
SERIO_ID=00
SERIO_PROTO=00
SERIO_TYPE=05
SUBSYSTEM=serio
USEC_INITIALIZED=284056746
run: 'touch /tmp/udevtest'
run: 'kmod load serio:ty05pr00id00ex00'
unload module index
Unloaded link configuration context.
[jeroen@zechs ~]$ cat /sys/devices/platform/i8042/serio1/serio2/sensitivity
255
[jeroen@zechs ~]$ cat /sys/devices/platform/i8042/serio1/serio2/speed
180
But when I boot the system, the rule has not been applied
[BOOT]
[jeroen@zechs ~]$ cat /sys/devices/platform/i8042/serio1/serio2/speed
97
[jeroen@zechs ~]$ cat /sys/devices/platform/i8042/serio1/serio2/sensitivity
128
[jeroen@zechs ~]$ sudo udevadm trigger
[jeroen@zechs ~]$ ls -l /tmp/udevtest
ls: cannot access /tmp/udevtest: No such file or directory
So the rule runs fine when I do `udevadm test` but fails to run on boot or `udevadm trigger`
Any hints or ideas, or probably some basic stuff I missed, to get this working?
Thank you for reading this far!
Last edited by jeroentbt (2014-10-07 11:42:58)There is not much to go with.
I'll try adding the 'description' attribute maybe.
$ udevadm info -a -p /sys/devices/platform/i8042/serio1/serio2
Udevadm info starts with the device specified by the devpath and then
walks up the chain of parent devices. It prints for every device
found, all possible attributes in the udev rules key format.
A rule to match, can be composed by the attributes of the device
and the attributes from one single parent device.
looking at device '/devices/platform/i8042/serio1/serio2':
KERNEL=="serio2"
SUBSYSTEM=="serio"
DRIVER=="psmouse"
ATTR{resolution}=="200"
ATTR{rate}=="100"
ATTR{bind_mode}=="auto"
ATTR{resync_time}=="0"
ATTR{jenks}=="135"
ATTR{reach}=="10"
ATTR{speed}=="180"
ATTR{ztime}=="38"
ATTR{draghys}=="255"
ATTR{description}=="Synaptics pass-through"
ATTR{mindrag}=="20"
ATTR{ext_dev}=="1"
ATTR{skipback}=="0"
ATTR{upthresh}=="255"
ATTR{resetafter}=="5"
ATTR{thresh}=="8"
ATTR{protocol}=="TPPS/2"
ATTR{press_to_select}=="0"
ATTR{sensitivity}=="255"
ATTR{inertia}=="6"
ATTR{firmware_id}==""
looking at parent device '/devices/platform/i8042/serio1':
KERNELS=="serio1"
SUBSYSTEMS=="serio"
DRIVERS=="psmouse"
ATTRS{resolution}=="200"
ATTRS{rate}=="80"
ATTRS{bind_mode}=="auto"
ATTRS{resync_time}=="0"
ATTRS{description}=="i8042 AUX port"
ATTRS{resetafter}=="5"
ATTRS{protocol}=="SynPS/2"
ATTRS{firmware_id}=="PNP: LEN0015 PNP0f13"
looking at parent device '/devices/platform/i8042':
KERNELS=="i8042"
SUBSYSTEMS=="platform"
DRIVERS=="i8042"
looking at parent device '/devices/platform':
KERNELS=="platform"
SUBSYSTEMS==""
DRIVERS==""
EDIT:
tried with these two rules, no dice:
KERNEL=="serio2", ATTR{description}=="Synaptics pass-through", ATTR{speed}="180", ATTR{sensitivity}="255", RUN+="touch /tmp/udevtest"
ATTR{description}=="Synaptics pass-through", ATTR{speed}="180", ATTR{sensitivity}="255", RUN+="touch /tmp/udevtest"
Last edited by jeroentbt (2014-09-14 21:23:33) -
Solved: Udev rules not working
I have file called "/etc/udev/rules.d/99-monitor-hotplug.rules" with this rule:
ACTION=="change", SUBSYSTEM=="drm", RUN+="/root/scripts/hotPlugMonitor.sh"
But hotPlugMonitor.sh-script is not ran even thought it has permission to be ran and
udevadm monitor --property
gives:
KERNEL[69983.904205] change /devices/pci0000:00/0000:00:01.0/0000:01:00.0/drm/card0 (drm)
ACTION=change
DEVNAME=/dev/dri/card0
DEVPATH=/devices/pci0000:00/0000:00:01.0/0000:01:00.0/drm/card0
DEVTYPE=drm_minor
HOTPLUG=1
MAJOR=226
MINOR=0
SEQNUM=1885
SUBSYSTEM=drm
UDEV [69983.905420] change /devices/pci0000:00/0000:00:01.0/0000:01:00.0/drm/card0 (drm)
ACTION=change
DEVNAME=/dev/dri/card0
DEVPATH=/devices/pci0000:00/0000:00:01.0/0000:01:00.0/drm/card0
DEVTYPE=drm_minor
HOTPLUG=1
ID_FOR_SEAT=drm-pci-0000_01_00_0
ID_PATH=pci-0000:01:00.0
ID_PATH_TAG=pci-0000_01_00_0
MAJOR=226
MINOR=0
SEQNUM=1885
SUBSYSTEM=drm
TAGS=:seat:uaccess:
USEC_INITIALIZED=6
when I detach my monitor.
Last edited by oilgame (2013-08-31 09:10:08)You got the command slightly wrong. See the right command:
udevadm control --reload
From:
$ udevadm control --help | grep reload
--reload reload rules and databases -
[SOLVED] configure: error: cannot run C compiled programs
I'm trying to build lib32-libxkbcommon 0.5.0-1 from AUR with makepkg. I already tried installing pacman (setting the default makepkg.conf) and multilib-devel with no luck.
makepkg messages:
==> Making package: lib32-libxkbcommon 0.5.0-1 (Mon May 11 00:17:05 EEST 2015)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
-> Found libxkbcommon-0.5.0.tar.xz
==> Validating source files with sha256sums...
libxkbcommon-0.5.0.tar.xz ... Passed
==> Extracting sources...
-> Extracting libxkbcommon-0.5.0.tar.xz with bsdtar
bsdtar: Failed to set default locale
==> Starting prepare()...
==> Removing existing $pkgdir/ directory...
==> Starting build()...
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether to enable maintainer-specific portions of Makefiles... yes
checking for style of include used by make... GNU
checking for gcc... gcc -m32
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... configure: error: in `/mnt/tmp/yaourt-tmp-tsester/aur-lib32-libxkbcommon/src/libxkbcommon-0.5.0':
configure: error: cannot run C compiled programs.
If you meant to cross compile, use `--host'.
See `config.log' for more details
==> ERROR: A failure occurred in build().
Aborting...
makepkg.conf:
# /etc/makepkg.conf
# SOURCE ACQUISITION
#-- The download utilities that makepkg should use to acquire sources
# Format: 'protocol::agent'
DLAGENTS=('ftp::/usr/bin/curl -fC - --ftp-pasv --retry 3 --retry-delay 3 -o %o %u'
'http::/usr/bin/curl -fLC - --retry 3 --retry-delay 3 -o %o %u'
'https::/usr/bin/curl -fLC - --retry 3 --retry-delay 3 -o %o %u'
'rsync::/usr/bin/rsync --no-motd -z %u %o'
'scp::/usr/bin/scp -C %u %o')
# Other common tools:
# /usr/bin/snarf
# /usr/bin/lftpget -c
# /usr/bin/wget
#-- The package required by makepkg to download VCS sources
# Format: 'protocol::package'
VCSCLIENTS=('bzr::bzr'
'git::git'
'hg::mercurial'
'svn::subversion')
# ARCHITECTURE, COMPILE FLAGS
CARCH="x86_64"
CHOST="x86_64-unknown-linux-gnu"
#-- Compiler and Linker Flags
# -march (or -mcpu) builds exclusively for an architecture
# -mtune optimizes for an architecture, but builds for whole processor family
CPPFLAGS="-D_FORTIFY_SOURCE=2"
CFLAGS="-march=core2 -m64 -mfpmath=sse -O2 -fomit-frame-pointer -pipe -fstack-protector --param=ssp-buffer-size=4"
CXXFLAGS="${CFLAGS}"
LDFLAGS="-Wl,-O1,--sort-common,--as-needed,-z,relro"
#-- Make Flags: change this for DistCC/SMP systems
MAKEFLAGS="-j5"
#-- Debugging flags
DEBUG_CFLAGS="-g -fvar-tracking-assignments"
DEBUG_CXXFLAGS="-g -fvar-tracking-assignments"
# BUILD ENVIRONMENT
# Defaults: BUILDENV=(!distcc color !ccache check !sign)
# A negated environment option will do the opposite of the comments below.
#-- distcc: Use the Distributed C/C++/ObjC compiler
#-- color: Colorize output messages
#-- ccache: Use ccache to cache compilation
#-- check: Run the check() function if present in the PKGBUILD
#-- sign: Generate PGP signature file
BUILDENV=(!distcc color !ccache check !sign)
#-- If using DistCC, your MAKEFLAGS will also need modification. In addition,
#-- specify a space-delimited list of hosts running in the DistCC cluster.
#DISTCC_HOSTS=""
#-- Specify a directory for package building.
#BUILDDIR=/tmp/makepkg
# GLOBAL PACKAGE OPTIONS
# These are default values for the options=() settings
# Default: OPTIONS=(strip docs !libtool !staticlibs emptydirs zipman purge !upx !debug)
# A negated option will do the opposite of the comments below.
#-- strip: Strip symbols from binaries/libraries
#-- docs: Save doc directories specified by DOC_DIRS
#-- libtool: Leave libtool (.la) files in packages
#-- staticlibs: Leave static library (.a) files in packages
#-- emptydirs: Leave empty directories in packages
#-- zipman: Compress manual (man and info) pages in MAN_DIRS with gzip
#-- purge: Remove files specified by PURGE_TARGETS
#-- upx: Compress binary executable files using UPX
#-- debug: Add debugging flags as specified in DEBUG_* variables
OPTIONS=(strip docs !libtool !staticlibs emptydirs zipman purge !upx !debug)
#-- File integrity checks to use. Valid: md5, sha1, sha256, sha384, sha512
INTEGRITY_CHECK=(md5)
#-- Options to be used when stripping binaries. See `man strip' for details.
STRIP_BINARIES="--strip-all"
#-- Options to be used when stripping shared libraries. See `man strip' for details.
STRIP_SHARED="--strip-unneeded"
#-- Options to be used when stripping static libraries. See `man strip' for details.
STRIP_STATIC="--strip-debug"
#-- Manual (man and info) directories to compress (if zipman is specified)
MAN_DIRS=({usr{,/local}{,/share},opt/*}/{man,info})
#-- Doc directories to remove (if !docs is specified)
DOC_DIRS=(usr/{,local/}{,share/}{doc,gtk-doc} opt/*/{doc,gtk-doc})
#-- Files to be removed from all packages (if purge is specified)
PURGE_TARGETS=(usr/{,share}/info/dir .packlist *.pod)
# PACKAGE OUTPUT
# Default: put built package and cached source in build directory
#-- Destination: specify a fixed directory where all packages will be placed
#PKGDEST=/home/packages
#-- Source cache: specify a fixed directory where source files will be cached
#SRCDEST=/home/sources
#-- Source packages: specify a fixed directory where all src packages will be placed
#SRCPKGDEST=/home/srcpackages
#-- Log files: specify a fixed directory where all log files will be placed
#LOGDEST=/home/makepkglogs
#-- Packager: name/email of the person or organization building packages
#PACKAGER="John Doe <[email protected]>"
#-- Specify a key to use for package signing
#GPGKEY=""
# COMPRESSION DEFAULTS
COMPRESSGZ=(gzip -c -f -n)
COMPRESSBZ2=(bzip2 -c -f)
COMPRESSXZ=(xz -c -z -)
COMPRESSLRZ=(lrzip -q)
COMPRESSLZO=(lzop -q)
COMPRESSZ=(compress -c -f)
# EXTENSION DEFAULTS
# WARNING: Do NOT modify these variables unless you know what you are
# doing.
PKGEXT='.pkg.tar.xz'
SRCEXT='.src.tar.gz'
# vim: set ft=sh ts=2 sw=2 et:
config.log:
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
It was created by libxkbcommon configure 0.5.0, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ ./configure --prefix=/usr --libdir=/usr/lib32 --disable-docs --disable-static
## Platform. ##
hostname = Arch
uname -m = x86_64
uname -r = 4.0.1-1-ARCH
uname -s = Linux
uname -v = #1 SMP PREEMPT Wed Apr 29 12:00:26 CEST 2015
/usr/bin/uname -p = unknown
/bin/uname -X = unknown
/bin/arch = unknown
/usr/bin/arch -k = unknown
/usr/convex/getsysinfo = unknown
/usr/bin/hostinfo = unknown
/bin/machine = unknown
/usr/bin/oslevel = unknown
/bin/universe = unknown
PATH: /usr/local/sbin
PATH: /usr/local/bin
PATH: /usr/bin
PATH: /usr/lib/jvm/default/bin
PATH: /usr/bin/site_perl
PATH: /usr/bin/vendor_perl
PATH: /usr/bin/core_perl
## Core tests. ##
configure:2424: checking for a BSD-compatible install
configure:2492: result: /usr/bin/install -c
configure:2503: checking whether build environment is sane
configure:2558: result: yes
configure:2709: checking for a thread-safe mkdir -p
configure:2748: result: /usr/bin/mkdir -p
configure:2755: checking for gawk
configure:2771: found /usr/bin/gawk
configure:2782: result: gawk
configure:2793: checking whether make sets $(MAKE)
configure:2815: result: yes
configure:2844: checking whether make supports nested variables
configure:2861: result: yes
configure:2987: checking whether to enable maintainer-specific portions of Makefiles
configure:2996: result: yes
configure:3023: checking for style of include used by make
configure:3051: result: GNU
configure:3122: checking for gcc
configure:3149: result: gcc -m32
configure:3378: checking for C compiler version
configure:3387: gcc -m32 --version >&5
gcc (GCC) 5.1.0
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
configure:3398: $? = 0
configure:3387: gcc -m32 -v >&5
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-unknown-linux-gnu/5.1.0/lto-wrapper
Target: x86_64-unknown-linux-gnu
Configured with: /build/gcc-multilib/src/gcc-5-20150505/configure --prefix=/usr --libdir=/usr/lib --libexecdir=/usr/lib --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=https://bugs.archlinux.org/ --enable-languages=c,c++,ada,fortran,go,lto,objc,obj-c++ --enable-shared --enable-threads=posix --enable-libmpx --with-system-zlib --with-isl --enable-__cxa_atexit --disable-libunwind-exceptions --enable-clocale=gnu --disable-libstdcxx-pch --disable-libssp --enable-gnu-unique-object --enable-linker-build-id --enable-lto --enable-plugin --enable-install-libiberty --with-linker-hash-style=gnu --enable-gnu-indirect-function --enable-multilib --disable-werror --enable-checking=release --with-default-libstdcxx-abi=c++98
Thread model: posix
gcc version 5.1.0 (GCC)
configure:3398: $? = 0
configure:3387: gcc -m32 -V >&5
gcc: error: unrecognized command line option '-V'
gcc: fatal error: no input files
compilation terminated.
configure:3398: $? = 1
configure:3387: gcc -m32 -qversion >&5
gcc: error: unrecognized command line option '-qversion'
gcc: fatal error: no input files
compilation terminated.
configure:3398: $? = 1
configure:3418: checking whether the C compiler works
configure:3440: gcc -m32 -march=core2 -m64 -mfpmath=sse -O2 -fomit-frame-pointer -pipe -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 -Wl,-O1,--sort-common,--as-needed,-z,relro conftest.c >&5
configure:3444: $? = 0
configure:3492: result: yes
configure:3495: checking for C compiler default output file name
configure:3497: result: a.out
configure:3503: checking for suffix of executables
configure:3510: gcc -m32 -o conftest -march=core2 -m64 -mfpmath=sse -O2 -fomit-frame-pointer -pipe -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 -Wl,-O1,--sort-common,--as-needed,-z,relro conftest.c >&5
configure:3514: $? = 0
configure:3536: result:
configure:3558: checking whether we are cross compiling
configure:3566: gcc -m32 -o conftest -march=core2 -m64 -mfpmath=sse -O2 -fomit-frame-pointer -pipe -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 -Wl,-O1,--sort-common,--as-needed,-z,relro conftest.c >&5
In file included from /usr/include/stdio.h:27:0,
from conftest.c:11:
/usr/include/features.h:365:25: fatal error: sys/cdefs.h: No such file or directory
compilation terminated.
configure:3570: $? = 1
configure:3577: ./conftest
./configure: line 3579: ./conftest: No such file or directory
configure:3581: $? = 127
configure:3588: error: in `/mnt/tmp/yaourt-tmp-tsester/aur-lib32-libxkbcommon/src/libxkbcommon-0.5.0':
configure:3590: error: cannot run C compiled programs.
If you meant to cross compile, use `--host'.
See `config.log' for more details
## Cache variables. ##
ac_cv_env_CC_set=set
ac_cv_env_CC_value='gcc -m32'
ac_cv_env_CFLAGS_set=set
ac_cv_env_CFLAGS_value='-march=core2 -m64 -mfpmath=sse -O2 -fomit-frame-pointer -pipe -fstack-protector --param=ssp-buffer-size=4'
ac_cv_env_CPPFLAGS_set=set
ac_cv_env_CPPFLAGS_value=-D_FORTIFY_SOURCE=2
ac_cv_env_CPP_set=
ac_cv_env_CPP_value=
ac_cv_env_DOT_set=
ac_cv_env_DOT_value=
ac_cv_env_DOXYGEN_set=
ac_cv_env_DOXYGEN_value=
ac_cv_env_LDFLAGS_set=set
ac_cv_env_LDFLAGS_value=-Wl,-O1,--sort-common,--as-needed,-z,relro
ac_cv_env_LIBS_set=
ac_cv_env_LIBS_value=
ac_cv_env_PKG_CONFIG_LIBDIR_set=
ac_cv_env_PKG_CONFIG_LIBDIR_value=
ac_cv_env_PKG_CONFIG_PATH_set=set
ac_cv_env_PKG_CONFIG_PATH_value=/usr/lib32/pkgconfig
ac_cv_env_PKG_CONFIG_set=
ac_cv_env_PKG_CONFIG_value=
ac_cv_env_XCB_XKB_CFLAGS_set=
ac_cv_env_XCB_XKB_CFLAGS_value=
ac_cv_env_XCB_XKB_LIBS_set=
ac_cv_env_XCB_XKB_LIBS_value=
ac_cv_env_XORG_MALLOC_DEBUG_ENV_set=
ac_cv_env_XORG_MALLOC_DEBUG_ENV_value=
ac_cv_env_YACC_set=
ac_cv_env_YACC_value=
ac_cv_env_YFLAGS_set=
ac_cv_env_YFLAGS_value=
ac_cv_env_build_alias_set=
ac_cv_env_build_alias_value=
ac_cv_env_host_alias_set=
ac_cv_env_host_alias_value=
ac_cv_env_target_alias_set=
ac_cv_env_target_alias_value=
ac_cv_path_install='/usr/bin/install -c'
ac_cv_path_mkdir=/usr/bin/mkdir
ac_cv_prog_AWK=gawk
ac_cv_prog_ac_ct_CC='gcc -m32'
ac_cv_prog_make_make_set=yes
am_cv_make_support_nested_variables=yes
## Output variables. ##
ACLOCAL='${SHELL} /mnt/tmp/yaourt-tmp-tsester/aur-lib32-libxkbcommon/src/libxkbcommon-0.5.0/build-aux/missing aclocal-1.14'
ADMIN_MAN_DIR=''
ADMIN_MAN_SUFFIX=''
AMDEPBACKSLASH='\'
AMDEP_FALSE='#'
AMDEP_TRUE=''
AMTAR='$${TAR-tar}'
AM_BACKSLASH='\'
AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
AM_DEFAULT_VERBOSITY='1'
AM_V='$(V)'
APP_MAN_DIR=''
APP_MAN_SUFFIX=''
AR=''
AUTOCONF='${SHELL} /mnt/tmp/yaourt-tmp-tsester/aur-lib32-libxkbcommon/src/libxkbcommon-0.5.0/build-aux/missing autoconf'
AUTOHEADER='${SHELL} /mnt/tmp/yaourt-tmp-tsester/aur-lib32-libxkbcommon/src/libxkbcommon-0.5.0/build-aux/missing autoheader'
AUTOMAKE='${SHELL} /mnt/tmp/yaourt-tmp-tsester/aur-lib32-libxkbcommon/src/libxkbcommon-0.5.0/build-aux/missing automake-1.14'
AWK='gawk'
BASE_CFLAGS=''
BUILD_LINUX_TESTS_FALSE=''
BUILD_LINUX_TESTS_TRUE=''
CC='gcc -m32'
CCDEPMODE=''
CFLAGS='-march=core2 -m64 -mfpmath=sse -O2 -fomit-frame-pointer -pipe -fstack-protector --param=ssp-buffer-size=4'
CHANGELOG_CMD=''
CPP=''
CPPFLAGS='-D_FORTIFY_SOURCE=2'
CWARNFLAGS=''
CYGPATH_W='echo'
DEFS=''
DEPDIR='.deps'
DLLTOOL=''
DOT=''
DOXYGEN=''
DRIVER_MAN_DIR=''
DRIVER_MAN_SUFFIX=''
DSYMUTIL=''
DUMPBIN=''
ECHO_C=''
ECHO_N='-n'
ECHO_T=''
EGREP=''
ENABLE_DOCS_FALSE=''
ENABLE_DOCS_TRUE=''
ENABLE_X11_FALSE=''
ENABLE_X11_TRUE=''
EXEEXT=''
FGREP=''
FILE_MAN_DIR=''
FILE_MAN_SUFFIX=''
GREP=''
HAVE_DOT=''
HAVE_DOT_FALSE=''
HAVE_DOT_TRUE=''
HAVE_DOXYGEN_FALSE=''
HAVE_DOXYGEN_TRUE=''
HAVE_NO_UNDEFINED_FALSE=''
HAVE_NO_UNDEFINED_TRUE=''
INSTALL_CMD=''
INSTALL_DATA='${INSTALL} -m 644'
INSTALL_PROGRAM='${INSTALL}'
INSTALL_SCRIPT='${INSTALL}'
INSTALL_STRIP_PROGRAM='$(install_sh) -c -s'
LD=''
LDFLAGS='-Wl,-O1,--sort-common,--as-needed,-z,relro'
LIBOBJS=''
LIBS=''
LIBTOOL=''
LIB_MAN_DIR=''
LIB_MAN_SUFFIX=''
LIPO=''
LN_S=''
LTLIBOBJS=''
MAINT=''
MAINTAINER_MODE_FALSE='#'
MAINTAINER_MODE_TRUE=''
MAKEINFO='${SHELL} /mnt/tmp/yaourt-tmp-tsester/aur-lib32-libxkbcommon/src/libxkbcommon-0.5.0/build-aux/missing makeinfo'
MANIFEST_TOOL=''
MAN_SUBSTS=''
MISC_MAN_DIR=''
MISC_MAN_SUFFIX=''
MKDIR_P='/usr/bin/mkdir -p'
NM=''
NMEDIT=''
OBJDUMP=''
OBJEXT=''
OTOOL64=''
OTOOL=''
PACKAGE='libxkbcommon'
PACKAGE_BUGREPORT='https://bugs.freedesktop.org/enter_bug.cgi?product=libxkbcommon'
PACKAGE_NAME='libxkbcommon'
PACKAGE_STRING='libxkbcommon 0.5.0'
PACKAGE_TARNAME='libxkbcommon'
PACKAGE_URL='http://xkbcommon.org'
PACKAGE_VERSION='0.5.0'
PATH_SEPARATOR=':'
PKG_CONFIG=''
PKG_CONFIG_LIBDIR=''
PKG_CONFIG_PATH='/usr/lib32/pkgconfig'
RANLIB=''
RT_LIBS=''
SED=''
SET_MAKE=''
SHELL='/bin/sh'
STRICT_CFLAGS=''
STRIP=''
VERSION='0.5.0'
XCB_XKB_CFLAGS=''
XCB_XKB_LIBS=''
XKBCONFIGROOT=''
XLOCALEDIR=''
XORG_MALLOC_DEBUG_ENV=''
XORG_MAN_PAGE=''
YACC=''
YACC_INST=''
YFLAGS=''
ac_ct_AR=''
ac_ct_CC='gcc -m32'
ac_ct_DUMPBIN=''
am__EXEEXT_FALSE=''
am__EXEEXT_TRUE=''
am__fastdepCC_FALSE=''
am__fastdepCC_TRUE=''
am__include='include'
am__isrc=''
am__leading_dot='.'
am__nodep='_no'
am__quote=''
am__tar='$${TAR-tar} chof - "$$tardir"'
am__untar='$${TAR-tar} xf -'
bindir='${exec_prefix}/bin'
build=''
build_alias=''
build_cpu=''
build_os=''
build_vendor=''
datadir='${datarootdir}'
datarootdir='${prefix}/share'
docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
dvidir='${docdir}'
exec_prefix='NONE'
host=''
host_alias=''
host_cpu=''
host_os=''
host_vendor=''
htmldir='${docdir}'
includedir='${prefix}/include'
infodir='${datarootdir}/info'
install_sh='${SHELL} /mnt/tmp/yaourt-tmp-tsester/aur-lib32-libxkbcommon/src/libxkbcommon-0.5.0/build-aux/install-sh'
libdir='/usr/lib32'
libexecdir='${exec_prefix}/libexec'
localedir='${datarootdir}/locale'
localstatedir='${prefix}/var'
mandir='${datarootdir}/man'
mkdir_p='$(MKDIR_P)'
oldincludedir='/usr/include'
pdfdir='${docdir}'
prefix='/usr'
program_transform_name='s,x,x,'
psdir='${docdir}'
sbindir='${exec_prefix}/sbin'
sharedstatedir='${prefix}/com'
sysconfdir='${prefix}/etc'
target_alias=''
## confdefs.h. ##
/* confdefs.h */
#define PACKAGE_NAME "libxkbcommon"
#define PACKAGE_TARNAME "libxkbcommon"
#define PACKAGE_VERSION "0.5.0"
#define PACKAGE_STRING "libxkbcommon 0.5.0"
#define PACKAGE_BUGREPORT "[url]https://bugs.freedesktop.org/enter_bug.cgi?product=libxkbcommon[/url]"
#define PACKAGE_URL "[url]http://xkbcommon.org[/url]"
#define PACKAGE "libxkbcommon"
#define VERSION "0.5.0"
configure: exit 1
other info:
core/pacman 4.2.1-1
multilib/gcc-multilib 4.9.2-4 (multilib-devel) [installed]
The GNU Compiler Collection - C and C++ frontends for multilib
multilib/lib32-fakeroot 1.20.2-1 (multilib-devel) [installed]
Tool for simulating superuser privileges (32-bit)
multilib/lib32-libltdl 2.4.5-1 (multilib-devel) [installed]
A generic library support script (32-bit)
Last edited by tsester (2015-05-10 22:10:28)tsester wrote:P.S.: I recently transfered the linux system between failing disks
In that case you should probably check that no other packages are missing files with
pacman -Qkk 2>&1 | grep "No such file or directory"
Any packages that report that they're missing files, you should reinstall. -
[Solved] udev rules: serial for persistent device naming disappeared
Hello,
since the latest upgrade of udev and kmod I cant't mount my external e-SATA hard disk with my working udev rules.
This is my udev rule:
$ cat /etc/udev/rules.d/66-persistent_esata.rules
KERNEL=="sd?1", SUBSYSTEMS=="block", ENV{ID_SERIAL_SHORT}=="S1VSJ1LS301247", NAME="aluguard"
When plugged in, I could decrypt and mount it with "sudo cryptsetup luksOpen /dev/aluguard aluguard && mount /mnt/aluguard".
Since the update above I get "Device /dev/aluguard doesn't exist or access denied."
While I re-checked https://wiki.archlinux.org/index.php/Ma … _with_udev, I discovered, that the serial entry in the output of udevadm has vanished:
$ udevadm info -a -p $(udevadm info -q path -n /dev/sdg)
Udevadm info starts with the device specified by the devpath and then
walks up the chain of parent devices. It prints for every device
found, all possible attributes in the udev rules key format.
A rule to match, can be composed by the attributes of the device
and the attributes from one single parent device.
looking at device '/devices/pci0000:00/0000:00:09.0/host3/target3:0:0/3:0:0:0/block/sdg':
KERNEL=="sdg"
SUBSYSTEM=="block"
DRIVER==""
ATTR{range}=="16"
ATTR{ext_range}=="256"
ATTR{removable}=="0"
ATTR{ro}=="0"
ATTR{size}=="1953525168"
ATTR{alignment_offset}=="0"
ATTR{discard_alignment}=="0"
ATTR{capability}=="50"
ATTR{stat}==" 96 24 762 780 0 0 0 0 0 780 780"
ATTR{inflight}==" 0 0"
ATTR{events}==""
ATTR{events_async}==""
ATTR{events_poll_msecs}=="-1"
looking at parent device '/devices/pci0000:00/0000:00:09.0/host3/target3:0:0/3:0:0:0':
KERNELS=="3:0:0:0"
SUBSYSTEMS=="scsi"
DRIVERS=="sd"
ATTRS{device_blocked}=="0"
ATTRS{type}=="0"
ATTRS{scsi_level}=="6"
ATTRS{vendor}=="ATA "
ATTRS{model}=="SAMSUNG HD103SI "
ATTRS{rev}=="1AG0"
ATTRS{state}=="running"
ATTRS{timeout}=="30"
ATTRS{iocounterbits}=="32"
ATTRS{iorequest_cnt}=="0xa2"
ATTRS{iodone_cnt}=="0x98"
ATTRS{ioerr_cnt}=="0xc"
ATTRS{evt_media_change}=="0"
ATTRS{queue_depth}=="31"
ATTRS{queue_ramp_up_period}=="120000"
ATTRS{queue_type}=="simple"
looking at parent device '/devices/pci0000:00/0000:00:09.0/host3/target3:0:0':
KERNELS=="target3:0:0"
SUBSYSTEMS=="scsi"
DRIVERS==""
looking at parent device '/devices/pci0000:00/0000:00:09.0/host3':
KERNELS=="host3"
SUBSYSTEMS=="scsi"
DRIVERS==""
looking at parent device '/devices/pci0000:00/0000:00:09.0':
KERNELS=="0000:00:09.0"
SUBSYSTEMS=="pci"
DRIVERS=="ahci"
ATTRS{vendor}=="0x10de"
ATTRS{device}=="0x0554"
ATTRS{subsystem_vendor}=="0x1849"
ATTRS{subsystem_device}=="0x0554"
ATTRS{class}=="0x010601"
ATTRS{irq}=="23"
ATTRS{local_cpus}=="00000000,00000003"
ATTRS{local_cpulist}=="0-1"
ATTRS{numa_node}=="0"
ATTRS{dma_mask_bits}=="64"
ATTRS{consistent_dma_mask_bits}=="64"
ATTRS{enable}=="1"
ATTRS{broken_parity_status}=="0"
ATTRS{msi_bus}==""
looking at parent device '/devices/pci0000:00':
KERNELS=="pci0000:00"
SUBSYSTEMS==""
DRIVERS==""
What is the reason for this strange behaviour, and how can I get back the serial entry?
Thank in advance!
Last edited by indianahorst (2012-01-31 13:03:20)$ udevadm info -q all -n /dev/sdg1
P: /devices/pci0000:00/0000:00:09.0/host3/target3:0:0/3:0:0:0/block/sdg/sdg1
N: sdg1
S: disk/by-id/ata-SAMSUNG_HD103SI_S1VSJ1LS301247-part1
S: disk/by-id/scsi-SATA_SAMSUNG_HD103SIS1VSJ1LS301247-part1
S: disk/by-id/wwn-0x50024e900136a03e-part1
S: disk/by-path/pci-0000:00:09.0-scsi-3:0:0:0-part1
S: disk/by-uuid/bb024e1b-78a5-4ed0-9e80-aaa7633aa493
E: DEVLINKS=/dev/disk/by-id/ata-SAMSUNG_HD103SI_S1VSJ1LS301247-part1 /dev/disk/by-id/scsi-SATA_SAMSUNG_HD103SIS1VSJ1LS301247-part1 /dev/disk/by-id/wwn-0x50024e900136a03e-part1 /dev/disk/by-path/pci-0000:00:09.0-scsi-3:0:0:0-part1 /dev/disk/by-uuid/bb024e1b-78a5-4ed0-9e80-aaa7633aa493
E: DEVNAME=/dev/sdg1
E: DEVPATH=/devices/pci0000:00/0000:00:09.0/host3/target3:0:0/3:0:0:0/block/sdg/sdg1
E: DEVTYPE=partition
E: ID_ATA=1
E: ID_ATA_DOWNLOAD_MICROCODE=1
E: ID_ATA_FEATURE_SET_AAM=1
E: ID_ATA_FEATURE_SET_AAM_CURRENT_VALUE=254
E: ID_ATA_FEATURE_SET_AAM_ENABLED=1
E: ID_ATA_FEATURE_SET_AAM_VENDOR_RECOMMENDED_VALUE=254
E: ID_ATA_FEATURE_SET_APM=1
E: ID_ATA_FEATURE_SET_APM_ENABLED=0
E: ID_ATA_FEATURE_SET_HPA=1
E: ID_ATA_FEATURE_SET_HPA_ENABLED=1
E: ID_ATA_FEATURE_SET_PM=1
E: ID_ATA_FEATURE_SET_PM_ENABLED=1
E: ID_ATA_FEATURE_SET_PUIS=1
E: ID_ATA_FEATURE_SET_PUIS_ENABLED=0
E: ID_ATA_FEATURE_SET_SECURITY=1
E: ID_ATA_FEATURE_SET_SECURITY_ENABLED=0
E: ID_ATA_FEATURE_SET_SECURITY_ENHANCED_ERASE_UNIT_MIN=194
E: ID_ATA_FEATURE_SET_SECURITY_ERASE_UNIT_MIN=194
E: ID_ATA_FEATURE_SET_SMART=1
E: ID_ATA_FEATURE_SET_SMART_ENABLED=1
E: ID_ATA_SATA=1
E: ID_ATA_SATA_SIGNAL_RATE_GEN1=1
E: ID_ATA_SATA_SIGNAL_RATE_GEN2=1
E: ID_ATA_WRITE_CACHE=1
E: ID_ATA_WRITE_CACHE_ENABLED=1
E: ID_BUS=ata
E: ID_FS_TYPE=crypto_LUKS
E: ID_FS_USAGE=crypto
E: ID_FS_UUID=bb024e1b-78a5-4ed0-9e80-aaa7633aa493
E: ID_FS_UUID_ENC=bb024e1b-78a5-4ed0-9e80-aaa7633aa493
E: ID_FS_VERSION=1
E: ID_MODEL=SAMSUNG_HD103SI
E: ID_MODEL_ENC=SAMSUNG\x20HD103SI\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20
E: ID_PART_ENTRY_TYPE=0x83
E: ID_PART_TABLE_TYPE=dos
E: ID_PATH=pci-0000:00:09.0-scsi-3:0:0:0
E: ID_PATH_TAG=pci-0000_00_09_0-scsi-3_0_0_0
E: ID_REVISION=1AG01131
E: ID_SCSI_COMPAT=SATA_SAMSUNG_HD103SIS1VSJ1LS301247
E: ID_SERIAL=SAMSUNG_HD103SI_S1VSJ1LS301247
E: ID_SERIAL_SHORT=S1VSJ1LS301247
E: ID_TYPE=disk
E: ID_WWN=0x50024e900136a03e
E: ID_WWN_WITH_EXTENSION=0x50024e900136a03e
E: MAJOR=8
E: MINOR=97
E: PART_ENTRY_DISK=8:96
E: PART_ENTRY_NUMBER=1
E: PART_ENTRY_OFFSET=63
E: PART_ENTRY_SCHEME=dos
E: PART_ENTRY_SIZE=1953520002
E: SUBSYSTEM=block
E: UDEV_LOG=3
E: UDISKS_PARTITION=1
E: UDISKS_PARTITION_ALIGNMENT_OFFSET=0
E: UDISKS_PARTITION_NUMBER=1
E: UDISKS_PARTITION_OFFSET=32256
E: UDISKS_PARTITION_SCHEME=mbr
E: UDISKS_PARTITION_SIZE=1000202241024
E: UDISKS_PARTITION_SLAVE=/sys/devices/pci0000:00/0000:00:09.0/host3/target3:0:0/3:0:0:0/block/sdg
E: UDISKS_PARTITION_TYPE=0x83
E: UDISKS_PRESENTATION_NOPOLICY=0
E: USEC_INITIALIZED=6897248001
OK, there is the serial.... but the problem persists - udev doesn't execute the rule and doesn't create /dev/aluguard. -
[SOLVED] udev-rules
My plan is to write a udev-rule that automatically starts a backup script as soon as I plugin a specific usb-harddrive.
For testing purposes I'm trying to run /usr/bin/gedit and create the symlink /dev/backup-drive
here's my rule:
## /etc/udev/rules.d/95-backup.rules
SUBSYSTEM=="usb", ATTRS{serial}=="100", SYMLINK="backup_drive", RUN+="/usr/bin/gedit"
The symlink works fine. However, gedit does not start.
What am I missing?
Last edited by mehldutt (2007-04-26 18:12:44)here some more information:
# udevinfo -a -p $(udevinfo -q path -n /dev/sdb)
Udevinfo starts with the device specified by the devpath and then
walks up the chain of parent devices. It prints for every device
found, all possible attributes in the udev rules key format.
A rule to match, can be composed by the attributes of the device
and the attributes from one single parent device.
looking at device '/block/sdb':
KERNEL=="sdb"
SUBSYSTEM=="block"
DRIVER==""
ATTR{stat}==" 69 193 1022 352 14 4 144 68 0 332 420"
ATTR{size}=="156301488"
ATTR{removable}=="0"
ATTR{range}=="16"
ATTR{dev}=="8:16"
looking at parent device '/devices/pci0000:00/0000:00:1d.7/usb5/5-4/5-4:1.0/host2/target2:0:0/2:0:0:0':
KERNELS=="2:0:0:0"
SUBSYSTEMS=="scsi"
DRIVERS=="sd"
ATTRS{ioerr_cnt}=="0x0"
ATTRS{iodone_cnt}=="0x5a"
ATTRS{iorequest_cnt}=="0x5a"
ATTRS{iocounterbits}=="32"
ATTRS{timeout}=="30"
ATTRS{state}=="running"
ATTRS{rev}=="AD00"
ATTRS{model}=="MK8032GAX "
ATTRS{vendor}=="TOSHIBA "
ATTRS{scsi_level}=="3"
ATTRS{type}=="0"
ATTRS{queue_type}=="none"
ATTRS{queue_depth}=="1"
ATTRS{device_blocked}=="0"
ATTRS{max_sectors}=="240"
looking at parent device '/devices/pci0000:00/0000:00:1d.7/usb5/5-4/5-4:1.0/host2/target2:0:0':
KERNELS=="target2:0:0"
SUBSYSTEMS==""
DRIVERS==""
looking at parent device '/devices/pci0000:00/0000:00:1d.7/usb5/5-4/5-4:1.0/host2':
KERNELS=="host2"
SUBSYSTEMS==""
DRIVERS==""
looking at parent device '/devices/pci0000:00/0000:00:1d.7/usb5/5-4/5-4:1.0':
KERNELS=="5-4:1.0"
SUBSYSTEMS=="usb"
DRIVERS=="usb-storage"
ATTRS{interface}=="Mass Storage Class"
ATTRS{modalias}=="usb:v04CFp8818dB008dc00dsc00dp00ic08isc05ip50"
ATTRS{bInterfaceProtocol}=="50"
ATTRS{bInterfaceSubClass}=="05"
ATTRS{bInterfaceClass}=="08"
ATTRS{bNumEndpoints}=="02"
ATTRS{bAlternateSetting}==" 0"
ATTRS{bInterfaceNumber}=="00"
looking at parent device '/devices/pci0000:00/0000:00:1d.7/usb5/5-4':
KERNELS=="5-4"
SUBSYSTEMS=="usb"
DRIVERS=="usb"
ATTRS{serial}=="100"
ATTRS{product}=="USB Mass Storage Device"
ATTRS{manufacturer}=="Myson Century, Inc."
ATTRS{maxchild}=="0"
ATTRS{version}==" 2.00"
ATTRS{devnum}=="2"
ATTRS{speed}=="480"
ATTRS{bMaxPacketSize0}=="64"
ATTRS{bNumConfigurations}=="1"
ATTRS{bDeviceProtocol}=="00"
ATTRS{bDeviceSubClass}=="00"
ATTRS{bDeviceClass}=="00"
ATTRS{bcdDevice}=="b008"
ATTRS{idProduct}=="8818"
ATTRS{idVendor}=="04cf"
ATTRS{bMaxPower}==" 10mA"
ATTRS{bmAttributes}=="c0"
ATTRS{bConfigurationValue}=="1"
ATTRS{bNumInterfaces}==" 1"
ATTRS{configuration}=="USB Mass Storage"
looking at parent device '/devices/pci0000:00/0000:00:1d.7/usb5':
KERNELS=="usb5"
SUBSYSTEMS=="usb"
DRIVERS=="usb"
ATTRS{serial}=="0000:00:1d.7"
ATTRS{product}=="EHCI Host Controller"
ATTRS{manufacturer}=="Linux 2.6.20-ARCH ehci_hcd"
ATTRS{maxchild}=="8"
ATTRS{version}==" 2.00"
ATTRS{devnum}=="1"
ATTRS{speed}=="480"
ATTRS{bMaxPacketSize0}=="64"
ATTRS{bNumConfigurations}=="1"
ATTRS{bDeviceProtocol}=="01"
ATTRS{bDeviceSubClass}=="00"
ATTRS{bDeviceClass}=="09"
ATTRS{bcdDevice}=="0206"
ATTRS{idProduct}=="0000"
ATTRS{idVendor}=="0000"
ATTRS{bMaxPower}==" 0mA"
ATTRS{bmAttributes}=="e0"
ATTRS{bConfigurationValue}=="1"
ATTRS{bNumInterfaces}==" 1"
ATTRS{configuration}==""
looking at parent device '/devices/pci0000:00/0000:00:1d.7':
KERNELS=="0000:00:1d.7"
SUBSYSTEMS=="pci"
DRIVERS=="ehci_hcd"
ATTRS{msi_bus}==""
ATTRS{broken_parity_status}=="0"
ATTRS{enable}=="1"
ATTRS{modalias}=="pci:v00008086d0000265Csv0000144Dsd0000C01Ebc0Csc03i20"
ATTRS{local_cpus}=="f"
ATTRS{irq}=="19"
ATTRS{class}=="0x0c0320"
ATTRS{subsystem_device}=="0xc01e"
ATTRS{subsystem_vendor}=="0x144d"
ATTRS{device}=="0x265c"
ATTRS{vendor}=="0x8086"
looking at parent device '/devices/pci0000:00':
KERNELS=="pci0000:00"
SUBSYSTEMS==""
DRIVERS=="" -
Gurus,
I cannot launch a business rule. When I try to launch it, it gives a message "the rule cannot be launched because it has hidden rtp variables without default value"
What could be he problem with it.
THANKSMaybe it relates to the issue
9900514 - "The Use Members on Data Form and Hide Prompt options for business rules attached to composite data forms apply only for runtime prompt values from the globally shared pages and POVs of a composite data form. In other words, this will only use members that are shared across all component data forms. If users want a business rule to take context from a single component data form, they should attach the business rule to that component data form and include the business rules for that component data form at the composite data form level (<Business rules for componentX>)."
Cheers
John
http://john-goodwin.blogspot.com/ -
[SOLVED] udev rules for U2F FIDO Plug-up key
I just received a cheap U2F FIDO key (http://www.amazon.com/Plug-up-Internati … 00OGPO3ZS/) but couldn't use it under Chrome 38. I had to add the following rule to /etc/udev/rules.d/45-u2f.rules
SUBSYSTEM=="hidraw", MODE="0666", ATTRS{idVendor}=="2581", ATTRS{idProduct}=="f1d0"
and then issued a
# sudo udevadm trigger
Should work with other vendors assuming you change the idVendor and idProduct.
Have fun!LukeHandle wrote:Was thinking about the same device, what are you thoughts on it so far? I was mostly concerned with the price and how that translated to the quality, or lack thereof.
The device for which I sent a link for is cheap one and when you receive it actually looks cheap but does the job. Initially I thought I needed to install the FIDO U2F Chrome extension https://chrome.google.com/webstore/deta … ionmgcdmne but it works just fine without it assuming you are using Chrome or Chromium 38+ and the above udev rule on ArchLinux (not required on Windows and MAC OS).
Use case is fairly limited so far since it can only be used on Google account. I tried to use this Plug-Up U2F dongle on Yubico U2F demo page http://demo.yubico.com/start/u2f/neo but it doesn't work and thus even with the FIDO U2F Chrome extension...Weird since I thought all U2F will all be compatible. Since the protocol is open I hope other use cases will arise such as more major supported websites, easy integration in existing frameworks such as Wordpress, Roundcube... but also alternative uses such as 2nd factor authentication for disk encryption (LUKS). -
[solved] KDE4 AltF2 no "Run Command" option, only works with menu apps
Well, in Kubuntu, when I pressed Alt F2, and typed 'kdesudo nvidia-settings' (for example), which wasn't in the menu, there was an option to simply run the command (like with GNome, KDE3, and pretty much everything else), but on here, it doesn't show up. I'd really like to know how to add it. I'm using KDEmod BTW. EDIT: Hmm I logged off and on and it suddenly showed up, yay
Last edited by doorknob60 (2008-09-29 04:32:45)The linker is compiling your binary to the default location of 0x8000000. This is fine for Linux to load as an application (even with less than 128MB memory, Linux can use the MMU on the CPU to map anything to 0x8000000). However with ring0 code you are dealing with real physical memory locations. You would need either a linker script (which you can look up, also see: http://wiki.osdev.org/Linker_Scripts) or to specify the options on the command line with
ld -Ttext 0x100000 etc.
0x100000 is at 1MB, so that leaves BIOS memory unaffected. For memory management past that you should read a memory map, which is beyond the scope of this.
Edit: Fix formatting issues.
Last edited by sdkmvx (2009-10-12 19:41:52) -
[SOLVED] Udev: recognising plugging/unplugging of USB Audio Device
Hi!
I am trying to write an udev rule to detect if an usb audio device was plugged / unplugged to change my default audio device (in effect this udev rule should run a bash script..).
Right now it looks like that:
KERNEL=="pcmC[D0-9cp]*", DRIVERS=="usb", ACTION=="add", PROGRAM="/bin/bash -c '/home/me/dotfiles/soundconf.sh attached'"
and I have a second rule for "remove" instead of add calling a different parameter.
However, unfortunately the change is not being detected. my sound devices are listed in e.g. /proc/asound/card0/pcm0c etc for my first card and /proc/asound/card4/... for the second.
They are also listed in /proc/asound/NAMEOFCARD (e.g. PCH).
how can i reliably detect if one was plugged or unplugged?
thanks !
Last edited by replax (2013-11-27 22:50:00)hi!
thanks!
my output for "sudo udevadm monitor --kernel" is:
monitor will print the received events for:
KERNEL - the kernel uevent
KERNEL[409.000749] remove /devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.2/4-1.2.1/4-1.2.1:1.0/input/input24/event18 (input)
KERNEL[409.023556] remove /devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.2/4-1.2.1/4-1.2.1:1.0/input/input24 (input)
KERNEL[409.023611] remove /devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.2/4-1.2.1/4-1.2.1:1.0/0003:262A:10E1.0005/hidraw/hidraw0 (hidraw)
KERNEL[409.023632] remove /devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.2/4-1.2.1/4-1.2.1:1.0/0003:262A:10E1.0005 (hid)
KERNEL[409.023648] remove /devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.2/4-1.2.1/4-1.2.1:1.0 (usb)
KERNEL[409.023829] remove /devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.2/4-1.2.1/4-1.2.1:1.1/sound/card1/pcmC1D1p (sound)
KERNEL[409.023845] remove /devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.2/4-1.2.1/4-1.2.1:1.1/sound/card1/pcmC1D0p (sound)
KERNEL[409.023859] remove /devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.2/4-1.2.1/4-1.2.1:1.1/sound/card1/controlC1 (sound)
KERNEL[409.023869] remove /devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.2/4-1.2.1/4-1.2.1:1.1/sound/card1 (sound)
KERNEL[409.023885] remove /devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.2/4-1.2.1/4-1.2.1:1.1 (usb)
KERNEL[409.023899] remove /devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.2/4-1.2.1/4-1.2.1:1.3 (usb)
KERNEL[409.024517] remove /devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.2/4-1.2.1 (usb)
KERNEL[411.633928] add /devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.2/4-1.2.1 (usb)
KERNEL[411.634043] add /devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.2/4-1.2.1/4-1.2.1:1.0 (usb)
KERNEL[411.648482] add /devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.2/4-1.2.1/4-1.2.1:1.0/0003:262A:10E1.0006 (hid)
KERNEL[411.649170] add /devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.2/4-1.2.1/4-1.2.1:1.0/input/input25 (input)
KERNEL[411.649320] add /devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.2/4-1.2.1/4-1.2.1:1.0/input/input25/event18 (input)
KERNEL[411.649347] add /devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.2/4-1.2.1/4-1.2.1:1.0/0003:262A:10E1.0006/hidraw/hidraw0 (hidraw)
KERNEL[411.657385] add /devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.2/4-1.2.1/4-1.2.1:1.1 (usb)
KERNEL[411.680527] add /devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.2/4-1.2.1/4-1.2.1:1.1/sound/card1 (sound)
KERNEL[411.680564] add /devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.2/4-1.2.1/4-1.2.1:1.1/sound/card1/pcmC1D1p (sound)
KERNEL[411.680737] add /devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.2/4-1.2.1/4-1.2.1:1.1/sound/card1/pcmC1D0p (sound)
KERNEL[411.680796] add /devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.2/4-1.2.1/4-1.2.1:1.1/sound/card1/controlC1 (sound)
KERNEL[411.680951] add /devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.2/4-1.2.1/4-1.2.1:1.3 (usb)
KERNEL[411.705251] change /devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.2/4-1.2.1/4-1.2.1:1.1/sound/card1 (sound)
and my output for "sudo udevadm --udev --property" is:
monitor will print the received events for:
UDEV - the event which udev sends out after rule processing
UDEV [409.001439] remove /devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.2/4-1.2.1/4-1.2.1:1.0/input/input24/event18 (
input)
ACTION=remove
DEVLINKS=/dev/input/by-id/usb-HiFimeDIY_Audio_SA9023_USB_Audio-event-if00 /dev/input/by-path/pci-0000:00:1d.0-usb-0:1.2
.1:1.0-event
DEVNAME=/dev/input/event18
DEVPATH=/devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.2/4-1.2.1/4-1.2.1:1.0/input/input24/event18
ID_BUS=usb
ID_INPUT=1
ID_MODEL=SA9023_USB_Audio
ID_MODEL_ENC=SA9023\x20USB\x20Audio
ID_MODEL_ID=10e1
ID_PATH=pci-0000:00:1d.0-usb-0:1.2.1:1.0
ID_PATH_TAG=pci-0000_00_1d_0-usb-0_1_2_1_1_0
ID_REVISION=0001
ID_SERIAL=HiFimeDIY_Audio_SA9023_USB_Audio
ID_TYPE=hid
ID_USB_DRIVER=usbhid
ID_USB_INTERFACES=:030000:010100:010200:
ID_USB_INTERFACE_NUM=00
ID_VENDOR=HiFimeDIY_Audio
ID_VENDOR_ENC=HiFimeDIY\x20Audio
ID_VENDOR_ID=262a
MAJOR=13
MINOR=82
SEQNUM=2036
SUBSYSTEM=input
USEC_INITIALIZED=4690
UDEV [409.024376] remove /devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.2/4-1.2.1/4-1.2.1:1.0/input/input24 (input)
ACTION=remove
DEVPATH=/devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.2/4-1.2.1/4-1.2.1:1.0/input/input24
EV=1
ID_BUS=usb
ID_FOR_SEAT=input-pci-0000_00_1d_0-usb-0_1_2_1_1_0
ID_INPUT=1
ID_MODEL=SA9023_USB_Audio
ID_MODEL_ENC=SA9023\x20USB\x20Audio
ID_MODEL_ID=10e1
ID_PATH=pci-0000:00:1d.0-usb-0:1.2.1:1.0
ID_PATH_TAG=pci-0000_00_1d_0-usb-0_1_2_1_1_0
ID_REVISION=0001
ID_SERIAL=HiFimeDIY_Audio_SA9023_USB_Audio
ID_TYPE=hid
ID_USB_DRIVER=usbhid
ID_USB_INTERFACES=:030000:010100:010200:
ID_USB_INTERFACE_NUM=00
ID_VENDOR=HiFimeDIY_Audio
ID_VENDOR_ENC=HiFimeDIY\x20Audio
ID_VENDOR_ID=262a
MODALIAS=input:b0003v262Ap10E1e0100-e0,kramlsfw
NAME="HiFimeDIY Audio SA9023 USB Audio"
PHYS="usb-0000:00:1d.0-1.2.1/input0"
PRODUCT=3/262a/10e1/100
PROP=0
SEQNUM=2037
SUBSYSTEM=input
TAGS=:seat:
UNIQ=""
USEC_INITIALIZED=634532
UDEV [409.024487] remove /devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.2/4-1.2.1/4-1.2.1:1.0/0003:262A:10E1.0005/hid
raw/hidraw0 (hidraw)
ACTION=remove
DEVNAME=/dev/hidraw0
DEVPATH=/devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.2/4-1.2.1/4-1.2.1:1.0/0003:262A:10E1.0005/hidraw/hidraw0
MAJOR=248
MINOR=0
SEQNUM=2038
SUBSYSTEM=hidraw
USEC_INITIALIZED=9023681
UDEV [409.026487] remove /devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.2/4-1.2.1/4-1.2.1:1.0/0003:262A:10E1.0005 (hi
d)
ACTION=remove
DEVPATH=/devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.2/4-1.2.1/4-1.2.1:1.0/0003:262A:10E1.0005
HID_ID=0003:0000262A:000010E1
HID_NAME=HiFimeDIY Audio SA9023 USB Audio
HID_PHYS=usb-0000:00:1d.0-1.2.1/input0
MODALIAS=hid:b0003g0001v0000262Ap000010E1
SEQNUM=2039
SUBSYSTEM=hid
USEC_INITIALIZED=23875
UDEV [409.026531] remove /devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.2/4-1.2.1/4-1.2.1:1.1/sound/card1/controlC1 (
sound)
ACTION=remove
DEVLINKS=/dev/snd/by-id/usb-HiFimeDIY_Audio_SA9023_USB_Audio-01 /dev/snd/by-path/pci-0000:00:1d.0-usb-0:1.2.1:1.1
DEVNAME=/dev/snd/controlC1
DEVPATH=/devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.2/4-1.2.1/4-1.2.1:1.1/sound/card1/controlC1
ID_BUS=usb
ID_MODEL=SA9023_USB_Audio
ID_MODEL_ENC=SA9023\x20USB\x20Audio
ID_MODEL_ID=10e1
ID_PATH=pci-0000:00:1d.0-usb-0:1.2.1:1.1
ID_PATH_TAG=pci-0000_00_1d_0-usb-0_1_2_1_1_1
ID_REVISION=0001
ID_SERIAL=HiFimeDIY_Audio_SA9023_USB_Audio
ID_TYPE=audio
ID_USB_DRIVER=snd-usb-audio
ID_USB_INTERFACES=:030000:010100:010200:
ID_USB_INTERFACE_NUM=01
ID_VENDOR=HiFimeDIY_Audio
ID_VENDOR_ENC=HiFimeDIY\x20Audio
ID_VENDOR_ID=262a
MAJOR=116
MINOR=13
SEQNUM=2043
SUBSYSTEM=sound
TAGS=:uaccess:
USEC_INITIALIZED=665890
UDEV [409.026557] remove /devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.2/4-1.2.1/4-1.2.1:1.3 (usb)
ACTION=remove
DEVPATH=/devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.2/4-1.2.1/4-1.2.1:1.3
DEVTYPE=usb_interface
ID_MODEL_FROM_DATABASE=USB-2.0 4-Port HUB
ID_VENDOR_FROM_DATABASE=Genesys Logic, Inc.
INTERFACE=1/2/0
MODALIAS=usb:v262Ap10E1d0001dc00dsc00dp00ic01isc02ip00in03
PRODUCT=262a/10e1/1
SEQNUM=2046
SUBSYSTEM=usb
TYPE=0/0/0
USEC_INITIALIZED=665944
UDEV [409.026573] remove /devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.2/4-1.2.1/4-1.2.1:1.0 (usb)
ACTION=remove
DEVPATH=/devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.2/4-1.2.1/4-1.2.1:1.0
DEVTYPE=usb_interface
ID_MODEL_FROM_DATABASE=USB-2.0 4-Port HUB
ID_VENDOR_FROM_DATABASE=Genesys Logic, Inc.
INTERFACE=3/0/0
MODALIAS=usb:v262Ap10E1d0001dc00dsc00dp00ic03isc00ip00in00
PRODUCT=262a/10e1/1
SEQNUM=2040
SUBSYSTEM=usb
TYPE=0/0/0
USEC_INITIALIZED=130
UDEV [409.026616] remove /devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.2/4-1.2.1/4-1.2.1:1.1/sound/card1/pcmC1D0p (s
ound)
ACTION=remove
DEVNAME=/dev/snd/pcmC1D0p
DEVPATH=/devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.2/4-1.2.1/4-1.2.1:1.1/sound/card1/pcmC1D0p
MAJOR=116
MINOR=12
SEQNUM=2042
SUBSYSTEM=sound
TAGS=:uaccess:
USEC_INITIALIZED=5836
UDEV [409.078843] remove /devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.2/4-1.2.1/4-1.2.1:1.1/sound/card1/pcmC1D1p (s
ound)
ACTION=remove
DEVNAME=/dev/snd/pcmC1D1p
DEVPATH=/devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.2/4-1.2.1/4-1.2.1:1.1/sound/card1/pcmC1D1p
MAJOR=116
MINOR=11
SEQNUM=2041
SUBSYSTEM=sound
TAGS=:uaccess:
USEC_INITIALIZED=5794
UDEV [409.079039] remove /devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.2/4-1.2.1/4-1.2.1:1.1/sound/card1 (sound)
ACTION=remove
DEVPATH=/devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.2/4-1.2.1/4-1.2.1:1.1/sound/card1
ID_BUS=usb
ID_FOR_SEAT=sound-pci-0000_00_1d_0-usb-0_1_2_1_1_1
ID_ID=usb-HiFimeDIY_Audio_SA9023_USB_Audio-01-Audio
ID_MODEL=SA9023_USB_Audio
ID_MODEL_ENC=SA9023\x20USB\x20Audio
ID_MODEL_FROM_DATABASE=USB-2.0 4-Port HUB
ID_MODEL_ID=10e1
ID_PATH=pci-0000:00:1d.0-usb-0:1.2.1:1.1
ID_PATH_TAG=pci-0000_00_1d_0-usb-0_1_2_1_1_1
ID_REVISION=0001
ID_SERIAL=HiFimeDIY_Audio_SA9023_USB_Audio
ID_TYPE=audio
ID_USB_DRIVER=snd-usb-audio
ID_USB_INTERFACES=:030000:010100:010200:
ID_USB_INTERFACE_NUM=01
ID_VENDOR=HiFimeDIY_Audio
ID_VENDOR_ENC=HiFimeDIY\x20Audio
ID_VENDOR_FROM_DATABASE=Genesys Logic, Inc.
ID_VENDOR_ID=262a
SEQNUM=2044
SOUND_INITIALIZED=1
SUBSYSTEM=sound
SYSTEMD_WANTS=sound.target
TAGS=:seat:systemd:
USEC_INITIALIZED=5712
UDEV [409.079517] remove /devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.2/4-1.2.1/4-1.2.1:1.1 (usb)
ACTION=remove
DEVPATH=/devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.2/4-1.2.1/4-1.2.1:1.1
DEVTYPE=usb_interface
ID_MODEL_FROM_DATABASE=USB-2.0 4-Port HUB
ID_VENDOR_FROM_DATABASE=Genesys Logic, Inc.
INTERFACE=1/1/0
MODALIAS=usb:v262Ap10E1d0001dc00dsc00dp00ic01isc01ip00in01
PRODUCT=262a/10e1/1
SEQNUM=2045
SUBSYSTEM=usb
TYPE=0/0/0
USEC_INITIALIZED=642712
UDEV [409.085432] remove /devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.2/4-1.2.1 (usb)
ACTION=remove
BUSNUM=004
DEVNAME=/dev/bus/usb/004/010
DEVNUM=010
DEVPATH=/devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.2/4-1.2.1
DEVTYPE=usb_device
ID_BUS=usb
ID_MODEL=SA9023_USB_Audio
ID_MODEL_ENC=SA9023\x20USB\x20Audio
ID_MODEL_FROM_DATABASE=USB-2.0 4-Port HUB
ID_MODEL_ID=10e1
ID_REVISION=0001
ID_SERIAL=HiFimeDIY_Audio_SA9023_USB_Audio
ID_USB_INTERFACES=:030000:010100:010200:
ID_VENDOR=HiFimeDIY_Audio
ID_VENDOR_ENC=HiFimeDIY\x20Audio
ID_VENDOR_FROM_DATABASE=Genesys Logic, Inc.
ID_VENDOR_ID=262a
MAJOR=189
MINOR=393
PRODUCT=262a/10e1/1
SEQNUM=2047
SUBSYSTEM=usb
TYPE=0/0/0
USEC_INITIALIZED=619842
UDEV [411.697540] add /devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.2/4-1.2.1 (usb)
ACTION=add
BUSNUM=004
DEVNAME=/dev/bus/usb/004/011
DEVNUM=011
DEVPATH=/devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.2/4-1.2.1
DEVTYPE=usb_device
ID_BUS=usb
ID_MODEL=SA9023_USB_Audio
ID_MODEL_ENC=SA9023\x20USB\x20Audio
ID_MODEL_FROM_DATABASE=USB-2.0 4-Port HUB
ID_MODEL_ID=10e1
ID_REVISION=0001
ID_SERIAL=HiFimeDIY_Audio_SA9023_USB_Audio
ID_USB_INTERFACES=:030000:010100:010200:
ID_VENDOR=HiFimeDIY_Audio
ID_VENDOR_ENC=HiFimeDIY\x20Audio
ID_VENDOR_FROM_DATABASE=Genesys Logic, Inc.
ID_VENDOR_ID=262a
MAJOR=189
MINOR=394
PRODUCT=262a/10e1/1
SEQNUM=2048
SUBSYSTEM=usb
TYPE=0/0/0
USEC_INITIALIZED=33928
UDEV [411.699672] add /devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.2/4-1.2.1/4-1.2.1:1.3 (usb)
ACTION=add
DEVPATH=/devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.2/4-1.2.1/4-1.2.1:1.3
DEVTYPE=usb_interface
DRIVER=snd-usb-audio
ID_MODEL_FROM_DATABASE=USB-2.0 4-Port HUB
ID_VENDOR_FROM_DATABASE=Genesys Logic, Inc.
INTERFACE=1/2/0
MODALIAS=usb:v262Ap10E1d0001dc00dsc00dp00ic01isc02ip00in03
PRODUCT=262a/10e1/1
SEQNUM=2059
SUBSYSTEM=usb
TYPE=0/0/0
USEC_INITIALIZED=80939
UDEV [411.699773] add /devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.2/4-1.2.1/4-1.2.1:1.0 (usb)
ACTION=add
DEVPATH=/devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.2/4-1.2.1/4-1.2.1:1.0
DEVTYPE=usb_interface
ID_MODEL_FROM_DATABASE=USB-2.0 4-Port HUB
ID_VENDOR_FROM_DATABASE=Genesys Logic, Inc.
INTERFACE=3/0/0
MODALIAS=usb:v262Ap10E1d0001dc00dsc00dp00ic03isc00ip00in00
PRODUCT=262a/10e1/1
SEQNUM=2049
SUBSYSTEM=usb
TYPE=0/0/0
USEC_INITIALIZED=34043
UDEV [411.699840] add /devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.2/4-1.2.1/4-1.2.1:1.1 (usb)
ACTION=add
DEVPATH=/devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.2/4-1.2.1/4-1.2.1:1.1
DEVTYPE=usb_interface
ID_MODEL_FROM_DATABASE=USB-2.0 4-Port HUB
ID_VENDOR_FROM_DATABASE=Genesys Logic, Inc.
INTERFACE=1/1/0
MODALIAS=usb:v262Ap10E1d0001dc00dsc00dp00ic01isc01ip00in01
PRODUCT=262a/10e1/1
SEQNUM=2054
SUBSYSTEM=usb
TYPE=0/0/0
USEC_INITIALIZED=57387
UDEV [411.701367] add /devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.2/4-1.2.1/4-1.2.1:1.0/0003:262A:10E1.0006 (hi
d)
ACTION=add
DEVPATH=/devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.2/4-1.2.1/4-1.2.1:1.0/0003:262A:10E1.0006
HID_ID=0003:0000262A:000010E1
HID_NAME=HiFimeDIY Audio SA9023 USB Audio
HID_PHYS=usb-0000:00:1d.0-1.2.1/input0
MODALIAS=hid:b0003g0001v0000262Ap000010E1
SEQNUM=2050
SUBSYSTEM=hid
USEC_INITIALIZED=48481
UDEV [411.701544] add /devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.2/4-1.2.1/4-1.2.1:1.1/sound/card1 (sound)
ACTION=add
DEVPATH=/devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.2/4-1.2.1/4-1.2.1:1.1/sound/card1
ID_FOR_SEAT=sound-pci-0000_00_1d_0-usb-0_1_2_1_1_1
ID_PATH=pci-0000:00:1d.0-usb-0:1.2.1:1.1
ID_PATH_TAG=pci-0000_00_1d_0-usb-0_1_2_1_1_1
SEQNUM=2055
SUBSYSTEM=sound
SYSTEMD_WANTS=sound.target
TAGS=:seat:systemd:
USEC_INITIALIZED=80503
UDEV [411.702560] add /devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.2/4-1.2.1/4-1.2.1:1.0/input/input25 (input)
ACTION=add
DEVPATH=/devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.2/4-1.2.1/4-1.2.1:1.0/input/input25
EV=1
ID_BUS=usb
ID_FOR_SEAT=input-pci-0000_00_1d_0-usb-0_1_2_1_1_0
ID_INPUT=1
ID_MODEL=SA9023_USB_Audio
ID_MODEL_ENC=SA9023\x20USB\x20Audio
ID_MODEL_ID=10e1
ID_PATH=pci-0000:00:1d.0-usb-0:1.2.1:1.0
ID_PATH_TAG=pci-0000_00_1d_0-usb-0_1_2_1_1_0
ID_REVISION=0001
ID_SERIAL=HiFimeDIY_Audio_SA9023_USB_Audio
ID_TYPE=hid
ID_USB_DRIVER=usbhid
ID_USB_INTERFACES=:030000:010100:010200:
ID_USB_INTERFACE_NUM=00
ID_VENDOR=HiFimeDIY_Audio
ID_VENDOR_ENC=HiFimeDIY\x20Audio
ID_VENDOR_ID=262a
MODALIAS=input:b0003v262Ap10E1e0100-e0,kramlsfw
NAME="HiFimeDIY Audio SA9023 USB Audio"
PHYS="usb-0000:00:1d.0-1.2.1/input0"
PRODUCT=3/262a/10e1/100
PROP=0
SEQNUM=2051
SUBSYSTEM=input
TAGS=:seat:
UNIQ=""
USEC_INITIALIZED=49147
UDEV [411.703227] add /devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.2/4-1.2.1/4-1.2.1:1.1/sound/card1/pcmC1D0p (s
ound)
ACTION=add
DEVNAME=/dev/snd/pcmC1D0p
DEVPATH=/devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.2/4-1.2.1/4-1.2.1:1.1/sound/card1/pcmC1D0p
MAJOR=116
MINOR=12
SEQNUM=2057
SUBSYSTEM=sound
TAGS=:uaccess:
USEC_INITIALIZED=80672
UDEV [411.704394] add /devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.2/4-1.2.1/4-1.2.1:1.0/0003:262A:10E1.0006/hid
raw/hidraw0 (hidraw)
ACTION=add
DEVNAME=/dev/hidraw0
DEVPATH=/devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.2/4-1.2.1/4-1.2.1:1.0/0003:262A:10E1.0006/hidraw/hidraw0
MAJOR=248
MINOR=0
SEQNUM=2053
SUBSYSTEM=hidraw
USEC_INITIALIZED=49353
UDEV [411.705903] add /devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.2/4-1.2.1/4-1.2.1:1.0/input/input25/event18 (
input)
ACTION=add
DEVLINKS=/dev/input/by-id/usb-HiFimeDIY_Audio_SA9023_USB_Audio-event-if00 /dev/input/by-path/pci-0000:00:1d.0-usb-0:1.2
.1:1.0-event
DEVNAME=/dev/input/event18
DEVPATH=/devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.2/4-1.2.1/4-1.2.1:1.0/input/input25/event18
ID_BUS=usb
ID_INPUT=1
ID_MODEL=SA9023_USB_Audio
ID_MODEL_ENC=SA9023\x20USB\x20Audio
ID_MODEL_ID=10e1
ID_PATH=pci-0000:00:1d.0-usb-0:1.2.1:1.0
ID_PATH_TAG=pci-0000_00_1d_0-usb-0_1_2_1_1_0
ID_REVISION=0001
ID_SERIAL=HiFimeDIY_Audio_SA9023_USB_Audio
ID_TYPE=hid
ID_USB_DRIVER=usbhid
ID_USB_INTERFACES=:030000:010100:010200:
ID_USB_INTERFACE_NUM=00
ID_VENDOR=HiFimeDIY_Audio
ID_VENDOR_ENC=HiFimeDIY\x20Audio
ID_VENDOR_ID=262a
MAJOR=13
MINOR=82
SEQNUM=2052
SUBSYSTEM=input
USEC_INITIALIZED=49330
UDEV [411.714557] add /devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.2/4-1.2.1/4-1.2.1:1.1/sound/card1/controlC1 (
sound)
ACTION=add
DEVLINKS=/dev/snd/by-id/usb-HiFimeDIY_Audio_SA9023_USB_Audio-01 /dev/snd/by-path/pci-0000:00:1d.0-usb-0:1.2.1:1.1
DEVNAME=/dev/snd/controlC1
DEVPATH=/devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.2/4-1.2.1/4-1.2.1:1.1/sound/card1/controlC1
ID_BUS=usb
ID_MODEL=SA9023_USB_Audio
ID_MODEL_ENC=SA9023\x20USB\x20Audio
ID_MODEL_ID=10e1
ID_PATH=pci-0000:00:1d.0-usb-0:1.2.1:1.1
ID_PATH_TAG=pci-0000_00_1d_0-usb-0_1_2_1_1_1
ID_REVISION=0001
ID_SERIAL=HiFimeDIY_Audio_SA9023_USB_Audio
ID_TYPE=audio
ID_USB_DRIVER=snd-usb-audio
ID_USB_INTERFACES=:030000:010100:010200:
ID_USB_INTERFACE_NUM=01
ID_VENDOR=HiFimeDIY_Audio
ID_VENDOR_ENC=HiFimeDIY\x20Audio
ID_VENDOR_ID=262a
MAJOR=116
MINOR=13
SEQNUM=2058
SUBSYSTEM=sound
TAGS=:uaccess:
USEC_INITIALIZED=80812
UDEV [411.759604] add /devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.2/4-1.2.1/4-1.2.1:1.1/sound/card1/pcmC1D1p (s
ound)
ACTION=add
DEVNAME=/dev/snd/pcmC1D1p
DEVPATH=/devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.2/4-1.2.1/4-1.2.1:1.1/sound/card1/pcmC1D1p
MAJOR=116
MINOR=11
SEQNUM=2056
SUBSYSTEM=sound
TAGS=:uaccess:
USEC_INITIALIZED=80575
UDEV [411.760476] change /devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.2/4-1.2.1/4-1.2.1:1.1/sound/card1 (sound)
ACTION=change
DEVPATH=/devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.2/4-1.2.1/4-1.2.1:1.1/sound/card1
ID_BUS=usb
ID_FOR_SEAT=sound-pci-0000_00_1d_0-usb-0_1_2_1_1_1
ID_ID=usb-HiFimeDIY_Audio_SA9023_USB_Audio-01-Audio
ID_MODEL=SA9023_USB_Audio
ID_MODEL_ENC=SA9023\x20USB\x20Audio
ID_MODEL_FROM_DATABASE=USB-2.0 4-Port HUB
ID_MODEL_ID=10e1
ID_PATH=pci-0000:00:1d.0-usb-0:1.2.1:1.1
ID_PATH_TAG=pci-0000_00_1d_0-usb-0_1_2_1_1_1
ID_REVISION=0001
ID_SERIAL=HiFimeDIY_Audio_SA9023_USB_Audio
ID_TYPE=audio
ID_USB_DRIVER=snd-usb-audio
ID_USB_INTERFACES=:030000:010100:010200:
ID_USB_INTERFACE_NUM=01
ID_VENDOR=HiFimeDIY_Audio
ID_VENDOR_ENC=HiFimeDIY\x20Audio
ID_VENDOR_FROM_DATABASE=Genesys Logic, Inc.
ID_VENDOR_ID=262a
SEQNUM=2060
SOUND_INITIALIZED=1
SUBSYSTEM=sound
SYSTEMD_WANTS=sound.target
TAGS=:seat:systemd:
USEC_INITIALIZED=80503
the output of "sudo udevadm monitor" is:
monitor will print the received events for:
UDEV - the event which udev sends out after rule processing
KERNEL - the kernel uevent
KERNEL[10520.780009] remove /devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.2/4-1.2.1/4-1.2.1:1.0/input/input24/event17 (input)
UDEV [10520.783295] remove /devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.2/4-1.2.1/4-1.2.1:1.0/input/input24/event17 (input)
KERNEL[10520.789826] remove /devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.2/4-1.2.1/4-1.2.1:1.0/input/input24 (input)
KERNEL[10520.789859] remove /devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.2/4-1.2.1/4-1.2.1:1.0/0003:262A:10E1.0005/hidraw/hidraw0 (hidraw)
KERNEL[10520.789871] remove /devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.2/4-1.2.1/4-1.2.1:1.0/0003:262A:10E1.0005 (hid)
KERNEL[10520.789895] remove /devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.2/4-1.2.1/4-1.2.1:1.0 (usb)
KERNEL[10520.789965] remove /devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.2/4-1.2.1/4-1.2.1:1.1/sound/card1/pcmC1D1p (sound)
KERNEL[10520.789999] remove /devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.2/4-1.2.1/4-1.2.1:1.1/sound/card1/pcmC1D0p (sound)
KERNEL[10520.790031] remove /devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.2/4-1.2.1/4-1.2.1:1.1/sound/card1/controlC1 (sound)
KERNEL[10520.790473] remove /devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.2/4-1.2.1/4-1.2.1:1.1/sound/card1 (sound)
UDEV [10520.790483] remove /devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.2/4-1.2.1/4-1.2.1:1.0/0003:262A:10E1.0005/hidraw/hidraw0 (hidraw)
KERNEL[10520.790494] remove /devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.2/4-1.2.1/4-1.2.1:1.1 (usb)
UDEV [10520.790521] remove /devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.2/4-1.2.1/4-1.2.1:1.0/input/input24 (input)
KERNEL[10520.790533] remove /devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.2/4-1.2.1/4-1.2.1:1.3 (usb)
UDEV [10520.790543] remove /devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.2/4-1.2.1/4-1.2.1:1.1/sound/card1/pcmC1D1p (sound)
KERNEL[10520.790615] remove /devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.2/4-1.2.1 (usb)
UDEV [10520.790653] remove /devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.2/4-1.2.1/4-1.2.1:1.1/sound/card1/pcmC1D0p (sound)
UDEV [10520.790723] remove /devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.2/4-1.2.1/4-1.2.1:1.1/sound/card1/controlC1 (sound)
UDEV [10520.790843] remove /devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.2/4-1.2.1/4-1.2.1:1.0/0003:262A:10E1.0005 (hid)
UDEV [10520.790870] remove /devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.2/4-1.2.1/4-1.2.1:1.1/sound/card1 (sound)
UDEV [10520.791022] remove /devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.2/4-1.2.1/4-1.2.1:1.3 (usb)
UDEV [10520.791133] remove /devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.2/4-1.2.1/4-1.2.1:1.1 (usb)
UDEV [10520.791157] remove /devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.2/4-1.2.1/4-1.2.1:1.0 (usb)
UDEV [10520.795934] remove /devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.2/4-1.2.1 (usb)
KERNEL[10523.411837] add /devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.2/4-1.2.1 (usb)
KERNEL[10523.411961] add /devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.2/4-1.2.1/4-1.2.1:1.0 (usb)
KERNEL[10523.425856] add /devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.2/4-1.2.1/4-1.2.1:1.0/0003:262A:10E1.0006 (hid)
KERNEL[10523.426126] add /devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.2/4-1.2.1/4-1.2.1:1.0/input/input25 (input)
KERNEL[10523.426179] add /devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.2/4-1.2.1/4-1.2.1:1.0/input/input25/event17 (input)
KERNEL[10523.426268] add /devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.2/4-1.2.1/4-1.2.1:1.0/0003:262A:10E1.0006/hidraw/hidraw0 (hidraw)
KERNEL[10523.433989] add /devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.2/4-1.2.1/4-1.2.1:1.1 (usb)
KERNEL[10523.455486] add /devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.2/4-1.2.1/4-1.2.1:1.1/sound/card1 (sound)
KERNEL[10523.455508] add /devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.2/4-1.2.1/4-1.2.1:1.1/sound/card1/pcmC1D1p (sound)
KERNEL[10523.455540] add /devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.2/4-1.2.1/4-1.2.1:1.1/sound/card1/pcmC1D0p (sound)
KERNEL[10523.455580] add /devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.2/4-1.2.1/4-1.2.1:1.1/sound/card1/controlC1 (sound)
KERNEL[10523.455608] add /devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.2/4-1.2.1/4-1.2.1:1.3 (usb)
UDEV [10523.463039] add /devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.2/4-1.2.1 (usb)
UDEV [10523.464322] add /devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.2/4-1.2.1/4-1.2.1:1.0 (usb)
UDEV [10523.464384] add /devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.2/4-1.2.1/4-1.2.1:1.1 (usb)
UDEV [10523.464409] add /devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.2/4-1.2.1/4-1.2.1:1.3 (usb)
UDEV [10523.465345] add /devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.2/4-1.2.1/4-1.2.1:1.0/0003:262A:10E1.0006 (hid)
UDEV [10523.465380] add /devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.2/4-1.2.1/4-1.2.1:1.1/sound/card1 (sound)
UDEV [10523.466303] add /devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.2/4-1.2.1/4-1.2.1:1.0/input/input25 (input)
UDEV [10523.466417] add /devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.2/4-1.2.1/4-1.2.1:1.0/0003:262A:10E1.0006/hidraw/hidraw0 (hidraw)
UDEV [10523.467311] add /devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.2/4-1.2.1/4-1.2.1:1.0/input/input25/event17 (input)
UDEV [10523.468387] add /devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.2/4-1.2.1/4-1.2.1:1.1/sound/card1/pcmC1D1p (sound)
UDEV [10523.468659] add /devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.2/4-1.2.1/4-1.2.1:1.1/sound/card1/pcmC1D0p (sound)
KERNEL[10523.468942] change /devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.2/4-1.2.1/4-1.2.1:1.1/sound/card1 (sound)
UDEV [10523.474581] add /devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.2/4-1.2.1/4-1.2.1:1.1/sound/card1/controlC1 (sound)
UDEV [10523.475757] change /devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.2/4-1.2.1/4-1.2.1:1.1/sound/card1 (sound)
please not that my usb soundcard is attached through a usb hub to my laptop and that it was attached when I ran the command, then removed it and attached it again.
tried to use those udev rules:
KERNEL=="pcmC1D1p", DRIVERS=="usb", ACTION=="add", RUN+="/bin/bash -c '/home/me/dotfiles/soundconf.sh attached'"
KERNEL=="pcmC1D1p", DRIVERS=="usb", ACTION=="remove", RUN+="/bin/bash -c '/home/me/dotfiles/soundconf.sh detached'"
to no avail unfortunately...
thanks a lot for your patience and time !
Maybe you are looking for
-
Dreamweaver Can No Longer Find Template
I have an intranet that I put together in Dreamweaver using templates. Originally, all the links between the pages were document-relative, and the site was defined as just the basic folder containing all the intranet pages and related documents. It w
-
Making Period Start Date read-only on Appraisal page
Hi, I have a requirement to default Appraisal Period Start Date and Period End Date and make these fields non-editable. I am able to default the values for these fields by extending CO. When I make these fields read-only and performs any operation on
-
When I use the Ping.vi I get : Error 7 occurred at Open File+.vipen File Possible reason(s): LabVIEW: File not found. The file might have been moved or deleted, or the file path might be incorrectly formatted for the operating system. For example, u
-
I need some help! I've been using Freehand v 11.0.2 for some time now, but recently I was having issues with my copies of Windows and installed Windows 7 Home Premium, 64-bit and reinstalled the same Freehand disc. The program opens fine but when I c
-
How do you get 2 different link colors on the same page in DW CS4
Hi After creating a white link called "white link test" in a blue background, I need to create a blue link called "blue link test" in a white background. How do I accomplish this task In DW CS4? I would greatly appreciate any feedback. Thank you <sty