未播放声音时 USB 声卡会重置

未播放声音时 USB 声卡会重置

我的 USB 声音接口 (M-Audio Fast Track Ultra 8R) 工作正常,但当我停止播放声音时,它似乎在大约 5 秒后“关闭”(绿灯弹出,这仅在您启动设备时才会在 Windows 上发生 - 而且我听到很大的爆音,这很烦人)。一旦我在声音“关闭”后启动声音,同样的问题就会再次出现(就像它“启动”一样)。似乎驱动程序告诉设备由于没有播放声音而关闭。

有没有办法来解决这个问题?

以下是一些输出:

$ for d in /sys/bus/usb/devices/[0-9]* ; do if [[ -e $d/product ]] ; then echo -e "`basename $d`\t`cat $d/power/control`\t`cat $d/speed`\t`cat $d/product`" ; fi ; done
1-1.4.1.1   on  480 Ultra Fast Media Reader
1-1.4.1.2   on  12  Razer DeathAdder
1-1.4.1.3   auto    480 USB2.0 Hub
1-1.4.1.3.1 on  1.5 G110 G-keys
1-1.4.1.3.3 on  1.5 Gaming Keyboard G110
1-1.4.3 on  12  Hua Xing
2-1.5   on  480 Fast Track Ultra 8R

$ cat /sys/bus/usb/devices/2-1.5/power/control
on
$ cat /sys/bus/usb/devices/2-1.5/power/level
on
$ cat /sys/bus/usb/devices/2-1.5/power/autosuspend_delay_ms 
2000
$ cat /sys/bus/usb/devices/2-1.5/power/autosuspend
2
$ cat /sys/module/usbcore/parameters/autosuspend 
2
$ cat /sys/module/usbcore/parameters/autosuspend
2

猫/lib/udev/rules.d/42-usb-hid-pm.rules

# do not edit this file, it will be overwritten on update
#
# Enable autosuspend for qemu emulated usb hid devices

# Note that there are buggy qemu versions which advertise remote
# wakeup support but don't actually implement it correctly.  This
# is the reason why we need a match for the serial number here.
# The serial number "42" is used to tag the implementations where
# remote wakeup is working.
ACTION=="add", SUBSYSTEM=="usb", ATTR{product}=="QEMU USB Mouse", ATTR{serial}=="42", TEST=="power/control", ATTR{power/control}="auto"
ACTION=="add", SUBSYSTEM=="usb", ATTR{product}=="QEMU USB Tablet", ATTR{serial}=="42", TEST=="power/control", ATTR{power/control}="auto"
ACTION=="add", SUBSYSTEM=="usb", ATTR{product}=="QEMU USB Keyboard", ATTR{serial}=="42", TEST=="power/control", ATTR{power/control}="auto"

# Catch-all for Avocent HID devices. Keyed off interface in order to only
# trigger on HID class devices.
ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="0624", ATTR{bInterfaceClass}=="03", TEST=="../power/control", ATTR{../power/control}="auto"

# Dell DRAC 4
ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="413c", ATTR{idProduct}=="2500", TEST=="power/control", ATTR{power/control}="auto"

# Dell DRAC 5
ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="413c", ATTR{idProduct}=="0000", TEST=="power/control", ATTR{power/control}="auto"

# IBM remote access
ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="04b3", ATTR{idProduct}=="4001", TEST=="power/control", ATTR{power/control}="auto"
ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="04b3", ATTR{idProduct}=="4002", TEST=="power/control", ATTR{power/control}="auto"
ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="04b3", ATTR{idProduct}=="4012", TEST=="power/control", ATTR{power/control}="auto"

# Raritan Computer, Inc KVM.
ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="14dd", ATTR{idProduct}=="0002", TEST=="power/control", ATTR{power/control}="auto"

# USB HID devices that are internal to the machine should also be safe to autosuspend

ACTION=="add", SUBSYSTEM=="usb", SUBSYSTEMS=="usb", ATTRS{removable}=="removable", GOTO="usb_hid_pm_end"
ACTION=="add", SUBSYSTEM=="usb", SUBSYSTEMS=="usb", ATTRS{removable}=="unknown", GOTO="usb_hid_pm_end"

ACTION=="add", SUBSYSTEM=="usb", ATTR{bInterfaceClass}=="03", ATTRS{removable}=="fixed", TEST=="../power/control", ATTR{../power/control}="auto"

LABEL="usb_hid_pm_end"

请注意,笔记本电脑模式尚未安装,它是一台全新安装有 ubuntu 13.10 的台式电脑。

答案1

你好吗?

您尝试使用 ACPITOOL 吗?

使用 acpitool -w 确定 USB 控制器的可用唤醒级别。

在我的系统上运行此命令显示 USB 控制器的 S1:

$ acpitool -w 设备 S 状态状态 Sysfs 节点


  1. LID S3 *已启用
  2. PBTN S4 *已启用
  3. PCI0 S3 *已禁用无总线:pci0000:00
  4. USB0 S1 *禁用 pci:0000:00:1d.0
  5. USB1 S1 *禁用 pci:0000:00:1d.1
  6. USB2 S1 *禁用 pci:0000:00:1d.2
  7. USB3 S1 *禁用 pci:0000:00:1d.7
  8. MODM S3 *已禁用
  9. PCIE S4 *禁用 pci:0000:00:1e.0

要在启动后禁用它,你可以尝试

echo 1 > /sys/bus/usb/devices/你的 USB 设备 /power/autosuspend

回显“ on”> / sys / bus / usb / devices / your-USB-device / power / level

试试看……还有什么事的话,告诉我。小心点。

相关内容