You are not logged in.

#1 2012-01-06 15:45:08

Harey
Member
From: Bavaria, Germany
Registered: 2007-03-24
Posts: 292

kernel 3.2 and Bluetooth Broadcom BCM20702A0

I was eagerly awaiting kernel 3.2 as it has support for the usb bluetooth builtin adapter in my new laptop, a Fuijitsu Lifebook E751.
http://kernelnewbies.org/Linux_3.2_Driv … 13f328fb85
But to my disappointment the adapter doesn't seem to be recognized.
Output of usb-devices (only the part concerning this adapter):

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
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=(none)
I:  If#= 1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=01 Prot=01 Driver=(none)
I:  If#= 2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
I:  If#= 3 Alt= 0 #EPs= 0 Cls=fe(app. ) Sub=01 Prot=01 Driver=(none)

'hcitool dev' doesn't show any devices.
What am I doing wrong?

Harvey

Last edited by Harey (2012-01-06 15:46:23)


Linux is like a wigwam: No Gates, no Windows and an Apache inside

Offline

#2 2012-01-08 16:03:29

Harey
Member
From: Bavaria, Germany
Registered: 2007-03-24
Posts: 292

Re: kernel 3.2 and Bluetooth Broadcom BCM20702A0

Bump. Anyone?

Or should I ask on the linux-bluetooth mailing list directly?

Harvey


Linux is like a wigwam: No Gates, no Windows and an Apache inside

Offline

#3 2012-01-08 16:17:26

graysky
Member
From: /run/user/1000
Registered: 2008-12-01
Posts: 8,454
Website

Re: kernel 3.2 and Bluetooth Broadcom BCM20702A0

which package are you using?  3.2-2 fixed this I believe.


CPU-optimized Linux-ck packages @ Repo-ck  • AUR packagesZsh and other configs

Offline

#4 2012-01-08 16:26:50

laloch
Member
Registered: 2010-02-04
Posts: 176

Re: kernel 3.2 and Bluetooth Broadcom BCM20702A0

Sorry to break the bad news, but the newly supported device is 413c:8197 [1]. Your device is 0489:e031.

[1] http://lxr.linux.no/linux+v3.2/drivers/ … usb.c#L103

Edit: you can try (as root)

modprobe btusb
echo "0489 e031" >> /sys/bus/usb/drivers/btusb/new_id

Last edited by laloch (2012-01-08 16:47:59)

Offline

#5 2012-01-09 08:10:40

Harey
Member
From: Bavaria, Germany
Registered: 2007-03-24
Posts: 292

Re: kernel 3.2 and Bluetooth Broadcom BCM20702A0

laloch wrote:

you can try (as root)

modprobe btusb
echo "0489 e031" >> /sys/bus/usb/drivers/btusb/new_id

First, thank you for your answers. I can do as you suggested and a hcitool dev then shows my BT adapter's MAC. It seems to work but it does not find any other devices. I fear there is some firmware missing...

Harvey


Linux is like a wigwam: No Gates, no Windows and an Apache inside

Offline

#6 2012-01-09 10:01:17

laloch
Member
Registered: 2010-02-04
Posts: 176

Re: kernel 3.2 and Bluetooth Broadcom BCM20702A0

What do the usb-devices and hciconfig hci0 -a show now?

Edit: I forgot rfkill list
Any relevant output in dmesg?

Last edited by laloch (2012-01-09 10:11:59)

Offline

#7 2012-01-09 12:40:11

laloch
Member
Registered: 2010-02-04
Posts: 176

Re: kernel 3.2 and Bluetooth Broadcom BCM20702A0

@Harey: a patch for support of your device has just arrived at the linux-bluetooth mailing list.[1] You can see for yourself, that adding your device ID to the list should be sufficient.

[1] http://marc.info/?l=linux-bluetooth&m=1 … 217142&w=2

Offline

#8 2012-01-09 16:47:12

Harey
Member
From: Bavaria, Germany
Registered: 2007-03-24
Posts: 292

Re: kernel 3.2 and Bluetooth Broadcom BCM20702A0

laloch wrote:

@Harey: a patch for support of your device has just arrived at the linux-bluetooth mailing list

I know. I reported the device specific information to the mailing list myself wink

But still no joy.
relevant dmesg output:

