2015년 12월 30일 수요일

Raspberry Pi USB audio dongle 사용방법

date : 2015-12-30

RasPi Version : Jessie
pi@raspberrypi:~ $ uname -a
Linux raspberrypi 4.4.0-rc7-v7+ #831 SMP PREEMPT Mon Dec 28 19:14:55 GMT 2015 armv7l GNU/Linux

usb audio : http://www.aliexpress.com/item/External-sound-card-High-Quality-USB-2-0-Mic-Speaker-Audio-mircophone-Converter-Sound-Card-Adapter/32428906009.html?spm=2114.01020208.3.320.qqEcd6&ws_ab_test=searchweb201556_1,searchweb201644_2_79_78_77_82_80_62_81,searchweb201560_4

USB audio 를 사용하면 깨끗한 음질을 들을 수 있다는... 사용해 보기로 했다.
하지만 결론 적으로 그닥 고품질은 아니다.

처음 usb audio dongle을 연결하면 다음과 같이 장치가 보이는지 확인한다.

pi@raspberrypi:~ $ lsusb
Bus 001 Device 007: ID 0d8c:013c C-Media Electronics, Inc. CM108 Audio Controller
Bus 001 Device 005: ID 0bda:8176 Realtek Semiconductor Corp. RTL8188CUS 802.11n WLAN Adapter
Bus 001 Device 008: ID 413c:2106 Dell Computer Corp. Dell QuietKey Keyboard
Bus 001 Device 006: ID 13ee:0003 MosArt Optical Mouse
Bus 001 Device 004: ID 1a40:0101 Terminus Technology Inc. 4-Port HUB
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. SMSC9512/9514 Fast Ethernet Adapter
Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp. 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

pi@raspberrypi:~ $ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: ALSA [bcm2835 ALSA], device 0: bcm2835 ALSA [bcm2835 ALSA]
  Subdevices: 8/8
  Subdevice #0: subdevice #0
  Subdevice #1: subdevice #1
  Subdevice #2: subdevice #2
  Subdevice #3: subdevice #3
  Subdevice #4: subdevice #4
  Subdevice #5: subdevice #5
  Subdevice #6: subdevice #6
  Subdevice #7: subdevice #7
card 0: ALSA [bcm2835 ALSA], device 1: bcm2835 ALSA [bcm2835 IEC958/HDMI]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: Device [USB PnP Sound Device], device 0: USB Audio [USB Audio]
  Subdevices: 1/1
  Subdevice #0: subdevice #0


위와 같이 장치는 보이지만, 활성화 가 안되는 문제가 있다.

인터넷 자료를 보면, 아래와 같은 파일의 내용을 수정해  usb audio 를 활성화 하는 방법이 있는데,
/usr/share/alsa/alsa.conf
/lib/modprobe.d/aliases.conf

https://www.raspberrypi.org/forums/viewtopic.php?f=28&t=124016&p=871926#p871926

제시하는 방법을 수행하면 usb로 audio를 사용할 수 있다. 하지만, 재부팅 시 .asoundrc 파일의 card 파라메터가 원래 값으로 되돌아가는 문제가 있다. 다른 방법을 써가며 수십번 해 봤지만 모두 결과는 같았다.

마지막으로 찾은 해결책이 있는데, 이 문제는 버그로 인해 usb audio 가 활성화 되지 않는 것이었고, bug fix 버전의 volumealsa.so 파일을 아래의 사이트 에서 를 다운로드 받은 후 현재 의 파일에 덮어 쓰고, 재부팅 하면 문제가 해결된다.
https://github.com/RPi-Distro/repo/issues/9

이 사이트 에서 다운받은 파일을 다음과 같이 덮어쓴다.
덮어쓰기 전 백업 받아 두는것을 잊지 않도록 한다.

sudo cp /usr/lib/arm-linux-gnueabif/lxpanel/plugins/volumealsa.so ~/volumealsa.so.org
sudo cp volumealsa.so /usr/lib/arm-linux-gnueabif/lxpanel/plugins/volumealsa.so


결론 : usb audio 를 사용 하고자 한다면 volumealsa.so 에 현재 버전에 버그가 있으니 패치를 한 후 사용한다.

댓글 없음:

댓글 쓰기