404

[ Avaa Bypassed ]




Upload:

Command:

elspacio@18.117.107.43: ~ $
# do not edit this file, it will be overwritten on update

SUBSYSTEM!="sound", GOTO="sound_end"

ACTION=="add|change", KERNEL=="controlC*", ATTR{../uevent}="change"
ACTION!="change", GOTO="sound_end"

# Ok, we probably need a little explanation here for what the two lines above
# are good for.
#
# The story goes like this: when ALSA registers a new sound card it emits a
# series of 'add' events to userspace, for the main card device and for all the
# child device nodes that belong to it. udev relays those to applications,
# however only maintains the order between father and child, but not between
# the siblings. The control device node creation can be used as synchronization
# point. All other devices that belong to a card are created in the kernel
# before it. However unfortunately due to the fact that siblings are forwarded
# out of order by udev this fact is lost to applications.
#
# OTOH before an application can open a device it needs to make sure that all
# its device nodes are completely created and set up.
#
# As a workaround for this issue we have added the udev rule above which will
# generate a 'change' event on the main card device from the 'add' event of the
# card's control device. Due to the ordering semantics of udev this event will
# only be relayed after all child devices have finished processing properly.
# When an application needs to listen for appearing devices it can hence look
# for 'change' events only, and ignore the actual 'add' events.
#
# When the application is initialized at the same time as a device is plugged
# in it may need to figure out if the 'change' event has already been triggered
# or not for a card. To find that out we store the flag environment variable
# SOUND_INITIALIZED on the device which simply tells us if the card 'change'
# event has already been processed.

KERNEL!="card*", GOTO="sound_end"

ENV{SOUND_INITIALIZED}="1"

IMPORT{builtin}="hwdb"
SUBSYSTEMS=="usb", IMPORT{builtin}="usb_id"
SUBSYSTEMS=="usb", GOTO="skip_pci"

SUBSYSTEMS=="firewire", ATTRS{guid}=="?*", \
  ENV{ID_BUS}="firewire", ENV{ID_SERIAL}="$attr{guid}", ENV{ID_SERIAL_SHORT}="$attr{guid}", \
  ENV{ID_VENDOR_ID}="$attr{vendor}", ENV{ID_MODEL_ID}="$attr{model}", \
  ENV{ID_VENDOR}="$attr{vendor_name}", ENV{ID_MODEL}="$attr{model_name}"
SUBSYSTEMS=="firewire", GOTO="skip_pci"

SUBSYSTEMS=="pci", ENV{ID_BUS}="pci", ENV{ID_VENDOR_ID}="$attr{vendor}", ENV{ID_MODEL_ID}="$attr{device}"
SUBSYSTEMS=="pci", GOTO="skip_pci"

# If we reach here, the device nor any of its parents are USB/PCI/firewire bus devices.
# If we now find a parent that is a platform device, assume that we're working with
# an internal sound card.
SUBSYSTEMS=="platform", ENV{SOUND_FORM_FACTOR}="internal", GOTO="sound_end"

LABEL="skip_pci"

# Define ID_ID if ID_BUS and ID_SERIAL are set. This will work for both
# USB and firewire.
ENV{ID_SERIAL}=="?*", ENV{ID_USB_INTERFACE_NUM}=="?*", ENV{ID_ID}="$env{ID_BUS}-$env{ID_SERIAL}-$env{ID_USB_INTERFACE_NUM}"
ENV{ID_SERIAL}=="?*", ENV{ID_USB_INTERFACE_NUM}=="", ENV{ID_ID}="$env{ID_BUS}-$env{ID_SERIAL}"

IMPORT{builtin}="path_id"

# The values used here for $SOUND_FORM_FACTOR and $SOUND_CLASS should be kept
# in sync with those defined for PulseAudio's src/pulse/proplist.h
# PA_PROP_DEVICE_FORM_FACTOR, PA_PROP_DEVICE_CLASS properties.

# If the first PCM device of this card has the pcm class 'modem', then the card is a modem
ATTR{pcmC%nD0p/pcm_class}=="modem", ENV{SOUND_CLASS}="modem", GOTO="sound_end"

# Identify cards on the internal PCI bus as internal
SUBSYSTEMS=="pci", DEVPATH=="*/0000:00:??.?/sound/*", ENV{SOUND_FORM_FACTOR}="internal", GOTO="sound_end"

# Devices that also support Image/Video interfaces are most likely webcams
SUBSYSTEMS=="usb", ENV{ID_USB_INTERFACES}=="*:0e????:*", ENV{SOUND_FORM_FACTOR}="webcam", GOTO="sound_end"

# Matching on the model strings is a bit ugly, I admit
ENV{ID_MODEL}=="*[Ss]peaker*", ENV{SOUND_FORM_FACTOR}="speaker", GOTO="sound_end"
ENV{ID_MODEL_FROM_DATABASE}=="*[Ss]peaker*", ENV{SOUND_FORM_FACTOR}="speaker", GOTO="sound_end"

ENV{ID_MODEL}=="*[Hh]eadphone*", ENV{SOUND_FORM_FACTOR}="headphone", GOTO="sound_end"
ENV{ID_MODEL_FROM_DATABASE}=="*[Hh]eadphone*", ENV{SOUND_FORM_FACTOR}="headphone", GOTO="sound_end"

ENV{ID_MODEL}=="*[Hh]eadset*", ENV{SOUND_FORM_FACTOR}="headset", GOTO="sound_end"
ENV{ID_MODEL_FROM_DATABASE}=="*[Hh]eadset*", ENV{SOUND_FORM_FACTOR}="headset", GOTO="sound_end"

ENV{ID_MODEL}=="*[Hh]andset*", ENV{SOUND_FORM_FACTOR}="handset", GOTO="sound_end"
ENV{ID_MODEL_FROM_DATABASE}=="*[Hh]andset*", ENV{SOUND_FORM_FACTOR}="handset", GOTO="sound_end"

ENV{ID_MODEL}=="*[Mm]icrophone*", ENV{SOUND_FORM_FACTOR}="microphone", GOTO="sound_end"
ENV{ID_MODEL_FROM_DATABASE}=="*[Mm]icrophone*", ENV{SOUND_FORM_FACTOR}="microphone", GOTO="sound_end"

LABEL="sound_end"

Filemanager

Name Type Size Permission Actions
01-md-raid-creating.rules File 321 B 0644
10-dm.rules File 7.1 KB 0444
11-dm-lvm.rules File 2.37 KB 0444
11-dm-mpath.rules File 4.46 KB 0644
11-dm-parts.rules File 1.41 KB 0644
13-dm-disk.rules File 1.75 KB 0444
40-elevator.rules File 728 B 0644
40-redhat.rules File 1.79 KB 0644
40-usb-blacklist.rules File 457 B 0644
50-udev-default.rules File 3.66 KB 0644
60-alias-kmsg.rules File 357 B 0644
60-block.rules File 626 B 0644
60-cdrom_id.rules File 1.05 KB 0644
60-drm.rules File 413 B 0644
60-evdev.rules File 974 B 0644
60-fido-id.rules File 165 B 0644
60-input-id.rules File 282 B 0644
60-net.rules File 129 B 0644
60-persistent-alsa.rules File 616 B 0644
60-persistent-input.rules File 2.65 KB 0644
60-persistent-storage-tape.rules File 1.61 KB 0644
60-persistent-storage.rules File 6.38 KB 0644
60-persistent-v4l.rules File 769 B 0644
60-raw.rules File 326 B 0644
60-sensor.rules File 727 B 0644
60-serial.rules File 1.16 KB 0644
60-tpm-udev.rules File 211 B 0644
61-scsi-sg3_id.rules File 4.67 KB 0644
62-multipath.rules File 3.93 KB 0644
63-fc-wwpn-id.rules File 624 B 0644
63-md-raid-arrays.rules File 2.57 KB 0644
63-scsi-sg3_symlink.rules File 2.82 KB 0644
64-btrfs.rules File 616 B 0644
64-md-raid-assembly.rules File 2.31 KB 0644
66-azure-ephemeral.rules File 1.91 KB 0644
66-kpartx.rules File 1.12 KB 0644
68-del-part-nodes.rules File 1.12 KB 0644
69-dm-lvm-metad.rules File 5.69 KB 0444
69-md-clustered-confirm-device.rules File 858 B 0644
70-joystick.rules File 432 B 0644
70-mouse.rules File 734 B 0644
70-power-switch.rules File 568 B 0644
70-touchpad.rules File 473 B 0644
70-uaccess.rules File 2.61 KB 0644
71-prefixdevname.rules File 403 B 0644
71-seat.rules File 2.69 KB 0644
73-idrac.rules File 316 B 0644
73-seat-late.rules File 636 B 0644
75-net-description.rules File 452 B 0644
75-probe_mtd.rules File 174 B 0644
78-sound-card.rules File 4.7 KB 0644
80-drivers.rules File 615 B 0644
80-net-setup-link.rules File 292 B 0644
80-udisks2.rules File 9.14 KB 0644
84-nm-drivers.rules File 533 B 0644
85-nm-unmanaged.rules File 1.97 KB 0644
90-fwupd-devices.rules File 281 B 0644
90-nm-thunderbolt.rules File 588 B 0644
90-vconsole.rules File 510 B 0644
91-drm-modeset.rules File 56 B 0644
95-dm-notify.rules File 483 B 0444
98-kexec.rules File 695 B 0644
99-nfs.rules File 95 B 0644
99-qemu-guest-agent.rules File 130 B 0644
99-systemd.rules File 4.26 KB 0644