Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751869AbbBJPzH (ORCPT ); Tue, 10 Feb 2015 10:55:07 -0500 Received: from mail-we0-f180.google.com ([74.125.82.180]:46425 "EHLO mail-we0-f180.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751313AbbBJPzG (ORCPT ); Tue, 10 Feb 2015 10:55:06 -0500 MIME-Version: 1.0 From: Alexander Ploumistos Date: Tue, 10 Feb 2015 17:54:43 +0200 Message-ID: Subject: [PATCH] Add support for Atheros AR5B195 combo Mini PCIe cards (AR3011 Bluetooth) To: marcel@holtmann.org, gustavo@padovan.org, johan.hedberg@gmail.com Cc: jwboyer@redhat.com, linux-bluetooth@vger.kernel.org, linux-kernel@vger.kernel.org Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2453 Lines: 49 The AR5B195 Mini PCIe card is made up by an AR9285 Wi-Fi chip and an AR3011 Bluetooth chip. The operating procedure of the device, as well as the rationale behind the patch is documented in https://wireless.wiki.kernel.org/en/users/Drivers/ath3k#ar3011_with_sflash_configurations The bluetooth device is exposed to the host as a generic USB device (04f2:aff1 Chicony Electronics Co., Ltd, in this case) and requires firmware to be uploaded to it, so that it can be re-enumerated as an AR3011 device. This translates to adding the Vendor and Product IDs to the btusb.c blacklist and to the ath3k.c list of supported devices. I made the patch against the source of kernel-3.18.6-200, currently in Fedora updates-testing and I've also tested it with a couple of 3.18.5 kernels. Some more info and external references can be found in RHBZ: https://bugzilla.redhat.com/show_bug.cgi?id=1190947 Signed-off-by: Alexander Ploumistos --- diff -rupN a/drivers/bluetooth/ath3k.c b/drivers/bluetooth/ath3k.c --- a/drivers/bluetooth/ath3k.c 2014-12-08 00:21:05.000000000 +0200 +++ b/drivers/bluetooth/ath3k.c 2015-02-10 05:48:26.202889885 +0200 @@ -65,6 +65,7 @@ static const struct usb_device_id ath3k_ /* Atheros AR3011 with sflash firmware*/ { USB_DEVICE(0x0489, 0xE027) }, { USB_DEVICE(0x0489, 0xE03D) }, + { USB_DEVICE(0x04F2, 0xAFF1) }, { USB_DEVICE(0x0930, 0x0215) }, { USB_DEVICE(0x0CF3, 0x3002) }, { USB_DEVICE(0x0CF3, 0xE019) }, diff -rupN a/drivers/bluetooth/btusb.c b/drivers/bluetooth/btusb.c --- a/drivers/bluetooth/btusb.c 2014-12-08 00:21:05.000000000 +0200 +++ b/drivers/bluetooth/btusb.c 2015-02-10 05:49:38.590890251 +0200 @@ -142,6 +142,7 @@ static const struct usb_device_id blackl /* Atheros 3011 with sflash firmware */ { USB_DEVICE(0x0489, 0xe027), .driver_info = BTUSB_IGNORE }, { USB_DEVICE(0x0489, 0xe03d), .driver_info = BTUSB_IGNORE }, + { USB_DEVICE(0x04f2, 0xaff1), .driver_info = BTUSB_IGNORE }, { USB_DEVICE(0x0930, 0x0215), .driver_info = BTUSB_IGNORE }, { USB_DEVICE(0x0cf3, 0x3002), .driver_info = BTUSB_IGNORE }, { USB_DEVICE(0x0cf3, 0xe019), .driver_info = BTUSB_IGNORE }, -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/