PDA

View Full Version : A2DP works, help me test it?


Pages : 1 [2]

Laughing Man
09-09-2008, 10:33 PM
Just curious.. would this also enable it to work with the controls on a bluetooth headset? Otherwise there's no point in me using this (I can use the transmitter that came with my SOYO HS11 headphones)

sachin007
09-09-2008, 10:57 PM
Just curious.. would this also enable it to work with the controls on a bluetooth headset? Otherwise there's no point in me using this (I can use the transmitter that came with my SOYO HS11 headphones)

NO you cannot control the playlist with the buttons on the headset. It just ouputs the audio onto the bluetooth headset.

Benson
09-09-2008, 11:25 PM
That would be AVRCP, not A2DP.

lardman
09-10-2008, 03:51 AM
Iirc Bluez should handle AVRCP commands, what happens to them after that is anyone's guess, but I think it should work with mplayer, Kagu. It won't work with the built-in media player, but then again nor does a2dp (yet).

fiepel
09-10-2008, 11:08 AM
I have trouble with using A2DP with Canola/mplayer and Maemo mapper (or any other heavy application) at the same time.
I discovered that the problem can be solved if after I start Canola I "renice" the atabake process to have a priority of -10. That way when atabake forks a mplayer process, that is given the same higher priority. This mostly fixes the skipping when running maemo-mapper and canola at the same time.

The question is: since maemo does not have a "nice" command, how do I start Canola with a higher priority, without having to do it after Canola is already running (with "renice").

Or is there another solution that any of you know of?

Thanks!

Laughing Man
09-10-2008, 11:19 AM
That would be AVRCP, not A2DP.

Ah ok, does the tablet or has someone hacked support for it yet? My headset supports both A2DP, AVRCP, HSP, and more. :)

honzik
09-18-2008, 01:03 PM
Lardman, a quick question: What, in your opinion, are the things that are preventing Nokia from including A2DP support in their standard build? Is it the lack of maturity in the Bluez code? Is it the lack of DSP code for A2DP support? Is it a worry that the A2DP codec will draw-down too many resources which might cause other functions to hiccup? (Eg., causing simultaneous audio-streaming and A2DP listening to not work well together). Or just, that A2DP is a low priority?

It seems that A2DP support is a no-brainer, and yet it's not provided. I can't help but think there is a deeper reason. It's reminiscent of the issue with Maemo Skype: There is the hardware facility to do video calls, and a *lot* of consumer desire, but Skype is still restricted to audio only. I can only conclude that there is not enough computing horsepower to do video well enough. Could the same principle apply to A2DP?

honzik
09-21-2008, 08:07 PM
Here's another observation. On my N75 phone, I am able to stream a real audio stream from www.radio.cz, and play it over my bluetooth receiver unit on my home audio system. No glitches or pitch changes.

What makes my N75 so much better than my N810? Does it have a better processor/DSP? Better architecture? Are they using highly optimized legacy codes that Nokia has developed? If that's true, can those be ported to the N810 easily?

One last thing: I noticed that the N75 does some digital filtering that boosts the bass for the output of the A2DP, which isn't appropriate for home audio streaming, but good for headphones. If A2DP is eventually included in a Maemo build, it should have the option of neutral (flat) filtering, or perhaps a bass boost for headphones/earbugs.

Benson
09-21-2008, 09:14 PM
Here's another observation. On my N75 phone, I am able to stream a real audio stream from www.radio.cz, and play it over my bluetooth receiver unit on my home audio system. No glitches or pitch changes.

What makes my N75 so much better than my N810? Does it have a better processor/DSP? Better architecture? Are they using highly optimized legacy codes that Nokia has developed? If that's true, can those be ported to the N810 easily?I'm gonna bet that it's just more efficient use of the same it's DSP; it's also an OMAP2, IIRC. (No, it's actually OMAP1710, says Wikipedia; same as the 770...)

One last thing: I noticed that the N75 does some digital filtering that boosts the bass for the output of the A2DP, which isn't appropriate for home audio streaming, but good for headphones. If A2DP is eventually included in a Maemo build, it should have the option of neutral (flat) filtering, or perhaps a bass boost for headphones/earbugs.
Fremantle will include OpenMAX, which IIUC will make DSP things a lot easier and especially more flexible, including fairly simple addition of sound filters such as arbitrary equalization independent of sound output. (Personally, since I use IEMs and a BT HSP, both with rather good bass response, I'd be more interested in bass boost for the built-in speakers...)

I certainly hope (and, perhaps foolishly, expect) that we'll get a lot of Fremantle stuff running on the N8x0s eventually. Have to wait for the alpha releases and try...

w4csc
09-21-2008, 09:43 PM
[QUOTE=honzik;225911]What makes my N75 so much better than my N810?

I think A2DP was omitted to reduce loading on the Bluetooth transceiver when the N8xx is BT DUN connected through a cellphone.

Transferring 800Kbps on DUN while simultaneously trying to send BT stereo to a BT A2DP receiver is an awful load on Bluetooth. The other problem is we're using a 400 Mhz computer, not dual Pentium mainframe. Run Load Applet and watch the left CPU load meter when all this is going on. It maxes out, regularly...especially when someone is trying to run iphone glitz like Canola, adding to the overall hardware load loading artist pictures, album covers and other unnecessary nonsense over that BT link. There's only so many CPU cycles and so much BT bandwidth and oh, so many wait states! :eek:

My solution to get the stereo to the Motorola S9 was simple...an external A2DP transmitter to take the load off the tablet. Mine is a Sony TMR-BT10 little tiny clip. I can plug the coil cord into anything, tablet - ROKR Z6m player - other MP3 players and play them ALL through the A2DP side of the S9 WITHOUT constant BT pairing nonsense every time you want to change sources. Plugged into my desktop's headphone jack, the S9 plays nearly anywhere in the house...or into the tablet.

The load is off the tablet and its link to the phone. Playing TV streams now balks much less. It wouldn't even play with the hack.

BT10 is discontinued. It has fixed lithium-polymer and recharges in a tiny drop-in stand after a few days of hard use.

Works much better....weighs almost nothing...cheap discontinued item.

Benson
10-06-2008, 02:44 AM
Great news; it's official.
https://bugs.maemo.org/show_bug.cgi?id=667
------- Comment #16 from quim.gil@nokia.com 2008-10-06 09:38 GMT+3 -------
Both A2DP and AVRCP will be officially supported in Fremantle. Thank you very
much to the patient supporters of these features.
Fremantle keeps looking more and more like the sort of awesomeness that can't help but be back-ported to the N8x0, tossing whatever shiny bits won't work and keeping stuff like this.

qwerty12
10-06-2008, 02:46 AM
I've been reading maemo-commits and I know a lot of commits have been happening to the bluez.

danramos
10-06-2008, 03:44 AM
Great news; it's official.
https://bugs.maemo.org/show_bug.cgi?id=667

Fremantle keeps looking more and more like the sort of awesomeness that can't help but be back-ported to the N8x0, tossing whatever shiny bits won't work and keeping stuff like this.

That's excellent news! Thanks for posting that! I can't wait to be able to have some hi-fi on-the-go bluetooth happenin' stereo pumpin' headphone action when it does. Freaking yee-hah! :) Can't wait! I've been reading maemo-commits and I know a lot of commits have been happening to the bluez.

Good! I hadn't touched the Bluetooth functionality of my N800 for a LONG, LONG time (for probably well over a year since owning my original unit, I think) and, now that I've started poking around at Bluetooth, I'm starting to really like it a lot.

lardman
10-06-2008, 02:21 PM
Fremantle keeps looking more and more like the sort of awesomeness that can't help but be back-ported to the N8x0, tossing whatever shiny bits won't work and keeping stuff like this.

Afaiu, the sbc encoder will run on the ARM and use the simd features of the Cortex to (presumably) make it fast and power efficient. At least that was the impression I got from the summit.

Anyway, all good news :)

sachin007
10-06-2008, 02:50 PM
So is fremantle going to be available this year? Or is it only for the new tablet coming next year?

Jaffa
10-07-2008, 07:49 AM
So is fremantle going to be available this year? Or is it only for the new tablet coming next year?

The first version of "Fremantle" (in SDK version) will be released as an alpha next month. With some hacking, you may get it - or one of the betas - working on a Beagleboard.

Running it on a tablet - before release - might be possible; it's not clear yet. Running it on a tablet - after release - is more of an unknown: it may or may not be officially supported on existing hardware.

Bundyo
10-07-2008, 08:29 AM
Looks like the Alpha SDK was delayed for December as seen here:

http://wiki.maemo.org/Task:Maemo_roadmap/Fremantle

caperren
12-27-2008, 06:51 PM
Okay, I hope this is where I should post this.....

I just installed this package last night and so far it works great. However my main media program, mediabox, which so far as I have read is supposed to play its music through mplayer, has not played through my headphones as a2dp. When I use mplayer by itself it plays perfectly but through mediabox it is using hts. Did something change in an update to media box? Does it now play through the osso-media-server and if so is there a way to change it back to mplayer. If anyone has any ideas please let me know.

I searched for an answer to my problem for a long time and finally hit a dead end. Any help is appreciated.:)

Gentooer
12-27-2008, 11:47 PM
I just got a pair of Samsung SBH500's for Christmas and am having problems getting them to work with a2dp. I followed the instructions, but when I try to use mplayer with a2dp enabled I get this error:

alsa-lib: pcm_bluetooth.c:1589:(bluetooth_init) BT_GETCAPABILITIES failed : Input/output error(5)

I'm not sure if this is a problem, but I noticed that under bluetooth devices it lists supported profiles as only "HFP, HSP". (the headphones are supposed to support a2dp)

Mplayer works fine with my headphones without a2dp turned on, but the sound is of course crappy.

qwerty12
12-28-2008, 04:52 AM
Okay, I hope this is where I should post this.....

I just installed this package last night and so far it works great. However my main media program, mediabox, which so far as I have read is supposed to play its music through mplayer, has not played through my headphones as a2dp. When I use mplayer by itself it plays perfectly but through mediabox it is using hts. Did something change in an update to media box? Does it now play through the osso-media-server and if so is there a way to change it back to mplayer. If anyone has any ideas please let me know.

I searched for an answer to my problem for a long time and finally hit a dead end. Any help is appreciated.:)

http://www.internettablettalk.com/forums/showthread.php?p=236293#post236293

I just got a pair of Samsung SBH500's for Christmas and am having problems getting them to work with a2dp. I followed the instructions, but when I try to use mplayer with a2dp enabled I get this error:

alsa-lib: pcm_bluetooth.c:1589:(bluetooth_init) BT_GETCAPABILITIES failed : Input/output error(5)

I'm not sure if this is a problem, but I noticed that under bluetooth devices it lists supported profiles as only "HFP, HSP". (the headphones are supposed to support a2dp)

Mplayer works fine with my headphones without a2dp turned on, but the sound is of course crappy.

I had the same problem, a restart and a re-pair sorted it out for me.

IcelandDreams
12-28-2008, 09:02 AM
ug. been a long time for me but I see that this is still a problem. I won't hold my breath on freemantle or anything official. Just for kicks I tried a basic mono BT headset just to see if BT itself and A2DP is worth another look. The functionality and buttons are there but the sound quality is still only marginal. There seems to be a hardware issue with BT vs WiFI and if so then this will never be adequate. Wired sounds so much better that it isn't worth it to me to hack BT even if wireless would be ideal.

lardman
12-28-2008, 02:19 PM
There are some patches in the later Bluez which improve sound quality - there was a mistake in the code for the versions we've been using.

I've been using these patches for the DSP stuff, and am happy to produce an ARM-only version too when I get round to releasing another set of dsp-sbc binaries.

Gentooer
12-28-2008, 09:41 PM
I'm still getting the same error (alsa-lib: pcm_bluetooth.c:1589:(bluetooth_init) BT_GETCAPABILITIES failed : Input/output error(5)), after rebooting and repairing multiple times. The instructions mentioned some patches for mplayer. Are they still required? I'm just using 1.0rc1-maemo.29.n8x0 from the Extra's repo.

caperren
12-28-2008, 10:43 PM
Thanks qwerty12! It works perfectly now.

lardman
12-29-2008, 04:23 PM
Gentooer: I've seen that error lots of times, no idea what causes it, I'd be tempted to reboot the n8x0, then use "a2dp enable" and see if it works (in fact I no longer need to use a2dp enable, whenever I connect my headset it just works in a2dp mode (even after reboots/re-installs of bluez-utils) - I also got to a point where a2dp enable would disable, and vice-versa; confusing!)

tso
12-29-2008, 06:23 PM
i keep seeing a "missing operand" message or something like that when i do "a2dp enable".

Gentooer
12-29-2008, 09:10 PM
Gentooer: I've seen that error lots of times, no idea what causes it, I'd be tempted to reboot the n8x0, then use "a2dp enable" and see if it works (in fact I no longer need to use a2dp enable, whenever I connect my headset it just works in a2dp mode (even after reboots/re-installs of bluez-utils) - I also got to a point where a2dp enable would disable, and vice-versa; confusing!)

Am I have supposed to install a bluez-utils package? I didn't see anything about that in the instructions..

qwerty12
12-30-2008, 06:06 AM
There are some points about the a2dp-support package.

The audio.conf is for an older version of bluez, dunno if it makes a difference but I made the modifications manually to the bluez from the current version:
http://pastebin.com/f350a5c60

I've edited the a2dp script:
http://pastebin.com/f1911d4b2

This one automatically switches on bluetooth, enables a2dp for mplayer & xmms too. I've also made it pop up "bubble type" notifications instead of dialog ones.

lardman
12-30-2008, 07:23 AM
Am I have supposed to install a bluez-utils package? I didn't see anything about that in the instructions..

No, this is just to enable DSP support. In fact that version of Bluez is old now and I have to compile the newer version.

Gentooer
12-30-2008, 12:40 PM
Wow i'm an idiot. I copied over the device ID incorrectly 3 times thinking the last "C" was a cut off "0". :rolleyes:
Works great now! Sound quality is amazing! :D Just wish it didn't use so much CPU..

EDIT: also doing anything on the tablet causes the audio to skip..

speculatrix
01-02-2009, 10:19 AM
Woohoo, I have working A2DP working to my Moto S705! I followed the instructions here: http://www.guardiani.us/index.php/N800_custom_packages#Bluetooth_ALSA

Except... I only installed SBC and plugz, as the mplayer package in the standard repository understands a2dp/bluez now.

plugz is a tad out of date, I had to force ignoring a dependency and hack in a symlink for compatibility:

dpkg -i --ignore-depends=libdbus-1-2 plugz-svn_20070608-1_armel.deb
cd /usr/lib
ln -s libdbus-1.so.3.2.0 libdbus-1.so.2


but it worked!

a2dpd eats 35% CPU all the time though :(


--edit--
snag... if you're a2dp streaming from the n800 and the Moto S705 headset is simultaneously connected by SCO audio to a mobile phone, ringing the mobile phone makes the S705 try and stop the stream, it fails of course, the phone loses its connection, the S705 seems to hang.
so, my guess is that without the AVRCP stuff, I'm only halfway to using the n800 as a cordless media player.

--edit2--
Having managed to trawl through the thread I've relalised that I achieved the original way of doing things, so I've retraced my steps to remove the packages above and try and get it working as per the first post.

--edit3--
I added the following to the mplayer config file which makes the command-line much quieter:
quiet=1
really-quiet=1

speculatrix
01-06-2009, 07:08 PM
I've edited the a2dp script:
http://pastebin.com/f1911d4b2

This one automatically switches on bluetooth, enables a2dp for mplayer & xmms too. I've also made it pop up "bubble type" notifications instead of dialog ones.

I added a check for the existence of /home/user/.xmms/config

BTW, Simon/lardman, has the DSP code for the SBC coder been adopted yet, will it be in the standard bluez-utils version 3.28-0osso6?

lardman
01-06-2009, 08:22 PM
No, the DSP code hasn't been adopted (I've not tried to get it adopted either, I'm happy maintaining it in Garage for the time being). Regarding the whole load of patches currently going into SBC at the moment (lots from Serge of mplayer fame), these are patches against Bluez 4.x, though they are simple to backport.

I'll do said backporting soon, just waiting to see when Serge's patches slow down a bit so I don't have to keep releasing newer versions as the patches improve performance.

lardman
01-15-2009, 07:39 PM
http://people.bath.ac.uk/enpsgp/nokia770/dsp/sbc/bluez-utils_3.28-0osso6_armel.deb.arm

Remove the .arm on the end and install with dpkg -i

It is the same version as on our N8x0s, with the exception that I replaced the sbc stuff with the latest patched version from Bluez 4.26.

There's no DSP stuff in this version, just plain ARM code, so if you use a2dp but aren't too fussed about testing my DSP code, don't worry :)

I've not had a chance to test this deb yet as my headset is charging atm, please let me know if there are any problems. It should sound better though as I've been using an earlier version of these patches for my DSP code and it sounds better to me :)

svs57
01-16-2009, 06:47 AM
Can you send patch against bluez-utils 3.28-0osso6?
I have problem with this version of bluez.
Headphone pause button doesn't work.

lardman
01-16-2009, 08:27 AM
Well I've not fiddled with any of the avrcp stuff. I can do you a patch, but not till this evening. In the meantime you can do it yourself quite easily.

Download the maemo version of bluez-utils from here: http://repository.maemo.org/pool/maemo4.1.2/free/b/bluez-utils/

and simply replace the contents of the sbc subdir with that from bluez-4.26 from here: http://www.kernel.org/pub/linux/bluetooth/bluez-4.26.tar.gz

Do let us know what's wrong with avrcp if you find out.

svs57
01-16-2009, 08:56 AM
Thank you. I understand.
Once more question. Do you have problem with bison while compile bluez?
I had to compile bison from Debian sources instead of using one form maemo's repo.
Maemo's bison want work also while I compile another packages.
The same think with flex too.

lardman
01-16-2009, 04:55 PM
No, worked fine for me.

I downloaded the bluez packages from the maemo.org repo as detailed above, then did the following:

dpkg-source -x bluez-utils_3.28-0osso6.dsc

Then I copied in the sbc directory from Bluez-4.26

Then I did:

cd bluez-utils-3.28
dpkg-buildpackage -rfakeroot

and the package builds and produces the deb I uploaded.

lardman
01-26-2009, 06:49 PM
Right, I've finally got round to testing my deb, it works fine. In fact it's pretty bloody good now (the audio quality). Much respect to Siarhei Siamashka for the patches to Bluez. :)

P.S. It will probably depend on the particular file you're trying to play mind you, and the CPU load (as we're talking about an ARM-only solution here). I'll get round to porting the changes to the DSP asap.

svs57
01-28-2009, 06:20 AM
Do anybody know how to compile sbcenc.o from svn?

lardman
01-28-2009, 08:26 AM
Yes, I do ;)

Do you want to compile it yourself, or would you like me to do it for you?

If the former, you need to setup the toolchain:
https://www-a.ti.com/downloads/sds_support/targetcontent/LinuxDspTools/download.html
the file is called linuxdsptools_v1_00_00_06.bin.
Some instructions here (which I need to update still): http://wiki.maemo.org/Programming_the_DSP
Some more here (which I also need to finish, from my Summit Presentation): http://people.bath.ac.uk/enpsgp/nokia770/dsp/DSP_programming.htm

