Port-arm archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Problems with Bluetooth audio on the NSLU2



Don't know if this is an NSLU2 problem, a Bluetooth problem, or a personal problem, so I'll start here and work my way up the ladder.

I'm trying to get Bluetooth audio to work on my Linksys NSLU2 (evbarm). My setup is a USB hub with hard drive plugged into the top NSLU2 USB port, and the Bluetooth USB adapter plugged into the second NSLU2 USB port. The Bluetooth dongle is a Zoom Bluetooth USB Adapter Model 43108.

I'm using the following config file for the kernel.

include "arch/evbarm/conf/NSLU2"
ubt* at uhub? port ?
bthub* at ubt?
bthidev* at bthub?
btsco* at bthub?
audio* at btsco?
uaudio*    at uhub? port ? configuration ?
audio*    at uaudio?
config netbsd-bt-sd1 root on sd1a type ffs

If I plug in a USB audio dongle, I can use madplay to play audio through the dongle using /dev/audio with no problem. When I switch to the Bluetooth dongle, or reboot with the Bluetooth dongle, I can follow the instructions in the NetBSD chapter on Bluetooth, up to a point, but madplay can't find the audio device. Here is what is spit out on the main console during bootup and while installing the Bluetooth headset. I removed everything that didn't pertain to USB or Bluetooth.

NetBSD 4.99.63 (NSLU2_BT) #0: Sun Jun 1 09:19:56 EDT 2008
[snip...]
ohci0 at pci0 dev 1 function 0: vendor 0x1033 product 0x0035 (rev. 0x43)
[snip...]
ohci0: interrupting at INTA
ohci0: OHCI version 1.0
usb0 at ohci0: USB revision 1.0
ohci1 at pci0 dev 1 function 1: vendor 0x1033 product 0x0035 (rev. 0x43)
[snip...]
ohci1: interrupting at INTB
ohci1: OHCI version 1.0
usb1 at ohci1: USB revision 1.0
ehci0 at pci0 dev 1 function 2: vendor 0x1033 product 0x00e0 (rev. 0x04)
[snip...]
ehci0: interrupting at INTC
ehci0: companion controllers, 3 ports each: ohci0 ohci1
usb2 at ehci0: USB revision 2.0
[snip...]
uhub0 at usb1: vendor 0x1033 OHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub1 at usb2: vendor 0x1033 EHCI root hub, class 9/0, rev 2.00/1.00, addr 1
uhub2 at usb0: vendor 0x1033 OHCI root hub, class 9/0, rev 1.00/1.00, addr 1
ehci0: handing over full speed device on port 1 to ohci0
uhub1: port 1, device disappeared after reset
ubt0 at uhub2 port 1
ubt0: vendor 0x0a12 product 0x0001, rev 2.00/19.58, addr 2
uhub3 at uhub1 port 2: vendor 0x0409 product 0x005a, class 9/0, rev 2.00/1.00, addr 2
uhub3: single transaction translator
[snip...]
Configuring Bluetooth controllers: ubt0
bthub0 at ubt0
Starting bthcid.
Attaching Bluetooth devices:
[snip...]
Starting sdpd.
[snip...]
Sun Jun 1 09:21:39 EST 2008
NetBSD/evbarm (slug.) (console)
login:

[This appears when I execute the btdevctl command below...]
btsco0 at bthub0
audio0 at btsco0: full duplex

In my /etc/bluetooth/hosts:
-bash-3.2$ cat /etc/bluetooth/hosts
# $NetBSD: hosts,v 1.1 2006/06/19 15:44:35 gdamore Exp $
# $Id: hosts,v 1.1 2006/06/19 15:44:35 gdamore Exp $
# $FreeBSD: /repoman/r/ncvs/src/etc/bluetooth/hosts,v 1.2 2005/11/10 19:09:22 emax Exp $
#
# Bluetooth Host Database
#
# This file should contain the Bluetooth addresses and aliases for hosts.
#
# BD_ADDR               Name [ alias0 alias1 ... ]
# 00:11:22:33:44:55     phone
00:18:e4:0c:b6:7d headset

In my /etc/rc.conf
[snip...]
btconfig=YES
btconfig_args="up pscan switch class 0x02010c"
btdevctl=YES
bthcid=YES
sdpd=YES

On the command line, I entered the following.

-bash-3.2$ btconfig ubt0 inquiry
Device Discovery from device: ubt0 .... 1 response
1: bdaddr 00:18:e4:0c:b6:7d (headset)
: name "AS1"
: class: [0x240404] Wearable Headset <Rendering> <Audio>
: page scan rep mode 0x01
: clock offset 29688

-bash-3.2$ btpin -d ubt0 -a headset -p 0000

-bash-3.2$ btdevctl -d ubt0 -a headset -s HSET -A
btdevctl: /dev/bthub: Permission denied

-bash-3.2$ sudo btdevctl -d ubt0 -a headset -s HSET -A

When I run the bthset command that is in the NetBSD manual, I get an error (no option -d), but the following almost works:

-bash-3.2$ bthset -m /dev/mixer0 -v
Headset Info:
       mixer: /dev/mixer0
       laddr: 00:10:60:d2:b9:e9
       raddr: 00:18:e4:0c:b6:7d
       channel: 2
       vgs.dev: 0, vgm.dev: 1

Oddly, the program doesn't exit cleanly, and I have to hit <ctl-c> to break out of it.

-bash-3.2$ ls -la /dev | grep audio
lrwx------ 1 root wheel 6 May 25 08:56 audio -> audio0
crwxrw-rw- 1 root wheel 36, 128 Jun 1 07:25 audio0
crw-rw-rw- 1 root wheel 36, 129 May 25 08:56 audio1
crw-rw-rw- 1 root wheel 36, 130 May 25 08:56 audio2
crw-rw-rw- 1 root wheel 36, 131 May 25 08:56 audio3
lrwx------ 1 root wheel 9 May 25 08:56 audioctl -> audioctl0
crw-rw-rw- 1 root wheel 36, 192 May 25 08:56 audioctl0
crw-rw-rw- 1 root wheel 36, 193 May 25 08:56 audioctl1
crw-rw-rw- 1 root wheel 36, 194 May 25 08:56 audioctl2
crw-rw-rw- 1 root wheel 36, 195 May 25 08:56 audioctl3

-bash-3.2$ madplay -b 16 -R 44100 01_-_I_Might_Have_Been_Queen.mp3
MPEG Audio Decoder 0.15.2 (beta) - Copyright (C) 2000-2004 Robert Leslie et al.
audio: /dev/audio: No route to host
[In case you're wondering, it's a Tina Turner song...]
-bash-3.2$ sudo madplay -b 16 -R 44100 01_-_I_Might_Have_Been_Queen.mp3
MPEG Audio Decoder 0.15.2 (beta) - Copyright (C) 2000-2004 Robert Leslie et al.
audio: /dev/audio: No route to host

I'm out of ideas and Google pages. Any help is, as always, greatly appreciated.

Thanks - Don





Home | Main Index | Thread Index | Old Index