2009/08/21

Nokia N810をBluetoothヘッドセットとして使う。

-------ぜんかいまでのあらすじ----
幼いころから、N810をA2DPのSinkにしてみたかった俺。
Google先生に尋ねてみれば、しかし、国内では推定お二人程しか挑戦していない、実にニッチなテーマであった。
足がかりとなったこちらhttp://osdevj.g.hatena.ne.jp/osdevj/comment?date=20080612)のブログ様を発見したのが、去年の冬頃。
なんでも古いbluetooth-alsa中にa2recvとかいうA2DP再生プログラムがあるらしい。
というところまでは判ったものの、/dev/dspを使うからそのままでは動かないとか、armだからリトルエンディアンだとか、紆余曲折があって、最近ようやく動作したのだった。
-----------------------------------

....orz
そこで問題だ!このえぐられた心でどうするか?3択―ひとつだけ選びなさい

答え①ハンサムのポルナレフは豆腐の角に頭をぶつけて自害する。
答え②ハンサムのポルナレフは醤油を飲んで自害する。
答え③①の豆腐と②の醤油で冷奴をつくって食べる。

冷奴おいしいよね。 と脳内会議で決定されましたので、以下手順。なんてながい前振りだ。
  1. a2recv-esd.tar.gzをダウンロード。
  2. # tar xvzf a2recv-esd.tar.gz
  3. # cd a2recv-esd
  4. #./sdptool add A2SNK  //A2DP再生可能だとクエリに対して答える。
  5. #./a2recv-esd //a2recvを立ち上げる。
同梱のhciconfigで"./hciconfig hci0 class 0x200404"とかやれば、接続元デバイスから、N810がBluetoothヘッドセットに見えるようになります。
また、適当にesdを組み込んだだけなので、大概のスタックにおいて、ブツ切れ状態になります。
対処法としては、a2recvで繋ぎつつ、同梱のl2pingとかを"./l2ping <接続元BTアドレス>"とバックグラウンド実行してやるとまともになったりならなかったり。

ちなみに2recv-esd.tar.gzの中身はこんな感じになっております。
a2recv-esd/
a2recv-esd/a2recv-esd
a2recv-esd/avrecv (おまけ:AVRCP 受信)
a2recv-esd/avsnd (おまけ:AVRCP 送信)
a2recv-esd/hcitool
a2recv-esd/l2ping
a2recv-esd/sdptool

それからダメージソースコードはコチラ。diffとかとれよ自分。



0 件のコメント:

コメントを投稿