Bluetooth: Generic Bluetooth USB driver ver 0.6
usbcore: registered new interface driver btusb
Bluetooth: RFCOMM TTY layer initialized
Bluetooth: RFCOMM socket layer initialized
Bluetooth: RFCOMM ver 1.11

rfkill list:

0: phy0: Wireless LAN
        Soft blocked: no
        Hard blocked: no
1: hci0: Bluetooth
        Soft blocked: no
        Hard blocked: no

hciconfig hci0 -a

hci0:   Type: BR/EDR  Bus: USB
        BD Address: 38:59:F9:CD:2A:EE  ACL MTU: 1021:8  SCO MTU: 64:1
        UP RUNNING PSCAN ISCAN
        RX bytes:1244 acl:0 sco:0 events:70 errors:0
        TX bytes:1274 acl:0 sco:0 commands:54 errors:0
        Features: 0xff 0xff 0x8f 0xfe 0xdb 0xff 0x7b 0x87
        Packet type: DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3
        Link policy: RSWITCH HOLD SNIFF PARK
        Link mode: SLAVE ACCEPT
        Name: 'gruenix-0'
        Class: 0x580100
        Service Classes: Capturing, Object Transfer, Telephony
        Device Class: Computer, Uncategorized
        HCI Version: 4.0 (0x6)  Revision: 0x0
        LMP Version: 4.0 (0x6)  Subversion: 0x2118
        Manufacturer: Broadcom Corporation (15)

usb-devices:

T:  Bus=04 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
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
I:  If#= 1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=01 Prot=01 Driver=btusb
I:  If#= 2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
I:  If#= 3 Alt= 0 #EPs= 0 Cls=fe(app. ) Sub=01 Prot=01 Driver=(none)

But wait a minute... /var/log/errors.log:

Jan  9 17:05:05 localhost bluetoothd[1718]: Unable to read extended local features: Network is down (100)
Jan  9 17:22:43 localhost bluetoothd[1718]: Inquiry Failed with status 0x12

On this laptop networkmanager cares about network connections. At the point of starting bluetooth in rc.conf networkmanager is already running. Even a restart with established wired network connection does not change anything. And network is not down, believe me. I am doing all this via a ssh shell wink

Just to be sure I disabled networkmanager and established a normal wired network connection via rc.conf on eth0. Everything works - except bluetooth..

Edit: I fear the second line is more frightening. From what I have found by searching the web this shows that the adapter is (maybe) in sleep mode?

Harvey

Last edited by Harey (2012-01-09 18:56:23)


Linux is like a wigwam: No Gates, no Windows and an Apache inside

Offline

#9 2012-01-09 18:56:48

laloch
Member
Registered: 2010-02-04
Posts: 176

Re: kernel 3.2 and Bluetooth Broadcom BCM20702A0

A quick glimpse into the Windows .inf file reveals something that wan't make you happy. Fujitsu is listed there in a separate section called RAMUSBE031. There is also this "BCM20702A0_001.001.024.0023.0055.hex" file copied along with the driver, which is then referenced in the registry as "RAMPatchFileName"...
Sorry again for the bad news.

Offline

#10 2012-01-09 19:38:57

laloch
Member
Registered: 2010-02-04
Posts: 176

Re: kernel 3.2 and Bluetooth Broadcom BCM20702A0

Just in case anyone is interested, following is a list of devices supported by the Windows driver (v6.5.0.2100) without a "RAM patch":