The alternative is to download the bluez-utils and sbcenc.o files from here: http://people.bath.ac.uk/enpsgp/nokia770/dsp/sbc/ Note that these don't have the latest and greatest patches applied, though I will try to do that this evening and update both the DSP stuff and the ARM stuff (as I see this morning that the patches seem to have stabilised).

Note you need the deb named deb.dsp (the one named deb.arm doesn't support the DSP, it's just a patched version for the ARM). You need to let dsp_dld know about the DSP module, see this script https://garage.maemo.org/frs/download.php/4334/install_sbcenc.sh (which was the installer script for the last release, now out of date).

Bit confusing :)

svs57
01-28-2009, 08:53 AM
Thank you lardman
I need closely learn your documents.
There are 2 bluez packages on http://people.bath.ac.uk/enpsgp/nokia770/dsp/sbc/
What is the difference between one?
Is the sbcenc.o realy this date (15-Jan-2009)?

lardman
01-28-2009, 11:11 AM
No, I have a feeling the sbcenc.o and bluez-utils*.deb.dsp are older.

bluez-utils*.deb.arm is reasonably up-to-date.

The .arm one doesn't have any links to the dsp, the .dsp one uses the sbcenc.o module and the DSP to perform SBC encoding.

I'll cook up some new ones this evening.

bongo
02-10-2009, 02:02 PM
Hi.


My a2dp setup works with mplayer/gmplayer but not with mediabox. What could be wrong? I thought mediabox uses mplayer :confused:

lardman
02-10-2009, 03:58 PM
Looks like it can use either an mplayer or an osso backend (from a quick look at the names of the source files: https://garage.maemo.org/plugins/scmsvn/viewcvs.php/trunk/mediaplayer/?root=mediabox). Is there a settings menu somewhere in there?

bongo
02-10-2009, 06:55 PM
Looks like it can use either an mplayer or an osso backend (from a quick look at the names of the source files: https://garage.maemo.org/plugins/scmsvn/viewcvs.php/trunk/mediaplayer/?root=mediabox). Is there a settings menu somewhere in there?

That was the right hint :)

pycage
02-11-2009, 03:02 AM
Looks like it can use either an mplayer or an osso backend (from a quick look at the names of the source files: https://garage.maemo.org/plugins/scmsvn/viewcvs.php/trunk/mediaplayer/?root=mediabox). Is there a settings menu somewhere in there?

Yup.
In 0.96.3 you can change the player for the media formats in the preferences panel.
Currently there are mplayer, OSSO, and (still somewhat broken) gstreamer. There's also a backend for controlling a libxine-dbus-service on which I am working, but this is meant for DVD playback on a HTPC, and not meant for the tablets.

bongo
02-11-2009, 08:04 AM
What I found out is that you can't change volume with a2dp and mediabox (mplayer?). In my case it's not a big deal because my headset somehow manages volume with its buttons.

sirflyalot
02-13-2009, 12:13 PM
Note also that you can use a2dp with Canola. Just change the line in /home/user/.atabake/config:
audio = oms
to
audio = mplayer

Un27Pee
02-13-2009, 03:12 PM
Note also that you can use a2dp with Canola. Just change the line in /home/user/.atabake/config:
audio = oms
to
audio = mplayer

What app do you use to do that changes is it through the command line some suggestions please thanks

GeraldKo
02-13-2009, 03:54 PM
What app do you use to do that changes is it through the command line some suggestions please thanks

Someone else may tell you how to do it from command line, but if they don't, you can do it with emelFM2 (a file manager). You may need to load emelFM2 from root in XTerm (though maybe just opening by double-clicking is enough, I'm not sure). Then navigate to the file and use the pencil icon to edit.

Un27Pee
02-13-2009, 03:59 PM
Thanks i did not find .atabake on that directory /home/user/

bongo
02-13-2009, 05:05 PM
I've written a little app called mbluetoothd
see:
http://www.internettablettalk.com/forums/showthread.php?t=26809

It can execute commands when bt devices connect/disconnect. You can use the a2dp enable and disable commands and so a2dp will be turned on or off when the connection to your headset changes.

Serge
02-21-2009, 08:21 PM
Hello,

Regarding A2DP performance on N800/N810. Using the latest diablo firmware, a2dp-support_0.9_all.deb package and nothing else, we get the following profiling statistics (Signed 16 bit Little Endian, Rate 44100 Hz, Stereo WAV file played with aplay for 100 seconds), the results are consistent across multiple runs, CPU was set to run at 400MHz:


CPU_CYCLES:100000|
samples| %|
------------------
27578 46.8448 libasound_module_pcm_bluetooth.so
27005 45.8715 no-vmlinux
1232 2.0927 oprofiled
814 1.3827 libc-2.5.so
356 0.6047 libasound.so.2.0.0
305 0.5181 ld-2.5.so
257 0.4365 Xomap
215 0.3652 libglib-2.0.so.0.1200.12
190 0.3227 busybox
182 0.3092 libpthread-2.5.so
120 0.2038 libgobject-2.0.so.0.1200.12
107 0.1818 libdbus-1.so.3.2.0
97 0.1648 dbus-daemon
67 0.1138 libgdk-x11-2.0.so.0.1000.12
61 0.1036 aplay

CPU_CYCLES:100000|
samples| %|
------------------
27238 47.7692 libasound_module_pcm_bluetooth.so
26289 46.1049 no-vmlinux
1176 2.0624 oprofiled
790 1.3855 libc-2.5.so
337 0.5910 libasound.so.2.0.0
267 0.4683 ld-2.5.so
191 0.3350 busybox
151 0.2648 libpthread-2.5.so
114 0.1999 libglib-2.0.so.0.1200.12
100 0.1754 libgobject-2.0.so.0.1200.12
82 0.1438 aplay


CPU usage is split between kernel and bluez SBC encoder more or less evenly and the bluetooth driver consumes quite a noticeable share of cpu time. Applying attached patch (tweak of UART FIFO buffer settings) to the kernel reduces CPU usage in the bluetooth driver. The fix for UART FIFO stuff for the bluetooth is available in pre-alpha fremantle kernel which was released to the public. I just did some tweaks which should work better on N800/N810, but of course somebody else can probably improve it more (reading OMAP1 and OMAP3 documentation about UART and "interpolating" it for OMAP2). Even better optimization would be to try using DMA in the bluetooth driver, but that may be a bit harder.

With the patch applied, the profiling statistics changes to the following:

CPU_CYCLES:100000|
samples| %|
------------------
28345 56.8401 libasound_module_pcm_bluetooth.so
18780 37.6594 no-vmlinux
989 1.9832 oprofiled
641 1.2854 libc-2.5.so
283 0.5675 libasound.so.2.0.0
257 0.5154 ld-2.5.so
194 0.3890 busybox
131 0.2627 libpthread-2.5.so
91 0.1825 libuClibc-0.9.28.so
61 0.1223 aplay

CPU_CYCLES:100000|
samples| %|
------------------
28315 56.1861 libasound_module_pcm_bluetooth.so
18894 37.4918 no-vmlinux
997 1.9784 oprofiled
787 1.5617 libc-2.5.so
265 0.5258 ld-2.5.so
264 0.5239 libasound.so.2.0.0
184 0.3651 busybox
141 0.2798 libpthread-2.5.so
120 0.2381 libglib-2.0.so.0.1200.12
82 0.1627 libgobject-2.0.so.0.1200.12
76 0.1508 dbus-daemon
69 0.1369 aplay


CPU usage in the kernel gets lower and there are less interrupts generated. On the other hand, bluetooth transfer speed may become a little bit smaller.

As for the SBC codec alone, it takes ~7% of CPU on N800/N810. With ARMv6 SIMD optimizations (which are still to be done) and the latest SBC encoder from upstream bluez project, I expect that this time might get halved.

Alternatively, DSP can be used for SBC encoder (port to it is done by lardman). But ARM<->DSP communication overhead is also kind of can of worms and may (or may not) kill the benefits of offloading some work to DSP.

blowfish23
03-02-2009, 09:00 PM
I've got these headphones: http://www.bestbuy.com/site/olspage.jsp?skuId=8480413&st=bluetooth+headphones&type=product&id=1185267960408
and I have followed the instructions from the first post and everything seems to work. But I'm still not getting stereo audio. When I look at the headphones info on my n800, it says supported profiles: hfp, hsp but does not list a2dp. I also have not gotten the stereo audio to work with my bluetooth dongle on my pc. Are my headphones defective or am I missing something?

Laughing Man
03-03-2009, 12:59 AM
Serge, I honestly have no clue what you just said. I just know it was something good. I hope that means that I will be able to use A2DP without to much significant battery drain.

lardman
03-03-2009, 03:55 AM
I've back-ported the Bluez 4.32 changes to the sbc sub-system to our version of bluez-utils (which sounds quite grand, but really just consists of replacing the contents of one directory with the contents of another :)). You can grab the file and overwrite your existing one (dpkg -i) and as it's the same version, it shouldn't break anything.

Note these are the userspace changes, I've not looked at the kernel stuff that Serge posted above (yet). Also note that I only changed the sbc subsystem stuff, there may be some other useful patches which make changes outside that subsystem. If anyone knows of any please let me know.

Files here as usual: http://people.bath.ac.uk/enpsgp/nokia770/dsp/sbc/ARM-only/

svs57
03-03-2009, 04:54 AM
I tested packages from http://people.bath.ac.uk/enpsgp/noki.../sbc/ARM-only/
mplayer eats ~ 40% cpu with ondemand goverment cpu.

How can I be sure that sbc encoding in use?
Here is output from mplayer:
...
Trying to force audio codec driver family dspmp3...
Opening audio decoder: [dspmp3] MP3 audio pass-through for Nokia 770/N800 (fake decoder)
ADecoder preinit failed :(
ADecoder init failed :(
Trying to force audio codec driver family libmad...
Opening audio decoder: [libmad] libmad mpeg audio decoder
...
Is it normal?

One more question.
I want to user panucci audio book player with a2dp.
The problem is how to start gstreamer with a2dp.

gst-inspect bluetooth
Plugin Details:
Name: bluetooth
Description: Bluetooth plugin library
Filename: /usr/lib/gstreamer-0.10/libgstbluetooth.so
Version: 3.28
License: LGPL
Source module: bluez-utils
Binary package: BlueZ
Origin URL: http://www.bluez.org/

rtpsbcpay: RTP packet payloader
a2dpsink: Bluetooth A2DP sink
avdtpsink: Bluetooth AVDTP sink
sbcparse: Bluetooth SBC parser
sbcdec: Bluetooth SBC decoder
sbcenc: Bluetooth SBC encoder
bluetooth type: sbc

7 features:
+-- 6 elements
+-- 1 types

lardman
03-03-2009, 09:46 AM
No idea if it's normal or not, will test this evening and see what figures I get. Bear in mind that the CPU has to do MP3 decoding followed by SBC encoding. Also, as you were using ondemand, what was the current CPU frequency while you measured these figures?

svs57
03-03-2009, 10:28 AM
ondemand 165 Mhz cpu load ~35%-38%
What does it mean?

Any advice about using gstreamer over a2dp....

lardman
03-03-2009, 11:51 AM
It means that it requires not too much CPU (as peak CPU speed is 400MHz).

a2dp over GStreamer should be possible, just use the a2dp sink. I think that should be installed along with bluez-utils. Do check and see, I'll try to compile it for you if not.

svs57
03-05-2009, 03:47 AM
I've wrote that a2dp sink plugins installed.
The question was how start gst-launch to play mp3 file via a2dp?

gst-inspect bluetooth
Plugin Details:
Name: bluetooth
Description: Bluetooth plugin library
Filename: /usr/lib/gstreamer-0.10/libgstbluetooth.so
Version: 3.28
License: LGPL
Source module: bluez-utils
Binary package: BlueZ
Origin URL: http://www.bluez.org/

rtpsbcpay: RTP packet payloader
a2dpsink: Bluetooth A2DP sink
avdtpsink: Bluetooth AVDTP sink
sbcparse: Bluetooth SBC parser
sbcdec: Bluetooth SBC decoder
sbcenc: Bluetooth SBC encoder
bluetooth type: sbc

7 features:
+-- 6 elements
+-- 1 types

Serge
03-05-2009, 04:15 AM
I've wrote that a2dp sink plugins installed.
The question was how start gst-launch to play mp3 file via a2dp?
You probably need a gstreamer plugin for mp3, which works both as sink and source.

Also sbc gstreamer plugin is very slow and has huge cpu overhead. I have not measured its performance on ARM11 yet, but on x86 using gstreamer to encode sbc audio file to file is about twice slower than using a standalone 'sbcenc' utility.

blowfish23
03-06-2009, 11:53 AM
I've got these headphones: http://www.bestbuy.com/site/olspage....=1185267960408
and I have followed the instructions from the first post and everything seems to work. But I'm still not getting stereo audio. When I look at the headphones info on my n800, it says supported profiles: hfp, hsp but does not list a2dp. I also have not gotten the stereo audio to work with my bluetooth dongle on my pc. Are my headphones defective or am I missing something?

Bumping this post.

tso
03-06-2009, 12:00 PM
the link is no longer informative...

blowfish23
03-06-2009, 12:49 PM
Sorry, here's a different link. I have the Insignia over-the -ear bluetooth headphones: http://www.insignia-products.com/pc-288-6-insignia-bluetooth-wireless-behind-the-head-headphones-black.aspx

blowfish23
03-07-2009, 12:14 AM
I finally got a2dp working. I had forgotten what stereo sounded like. I reset everything and tried again. I think my problem was I kept testing audio in kagu, and maybe a setting was wrong and it wasn't playing with mplayer. I tested audio in kmplayer, and it worked and now I've configured canola to play in stereo. So the fact that I had never heard stereo in the headphones before and my pc dongle wouldn't work and that kagu wasn't playing stereo made me wonder if the headphones were defective.

lardman
03-07-2009, 09:08 AM
Looking back at what you said, I don't think the Nokia information dialog bothers to provide information on profiles that are not supported, so only hsp and hfp are shown no matter what.

Dado
03-19-2009, 07:41 PM
Hello together,

first of all thanks for your work getting a2dp on the nokias.

i've a N800 quite a while and got now a Motorola DC800 bluetooth-audio bridge. Because the DC800 supports a2dp i tried to install the a2dp support on the N800. Installing has now sucessfully finished, but playing gives only garbage in my ears. ;-)

I tried the DC800 with my nokia E51. This works like a charme. So i know that the DC800 works.

The only way i get "Sound" over bluetooth is starting a2dp and mplayer on the console. But i only hear "grwwwwsssffffxxxx-pieeep". If i try mplayer (gui), mediabox or canola configured with the hints on this thread, i get only internal sound.

What can i do now and what do you need for helping?

Thanks a lot
Dado

blowfish23
03-19-2009, 08:53 PM
Maybe try deleting the motorola profile on your n800, then pair again. Also I've found that the volume controls on my n800 does nothing for my bluetooth headphones. Only the volume buttons on my headphones can adjust the volume. So make sure the volume is high enough on your motorola. Another thing, do you have the latest version of mplayer?

Dado
03-20-2009, 06:26 AM
Hello Blowfish,

deleting and re-pairing did i already without success. The DC800 has no controls but with my E51 volume is OK. Think this is the latest version found in the repository 1.0rc1-maemo.29.n8x0.

Any other idea?

Serge
04-18-2009, 05:38 PM
Anybody here using Logitech FreePulse headset? Looks like it has problems with audio clipping when used with soundtracks which have audio volume maximized. A workaround is to reduce volume either in the player program or in bluez SBC encoder. If you encounter audio quality issues like clicks or 'frying pan' noise which are not defects of the original audio file itself of course, please let me know.

nadolph
05-13-2009, 03:50 PM
Hello,

I'm having some trouble getting A2DP to work on my nokia N810. I followed the instructions in the first post. Are those instructions still current?

I'm running the latest version of the OS. The a2dp-support package installs correctly, and running a2dp firstrun and a2dp enable also seems to work. I am running mplayer version 1.0rc1-maemo.29.n8x0. When I try to play a file, I recieve the following error:

alsa-lib: pcm_bluetooth.c:1589:(bluetooth_init) BT_GETCAPABILITIES failed : Input/output error(5)

The bluetooth headset I'm using is paired prior to this and it does (is advertised to) support a2dp. I double(triple) checked the address given to a2dp firstrun. It works in non-A2DP mode.

Any help would be greatly appreciated. If there is another method for enabling a2dp, I'd love to know. I know my way around linux quite well, but I am new to the n810, bluetooth, and maemo.

Nathan

lardman
05-13-2009, 06:17 PM
This sometimes happens (no idea why), try re-pairing your headset with the N810 and running the "runfirst" script again.

nadolph
05-16-2009, 07:35 PM
This sometimes happens (no idea why), try re-pairing your headset with the N810 and running the "runfirst" script again.

I tried this many times already but it did not help. Thanks anyway.

Nathan

sachin007
05-16-2009, 09:42 PM
I tried this many times already but it did not help. Thanks anyway.

Nathan

Another thing to watch out is to unpair anyother bluetooth devices that are already authorised to the headset.

I had a nokia n95-4 which was also paired to the headset and this caused a problem. Deactivate the bluetooth on the phone and repairing solved the problem.

lardman
05-17-2009, 05:55 AM
I tried this many times already but it did not help. Thanks anyway.

I feel your pain, I had lots of frustration getting it setup when I first got my headset (and lots of wasted time debugging my DSP code when it was the fault of Bluez all the time, aargh!). If you do work out what the issue is please do post and let everyone know.

nadolph
05-19-2009, 03:45 PM
If you do work out what the issue is please do post and let everyone know.

I haven't tried getting A2DP to work in for the last week or so, but I tried again today and it worked. I didn't do anything special, just rebooted, repaired, re-ran A2DP runfirst. I guess I just got lucky. Thanks everyone for your help.

Nathan

Dr Tran
06-02-2009, 01:52 AM
This broke my MD-5W speakers. The a2dp profile is missing now. :(

tso
06-20-2009, 09:17 PM
ah, got things working with my bt8010's. just had to turn of the tablet siunds so that the headset didnt go into phonecall mode every time i touched the phone.

also, one cant do much else while playing music...

yukop4
06-20-2009, 10:29 PM
got the same problem with my tablet n810-media player send via bluetooth and the bluetooth connection drops out

what annoys me is that the md 7w speakers were stated as being compatiable with the n810

zenjunior
06-26-2009, 01:59 PM
The instructions on the first page are still valid, and work without a problem, the only problem is that mplayer normaly uses 5 to 10 % , and using the A2DP it spikes to 50%, when monitoring using # top

So it works, but I think battery is going to be an issue...

Thanks for the hint

Tomaszd
07-12-2009, 06:32 AM
Hello,

Regarding A2DP performance on N800/N810. Using the latest diablo firmware, a2dp-support_0.9_all.deb package and nothing else, we get the following profiling statistics (Signed 16 bit Little Endian, Rate 44100 Hz, Stereo WAV file played with aplay for 100 seconds), the results are consistent across multiple runs, CPU was set to run at 400MHz:



CPU usage is split between kernel and bluez SBC encoder more or less evenly and the bluetooth driver consumes quite a noticeable share of cpu time. Applying attached patch (tweak of UART FIFO buffer settings) to the kernel reduces CPU usage in the bluetooth driver. The fix for UART FIFO stuff for the bluetooth is available in pre-alpha fremantle kernel which was released to the public. I just did some tweaks which should work better on N800/N810, but of course somebody else can probably improve it more (reading OMAP1 and OMAP3 documentation about UART and "interpolating" it for OMAP2). Even better optimization would be to try using DMA in the bluetooth driver, but that may be a bit harder.

With the patch applied, the profiling statistics changes to the following:


CPU usage in the kernel gets lower and there are less interrupts generated. On the other hand, bluetooth transfer speed may become a little bit smaller.

As for the SBC codec alone, it takes ~7% of CPU on N800/N810. With ARMv6 SIMD optimizations (which are still to be done) and the latest SBC encoder from upstream bluez project, I expect that this time might get halved.

Alternatively, DSP can be used for SBC encoder (port to it is done by lardman). But ARM<->DSP communication overhead is also kind of can of worms and may (or may not) kill the benefits of offloading some work to DSP.

To anyone who wants to know: I've added Serge's patch to kernel-source-diablo of Mer, it's now in N8x0:Testing, should be available in the next release of Mer (0.15).

svu
11-02-2009, 06:24 AM
svs57, could you please fix your a2dp script with adding

enabled=0

at the start? Otherwise the line

if [ $enabled -eq 1 ] ; then

gives the error message, when $enabled is not initialized.

Thanks

svs57
11-02-2009, 07:11 AM
Thank you svu.
I fixed script.

clearcut
12-02-2009, 01:14 AM
I'm trying to get this to work with a pair of LG HSB-250 which support A2DP. I have read all 9 pages of this tread. I followed the first message - actually 3 times now rebooting between tries.

With a2dp enabled:

mplayer - plays a video with no sound. Occasionally it plays a double speed with no sound. Until the video actually plays, screen taps play. Version 1.0rc1-maemo20.n8x0

Kagu simply crashes.

With a2dp disabled I can hear in both speakers, but the quality is poor. Kagu plays normally.

The headphones connect in HFP, HSP. I was able to make a call with Goggle Voice and Gizmo.

Any other suggestions?

lardman
12-02-2009, 06:23 AM
Try un-pairing and then re-pairing, getting it to connect the first time can be a real pita.

clearcut
12-02-2009, 01:59 PM
Thanks for the suggestion. Unfortunately after 6 un-pairing / re-pairings, the results are the same.

I have tried re-pairing while a2dp and enabled and a2dp was disabled.

I have triple checked the Bluetooth address.

As an experiment, I paired (and then un-paired) the headset with a Mac and achieved full a2dp support including controlling iTunes with the headset controls, so I know the headset works correctly.

Any other suggestions?

svs57
12-03-2009, 04:05 AM
Start xterm. From xterm type
mplayer <Path to mp3 file>/<mp3 file name>
for example
mplayer /media/mmc2/music.mp3
Then copy output and paste here.

IMHO FAQ miss very important part - create a2dp device
Here is python script for this
-----------------------------------
import dbus
bus = dbus.SystemBus()
manager = dbus.Interface(bus.get_object('org.bluez', '/org/bluez'), 'org.bluez.Manager')
bus_id = manager.ActivateService('audio')
audio = dbus.Interface(bus.get_object(bus_id, '/org/bluez/audio'), 'org.bluez.audio.Manager')

path = audio.CreateDevice('XX:XX:XX:XX:XX:XX')
audio.ChangeDefaultDevice(path) #change the device to be used by default
sink = dbus.Interface (bus.get_object(bus_id, path), 'org.bluez.audio.Sink')
sink.Connect()
----------------------------------------------
Change in the line
path = audio.CreateDevice('XX:XX:XX:XX:XX:XX')
BT address of your headphone

Also check file
/etc/bluetooth/audio.conf
line
Disable=Control,Sink,Source
should be
#Disable=Control,Sink,Source
And restart BT as root
/etc/init.d/bluez-utils stop
/etc/init.d/bluez-utils start

Hope this help you.

clearcut
12-04-2009, 04:12 PM
Thank you so much for trying to help. I really appreciate it. But still no a2dp sound.

==-=-==

I rebooted the N810,
re-paired the HBS-250 headset,
did a a2dp runfirst adding the correct device 00:07:88:6A1:E1:72
and ran mplayer as you suggested

==-=-==
12/04/09, 10:59 AM: /media/mmc2 $ mplayer fpb.mp3
MPlayer 1.0rc1-maemo.29.n8x0 (C) 2000-2006 MPlayer Team
CPU: ARM
Internet Tablet OS version: RX-34+RX-44+RX-48_DIABLO_5.2008.43-7_PR_MR0

[MENU] Can't open menu config file: /home/user/.mplayer/menu.conf
Menu inited: /etc/mplayer/menu.conf

Playing fpb.mp3.

Audio file file format detected.
================================================== ========================
Trying to force audio codec driver family dspmp3...Opening audio decoder: [dspmp3] MP3 audio pass-through for Nokia 770/N800 (fake decoder)
ADecoder preinit failed :(
ADecoder init failed :(
Trying to force audio codec driver family libmad...Opening audio decoder: [libmad] libmad mpeg audio decoder
AUDIO: 44100 Hz, 2 ch, s16le, 192.0 kbit/13.61% (ratio: 24000->176400)
Selected audio codec: [mad] afm: libmad (libMAD MPEG layer 1-2-3)
================================================== ========================
alsa-lib: pcm_bluetooth.c:1589:(bluetooth_init) BT_GETCAPABILITIES failed : Input/output error(5)
alsa-init: playback open error: Input/output error
Could not open/initialize audio device -> no sound.Audio: no sound
Video: no video


Exiting... (End of file)

==-=-==

I then ran your script

==-=-==

12/04/09, 11:00 AM: /media/mmc2 $ python usebt.py
Traceback (most recent call last):
File "usebt.py", line 7, in <module>
path = audio.CreateDevice('00:07:88:6A1:E1:72') File "/usr/lib/python2.5/site-packages/dbus/proxies.py", line 68, in __call__
return self._proxy_method(*args, **keywords)
File "/usr/lib/python2.5/site-packages/dbus/proxies.py", line 140, in __call__
**keywords)
File "/usr/lib/python2.5/site-packages/dbus/connection.py", line 607, in call_blocking
message, timeout)
dbus.exceptions.DBusException: org.bluez.Error.ConnectionAttemptFailed: Host is down
/media/mmc2 $

==-=-==

and reran mplayer

==-=-==
______

12/04/09, 11:01 AM: /media/mmc2 $ mplayer fpb.mp3
MPlayer 1.0rc1-maemo.29.n8x0 (C) 2000-2006 MPlayer Team
CPU: ARM
Internet Tablet OS version: RX-34+RX-44+RX-48_DIABLO_5.2008.43-7_PR_MR0

[MENU] Can't open menu config file: /home/user/.mplayer/menu.conf
Menu inited: /etc/mplayer/menu.conf

Playing fpb.mp3.

Audio file file format detected.
================================================== ========================
Trying to force audio codec driver family dspmp3...Opening audio decoder: [dspmp3] MP3 audio pass-through for Nokia 770/N800 (fake decoder)
ADecoder preinit failed :(
ADecoder init failed :(
Trying to force audio codec driver family libmad...Opening audio decoder: [libmad] libmad mpeg audio decoder
AUDIO: 44100 Hz, 2 ch, s16le, 192.0 kbit/13.61% (ratio: 24000->176400)
Selected audio codec: [mad] afm: libmad (libMAD MPEG layer 1-2-3)
================================================== ========================
alsa-lib: pcm_bluetooth.c:1589:(bluetooth_init) BT_GETCAPABILITIES failed : Input/output error(5)
alsa-init: playback open error: Input/output error
Could not open/initialize audio device -> no sound.Audio: no sound
Video: no video


Exiting... (End of file)

==-=-==

I also rebooted and re-paired.

svs57
12-05-2009, 01:21 PM
python script msg: Host is down
means that or BT address is incorrect or headphone is off.
Try remove BT headphone device and add it again after you change
/etc/bluetooth/audio.conf and restart bluetooth
You must first of all create a2dp alsa device using python script before you can use it.
PS
You can find more information on
http://wiki.bluez.org/wiki/HOWTO/AudioDevices

eastbayarb
12-26-2009, 04:52 AM
I installed the a2dp support (a2dp-support_0.9_all.deb) and followed the guide. I have a Motorola S805, and although a2dp is enabled, I am still getting mono sound. I have the latest mplayer installed (1.0rc1-maemo.29.n8x0)

Please help!

speculatrix
12-26-2009, 06:18 PM
I installed the a2dp support (a2dp-support_0.9_all.deb) and followed the guide. I have a Motorola S805, and although a2dp is enabled, I am still getting mono sound. I have the latest mplayer installed (1.0rc1-maemo.29.n8x0)

Please help!

if you're only getting mono sound then..
either you're still using SCO audio
or
the sound file is mono
or
mplayer is broken
or
the configuration is broken - be sure to check you have the correct mac address so it can connect

meanwhile you'll have to paste some of the mplayer output as we're simply guessing in the dark as to what's going on!!

eastbayarb
12-26-2009, 07:16 PM
if you're only getting mono sound then..
either you're still using SCO audio
or
the sound file is mono
or
mplayer is broken
or
the configuration is broken - be sure to check you have the correct mac address so it can connect

meanwhile you'll have to paste some of the mplayer output as we're simply guessing in the dark as to what's going on!!

I assure you the mp3's I am using are not mono. I have installed, uninstalled, and reinstalled mplayer twice. I know I have the correct MAC address.

What mplayer output are you talking about pasting?

tabletter
01-09-2010, 01:28 PM
Who knows what is the current situation with AVRCP support? Do stop, next, prev, etc buttons work? Any chance?

lardman
01-09-2010, 05:03 PM
On the N900? Yes they do.

tabletter
01-20-2010, 04:57 PM
I mean the previous ones - N8x0. I believe this new N900 support everything.

AndyM
02-16-2010, 09:15 AM
The instructions on the first page are still valid, and work without a problem, the only problem is that mplayer normaly uses 5 to 10 % , and using the A2DP it spikes to 50%, when monitoring using # top

So it works, but I think battery is going to be an issue...

Thanks for the hint

Is this still an accurate summary of the situation? A2DP will work, but it eats battery time?

svs57
02-16-2010, 10:44 AM
My experience with a2dp:
proc load ~ 12%-15%
battery from 100% to 86%-90% working ~1.5 hour.

Serge
07-02-2010, 06:56 PM
As for the SBC codec alone, it takes ~7% of CPU on N800/N810. With ARMv6 SIMD optimizations (which are still to be done) and the latest SBC encoder from upstream bluez project, I expect that this time might get halved.
Upstream bluez SBC codec got ARMv6 optimizations, which should be very useful for reducing A2DP CPU load on Nokia N800/N810:
http://git.kernel.org/?p=bluetooth/bluez.git;a=commit;h=eb2d4570d3aadd2f83251cfd90183 a52f9f6c096

svs57
07-05-2010, 03:24 AM
Did you compile new bluez for N810?

Serge
07-05-2010, 03:30 AM
Did you compile new bluez for N810?

No, but that should be simple: http://talk.maemo.org/showpost.php?p=268526&postcount=307

Just the content of 'sbc' subdirectory from bluez-4.67 should be used now.

svs57
07-05-2010, 03:54 AM
I downloaded bluez-4.67.
There is no Makefile.am in sbc directory.
Appling both patches form git.kernel is failed.

Serge
07-05-2010, 04:24 AM
I downloaded bluez-4.67.
There is no Makefile.am in sbc directory.
Appling both patches form git.kernel is failed.

1. take the old tarball from lardman: http://people.bath.ac.uk/enpsgp/nokia770/dsp/sbc/ARM-only/bluez-utils_3.28-0osso6.tar.gz
2. copy 'sbc' directory from bluez-4.67 over the 'sbc' directory in that tarball
3. take Makefile.am from old tarball and add new files 'sbc_primitives_armv6.c' and 'sbc_primitives_armv6.h' to it (similar to how 'mmx' and 'neon' files are listed there)
4. make sure that the package gets built with -march=armv6 or -mcpu=arm1136jf-s options to get armv6 optimizations compiled in.

I hope somebody in this thread still maintains the a2dp support package for diablo and will provide an updated .deb file soon.

svs57
07-05-2010, 04:36 AM
Thanks. I'll try to compile.

svs57
07-05-2010, 05:28 AM
Packages with the armv6 sbc patch.

Mgamerz
07-05-2010, 04:03 PM
I'd test it if my battery life didn't suck already.