Hello everyone;
I have a Sony VPCEH laptop with a built-in Bluetooth adapter. This adapter was non-functional in Slack 13.37 and 14, unless I booted windows first - which presumably loaded a firmware to the adapter.
Otherwise it would show me a bt hci interface with a mac address of 00:00:00:00:00 that couldn't be put to use.
This issue has been around for some time, in several distros. See:
http://www.spinics.net/lists/linux-b.../msg06240.html https://bugs.launchpad.net/ubuntu/+s...ux/+bug/898826
https://bbs.archlinux.org/viewtopic.php?id=126487
for details
Based on the information found in
http://wireless.kernel.org/en/users/...011_and_AR3012 , I was able to recompile the ath3k and btusb modules to get the Bluetooth interface to spring to life, in Slack.
If you have the kernel source tree, the source for these modules will be in /usr/src/linu/drivers/bluetooth. I copied both source files into the same dir with ".orig" as a suffix.
This is the result of a 'diff -c ath3k.c ath3k.c.orig':
<code>
*** ath3k.c 2012-10-02 23:00:24.572306058 +0100
--- ath3k.c.orig 2012-10-02 22:56:20.910918582 +0100
***************
*** 82,88 ****
/* Atheros AR5BBU22 with sflash firmware */
{ USB_DEVICE(0x0489, 0xE03C) },
! { USB_DEVICE(0x0489, 0xE027) },
{ } /* Terminating entry */
};
--- 82,88 ----
/* Atheros AR5BBU22 with sflash firmware */
{ USB_DEVICE(0x0489, 0xE03C) },
!
{ } /* Terminating entry */
};
</code>
...And this, for a 'diff -c btusb.c btusb.c.orig':
<code>
*** btusb.c 2012-10-02 23:02:31.544135679 +0100
--- btusb.c.orig 2012-10-02 22:56:30.132886796 +0100
***************
*** 128,134 ****
{ USB_DEVICE(0x13d3, 0x3304), .driver_info = BTUSB_IGNORE },
{ USB_DEVICE(0x0930, 0x0215), .driver_info = BTUSB_IGNORE },
{ USB_DEVICE(0x0489, 0xe03d), .driver_info = BTUSB_IGNORE },
- { USB_DEVICE(0x0489, 0xe027), .driver_info = BTUSB_IGNORE },
/* Atheros AR9285 Malbec with sflash firmware */
{ USB_DEVICE(0x03f0, 0x311d), .driver_info = BTUSB_IGNORE },
--- 128,133 ----
</code>
Basically, what I did was add the lines that reference the USB ID '0x0489, 0xE027' and then compiled these modules.
<code>
# cd /usr/src/linux
# make drivers/bluetooth/ath3k.ko
# make drivers/bluetooth/btusb.ko
</code>
The newly compiled modules were then copied to /var/lib/3.2.29/kernel/drivers/bluetooth, after renaming the old ones in case I needed to roll back. Afterwards:
<code>
# depmod -a
</code>
After a reboot, the lsusb was now showing a '0cf3:3005 Atheros Communications, Inc. AR3011 Bluetooth' and I was able to pair it with my cell phone.
Cheers