$45 GRAYBYTE WORDPRESS FILE MANAGER $17

SERVER : premium201.web-hosting.com #1 SMP Wed Mar 26 12:08:09 UTC 2025
SERVER IP : 104.21.43.35 | ADMIN IP 216.73.216.180
OPTIONS : CRL = ON | WGT = ON | SDO = OFF | PKEX = OFF
DEACTIVATED : mail

/lib/udev/rules.d/

HOME
Current File : /lib/udev/rules.d//78-sound-card.rules
# 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"


Current_dir [ NOT WRITEABLE ] Document_root [ WRITEABLE ]


[ Back ]
NAME
SIZE
LAST TOUCH
USER
CAN-I?
FUNCTIONS
..
--
5 Mar 2026 11.54 PM
root / root
0755
10-dm.rules
7.096 KB
23 Jan 2026 7.31 AM
root / root
0444
11-dm-parts.rules
1.408 KB
22 Apr 2025 1.55 AM
root / root
0644
13-dm-disk.rules
1.752 KB
23 Jan 2026 7.31 AM
root / root
0444
40-elevator.rules
0.711 KB
4 Mar 2026 8.02 AM
root / root
0644
40-redhat.rules
1.791 KB
4 Mar 2026 8.02 AM
root / root
0644
40-usb-blacklist.rules
0.446 KB
8 Oct 2022 10.09 AM
root / root
0644
50-udev-default.rules
3.662 KB
4 Mar 2026 8.03 AM
root / root
0644
60-alias-kmsg.rules
0.349 KB
4 Mar 2026 8.02 AM
root / root
0644
60-block.rules
0.611 KB
4 Mar 2026 8.02 AM
root / root
0644
60-cdrom_id.rules
1.046 KB
22 Jun 2018 11.11 AM
root / root
0644
60-drm.rules
0.403 KB
22 Jun 2018 11.11 AM
root / root
0644
60-evdev.rules
0.951 KB
22 Jun 2018 11.11 AM
root / root
0644
60-fido-id.rules
0.161 KB
4 Mar 2026 8.02 AM
root / root
0644
60-input-id.rules
0.275 KB
22 Jun 2018 11.11 AM
root / root
0644
60-net.rules
0.126 KB
23 Sep 2025 8.27 AM
root / root
0644
60-persistent-alsa.rules
0.602 KB
22 Jun 2018 11.11 AM
root / root
0644
60-persistent-input.rules
2.646 KB
22 Jun 2018 11.11 AM
root / root
0644
60-persistent-storage-tape.rules
1.613 KB
4 Mar 2026 8.02 AM
root / root
0644
60-persistent-storage.rules
6.375 KB
22 Jun 2018 11.11 AM
root / root
0644
60-persistent-v4l.rules
0.751 KB
22 Jun 2018 11.11 AM
root / root
0644
60-raw.rules
0.318 KB
4 Feb 2026 8.18 PM
root / root
0644
60-sensor.rules
0.71 KB
22 Jun 2018 11.11 AM
root / root
0644
60-serial.rules
1.162 KB
22 Jun 2018 11.11 AM
root / root
0644
60-tpm-udev.rules
0.206 KB
17 Oct 2019 3.56 AM
root / root
0644
61-scsi-sg3_id.rules
4.665 KB
18 Sep 2017 7.15 PM
root / root
0644
63-fc-wwpn-id.rules
0.609 KB
8 Oct 2022 10.09 AM
root / root
0644
63-scsi-sg3_symlink.rules
2.817 KB
29 Oct 2015 8.52 PM
root / root
0644
64-btrfs.rules
0.602 KB
4 Mar 2026 8.03 AM
root / root
0644
65-context.rules
1.538 KB
12 Jun 2023 4.03 PM
root / root
0644
65-libwacom.rules
1.134 KB
15 Sep 2020 2.12 AM
root / root
0644
66-kpartx.rules
1.122 KB
22 Apr 2025 1.55 AM
root / root
0644
68-del-part-nodes.rules
1.115 KB
22 Apr 2025 1.55 AM
root / root
0644
70-joystick.rules
0.422 KB
22 Jun 2018 11.11 AM
root / root
0644
70-mouse.rules
0.717 KB
22 Jun 2018 11.11 AM
root / root
0644
70-nvmf-autoconnect.rules
1.07 KB
11 Nov 2021 9.09 PM
root / root
0644
70-power-switch.rules
0.555 KB
22 Jun 2018 11.11 AM
root / root
0644
70-touchpad.rules
0.462 KB
22 Jun 2018 11.11 AM
root / root
0644
70-uaccess.rules
2.608 KB
22 Jun 2018 11.11 AM
root / root
0644
71-biosdevname.rules
0.972 KB
18 Oct 2019 8.07 PM
root / root
0644
71-nvmf-iopolicy-netapp.rules
0.27 KB
11 Nov 2021 9.09 PM
root / root
0644
71-prefixdevname.rules
0.394 KB
16 Dec 2019 7.52 PM
root / root
0644
71-seat.rules
2.693 KB
4 Mar 2026 8.03 AM
root / root
0644
73-idrac.rules
0.309 KB
4 Mar 2026 8.02 AM
root / root
0644
73-seat-late.rules
0.621 KB
4 Mar 2026 8.03 AM
root / root
0644
75-net-description.rules
0.441 KB
22 Jun 2018 11.11 AM
root / root
0644
75-probe_mtd.rules
0.17 KB
22 Jun 2018 11.11 AM
root / root
0644
78-sound-card.rules
4.703 KB
22 Jun 2018 11.11 AM
root / root
0644
80-drivers.rules
0.601 KB
22 Jun 2018 11.11 AM
root / root
0644
80-libinput-device-groups.rules
0.206 KB
29 Jun 2022 9.12 AM
root / root
0644
80-net-setup-link.rules
0.285 KB
22 Jun 2018 11.11 AM
root / root
0644
84-nm-drivers.rules
0.521 KB
10 Oct 2022 1.57 PM
root / root
0644
85-nm-unmanaged.rules
1.966 KB
11 Oct 2022 7.42 AM
root / root
0644
90-iprutils.rules
0.068 KB
8 May 2020 2.19 PM
root / root
0644
90-libinput-fuzz-override.rules
1.076 KB
29 Jun 2022 9.12 AM
root / root
0644
90-nm-thunderbolt.rules
0.574 KB
10 Oct 2022 1.57 PM
root / root
0644
90-vconsole.rules
0.498 KB
4 Mar 2026 8.03 AM
root / root
0644
90-wireshark-usbmon.rules
0.047 KB
15 Oct 2023 3.47 AM
root / root
0644
91-drm-modeset.rules
0.055 KB
11 Oct 2023 9.18 PM
root / root
0644
95-dm-notify.rules
0.472 KB
23 Jan 2026 7.31 AM
root / root
0444
98-kexec.rules
0.679 KB
10 Feb 2026 5.24 PM
root / root
0644
99-nfs.rules
0.093 KB
9 Mar 2026 1.07 PM
root / root
0644
99-qemu-guest-agent.rules
0.127 KB
10 Feb 2026 5.14 PM
root / root
0644
99-systemd.rules
4.265 KB
4 Mar 2026 8.03 AM
root / root
0644
99-vmware-scsi-udev.rules
0.448 KB
3 Oct 2023 9.03 AM
root / root
0644

GRAYBYTE WORDPRESS FILE MANAGER @ 2025 CONTACT ME
Static GIF