Bluetooth does not work on PandaBoard

Bug #789095 reported by Marcin Juszkiewicz on 2011-05-27
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Linaro Ubuntu
Ricardo Salveti
linux-linaro-omap (Ubuntu)

Bug Description

Bluetooth chip on PandaBoard is recognized and 'btsdio' module is loaded to handle that. But BT ADDR is set to 0 so interface is not usable.

root@linaro:~# hciconfig
hci0: Type: BR/EDR Bus: SDIO
        BD Address: 00:00:00:00:00:00 ACL MTU: 0:0 SCO MTU: 0:0
        RX bytes:0 acl:0 sco:0 events:0 errors:0
        TX bytes:0 acl:0 sco:0 commands:0 errors:0

Marcin Juszkiewicz (hrw) wrote :

Linux linaro 2.6.38-1003-linaro-omap #4~ppa5-Ubuntu SMP PREEMPT Wed May 25 14:44:32 UTC 2011 armv7l armv7l armv7l GNx

Fathi Boudra (fboudra) on 2011-05-27
tags: added: linaro-ubuntu panda
Changed in linux-linaro-omap (Ubuntu):
status: New → Confirmed
warmcat (andy-warmcat) wrote :

btsdio is evil I think.... bt connection on Panda is by UART not SDIO

How does the rest of your config about BT compare to omap4_defconfig on my tree, eg CONFIG_TI_ST... and do you have uim daemon running?

Alexander Sack (asac) wrote :

this is something for 11.06.

Alexander Sack (asac) wrote :

(at least my vote)

Alexander Sack (asac) wrote :

for 11.06 for leb hwpack (x11-panda) we have to do a objective analysis of what hw is working on lt tree from andy vs. nicos tree ... and take where more hardware works reliably with our rootfs. That kernel should become the LEB kernel. We can still provide mainline/nico package for keeping track how things improve, but if LT is better thats our choice.

warmcat (andy-warmcat) wrote :

npitre tree doesn't have the necessary patches for BT. They're layered out in my for-nicolas branch on top of npitre tree at the moment FWIW.;a=shortlog;h=refs/heads/for-nicolas

Generally LT tree has radioactive patches that would conflict with other builds of a common tree so npitre can't take them. But, LT tree is at least based on npitre.

On Panda / WL12XX BT, you also need a userland daemon called uim for BT to work.

I build the BT config in the monolithic kernel and run uim in /etc/rc.local with no args, this gets workable BT on Panda.

Changed in linaro-ubuntu:
status: New → Confirmed
importance: Undecided → Medium
assignee: nobody → Ricardo Salveti (rsalveti)
milestone: none → 11.09
Marko Pellikka (eemapel) wrote :

What is the status of this? Is there any known workaround to get bluetooth working meanwhile?

Changed in linaro-ubuntu:
milestone: 11.09 → 11.10
Avik Sil (aviksil) on 2011-10-24
tags: added: bluetooth lt-panda
warmcat (andy-warmcat) wrote :

Bluetooth is working OK in Ubuntu and Android I believe on both 3.0, 3.1-based kernels and 4430/4460.

On Mon, Oct 24, 2011 at 3:06 PM, warmcat <email address hidden> wrote:
> Bluetooth is working OK in Ubuntu and Android I believe on both 3.0,
> 3.1-based kernels and 4430/4460.

Not by default, do you still need an extra daemon to make it work properly?

warmcat (andy-warmcat) wrote :

I thought I saw in one of your boot traces recently it was being started up now... you do indeed need uim started.

Ricardo Salveti (rsalveti) wrote :

On Mon, Oct 24, 2011 at 6:48 PM, warmcat <email address hidden> wrote:
> I thought I saw in one of your boot traces recently it was being started
> up now... you do indeed need uim started.

I tried with uim last month but it didn't help.

Tried head, will try it again with 3.1.

warmcat (andy-warmcat) wrote :

I spent a couple of hours with a guy on irc the other week using ubuntu, with HEAD uim started in /etc/rc.local and if you have a 4460, later firmware, he was working.

Ricardo Salveti (rsalveti) wrote :

Ok, got it working now (at least it seems to be working, checking remotely on my panda).