03F0:231D - 2070B1 HP SoftBreeze
03F0:2A1D - 2070B1 HP Cuvee
044E:3017 - ALPS-UGPZ9-BCM2046 - 2046A0 Sony Non-UHE
044E:301B - ALPS-UGPZ9-BCM2046 - 2046A0 Dell ALPS
0489:E00D - 2070B1 Lenovo China
0489:E00E - 2070B1 B1 SECWB Samsung
0489:E00F - FOXCONN-T77H114-BCM2070
0489:E010 - 2070B1 Acer
0489:E011 - 2046B1 Acer Module
0489:E012 - 43225 Acer
0489:E013 - 4312 Acer
0489:E014 - 2070B1 Combo Lenovo China
0489:E02F - 4313 for Asia
0489:E030 - 43225 for Asia - BluetootUsb43225BRCME030
0489:E033 - Acer 20702 Serial FLASH
0489:E039 - 4313 for Lenovo China
0930:0200 - TAIYO YUDEN Bluetooth Controller EYTFEBSAX-A
0930:020F - ASKEY Bluetooth Controller BTU1030
0930:0213 - 4313 Toshiba 2
0930:0214 - 4313 Toshiba
0930:0747 - Askey BT Slim Module
0A5C:2119 - 2070B1 Combo Generic 2119
0A5C:2145 - ThinkPad Bluetooth 2.1 with Enhanced Data Rate
0A5C:214D - BCM2046 Bluetooth Device
0A5C:2150 - 2046B1 Lenovo China Module
0A5C:2151 - 2046B1 Gateway module
0A5C:217D - HP Bluetooth module
0A5C:217F - ThinkPad Bluetooth 2.1 with Enhanced Data Rate II
0A5C:2184 - 2070B1 Gen3 3VOIT
0A5C:218C - 2070B1 Gen3 3V02
0A5C:2198 - 2070B1 Gen5 0V01
0A5C:219A - Broadcom BCM2070 Bluetooth 3.0+HS USB Device
0A5C:219B - 2070B1 Gen3 3V01
0A5C:219C - Broadcom BCM2070 Bluetooth 3.0 +HS USB Device 
0A5C:21A2 - Lenovo China 21A2
0A5C:21B1 - 2070B1 HP Hawk
0A5C:21B4 - 4313 HP Matador
0A5C:21BC - 4313 for Dell
0A5C:21E4 - 20702A1 Serial Flash Dongle
0B05:1788 - BT-270 - 2070B1 Azurewave 1788
0B05:1789 - BT-270 - 2070B1 Azurewave 1789
0B05:178A - NB-290
0B05:178B - 43225 Azurewave NB-290
0DB0:6898 - 2070B1 MSI5 0V
0DB0:689A - 2070B1 MSI3 3V
10AB:0816 - 2070B1 USI
10AB:081A - 2070 Ref6
13D3:3286 - 2070B1 Azurewave 3286
13D3:3295 - 43225 Azurewave 3295
13D3:3300 - 2070B1 Azurewave 3300
13D3:3301 - 43225 Azurewave 3301
13D3:3302 - 2070B1 Combo Azurewave 3302
13D3:3303 - 2070B1 Combo Azurewave 3303
15A9:0016 - 2070B1 Gemtek
1690:0737 - 2070B1 Fujitsu IT
1690:0742 - 2070B1 Fujitsu ITSec
17EF:7201 - 2046B1 Lenovo Zero Touch UHE Dongle
18E8:6260 - Broadcom BCM2070 Bluetooth 3.0 USB Device
1D4D:0004 - 2046B1 ROM Pegatron
413C:02B0 - 2046B1 Dell Compal
413C:8156 - Dell Wireless 370 Bluetooth Mini-card
413C:8160 - Dell Wireless 365 Bluetooth Module
413C:8187 - Dell Wireless 375 Bluetooth Module

and devices with RAM patch:

0489:E031 - 20702 0489/E031 Fujitsu Standalone
0489:E032 - 20702 E032 Combo
0489:E046 - 20702A1 Acer 43228+20702 combo card 
0489:E047 - 20702A1 4313
04CA:2003 - 20702A1 Lenovo China
0930:021A - 20702 0930/021A Standalone
0A5C:21C0 - 20702 Ref6D Tornado Standalone
0A5C:21C1 - 20702 Ref6D Radio Disable Standalone
0A5C:21C2 - 20702 Ref6D 21C2 Standalone
0A5C:21C3 - 20702 21C3 Combo
0A5C:21C4 - 20702 21C4 Combo
0A5C:21C6 - 20702 BCM943228HMB P303 Combo
0A5C:21C9 - 20702 BRCM Generic 4319SDHMB
0A5C:21CA - 20702 BRCM Generic 4319SDB
0A5C:21CC - 20702 4313HMGBLREF
0A5C:21E1 - 20702A1 non-UHE HP SoftSailing
0A5C:21E3 - 20702A1 non-UHE 4313 combo HP Valentine
0A5C:21E5 - 20702A1 REF6 OTP single chip module 
0A5C:21E8 - 20702A1 dongles
0A5C:21EB - 20702A1 43227
0A5C:21EC - 20702A1 REF6 OTP module
0A5C:21ED - 20702A1 4313+20702 combo

Last edited by laloch (2012-01-10 02:06:30)

Offline

#11 2012-01-10 15:42:48

laloch
Member
Registered: 2010-02-04
Posts: 176

Re: kernel 3.2 and Bluetooth Broadcom BCM20702A0

Harey wrote:

Edit: I fear the second line is more frightening. From what I have found by searching the web this shows that the adapter is (maybe) in sleep mode?

That reminds me of auto-suspend!
Could you please try one last thing:

# modprobe btusb
# echo "0489 e031" >> /sys/bus/usb/drivers/btusb/new_id
# for dpc in /sys/bus/usb/devices/*/power/control; do echo "on" > ${dpc}; done
# hciconfig hci0 up
# hcitool scan

btw, good tool for USB sniffing is usbmon+wireshark

Offline

#12 2012-01-10 16:46:40

Harey
Member
From: Bavaria, Germany
Registered: 2007-03-24
Posts: 292

Re: kernel 3.2 and Bluetooth Broadcom BCM20702A0

laloch wrote:

Could you please try one last thing:

# modprobe btusb
# echo "0489 e031" >> /sys/bus/usb/drivers/btusb/new_id
# for dpc in /sys/bus/usb/devices/*/power/control; do echo "on" > ${dpc}; done
# hciconfig hci0 up
# hcitool scan

No luck sad There must be some kind of firmware loaded into the adapters ROM by the windows driver.

btw, good tool for USB sniffing is usbmon+wireshark

I fear I need a windows usb monitor - that's why I asked for a tip on the mailing list. Windows is so far away. I haven't really used it for years now... I have only one virtualbox vm to get the things done that I can't do with linux. And there's not much that can't be done here wink

BTW: I really appreciate your help here. Without you I would be lost...

Harvey


Linux is like a wigwam: No Gates, no Windows and an Apache inside

Offline

#13 2012-01-10 17:15:44

laloch
Member
Registered: 2010-02-04
Posts: 176

Re: kernel 3.2 and Bluetooth Broadcom BCM20702A0

Harey wrote:

btw, good tool for USB sniffing is usbmon+wireshark

I fear I need a windows usb monitor - that's why I asked for a tip on the mailing list. Windows is so far away. I haven't really used it for years now... I have only one virtualbox vm to get the things done that I can't do with linux. And there's not much that can't be done here wink

VirtualBox uses the linux usb stack so the usbmon works even with virtualized Windows. The usage is quite simple:
- modprobe usbmon
- mount -t debugfs / /sys/kernel/debug
- run Wireshark as root, select some USB bus and start a capture
- launch Windows in VirtualBox

The analysis of captured data is much more fun tho ;-)

Offline

#14 2012-01-11 07:45:18

Harey
Member
From: Bavaria, Germany
Registered: 2007-03-24
Posts: 292

Re: kernel 3.2 and Bluetooth Broadcom BCM20702A0

After fiddling around with usbmon, wireshark and virtualbox I have got at least two conclusions.

1. it is almost sure that the windows driver loads some kind of firmware/ROM fix into the adapter. Why? Because after using the adapter in windows it also works under linux. Unfortunately only until the next reboot.

2. Wireshark is a beast. It is a mighty tool but I have to figure out how to use it. Could take a while. I can capture the USB Port of the adapter but now I have a 240k capture file and no clue where to look at wink

Harvey


Linux is like a wigwam: No Gates, no Windows and an Apache inside

Offline

#15 2012-01-11 11:20:33

Harey
Member
From: Bavaria, Germany
Registered: 2007-03-24
Posts: 292

Re: kernel 3.2 and Bluetooth Broadcom BCM20702A0

OK, I narrowed it down to a 29k file which I sent to the mailing list. Conclusion: there is clearly some binary download in the capture file, but it would need reverse engeneering to figure out what's going on. Although they say it should be pretty trivial I am not that gifted to know what to do now so I guess I just bought the wrong notebook sad

Harvey

Last edited by Harey (2012-01-11 11:20:52)


Linux is like a wigwam: No Gates, no Windows and an Apache inside

Offline

#16 2012-01-11 12:00:07

laloch
Member
Registered: 2010-02-04
Posts: 176

Re: kernel 3.2 and Bluetooth Broadcom BCM20702A0

