第三课--OpenWRT USB声卡

来自Microduino Wikipedia
跳转至: 导航搜索

本节教程主要介绍如何在wrt上使用USB声卡,如果外接一个音响的话,就可以通过路由器来播放音乐了。后续还有很多关于路由器媒体中心的教程,玩家也可以 在本篇教程的基础上做其他的一些应用,比如网络收音机等。

固件配置配置

进入openwrt的配置界面,添加如下选项:

Base system-->block-mount
Kernel modules-->Filesystems-->kmod-fs-ext4
Kernel modules-->Filesystems-->kmod-fs-msdos
Kernel modules-->Filesystems-->kmod-fs-ntfs
Kernel modules-->Filesystems-->kmod-fs-vfat
Kernel modules-->Native Language Support-->kmod-nls-utf8
Kernel modules-->Native Language Support-->kmod-nls-cp437
Kernel modules-->Sound Support-->kmod-sound-core
Kernel modules-->Sound Support-->kmod-usb-audio
Kernel modules-->USB Support-->kmod-usb-hid
Kernel modules-->USB Support-->kmod-usb-storage
Kernel modules-->USB Support-->kmod-usb-storage-extras
Kernel modules-->USB Support-->kmod-usb2
Libraries-->libffmpeg-mini
Sound-->madplay  #测试用
Sound-->mpd-full
Utilities-->alsa-utils

将编译好的固件,烧入microwrt,插入usb声卡,你会看到如下的启动信息,然后用lsusb命令,会发现多了一个设备。 具体内容如下,这个你使用的usb声卡有关。本教程使用的声卡,是淘宝上常见的USB声卡,价格很便宜。

root@microWrt:/# [  426.630000] usb 1-1.1: new full-speed USB device number 3 using ehci-platform
[  426.760000] usb 1-1.1: New USB device found, idVendor=0d8c, idProduct=013c
[  426.760000] usb 1-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[  426.770000] usb 1-1.1: Product: USB PnP Sound Device
[  426.850000] input: USB PnP Sound Device as /devices/101c0000.ehci/usb1/1-1/1-1.1/1-1.1:1.3/input/input0
[  426.860000] hid-generic 0003:0D8C:013C.0001: input,hidraw0: USB HID v1.00 Device [USB PnP Sound Device] on usb-101c0000.ehci-1.1/input3
root@microWrt:/# lsusb
Bus 001 Device 002: ID 1a40:0101 Terminus Technology Inc. 4-Port HUB
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 003: ID 0d8c:013c C-Media Electronics, Inc. CM108 Audio Controller


测试USB 声卡

openWRT上刷好固件后,flash剩余空间已经不多了。所以需要用U盘来扩充存储器。详细步骤请参考《SD卡使用》一节。后面的章节中,都需要在SD卡上操作, 所以玩家先要给openwrt安装硬盘。

本教程为了测试方便,就使用winscp上传了一个mp3到 microWRT的/tmp 目录下,然后进到usr/bin目录,你会看到里面有个madplay,运行下面命令:

Madplay  xxxx.mp3, 将耳机插入usb声卡,enjoy the music.

用ctril + C 组合键可以停止播放。

刚开始声音非常大,你可以通过下面的方式进行调整。

在命令行中默认音量设置

root@OpenWrt:/etc# amixer set PCM 35%
Simple mixer control 'PCM',0
Capabilities: pvolume pswitch pswitch-joined
Playback channels: Front Left - Front Right
Limits: Playback 0 - 31
Mono:
Front Left: Playback 11 [35%] [11.00dB] [on]
Front Right: Playback 11 [35%] [11.00dB] [on]

使用vi编辑器编辑/etc/rc.local文件。在exit 0的前面增加设置语法。

/etc/rc.local修改后如下
# Put your custom commands here that should be executed once
the system init finished. By default this file does nothing.
amixer set PCM 35%
exit 0