2014-12-01 09:05:58

by Harvey

[permalink] [raw]
Subject: Adding Broadcom Support for BCM 20702AO of Fuijitsu Lifebook E751 with .driver_info = BTUSB_BCM_PATCHRAM },

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hello all,

may I kindly ask to incorporate the bluetooth device of my Laptop
Fuijitsu Lifebook E751 to the list of devices supported through
loading firmware via
.driver_info = BTUSB_BCM_PATCHRAM ?

Output of usb-devices:

T: Bus=02 Lev=02 Prnt=02 Port=03 Cnt=03 Dev#= 5 Spd=12 MxCh= 0
D: Ver= 2.00 Cls=ff(vend.) Sub=01 Prot=01 MxPS=64 #Cfgs= 1
P: Vendor=0489 ProdID=e031 Rev=01.12
S: Manufacturer=Broadcom Corp
S: Product=BCM20702A0

Thank you
Harvey

- --
I am root. If you see me laughing, you'd better have a backup!
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iEYEARECAAYFAlR8L24ACgkQi5aqmLBUSgkg9ACghILHWr1QUXmd7urkUgXCYQ5b
OsoAn3Q+sY7/VRVPFJDFAAVwGLRI372i
=Vnh0
-----END PGP SIGNATURE-----


2014-12-03 18:42:59

by Marcel Holtmann

[permalink] [raw]
Subject: Re: [PATCH] Bluetooth: Add support for Broadcom BCM20702A0 variants firmware upload via BTUSB_BCM_PATCHRAM

Hi Heinrich,

so I fixed the subject to say firmware download instead of upload. Just for reference, you download firmware into the device.