Harey wrote:

OK, I narrowed it down to a 29k file which I sent to the mailing list. Conclusion: there is clearly some binary download in the capture file, but it would need reverse engeneering to figure out what's going on. Although they say it should be pretty trivial I am not that gifted to know what to do now so I guess I just bought the wrong notebook sad

Nice work. I've seen the capture file and I agree, that there is definitely some firmware upload going on endpoint 02 starting at frame 62 and maybe initiated by a vendor specific HCI command 0xfc2e in frame 58. The data even do partialy match the content of the .hex file I extracted off the Fujitsu driver package. I will take a closer look at the capture later today. Don't give up yet ;-)

Offline

#17 2012-01-11 16:59:05

thefoxlux
Member
Registered: 2012-01-11
Posts: 5

Re: kernel 3.2 and Bluetooth Broadcom BCM20702A0

Hello Guys,

I have the same laptop..I am quite a newbie but if you need some help for whatever...

Thanks Harey and laloch for your work!!!

Kind Regards
Christophe

Offline

#18 2012-01-12 02:47:46

laloch
Member
Registered: 2010-02-04
Posts: 176

Re: kernel 3.2 and Bluetooth Broadcom BCM20702A0

@Harey: Hi, I wrote a very basic firmware uploader script in python. It's completely untested, because I don't have one of those "ramusb" devices, so I don't expect it to work. If you are brave and wish to try, you can download it here: http://dl.dropbox.com/u/25169171/bcmfwup.tar.gz
I really hope it wan't eat you hamster.
You will need python2 and PyUSB from AUR: https://aur.archlinux.org/packages.php?ID=37791

Edit: You will still need the echo "0489 e031" >> /sys/bus/usb/drivers/btusb/new_id hack.

Last edited by laloch (2012-01-12 02:50:07)

Offline

#19 2012-01-13 10:50:16

thefoxlux
Member
Registered: 2012-01-11
Posts: 5

Re: kernel 3.2 and Bluetooth Broadcom BCM20702A0

Hello Laloch,

Do you think it is testable on a Kubuntu distrib?

and if Yes what are the steps beyond installing python2 and pyusb?

and 0489 e031" >> /sys/bus/usb/drivers/btusb/new_id hack.


Kind Regards
Chris

Offline

#20 2012-01-13 11:50:47

laloch
Member
Registered: 2010-02-04
Posts: 176

Re: kernel 3.2 and Bluetooth Broadcom BCM20702A0

thefoxlux wrote:

Do you think it is testable on a Kubuntu distrib?
and if Yes what are the steps beyond installing python2 and pyusb?

All you need is Python 2, libusb > 1.0.0 and PyUSB 1.0.0.
Once you have the prerequisites installed, untar bcmfwup.tar.gz. Then:

# ./bcmfwup.py
# modprobe btusb
# echo "0489 e031" >> /sys/bus/usb/drivers/btusb/new_id

But I strongly doubt, that you'll get past the ./bcmfwup.py. I still didn't get any of the bcm20702 based adapters, so I actually never ran the script.
btw, I have already started writing a driver module. When I'm done, I will need someone capable of building a custom, patched kernel for testing.

Offline

#21 2012-01-13 12:47:27

thefoxlux
Member
Registered: 2012-01-11
Posts: 5

Re: kernel 3.2 and Bluetooth Broadcom BCM20702A0

Hello,

I don think I will be able to build a modified kernel...So I will wait from Harey results....

Thank your very much for all the effort you are putting to it

Cheers
Chris

Offline

#22 2012-01-13 12:51:32

Harey
Member
From: Bavaria, Germany
Registered: 2007-03-24
Posts: 292

Re: kernel 3.2 and Bluetooth Broadcom BCM20702A0

laloch wrote:

But I strongly doubt, that you'll get past the ./bcmfwup.py. I still didn't get any of the bcm20702 based adapters, so I actually never ran the script.

O.K., I did for you. This is the output for debugging:

[root@gruenix bcmfwup]# ./bcmfwup.py 
event: array('B', [14, 4, 1, 3, 12, 0])
event: array('B', [14, 10, 1, 121, 252, 0, 20, 254, 255, 255, 0, 0])
event: array('B', [14, 4, 1, 46, 252, 0])
event: array('B', [14, 4, 1, 76, 252, 0])
event: array('B', [14, 4, 1, 76, 252, 0])
event: array('B', [14, 4, 1, 76, 252, 0])
event: array('B', [14, 4, 1, 76, 252, 0])
event: array('B', [14, 4, 1, 76, 252, 0])
event: array('B', [14, 4, 1, 76, 252, 0])
event: array('B', [14, 4, 1, 76, 252, 0])
event: array('B', [14, 4, 1, 76, 252, 0])
event: array('B', [14, 4, 1, 76, 252, 0])
event: array('B', [14, 4, 1, 76, 252, 0])
event: array('B', [14, 4, 1, 76, 252, 0])
event: array('B', [14, 4, 1, 76, 252, 0])
event: array('B', [14, 4, 1, 76, 252, 0])
event: array('B', [14, 4, 1, 78, 252, 0])
event: array('B', [255, 2, 30, 0])                                                                                                 
event: array('B', [14, 10, 1, 121, 252, 0, 20, 254, 255, 255, 55, 0])                                                              
Exception in thread Thread-20:                                                                                                     
Traceback (most recent call last):                                                                                                 
  File "/usr/lib/python2.7/threading.py", line 552, in __bootstrap_inner                                                           
    self.run()                                                                                                                     
  File "./bcmfwup.py", line 88, in run                                                                                             
    self.result = self.dev.read(self.endpoint, 0xff)                                                                               
  File "/usr/lib/python2.7/site-packages/usb/core.py", line 654, in read                                                           
    self.__get_timeout(timeout)                                                                                                    
  File "/usr/lib/python2.7/site-packages/usb/backend/libusb10.py", line 541, in bulk_read                                          
    timeout)                                                                                                                       
  File "/usr/lib/python2.7/site-packages/usb/backend/libusb10.py", line 641, in __read                                             
    timeout))                                                                                                                      
  File "/usr/lib/python2.7/site-packages/usb/backend/libusb10.py", line 403, in _check                                             
    raise USBError(_str_error[ret], ret, _libusb_errno[ret])                                                                       
USBError: [Errno 110] Operation timed out                                                                                          
                                                                                                                                   
event: array('B', [14, 4, 1, 83, 252, 1])                                                                                          
Traceback (most recent call last):                                                                                                 
  File "./bcmfwup.py", line 137, in <module>                                                                                       
    sys.exit(main())                                                                                                               
  File "./bcmfwup.py", line 133, in main                                                                                           
    up.attach_drivers()                                                                                                            
  File "./bcmfwup.py", line 32, in attach_drivers                                                                                  
    self.dev.attach_kernel_driver(intf.bInterfaceNumber)                                                                           
  File "/usr/lib/python2.7/site-packages/usb/core.py", line 718, in attach_kernel_driver                                           
    self._ctx.backend.attach_kernel_driver(self._ctx.handle, interface)                                                            
  File "/usr/lib/python2.7/site-packages/usb/backend/libusb10.py", line 617, in attach_kernel_driver                               
    _check(_lib.libusb_attach_kernel_driver(dev_handle, intf))                                                                     
  File "/usr/lib/python2.7/site-packages/usb/backend/libusb10.py", line 403, in _check                                             
    raise USBError(_str_error[ret], ret, _libusb_errno[ret])                                                                       
usb.core.USBError: [Errno 2] Entity not found

Uff, if they get longer I will have to use a pastebin...

laloch wrote:

btw, I have already started writing a driver module. When I'm done, I will need someone capable of building a custom, patched kernel for testing.

I will try my best. My last kernel compile was still with SuSE linux 7.something, never needed a custom kernel for arch. Sounds like this could be fun wink

Harvey

Last edited by Harey (2012-01-13 12:55:10)


Linux is like a wigwam: No Gates, no Windows and an Apache inside

Offline

#23 2012-01-13 13:39:54

laloch
Member
Registered: 2010-02-04
Posts: 176

Re: kernel 3.2 and Bluetooth Broadcom BCM20702A0

Thanks for the feedback. Did you check if the adapter works after this? Despite the exceptions in python code the download actually succeeded and

event: array('B', [14, 10, 1, 121, 252, 0, 20, 254, 255, 255, 55, 0])

this IMO means, that the firmware version changed.

