跳过导航链接 | |
退出打印视图 | |
Oracle Solaris 管理:设备和文件系统 Oracle Solaris 11 Information Library (简体中文) |
在 Oracle Solaris OS 中管理 USB 设备(任务列表)
如何在 USB 海量存储设备中修改分区和创建 PCFS 文件系统
如何在 USB 海量存储设备中创建 Solaris 分区和修改分片
15. 配置和管理 Oracle Solaris Internet 存储名称服务 (Internet Storage Name Service, iSNS)
有关特定 Oracle Solaris 发行版中的 USB 音频支持的信息,请参见Oracle Solaris 对 USB 设备的支持。
此 Oracle Solaris 发行版提供了由一对协作驱动程序 usb_ac 和 usb_as 实现的 USB 音频支持。音频控制驱动程序 usb_ac 是符合 Solaris USB 体系结构的客户机驱动程序,用于向用户应用程序提供控制接口。音频流驱动程序 usb_as 可在播放和录制期间处理音频数据消息。该驱动程序将设置样例频率和精度,并对来自 usb_ac 驱动程序的请求进行编码。这两个驱动程序都符合 USB 音频类 1.0 规范。
某些音频设备可以在软件控制下设置音量。为了管理此功能,可以将 STREAMS 模块 usb_ah 推送至 HID 驱动程序的顶部。
Oracle Solaris 支持仅播放、仅录制或同时播放和录制的 USB 音频设备。支持热插拔 USB 音频设备。
具有 USB 连接器的 SPARC Ultra 和 x86 平台支持 USB 音频设备。
有关完全支持的音频数据格式的信息,请参见 usb_ac(7D)。
主音频设备为 /dev/audio。通过使用以下命令,可以验证 /dev/audio 是否指向 USB 音频:
% mixerctl Device /dev/audioctl: Name = USB Audio Version = 1.0 Config = external Audio mixer for /dev/audioctl is enabled
连接 USB 音频设备后,可以通过 /dev/sound/N 设备链接使用 audioplay 和 audiorecord 命令对其进行访问。
请注意,/dev/audio 和 /dev/sound/N 设备可能是指扬声器、麦克风或组合设备。如果引用不正确的设备类型,则该命令将失败。例如,如果尝试将其与麦克风一同使用,则 audioplay 命令将失败。
对于大多数 Oracle 音频应用程序(如 audioplay 和 audiorecord),通过设置 AUDIODEV shell 变量或为这些命令指定 -d 选项,可以选择特定的缺省音频设备。但是,设置 AUDIODEV 不适用于将 /dev/audio 硬编码为音频文件的第三方应用程序。
插入 USB 音频设备时,如果没有正在使用 /dev/audio,则该设备将自动成为主音频设备 /dev/audio。有关将 /dev/audio 从板载音频更改为 USB 音频或从 USB 音频更改为板载音频的说明,请参阅如何更改主 USB 音频设备和 usb_ac(7D)。
如果将 USB 音频设备插入系统,该设备将成为主音频设备 /dev/audio。即使在重新引导系统后,该设备也仍为主音频设备。如果插入其他 USB 音频设备,则最后一个设备将成为主音频设备。
有关 USB 音频设备问题疑难解答的其他信息,请参见 usb_ac(7D)。
主音频设备 /dev/audio 指向 USB 扬声器。
% ls -l /dev/audio lrwxrwxrwx 1 root root 10 Feb 13 08:46 /dev/audio -> usb/audio0
如果移除扬声器,则 /dev/audio 设备将恢复回板载音频。
% ls -l /dev/audio lrwxrwxrwx 1 root root 7 Feb 13 08:47 /dev/audio -> sound/0
% ls -l /dev/audio lrwxrwxrwx 1 root root 10 Feb 13 08:54 /dev/audio -> usb/audio1
此过程假定已连接 USB 音频设备。
使用 ls 命令显示系统的新音频链路。
例如:
% ls -lt /dev/audio* lrwxrwxrwx 1 root root 7 Jul 23 15:46 /dev/audio -> usb/audio0 lrwxrwxrwx 1 root root 10 Jul 23 15:46 /dev/audioctl -> usb/audioctl0/ % ls -lt /dev/sound/* lrwxrwxrwx 1 root root 74 Jul 23 15:46 /dev/sound/1 -> ../../devices/pci@1f,4000/usb@5/hub@1/device@3/sound-control@0:... lrwxrwxrwx 1 root root 77 Jul 23 15:46 /dev/sound/1ctl -> ../../devices/pci@1f,4000/usb@5/hub@1/device@3/sound-control@0:... lrwxrwxrwx 1 root other 66 Jul 23 14:21 /dev/sound/0 -> ../../devices/pci@1f,4000/ebus@1/SUNW,CS4231@14,200000:sound,audio lrwxrwxrwx 1 root other 69 Jul 23 14:21 /dev/sound/0ctl -> ../../devices/pci@1f,4000/ebus@1/SUNW,CS4231@14,200000:sound,audioctl %
请注意,主音频设备 /dev/audio 指向新插入的 USB 音频设备 /dev/usb/audio0。
还可以使用 prtconf 命令来检查系统的 USB 音频设备,并查找 USB 设备信息。
% prtconf . . . usb, instance #0 hub, instance #0 mouse, instance #0 keyboard, instance #1 device, instance #0 sound-control, instance #0 sound, instance #0 input, instance #0 . . .
有时,USB 扬声器不会发出任何声音,即使连接了驱动程序并将音量设置为高也是如此。热插拔该设备可能不会更改该行为。
解决方法是关闭然后再打开 USB 扬声器的电源。
插入 USB 音频设备并登录控制台后,控制台即是 /dev/* 项的所有者。此情况表明,只要登录控制台,便可使用音频设备。
如果插入 USB 音频设备时未登录控制台,则超级用户会成为该设备的所有者。但是,如果登录控制台并尝试访问 USB 音频设备,则设备所有权将归控制台所有。有关更多信息,请参见 logindevperm(4)。
如果使用 rlogin 命令远程进行登录并尝试访问 USB 音频设备,则所有权不会更改。这表明,未经授权的用户无法通过他人拥有的麦克风侦听会话。