> On Dec 3, 2014, at 18:32, Heinrich Siebmanns <[email protected]> wrote:
>
> This requires the flag BTUSB_BCM_PATCHRAM to work.
>
> Relevant details from /sys/kernel/debug/usb/devices for my device:
>
> T: Bus=03 Lev=02 Prnt=02 Port=03 Cnt=02 Dev#= 4 Spd=12 MxCh= 0
> D: Ver= 2.00 Cls=ff(vend.) Sub=01 Prot=01 MxPS=64 #Cfgs= 1
> P: Vendor=0489 ProdID=e031 Rev= 1.12
> S: Manufacturer=Broadcom Corp
> S: Product=BCM20702A0
> S: SerialNumber=3859F9CD2AEE
> C:* #Ifs= 4 Cfg#= 1 Atr=e0 MxPwr= 0mA
> I:* If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=01 Prot=01 Driver=btusb
> E: Ad=81(I) Atr=03(Int.) MxPS= 16 Ivl=1ms
> E: Ad=82(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms
> E: Ad=02(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms
> I:* If#= 1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=01 Prot=01 Driver=btusb
> E: Ad=83(I) Atr=01(Isoc) MxPS= 0 Ivl=1ms
> E: Ad=03(O) Atr=01(Isoc) MxPS= 0 Ivl=1ms
> I: If#= 1 Alt= 1 #EPs= 2 Cls=ff(vend.) Sub=01 Prot=01 Driver=btusb
> E: Ad=83(I) Atr=01(Isoc) MxPS= 9 Ivl=1ms
> E: Ad=03(O) Atr=01(Isoc) MxPS= 9 Ivl=1ms
> I: If#= 1 Alt= 2 #EPs= 2 Cls=ff(vend.) Sub=01 Prot=01 Driver=btusb
> E: Ad=83(I) Atr=01(Isoc) MxPS= 17 Ivl=1ms
> E: Ad=03(O) Atr=01(Isoc) MxPS= 17 Ivl=1ms
> I: If#= 1 Alt= 3 #EPs= 2 Cls=ff(vend.) Sub=01 Prot=01 Driver=btusb
> E: Ad=83(I) Atr=01(Isoc) MxPS= 25 Ivl=1ms
> E: Ad=03(O) Atr=01(Isoc) MxPS= 25 Ivl=1ms
> I: If#= 1 Alt= 4 #EPs= 2 Cls=ff(vend.) Sub=01 Prot=01 Driver=btusb
> E: Ad=83(I) Atr=01(Isoc) MxPS= 33 Ivl=1ms
> E: Ad=03(O) Atr=01(Isoc) MxPS= 33 Ivl=1ms
> I: If#= 1 Alt= 5 #EPs= 2 Cls=ff(vend.) Sub=01 Prot=01 Driver=btusb
> E: Ad=83(I) Atr=01(Isoc) MxPS= 49 Ivl=1ms
> E: Ad=03(O) Atr=01(Isoc) MxPS= 49 Ivl=1ms
> I:* If#= 2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
> E: Ad=84(I) Atr=02(Bulk) MxPS= 32 Ivl=0ms
> E: Ad=04(O) Atr=02(Bulk) MxPS= 32 Ivl=0ms
> I:* If#= 3 Alt= 0 #EPs= 0 Cls=fe(app. ) Sub=01 Prot=01 Driver=(none)
>
> The firmware was extracted from a Windows 7 32-bit installation
> and converted from 'hex' to 'hcd' for use in Linux.
>
> The firmware is named "BCM20702A0_001.001.024.0156.0204.hex"
> and is located in "%SYSTEMROOT%\system32\drivers\"
> (md5 d126e6c4e0e669d76c38cf9377f76b7f)
> (sha1 145d1850b2785a953233b409e7ff77786927c7d2)
>
> The firmware file is also available as a download at
> http://support.ts.fujitsu.com/Download/
> contained in "FTS_WIDCOMMBluetoothSoftware_6309000_1072149.zip"
>
> Search for the file Win32/bcbtums-win7x86-brcm.inf in the archive,
> look for the vendor and product ID of your adapter, see the section
> 'devices' in that file to find out what device name it uses. See
> the device entry in the inf file (in my case it was 'RAMUSBE031')
> to find out which hex file you need to convert to hcd for upload
>
> 'hcd' file should be placed at "brcm/BCM20702A0-0489-e031.hcd"
> inside the firmware directory (e.g. "/lib/firmware")
>
> Signed-off-by: Heinrich Siebmanns <[email protected]>
> ---
> drivers/bluetooth/btusb.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)

patch has been applied to bluetooth-next tree.

Regards

Marcel


2014-12-03 18:32:22

by Harvey

[permalink] [raw]
Subject: [PATCH] Bluetooth: Add support for Broadcom BCM20702A0 variants firmware upload via BTUSB_BCM_PATCHRAM

This requires the flag BTUSB_BCM_PATCHRAM to work.

Relevant details from /sys/kernel/debug/usb/devices for my device:

T: Bus=03 Lev=02 Prnt=02 Port=03 Cnt=02 Dev#= 4 Spd=12 MxCh= 0
D: Ver= 2.00 Cls=ff(vend.) Sub=01 Prot=01 MxPS=64 #Cfgs= 1
P: Vendor=0489 ProdID=e031 Rev= 1.12
S: Manufacturer=Broadcom Corp
S: Product=BCM20702A0
S: SerialNumber=3859F9CD2AEE
C:* #Ifs= 4 Cfg#= 1 Atr=e0 MxPwr= 0mA
I:* If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=01 Prot=01 Driver=btusb
E: Ad=81(I) Atr=03(Int.) MxPS= 16 Ivl=1ms
E: Ad=82(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms
E: Ad=02(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms
I:* If#= 1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=01 Prot=01 Driver=btusb
E: Ad=83(I) Atr=01(Isoc) MxPS= 0 Ivl=1ms
E: Ad=03(O) Atr=01(Isoc) MxPS= 0 Ivl=1ms
I: If#= 1 Alt= 1 #EPs= 2 Cls=ff(vend.) Sub=01 Prot=01 Driver=btusb
E: Ad=83(I) Atr=01(Isoc) MxPS= 9 Ivl=1ms
E: Ad=03(O) Atr=01(Isoc) MxPS= 9 Ivl=1ms
I: If#= 1 Alt= 2 #EPs= 2 Cls=ff(vend.) Sub=01 Prot=01 Driver=btusb
E: Ad=83(I) Atr=01(Isoc) MxPS= 17 Ivl=1ms
E: Ad=03(O) Atr=01(Isoc) MxPS= 17 Ivl=1ms
I: If#= 1 Alt= 3 #EPs= 2 Cls=ff(vend.) Sub=01 Prot=01 Driver=btusb
E: Ad=83(I) Atr=01(Isoc) MxPS= 25 Ivl=1ms
E: Ad=03(O) Atr=01(Isoc) MxPS= 25 Ivl=1ms
I: If#= 1 Alt= 4 #EPs= 2 Cls=ff(vend.) Sub=01 Prot=01 Driver=btusb
E: Ad=83(I) Atr=01(Isoc) MxPS= 33 Ivl=1ms
E: Ad=03(O) Atr=01(Isoc) MxPS= 33 Ivl=1ms
I: If#= 1 Alt= 5 #EPs= 2 Cls=ff(vend.) Sub=01 Prot=01 Driver=btusb
E: Ad=83(I) Atr=01(Isoc) MxPS= 49 Ivl=1ms
E: Ad=03(O) Atr=01(Isoc) MxPS= 49 Ivl=1ms
I:* If#= 2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
E: Ad=84(I) Atr=02(Bulk) MxPS= 32 Ivl=0ms
E: Ad=04(O) Atr=02(Bulk) MxPS= 32 Ivl=0ms
I:* If#= 3 Alt= 0 #EPs= 0 Cls=fe(app. ) Sub=01 Prot=01 Driver=(none)

The firmware was extracted from a Windows 7 32-bit installation
and converted from 'hex' to 'hcd' for use in Linux.

The firmware is named "BCM20702A0_001.001.024.0156.0204.hex"
and is located in "%SYSTEMROOT%\system32\drivers\"
(md5 d126e6c4e0e669d76c38cf9377f76b7f)
(sha1 145d1850b2785a953233b409e7ff77786927c7d2)

The firmware file is also available as a download at
http://support.ts.fujitsu.com/Download/
contained in "FTS_WIDCOMMBluetoothSoftware_6309000_1072149.zip"

Search for the file Win32/bcbtums-win7x86-brcm.inf in the archive,
look for the vendor and product ID of your adapter, see the section
'devices' in that file to find out what device name it uses. See
the device entry in the inf file (in my case it was 'RAMUSBE031')
to find out which hex file you need to convert to hcd for upload

'hcd' file should be placed at "brcm/BCM20702A0-0489-e031.hcd"
inside the firmware directory (e.g. "/lib/firmware")

Signed-off-by: Heinrich Siebmanns <[email protected]>
---
drivers/bluetooth/btusb.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/bluetooth/btusb.c b/drivers/bluetooth/btusb.c
index 9efdace..31dd24a 100644
--- a/drivers/bluetooth/btusb.c
+++ b/drivers/bluetooth/btusb.c
@@ -110,7 +110,8 @@ static const struct usb_device_id btusb_table[] = {
.driver_info = BTUSB_BCM_PATCHRAM },

/* Foxconn - Hon Hai */
- { USB_VENDOR_AND_INTERFACE_INFO(0x0489, 0xff, 0x01, 0x01) },
+ { USB_VENDOR_AND_INTERFACE_INFO(0x0489, 0xff, 0x01, 0x01),
+ .driver_info = BTUSB_BCM_PATCHRAM },

/* Broadcom devices with vendor specific id */
{ USB_VENDOR_AND_INTERFACE_INFO(0x0a5c, 0xff, 0x01, 0x01),
--
2.1.3


2014-12-03 13:57:15

by Marcel Holtmann

[permalink] [raw]
Subject: Re: [PATCH] Bluetooth: Add support for Broadcom BCM20702A0 in Fuijitsu Lifebook E751

Hi Harvey,

>> Actually there is a generic catch all entry for vendor 0x0489
>> already.
>>
>> /* Foxconn - Hon Hai */ { USB_VENDOR_AND_INTERFACE_INFO(0x0489,
>> 0xff, 0x01, 0x01) },
>>
>> So I prefer that we enable BTUSB_BCM_PATCHRAM support in a generic
>> way instead of just for every single product id.
>
> I have seen the other patch from Wen-chien Jesse Sung that does
> exactly this. But while I would prefer this way too I doubt that all
> firmware files come from the same place as these are vendor specific
> things. Mine i.e. was from a Fuijitsu support URL. So the commit
> message can not provide sources for firmware download in these generic
> way.

yes it can be in the commit message. Just clearly state what you are doing. Allowing for firmware download support does not mean that it is the same firmware. While you are enabling firmware download for the whole vendor class of the devices, the firmware extraction can be just described for a single product id. Just mention it in the commit message.

Regards

Marcel


2014-12-03 11:51:45

by Harvey

[permalink] [raw]
Subject: Re: [PATCH] Bluetooth: Add support for Broadcom BCM20702A0 in Fuijitsu Lifebook E751

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi Marcel,

> Actually there is a generic catch all entry for vendor 0x0489
> already.
>
> /* Foxconn - Hon Hai */ { USB_VENDOR_AND_INTERFACE_INFO(0x0489,
> 0xff, 0x01, 0x01) },
>
> So I prefer that we enable BTUSB_BCM_PATCHRAM support in a generic
> way instead of just for every single product id.

I have seen the other patch from Wen-chien Jesse Sung that does
exactly this. But while I would prefer this way too I doubt that all
firmware files come from the same place as these are vendor specific
things. Mine i.e. was from a Fuijitsu support URL. So the commit
message can not provide sources for firmware download in these generic
way.

You decide

Harvey

- --
I am root. If you see me laughing, you'd better have a backup!
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iEYEARECAAYFAlR++UsACgkQi5aqmLBUSgmteQCeIeOrd2k74tJmJTuVI40MbFce
6iUAnA62Ko4iz8rcdu7fZhbll5pGP124
=AEXI
-----END PGP SIGNATURE-----

2014-12-03 09:46:02

by Marcel Holtmann

[permalink] [raw]
Subject: Re: [PATCH] Bluetooth: Add support for Broadcom BCM20702A0 in Fuijitsu Lifebook E751

Hi Heinrich,

please make sure there are no extra spaces or tabs at the subject before Bluetooth:

> This requires the flag BTUSB_BCM_PATCHRAM to work.
>
> Relevant details from /sys/kernel/debug/usb/devices:
>
> T: Bus=03 Lev=02 Prnt=02 Port=03 Cnt=02 Dev#= 4 Spd=12 MxCh= 0
> D: Ver= 2.00 Cls=ff(vend.) Sub=01 Prot=01 MxPS=64 #Cfgs= 1
> P: Vendor=0489 ProdID=e031 Rev= 1.12
> S: Manufacturer=Broadcom Corp
> S: Product=BCM20702A0
> S: SerialNumber=3859F9CD2AEE
> C:* #Ifs= 4 Cfg#= 1 Atr=e0 MxPwr= 0mA
> I:* If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=01 Prot=01 Driver=btusb
> E: Ad=81(I) Atr=03(Int.) MxPS= 16 Ivl=1ms
> E: Ad=82(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms
> E: Ad=02(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms
> I:* If#= 1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=01 Prot=01 Driver=btusb
> E: Ad=83(I) Atr=01(Isoc) MxPS= 0 Ivl=1ms
> E: Ad=03(O) Atr=01(Isoc) MxPS= 0 Ivl=1ms
> I: If#= 1 Alt= 1 #EPs= 2 Cls=ff(vend.) Sub=01 Prot=01 Driver=btusb
> E: Ad=83(I) Atr=01(Isoc) MxPS= 9 Ivl=1ms
> E: Ad=03(O) Atr=01(Isoc) MxPS= 9 Ivl=1ms
> I: If#= 1 Alt= 2 #EPs= 2 Cls=ff(vend.) Sub=01 Prot=01 Driver=btusb
> E: Ad=83(I) Atr=01(Isoc) MxPS= 17 Ivl=1ms
> E: Ad=03(O) Atr=01(Isoc) MxPS= 17 Ivl=1ms
> I: If#= 1 Alt= 3 #EPs= 2 Cls=ff(vend.) Sub=01 Prot=01 Driver=btusb
> E: Ad=83(I) Atr=01(Isoc) MxPS= 25 Ivl=1ms
> E: Ad=03(O) Atr=01(Isoc) MxPS= 25 Ivl=1ms
> I: If#= 1 Alt= 4 #EPs= 2 Cls=ff(vend.) Sub=01 Prot=01 Driver=btusb
> E: Ad=83(I) Atr=01(Isoc) MxPS= 33 Ivl=1ms
> E: Ad=03(O) Atr=01(Isoc) MxPS= 33 Ivl=1ms
> I: If#= 1 Alt= 5 #EPs= 2 Cls=ff(vend.) Sub=01 Prot=01 Driver=btusb
> E: Ad=83(I) Atr=01(Isoc) MxPS= 49 Ivl=1ms
> E: Ad=03(O) Atr=01(Isoc) MxPS= 49 Ivl=1ms
> I:* If#= 2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
> E: Ad=84(I) Atr=02(Bulk) MxPS= 32 Ivl=0ms
> E: Ad=04(O) Atr=02(Bulk) MxPS= 32 Ivl=0ms
> I:* If#= 3 Alt= 0 #EPs= 0 Cls=fe(app. ) Sub=01 Prot=01 Driver=(none)
>
> The firmware was extracted from a Windows 7 32-bit installation
> and converted from 'hex' to 'hcd' for use in Linux.
>
> The firmware is named "BCM20702A0_001.001.024.0156.0204.hex"
> and is located in "%SYSTEMROOT%\system32\drivers\"
> (md5 d126e6c4e0e669d76c38cf9377f76b7f)
> (sha1 145d1850b2785a953233b409e7ff77786927c7d2)
>
> The same firmware file is also available as a download at
> http://support.ts.fujitsu.com/Download/
> contained in "FTS_WIDCOMMBluetoothSoftware_6309000_1072149.zip"
>
> 'hcd' file should be placed at "brcm/BCM20702A0-0489-e031.hcd"
> inside the firmware directory (e.g. "/lib/firmware")
>
> Signed-off-by: Heinrich Siebmanns <[email protected]>
> ---
> drivers/bluetooth/btusb.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/drivers/bluetooth/btusb.c b/drivers/bluetooth/btusb.c
> index 9efdace..33a92ec 100644
> --- a/drivers/bluetooth/btusb.c
> +++ b/drivers/bluetooth/btusb.c
> @@ -108,6 +108,8 @@ static const struct usb_device_id btusb_table[] = {
> { USB_DEVICE(0x413c, 0x8197) },
> { USB_DEVICE(0x13d3, 0x3404),
> .driver_info = BTUSB_BCM_PATCHRAM },
> + { USB_DEVICE(0x0489, 0xe031),
> + .driver_info = BTUSB_BCM_PATCHRAM },

either your patch uses spaces instead of tabs or your mailer screwed this up. This needs to be fixed.

Actually there is a generic catch all entry for vendor 0x0489 already.

/* Foxconn - Hon Hai */
{ USB_VENDOR_AND_INTERFACE_INFO(0x0489, 0xff, 0x01, 0x01) },

So I prefer that we enable BTUSB_BCM_PATCHRAM support in a generic way instead of just for every single product id.

>
> /* Foxconn - Hon Hai */
> { USB_VENDOR_AND_INTERFACE_INFO(0x0489, 0xff, 0x01, 0x01) },

Regards

Marcel


2014-12-02 18:49:08

by Harvey

[permalink] [raw]
Subject: Re: Adding Broadcom Support for BCM 20702AO of Fuijitsu Lifebook E751 with .driver_info = BTUSB_BCM_PATCHRAM },

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Marcel,

> please follow the guidelines from Documentation/SubmittingPatches.
> Using git format-patch and git send-email gets you exactly what we
> need.

Again, thanks for your guidance. I configured git, used git
format-patch and tried to send it via git send-email. Hope this is
going well as I had some trouble convincing git to get my mail out.

Please shoot me if something went wrong, as I said, this is my first try.

Harvey

- --
I am root. If you see me laughing, you'd better have a backup!
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iEYEARECAAYFAlR+CZ4ACgkQi5aqmLBUSgmkXgCeIGxSxTb+bK6FchNKY+t+WASO
MdIAmwZS+7pbyLJTtvTrh0vD1SO7hoWH
=byYF
-----END PGP SIGNATURE-----

2014-12-02 18:46:57

by Harvey

[permalink] [raw]
Subject: [PATCH] Bluetooth: Add support for Broadcom BCM20702A0 in Fuijitsu Lifebook E751

This requires the flag BTUSB_BCM_PATCHRAM to work.

Relevant details from /sys/kernel/debug/usb/devices:

T: Bus=03 Lev=02 Prnt=02 Port=03 Cnt=02 Dev#= 4 Spd=12 MxCh= 0
D: Ver= 2.00 Cls=ff(vend.) Sub=01 Prot=01 MxPS=64 #Cfgs= 1
P: Vendor=0489 ProdID=e031 Rev= 1.12
S: Manufacturer=Broadcom Corp
S: Product=BCM20702A0
S: SerialNumber=3859F9CD2AEE
C:* #Ifs= 4 Cfg#= 1 Atr=e0 MxPwr= 0mA
I:* If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=01 Prot=01 Driver=btusb
E: Ad=81(I) Atr=03(Int.) MxPS= 16 Ivl=1ms
E: Ad=82(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms
E: Ad=02(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms
I:* If#= 1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=01 Prot=01 Driver=btusb
E: Ad=83(I) Atr=01(Isoc) MxPS= 0 Ivl=1ms
E: Ad=03(O) Atr=01(Isoc) MxPS= 0 Ivl=1ms
I: If#= 1 Alt= 1 #EPs= 2 Cls=ff(vend.) Sub=01 Prot=01 Driver=btusb
E: Ad=83(I) Atr=01(Isoc) MxPS= 9 Ivl=1ms
E: Ad=03(O) Atr=01(Isoc) MxPS= 9 Ivl=1ms
I: If#= 1 Alt= 2 #EPs= 2 Cls=ff(vend.) Sub=01 Prot=01 Driver=btusb
E: Ad=83(I) Atr=01(Isoc) MxPS= 17 Ivl=1ms
E: Ad=03(O) Atr=01(Isoc) MxPS= 17 Ivl=1ms
I: If#= 1 Alt= 3 #EPs= 2 Cls=ff(vend.) Sub=01 Prot=01 Driver=btusb
E: Ad=83(I) Atr=01(Isoc) MxPS= 25 Ivl=1ms
E: Ad=03(O) Atr=01(Isoc) MxPS= 25 Ivl=1ms
I: If#= 1 Alt= 4 #EPs= 2 Cls=ff(vend.) Sub=01 Prot=01 Driver=btusb
E: Ad=83(I) Atr=01(Isoc) MxPS= 33 Ivl=1ms
E: Ad=03(O) Atr=01(Isoc) MxPS= 33 Ivl=1ms
I: If#= 1 Alt= 5 #EPs= 2 Cls=ff(vend.) Sub=01 Prot=01 Driver=btusb
E: Ad=83(I) Atr=01(Isoc) MxPS= 49 Ivl=1ms
E: Ad=03(O) Atr=01(Isoc) MxPS= 49 Ivl=1ms
I:* If#= 2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
E: Ad=84(I) Atr=02(Bulk) MxPS= 32 Ivl=0ms
E: Ad=04(O) Atr=02(Bulk) MxPS= 32 Ivl=0ms
I:* If#= 3 Alt= 0 #EPs= 0 Cls=fe(app. ) Sub=01 Prot=01 Driver=(none)

The firmware was extracted from a Windows 7 32-bit installation
and converted from 'hex' to 'hcd' for use in Linux.

The firmware is named "BCM20702A0_001.001.024.0156.0204.hex"
and is located in "%SYSTEMROOT%\system32\drivers\"
(md5 d126e6c4e0e669d76c38cf9377f76b7f)
(sha1 145d1850b2785a953233b409e7ff77786927c7d2)

The same firmware file is also available as a download at
http://support.ts.fujitsu.com/Download/
contained in "FTS_WIDCOMMBluetoothSoftware_6309000_1072149.zip"

'hcd' file should be placed at "brcm/BCM20702A0-0489-e031.hcd"
inside the firmware directory (e.g. "/lib/firmware")

Signed-off-by: Heinrich Siebmanns <[email protected]>
---
drivers/bluetooth/btusb.c | 2 ++
1 file changed, 2 insertions(+)

diff --git a/drivers/bluetooth/btusb.c b/drivers/bluetooth/btusb.c
index 9efdace..33a92ec 100644
--- a/drivers/bluetooth/btusb.c
+++ b/drivers/bluetooth/btusb.c
@@ -108,6 +108,8 @@ static const struct usb_device_id btusb_table[] = {
{ USB_DEVICE(0x413c, 0x8197) },
{ USB_DEVICE(0x13d3, 0x3404),
.driver_info = BTUSB_BCM_PATCHRAM },
+ { USB_DEVICE(0x0489, 0xe031),
+ .driver_info = BTUSB_BCM_PATCHRAM },

/* Foxconn - Hon Hai */
{ USB_VENDOR_AND_INTERFACE_INFO(0x0489, 0xff, 0x01, 0x01) },
--
2.1.3


2014-12-02 15:16:50

by Marcel Holtmann

[permalink] [raw]
Subject: Re: Adding Broadcom Support for BCM 20702AO of Fuijitsu Lifebook E751 with .driver_info = BTUSB_BCM_PATCHRAM },

Hi Harvey,

>> check the commit a86c02ea38c53b695209b1181f9e2e18d73eb4e8 in
>> bluetooth-next tree.
>
> thanks for your help.I gathered all informations and tried to adapt
> the commit. See attachment.

please follow the guidelines from Documentation/SubmittingPatches. Using git format-patch and git send-email gets you exactly what we need.

Regards

Marcel


2014-12-02 14:05:34

by Harvey

[permalink] [raw]
Subject: Re: Adding Broadcom Support for BCM 20702AO of Fuijitsu Lifebook E751 with .driver_info = BTUSB_BCM_PATCHRAM },

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Marcel,

> check the commit a86c02ea38c53b695209b1181f9e2e18d73eb4e8 in
> bluetooth-next tree.

thanks for your help.I gathered all informations and tried to adapt
the commit. See attachment.

Harvey

- --
I am root. If you see me laughing, you'd better have a backup!
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iEYEARECAAYFAlR9xygACgkQi5aqmLBUSgmnywCcDDt9eGvb6Ab/GLVz1WLUTNyH
NKAAnRjpW0xUJRRA3upQPTOJXxJS8P8Z
=uCre
-----END PGP SIGNATURE-----


Attachments:
commit_BT.txt (3.16 kB)

2014-12-02 09:14:58

by Marcel Holtmann

[permalink] [raw]
Subject: Re: Adding Broadcom Support for BCM 20702AO of Fuijitsu Lifebook E751 with .driver_info = BTUSB_BCM_PATCHRAM },

Hi Harvey,

>>> I extracted the firmware file from the windows driver and
>>> converted it via hex2hcd. Is this an acceptable way to go?
>>
>> we merged an earlier patch adding instructions on how to get the
>> firmware. Have a look at that for reference.
>
> I could not find the mentioned patch but this is not really
> astonishing as I am not an experienced developer but only an ambitious
> user.
>
> But: I am willing to do the work if you provide me some more
> information. At least it is never too late to learn something new ;)
>
> Can you point me in the right direction?

check the commit a86c02ea38c53b695209b1181f9e2e18d73eb4e8 in bluetooth-next tree.

Regards

Marcel


2014-12-02 09:08:10

by Harvey

[permalink] [raw]
Subject: Re: Adding Broadcom Support for BCM 20702AO of Fuijitsu Lifebook E751 with .driver_info = BTUSB_BCM_PATCHRAM },

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Marcel,

>> I extracted the firmware file from the windows driver and
>> converted it via hex2hcd. Is this an acceptable way to go?
>
> we merged an earlier patch adding instructions on how to get the
> firmware. Have a look at that for reference.

I could not find the mentioned patch but this is not really
astonishing as I am not an experienced developer but only an ambitious
user.

But: I am willing to do the work if you provide me some more
information. At least it is never too late to learn something new ;)

Can you point me in the right direction?

Thank you
Harvey

- --
I am root. If you see me laughing, you'd better have a backup!
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iEYEARECAAYFAlR9gXoACgkQi5aqmLBUSgkk8QCcDQaz5QBEtrMMaijYVaostxmp
RJ0An2VLtCR4P3ZlsPvYWZ+VD/36/1Oa
=Ya7l
-----END PGP SIGNATURE-----

2014-12-01 11:30:37

by Marcel Holtmann

[permalink] [raw]
Subject: Re: Adding Broadcom Support for BCM 20702AO of Fuijitsu Lifebook E751 with .driver_info = BTUSB_BCM_PATCHRAM },

Hi Harvey,


>>> may I kindly ask to incorporate the bluetooth device of my
>>> Laptop Fuijitsu Lifebook E751 to the list of devices supported
>>> through loading firmware via .driver_info = BTUSB_BCM_PATCHRAM ?
>>>
>>> Output of usb-devices:
>>>
>>> T: Bus=02 Lev=02 Prnt=02 Port=03 Cnt=03 Dev#= 5 Spd=12 MxCh=
>>> 0 D: Ver= 2.00 Cls=ff(vend.) Sub=01 Prot=01 MxPS=64 #Cfgs= 1 P:
>>> Vendor=0489 ProdID=e031 Rev=01.12 S: Manufacturer=Broadcom Corp
>>> S: Product=BCM20702A0
>>
>> you need to send a patch adding the changes to the USB device
>> table. The commit message should include the content of
>> /sys/kernel/debug/usb/devices in the commit message and also
>> instructions on how to get the firmware file needed for this
>> hardware.
>
> I extracted the firmware file from the windows driver and converted it
> via hex2hcd. Is this an acceptable way to go?

we merged an earlier patch adding instructions on how to get the firmware. Have a look at that for reference.

Regards

Marcel


2014-12-01 11:13:11

by Harvey

[permalink] [raw]
Subject: Re: Adding Broadcom Support for BCM 20702AO of Fuijitsu Lifebook E751 with .driver_info = BTUSB_BCM_PATCHRAM },

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi Marcel,

thank you for your answer

>> may I kindly ask to incorporate the bluetooth device of my
>> Laptop Fuijitsu Lifebook E751 to the list of devices supported
>> through loading firmware via .driver_info = BTUSB_BCM_PATCHRAM ?
>>
>> Output of usb-devices:
>>
>> T: Bus=02 Lev=02 Prnt=02 Port=03 Cnt=03 Dev#= 5 Spd=12 MxCh=
>> 0 D: Ver= 2.00 Cls=ff(vend.) Sub=01 Prot=01 MxPS=64 #Cfgs= 1 P:
>> Vendor=0489 ProdID=e031 Rev=01.12 S: Manufacturer=Broadcom Corp
>> S: Product=BCM20702A0
>
> you need to send a patch adding the changes to the USB device
> table. The commit message should include the content of
> /sys/kernel/debug/usb/devices in the commit message and also
> instructions on how to get the firmware file needed for this
> hardware.

I extracted the firmware file from the windows driver and converted it
via hex2hcd. Is this an acceptable way to go?

Harvey

- --
I am root. If you see me laughing, you'd better have a backup!
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iEYEARECAAYFAlR8TUIACgkQi5aqmLBUSgn3/QCeKPXE41qCptCZQ77JPzyMZbyP
H1sAoIfE7nX2J0r2V0j1Nd+xkXbVs12x
=X0IM
-----END PGP SIGNATURE-----

2014-12-01 10:37:59

by Marcel Holtmann

[permalink] [raw]
Subject: Re: Adding Broadcom Support for BCM 20702AO of Fuijitsu Lifebook E751 with .driver_info = BTUSB_BCM_PATCHRAM },

Hi Harvey,

> may I kindly ask to incorporate the bluetooth device of my Laptop
> Fuijitsu Lifebook E751 to the list of devices supported through
> loading firmware via
> .driver_info = BTUSB_BCM_PATCHRAM ?
>
> Output of usb-devices:
>
> T: Bus=02 Lev=02 Prnt=02 Port=03 Cnt=03 Dev#= 5 Spd=12 MxCh= 0
> D: Ver= 2.00 Cls=ff(vend.) Sub=01 Prot=01 MxPS=64 #Cfgs= 1
> P: Vendor=0489 ProdID=e031 Rev=01.12
> S: Manufacturer=Broadcom Corp
> S: Product=BCM20702A0

you need to send a patch adding the changes to the USB device table. The commit message should include the content of /sys/kernel/debug/usb/devices in the commit message and also instructions on how to get the firmware file needed for this hardware.

Regards

Marcel