Edit: It's not clear if the adapter passed through the final reset after the FW download finished. I've uploaded slightly modified version of the script with a bit less cluttered output.

Last edited by laloch (2012-01-13 14:06:46)

Offline

#24 2012-01-13 15:15:57

Harey
Member
From: Bavaria, Germany
Registered: 2007-03-24
Posts: 292

Re: kernel 3.2 and Bluetooth Broadcom BCM20702A0

the output now looks like this:

[root@gruenix bcmfwup]# ./bcmfwup.py 
event: array('B', [14, 4, 1, 3, 12, 0])
event: array('B', [14, 10, 1, 121, 252, 0, 20, 254, 255, 255, 0, 0])
event: array('B', [14, 4, 1, 46, 252, 0])
event: array('B', [14, 4, 1, 76, 252, 0])
event: array('B', [14, 4, 1, 76, 252, 0])
event: array('B', [14, 4, 1, 76, 252, 0])
event: array('B', [14, 4, 1, 76, 252, 0])
event: array('B', [14, 4, 1, 76, 252, 0])
event: array('B', [14, 4, 1, 76, 252, 0])
event: array('B', [14, 4, 1, 76, 252, 0])
event: array('B', [14, 4, 1, 76, 252, 0])
event: array('B', [14, 4, 1, 76, 252, 0])
event: array('B', [14, 4, 1, 76, 252, 0])
event: array('B', [14, 4, 1, 76, 252, 0])
event: array('B', [14, 4, 1, 76, 252, 0])
event: array('B', [14, 4, 1, 76, 252, 0])
event: array('B', [14, 4, 1, 78, 252, 0])
event: array('B', [255, 2, 30, 0])
event: array('B', [14, 10, 1, 121, 252, 0, 20, 254, 255, 255, 55, 0])
event: array('B', [14, 4, 1, 83, 252, 1])
Traceback (most recent call last):
  File "./bcmfwup.py", line 140, in <module>
    sys.exit(main())
  File "./bcmfwup.py", line 136, in main
    up.attach_drivers()
  File "./bcmfwup.py", line 32, in attach_drivers
    self.dev.attach_kernel_driver(intf.bInterfaceNumber)
  File "/usr/lib/python2.7/site-packages/usb/core.py", line 718, in attach_kernel_driver
    self._ctx.backend.attach_kernel_driver(self._ctx.handle, interface)
  File "/usr/lib/python2.7/site-packages/usb/backend/libusb10.py", line 617, in attach_kernel_driver
    _check(_lib.libusb_attach_kernel_driver(dev_handle, intf))
  File "/usr/lib/python2.7/site-packages/usb/backend/libusb10.py", line 403, in _check
    raise USBError(_str_error[ret], ret, _libusb_errno[ret])
usb.core.USBError: [Errno 2] Entity not found

After that, the adapter works. YAY! Scanning shows my bt devices, I can pair with my cellphone and my headset!
This is very good news. I will test some  data transfer later. You are my hero wink

Harvey

EDIT: Oh no! Data transfer is not working, neither sound output to the headset. But this seems to be a general problem of the actual bluetooth incarnation as I have the same errors on my desktop machine which was working flawlessly before. DOH!

Last edited by Harey (2012-01-13 15:25:01)


Linux is like a wigwam: No Gates, no Windows and an Apache inside

Offline

#25 2012-01-13 15:59:23

laloch
Member
Registered: 2010-02-04
Posts: 176

Re: kernel 3.2 and Bluetooth Broadcom BCM20702A0

Harey wrote:

After that, the adapter works. YAY! Scanning shows my bt devices, I can pair with my cellphone and my headset!
This is very good news. I will test some  data transfer later. You are my hero wink

That's great news indeed.

Harey wrote:

Oh no! Data transfer is not working, neither sound output to the headset. But this seems to be a general problem of the actual bluetooth incarnation as I have the same errors on my desktop machine which was working flawlessly before. DOH!

You can try this newer firmware taken from the 6.5.0.2100 driver package: http://dl.dropbox.com/u/25169171/BCM207 … 6.0204.hex
Rename in to fw.hex, place it in the bcmfwup directory and run the script.

Edit: Oh, and if you can, post the output please. It could prove my assumption about the firmware version HCI event.

Last edited by laloch (2012-01-13 16:04:21)

Offline

Board footer

Powered by FluxBB