USBデバイスサーバ ~USB Server for Linux and USB Redirector~

USBデバイスサーバ

いい音で音楽を聴きたい、本気な時はレコードだ。
しかし、mp3音源で手軽に音楽を聴きたいときだってある。
ノートパソコン使いである私、なるべくノートパソコンから出る配線を減らしたい。
そこで、サウンドデバイスをLAN経由で使用することにあれこれ奮闘している訳である。

GW-AP54DBを使ったネットワークオーティオでこれまで頑張っていた、音楽を聴く分にはこれで十分なのだが、映画を見たりと動画を見るときの遅延(レイテンシー)が気になってきた。

そこで、今度はUSBデバイスをネットワーク経由で使う、USB over IP という技術に目を付け、USBオーディオデバイスをネットワーク経由で使うことを試みてみる。
USBオーディオデバイスにはGW-AP54DBに比べ、種類が豊富でもちろんより高音質のものがある。
これが上手くいけば遅延も小さく、音も良いネットワークオーディオ環境が手に入る。

USB Server for Linux

USBデバイスサーバというハードウェアが発売されているが、我が家にはサーバー機(Debian Etch)があるので、USB over IP環境をソフトウェア的に獲得する。
USBオーディオをUSB over IPしたいので、アイソクロナス転送(isochronous transfer)に対応したソフトウェアを導入する。
USB over IP、USB over NetworkUSB to Ethernet Connectorなどさまざまなソフトがあるが、ほとんどがシェアウェアだ。しかもマイナー。
今回は、サーバー側がLinux、クライアント側がWindowsという環境に適した、USB Server for LinuxUSB Redirectorを導入することにした。

USB Server for Linuxをインストールするための下準備をする。
カーネルを再構築する必要があるため、必要なものはkernel source。あと、途中でkillallコマンドを使うのでkillallが入っていなければ、pcmiscもインストールしておく。

$ uname -a

Linux thinkpad 2.6.18-6-686 #1 SMP Mon Oct 13 16:13:09 UTC 2008 i686 GNU/Linux
# kernelバージョンを確認

$ sudo apt-get update
$ sudo apt-get install linux-source-2.6.18 linux-tree-2.6.18
$ sudo apt-get install psmisc

カーネルを再構築する。←かなり時間がかかる

# cd /usr/src/
/usr/src# ln -s linux-source-2.6.18 linux/usr/src# cd linux
/usr/src/linux# cp /boot/config-2.6.18-6-686 .config

/usr/src/linux# make prepare
/usr/src/linux# make modules

いよいよ、USB Server for Linux本体のインストール。

$ wget http://incentivespro.com/usb-server.tar.gz

$ tar zxvf usb-server.tar.gz
$ cd usb-server

$ sudo sh installer.sh install

これでズサズサズサとモジュールが自動で入る。以上でサーバー側のインストール作業が完了。

USB Server for Linux + USB Redirector で実際に使ってみる

USB Server for Linuxを実際に使ってみる。

$ sudo usbsrv -l

USB Server for Linux v 1.8
USB Devices
———–
1: C-Media USB Audio C-Media INC. – Composite USB Device
busid: 1-1 hwid: 0d8c-**** status: device is plugged

$ sudo usbsrv -s -d 1-1 -h 0d8c-****

USB Server for Linux v 1.8
Share USB Device: busid 1-1 hwid 0d8c-****
———————————————–
Share device…completed!
————————-

うまくUSBデバイスが認識され、共有化されたようだ。

次に、WindowsクライアントにUSB Redirectorを導入。Linux-Windows間のUSB共有はシェアウェアだ。
導入したバージョンは USB-Redirector v.4.3。

USB Redirector

うまくリンクできた。

いよいよ、USB over IP技術を使ってUSBオーディオから音を出してみる。
使用したUSBオーディオはCM102-A+によるUSBオーディオデバイスだ。

高音質なUSB DACの簡単な自作方法|CM102-A+を利用したDAC
CM102-A+というICを使用した自作USB DACの紹介。CM102-A+というICは、玄人志向のAUDIOJACK-USB等にも使われ、光デジタル出力も可能。設計した回路図、装置内部写真、音質のレビュー等

CM102-A+から S/P DIF 同軸デジタル出力でnosDACにつなぎ、自作ミキサーを通してTA2020のパワーアンプにつなぐという構成だ。

しかし、いざ音出ししてみると、一応音は鳴るのだが、処理が追いつかず途切れ途切れの音になる。
なんてこった
これは使い物にならない。
USB Server for Linuxはアイソクロナス転送に対応してるはずなのに。

仕方がないので、プログラム製造元のIncentives PROに問い合わせメールを出してみた。
どんな返事が返ってくるか楽しみだ。

USBメモリやUSB HDDとのリンクはうまくいった。USB Audioがうまく動作すればなぁ。

ちなみに、USB over Network はUSBオーディオがうまく動作するようだ。
しかし、サーバー機がWindowsでなければならないので、私の環境には不適だ。

コメント

  1. Oscar Krit より:

    USB over IP (https://www.usb-over-network.org/)を使用するには、Linux用のUSBサーバーを使用します。