Besides enabling uim, had also to fix the firmware path, otherwise the load would fail, like:
[ 23.130584] (stc): st_tty_open
[ 23.133758] (stk) : line discipline installed
[ 23.139068] (stk) :TIInit_7.2.31.bts
[ 23.151763] (stk) : request_firmware failed(errno -2) for TIInit_7.2.31.bts
[ 23.160278] (stk) :download firmware failed
[ 23.164855] (stk) :ldisc_install = 0
[ 23.168975] (stc): st_tty_close

At least at the linux-firmware (1.60) package, this firmware is located at /lib/firmware/ti-connectivity/TIInit_7.2.31.bts, but the drivers requires it to be located at /lib/firmware instead:
drivers/misc/ti-st/st_kim.c: sprintf(bts_scr_name, "TIInit_%d.%d.%d.bts", chip, maj_ver, min_ver);

Checking wl12xx, it points the correct firmware directory for the module (ti-connectivity/wl1271-nvs.bin), so one fix is to change the default path to match the one provided by linux-firmware. I believe there could be a workaround at udev, but need further investigation.

warmcat (andy-warmcat) wrote :

Great... I believe the Ancients of 2.6.35 did succeed to plug all this together with udev fwiw.

Yes for a while, maybe still, we had to patch wl12xx sources to correct the firmware subdir.

Android guys have their firmware in level above to match what the drivers currently expect (and have working Bluetooth), so this'll need some coordination, added Vishal.

Vishal in tracking I'll patch the kernel so bluetooth driver is looking in whatever/firmware/ti-connectivity like the WLAN driver does, instead of current whatever/firmware.

vishal (vishalbhoj) wrote :

andy-warmcat ,
Let me know once you patch the kernel,please apply the same to staging also(since the staging builds are active in android-build).I'll move the firmware to ti-connectivity.

Ricardo Salveti (rsalveti) wrote :

Patch I used to test the bluetooth support at Ubuntu (after installing uim).

warmcat (andy-warmcat) wrote :
Ricardo Salveti (rsalveti) wrote :

On Tue, Oct 25, 2011 at 1:07 PM, warmcat <email address hidden> wrote:
> I fixed it thismorning
> teams/working/ti/kernel.git;a=patch;h=e756cf5be3b63dc49c54a204b9d95332c07db7c5
> it's part of the 3.1 stuff pushed on our repo now.

Great, even better, thanks :-)

The attachment "0001-ti-st-st-kim-fixing-firmware-path.patch" of this bug report has been identified as being a patch. The ubuntu-reviewers team has been subscribed to the bug report so that they can review the patch. In the event that this is in fact not a patch you can resolve this situation by removing the tag 'patch' from the bug report and editing the attachment so that it is not flagged as a patch. Additionally, if you are member of the ubuntu-sponsors please also unsubscribe the team from this bug report.

[This is an automated message performed by a Launchpad user owned by Brian Murray. Please contact him regarding any issues with the action taken in this bug report.]

tags: added: patch
Fathi Boudra (fboudra) on 2011-11-11
Changed in linaro-ubuntu:
milestone: 11.10 → 11.11
Ricardo Salveti (rsalveti) wrote :

BT support is fixed by latest ti-uim upload (always initialize uim from the udev rule). With the latest version I'm able to see the bp device every boot.

Changed in linaro-ubuntu:
status: Confirmed → Fix Released
Changed in linux-linaro-omap (Ubuntu):
status: Confirmed → Fix Released
Gokul Kartha (gogul-kartha) wrote :

I am able to scan the bluetooth devices with hcitool ,but while pairing it says "protocol not supported" any clue? More over i tired to run the HFP( daemon,but it fails.

Avik Sil (aviksil) wrote :

11.12 RC image: able to scan devices, but not able to browse and send/receive files with other BT devices

omkar062 (omkar062) wrote :

I am just starting to enable bluetooth on my panda-board.
I enable all needed ko's in kernel, and cross-compile the bluez-3.36 and install to my rootfs.
My moto is enblie the bluetooth with minimal root file-system.
whem i am trying to use 'hcitool scan' bluetooth.ko is inserted and gives some message.
At last line it gives 'Device is not available: No such device' .

omkar062 (omkar062) wrote :

can any one help me please

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers