4

How can I disable USB device by Vendor ID? So I have:

[root@piotr ~]# lsusb Bus 001 Device 002: ID 058f:9254 Alcor Micro Corp. Hub Bus 001 Device 003: ID 0d8c:000c C-Media Electronics, Inc. Audio Adapter Bus 001 Device 004: ID 0a12:0001 Cambridge Silicon Radio, Ltd Bluetooth Dongle (HCI mode) Bus 002 Device 004: ID 05e3:0608 Genesys Logic, Inc. USB-2.0 4-Port HUB Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 002 Device 006: ID 0bc2:3320 Seagate RSS LLC SRD00F2 [Expansion Desktop Drive] 

I want to disable

Bus 001 Device 003: ID 0d8c:000c C-Media Electronics, Inc. Audio Adapter 

I need this unit in Windows environment but it disturb me Skype input (and only Skype). As temporary solution I just included snd_usb_audio in modprobe blacklist. But it is only workaround. Or, (maybe better) is it possible to exclude this particular USB device from udev rules? But in /usr/lib/udev/rules.d there is not definition for this device. I mean about VendorID.

So my questions are: Why it is working at all and can be seen by ALSA? How can I exclude such VendorID and ProductID fron udev rules? Any idea wanted

1
  • you should edit your title to make it more general like how to ban a usb device with udev or something like this Commented Dec 18, 2013 at 9:24

2 Answers 2

3

Correct answer (based on feedback from @mackowiakp) is actually this:

Add this line:

ACTION=="add", ATTR{idVendor}=="0d8c", ATTR{idProduct}=="000c", RUN="/bin/sh -c 'echo 0 >/sys/\$devpath/authorized'" 

to a new file (ex: my.rules) in /etc/udev/rules.d/

Differences from @user2438863's answer:

  • RUN= instead of RUN+=
  • echo 0 instead of echo 1
1
  • 1
    Thanks @joachime-saur -- fixed! Commented Mar 31, 2022 at 9:40
2

Add this line:

ACTION=="add", ATTR{idVendor}=="0d8c", ATTR{idProduct}=="000c", RUN+="/bin/sh -c 'echo 1 >/sys/\$devpath/authorized'" 

to a new file (ex: my.rules) in /etc/udev/rules.d/

2
  • Hmmm. It does not work for me. My device path is: /sys/devices/pci0000:00/0000:00:04.0/usb1/1-3/1-3:1.0/sound/card1 And suggested by You rule entry, does not create "authorized" file in such path. I think that some kind of default rule still activate my (unwanted) USB sound device, becuse in /usr/lib/udev/rules.d/ there is not any definition for such Vendor and Product ID. My system does not use /etc/udev as rules definition subdir. So some modification is necessary. What to do? Commented Dec 19, 2013 at 8:56
  • 4
    OK. You help me. But correct syntax should be ACTION=="add", ATTR{idVendor}=="0d8c", ATTR{idProduct}=="000c", RUN="/bin/sh -c 'echo 0 >/sys/\$devpath/authorized'" --- THX Commented Dec 19, 2013 at 18:33

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.