跳过导航链接 | |
退出打印视图 | |
Oracle Solaris 11.1 管理:设备和文件系统 Oracle Solaris 11.1 Information Library (简体中文) |
如何在 USB 海量存储设备中修改分区和创建 PCFS 文件系统
如何在 USB 海量存储设备中创建 Solaris 分区和修改分片
12. 配置和管理 Oracle Solaris Internet 存储名称服务 (Internet Storage Name Service, iSNS)
本节包含以下任务:
注 - USB 3.0 不包含音频设备支持。
有关特定 Oracle Solaris 发行版中的 USB 音频支持的信息,请参见关于 Oracle Solaris 中的 USB 支持。
Oracle Solaris USB 音频支持通过一对协作驱动程序 usb_ac 和 usb_as 实现。音频控制驱动程序 usb_ac 是符合 Solaris USB 体系结构的客户机驱动程序,用于向用户应用程序提供控制接口。音频流驱动程序 usb_as 可在播放和录制期间处理音频数据消息。该驱动程序将设置样例频率和精度,并对来自 usb_ac 驱动程序的请求进行编码。这两个驱动程序都符合 USB 音频类 1.0 规范。
某些音频设备可以在软件控制下设置音量。为了管理此功能,可以将 STREAMS 模块 usb_ah 推送至 HID 驱动程序的顶部。
Oracle Solaris 支持仅播放、仅录制或同时播放和录制的 USB 音频设备。
支持热插拔 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 音频设备时未登录控制台,则 root 用户会成为该设备的所有者。但是,如果登录控制台并尝试访问 USB 音频设备,则设备所有权将归控制台所有。有关更多信息,请参见 logindevperm(4)。
如果使用 rlogin 命令远程进行登录并尝试访问 USB 音频设备,则所有权不会更改。此情况表明,未经授权的用户无法通过他人拥有的麦克风侦听会话。