You are not logged in.
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.
No joy. Here is the output:
[root@gruenix bcmfwup]# ./bcmfwup.py
Traceback (most recent call last):
File "./bcmfwup.py", line 140, in <module>
sys.exit(main())
File "./bcmfwup.py", line 129, in main
hex = intelhex('fw.hex')
File "./bcmfwup.py", line 107, in __init__
self.load_from_file(filename)
File "./bcmfwup.py", line 111, in load_from_file
self.append(line)
File "./bcmfwup.py", line 119, in append
checksum = int(line[-2:], 16)
ValueError: invalid literal for int() with base 16: ''
Looks like no upload is taking place. BTW, this hex file is 10 times the size of the first file... (?)
Harvey
Linux is like a wigwam: No Gates, no Windows and an Apache inside
Offline
No joy. Looks like no upload is taking place.
Ooops, that were those Windows lineends. Reuploaded. Sorry.
BTW, this hex file is 10 times the size of the first file... (?)
The rampatch is mutch newer than the previous one. It seems, that the original ROM firmware is really buggy
Edit: The hex parser is now fixed.
Last edited by laloch (2012-01-13 19:40:04)
Offline
Ooops, that was those Windows lineends. Reuploaded. Sorry.
Never mind. Retried and now:
[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, 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, 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, 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, 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, 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, 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, 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, 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, 204, 0])
event: array('B', [19, 5, 1, 0, 0, 1, 0])
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
That works! Data transfer is possible now. I tried a Samsung cell phone and another computer with bt support. Although I can't connect to my headset but as I said before this seems to be a bluez bug. I can pair with this headset(s) too but no sound will get transferred.
Harvey
Last edited by Harey (2012-01-13 19:53:46)
Linux is like a wigwam: No Gates, no Windows and an Apache inside
Offline
That works! Data transfer is possible now. I tried a Samsung cell phone and another computer with bt support.
Great!
I've already uploaded the fixed downloader together with this wersion of the rampatch.
...And it even confirmed my guess about the 'HCI_BCM_GET_FW_VERSION' command
edit:
Although I can't connect to my headset but as I said before this seems to be a bluez bug. I can pair with this headset(s) too but no sound will get transferred.
See here: https://bbs.archlinux.org/viewtopic.php?id=133460
Last edited by laloch (2012-01-13 23:13:34)
Offline
I've already uploaded the fixed downloader together with this wersion of the rampatch.
...And it even confirmed my guess about the 'HCI_BCM_GET_FW_VERSION' command
While thinking about your efforts it came to my mind that this could end in a patch that not only supports my 'flavour' of BCM20702A0 but all adapters mentioned in the windows inf file. Those not needing a rampatch could be supported just by adding their vendor id from the inf file (see former patch on the linux-bluetooth mailing list). This seems to really trivial.
And those needing a rampatch could be added using the information gained by now by uploading the rampatches that the windows driver supplies. We're writing history here
Although I can't connect to my headset but as I said before this seems to be a bluez bug. I can pair with this headset(s) too but no sound will get transferred.
Thanks for the hint. Had no time to care about that by now. There is a new bluez (4.98) in the repos. Will first try that and maybe downgrade later via ARM if needed.
Harvey
Linux is like a wigwam: No Gates, no Windows and an Apache inside
Offline
While thinking about your efforts it came to my mind that this could end in a patch that not only supports my 'flavour' of BCM20702A0 but all adapters mentioned in the windows inf file.
And that's what I intend to do of course ;-)
Offline
I've already uploaded the fixed downloader together with this wersion of the rampatch.
You have to rename the hex file to the original name of 'BCM20702A0_001.001.024.0156.0204.hex' to reflect your argument changes to the intelhex() call.
BTW, Bluez 4.98 is no good either. Downgrading to 4.96 brings my my headset back to life in kde.
Harvey
Linux is like a wigwam: No Gates, no Windows and an Apache inside
Offline
You have to rename the hex file to the original name of 'BCM20702A0_001.001.024.0156.0204.hex' to reflect your argument changes to the intelhex() call.
Oh, thanks. I was somehow out of shape yesterday
Reuploaded.
Offline
Hello Guys,
Than you very much for your work and testing....Do you know when it will make it in the official repositories....Thanks
Kind Regards
Chris
Offline
Hello,
Do you know when it will make it in the official repositories.
it's hard to tell. The implementation itself is rather trivial, but we have to decide (preferably together with people from the BlueZ project) whether to implement a kernel module or an user space tool. Once implemented, we have to acquire a permission from Broadcom to redistribute their firmware.
Offline
Hi there, using the latest patch file, here is the output from bcmfwup.py:
Traceback (most recent call last):
File "./bcmfwup.py", line 141, in <module>
sys.exit(main())
File "./bcmfwup.py", line 131, in main
up = bcm_fw_up()
File "./bcmfwup.py", line 19, in __init__
raise ValueError('Device not found')
ValueError: Device not found
Don't know if this is relevant or not but my hardware id for bluetooth is "0a5c 21e3"
Thanks in advance,
Mike
Offline
Don't know if this is relevant or not but my hardware id for bluetooth is "0a5c 21e3"
Yes it is. You need to change both the script and the RAM patch to match your device. Edit the ID_VENDOR and ID_PRODUCT constants near the top of the script to
ID_VENDOR = 0x0a5c
ID_PRODUCT = 0x21e3
Proper firmware for your device is BCM20702A1_001.002.014.0136.0175.hex. Save it to the bcmfwup directory. You also need to edit one more line near the end of the script from
hex = intelhex('BCM20702A0_001.001.024.0156.0204.hex')
to
hex = intelhex('BCM20702A1_001.002.014.0136.0175.hex')
Now run the script:
# ./bcmfwup.py
# modprobe btusb
# echo "0a5c 21e3" >> /sys/bus/usb/drivers/btusb/new_id
Please report results. It will help further development. Thanks.
Offline
Hi there, thanks for the help. I downloaded the file you specified and altered the python script, then reran it. Below is the output:
event: array('B', [14, 4, 1, 3, 12, 0])
event: array('B', [14, 10, 1, 121, 252, 0, 63, 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, 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, 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, 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, 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, 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, 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, 63, 254, 255, 255, 175, 0])
event: array('B', [19, 5, 1, 0, 0, 1, 0])
I'm happy to say that after running this script and the rest of the code you listed, I was able to pair with my bluetooth headset and get pulse output through it! Now my only question is, do I have to run the python script everytime I reboot? or just modprobe and register the new id?
Thank you so much!
Mike
Offline
I'm happy to say that after running this script and the rest of the code you listed, I was able to pair with my bluetooth headset and get pulse output through it! Now my only question is, do I have to run the python script everytime I reboot? or just modprobe and register the new id?
Thanks for the feedback. For now, yes. You have to run the script after each reboot
Offline
Hi laloch,
Did I miss a thread on the mailing list or did really noone answer your question?
FWIW: there is a package bluez-firmware in extra:
https://www.archlinux.org/packages/extr … -firmware/
I guess this is the right way to go with your additions then.
Harvey
Linux is like a wigwam: No Gates, no Windows and an Apache inside
Offline
Nope, no one.
Since the BlueZ is not interested, I will most likely write a simple userl space tool and host it on Github.
Offline
Since the BlueZ is not interested, I will most likely write a simple userl space tool and host it on Github.
I doubt that they are not interested. I rather think most of them have set the thread to 'ignore' as it seemed to be at an end. Maybe repost on a new thread with [need coding advice] in the subject or something similar?
Harvey
Linux is like a wigwam: No Gates, no Windows and an Apache inside
Offline
Hello Guys,
David,,,did you get any chance to start a new thread on the mailing list or try to ping some on IRC channel #bluez ?
Thanks again for your help
Chris
Offline
Like starkraving, I have 0a5c:21e3 Broadcom device and when I run the py script, I get the same output as in message #38. However, after modprobe and echo commands, I get to syslog
Apr 28 12:44:27 siika bluetoothd[4053]: HCI dev 0 registered
Apr 28 12:44:27 siika bluetoothd[4053]: Listening for HCI events on hci0
Apr 28 12:44:27 siika bluetoothd[4053]: HCI dev 0 up
Apr 28 12:44:27 siika bluetoothd[4053]: Proximity GATT Reporter Driver: Operation not permitted (1)
Apr 28 12:44:27 siika bluetoothd[4053]: sap-dummy interface org.bluez.SimAccessTest init failed on path /org/bluez/test
Apr 28 12:44:27 siika bluetoothd[4053]: Sap driver initialization failed.
Apr 28 12:44:27 siika bluetoothd[4053]: sap-server: Operation not permitted (1)
Apr 28 12:44:27 siika bluetoothd[4053]: Unable to load keys to adapter_ops: Function not implemented (38)
Apr 28 12:44:27 siika bluetoothd[4053]: Adapter /org/bluez/4053/hci0 has been enabled
and Bluetooth is not working. hcitool dev shows the device, but scan does not find any other Bluetooth devices.
-- Juha
Offline
Hey,
I own such a Fujitsu E751 too. And was about to try myself with updating the btusb kernel module. But had problems with understanding my wireshark logs. So I googled a bit regarding the usb stuff and stumbeld over this thread.
I would be glad if I could help anyhow. Is there any status update on this script or even about the kernel module laloch started?
Laloch: anyhow, I tested your script on ubuntu 12.04 and it worked. First I got timeouts after some "event: array('B', [14, 4, 1, 76, 252, 0])" outputs, but I guess it was an undefined hw situation as I was testing some stuff on my own before. After a reboot (geting into a defined state) it worked nicely!
Now I don't need to start up my virtualbox windows to load the firmware THX !!!
I have some spare time the next weeks so if I could help testing something or even implementing some stuff (as I said, I wanted to implemented firmware upload into btusb myself, altough I have only very little knowledge about the USB Protocol).
Bye
Ephraim
Offline
Very interesting. I stumbled across this on my own quest for Bluetooth
My situation is a bit different. My Bluetooth adapter is a part of a BCM43228 mPCIe chip which was included with my motherboard (ROG Maximus V Extreme). In Windows, it actually shows up as a USB(!) device, but on Linux, I can't see the device at all.
$ rfkill list all
Output: http://pastebin.com/err9T5WS
$ lspci
Output: http://pastebin.com/aSJccW7N
$ lsusb
Output: http://pastebin.com/ZWFc82Tp
$ dmesg
Output: http://pastebin.com/pR18nL1F
Windows Driver INF file: http://pastebin.com/inV15jqd
Any ideas on where to get started here? I'd try the patch, but I'm not even seeing the device at all at this point. Any ideas?
Offline
The chip is fairly new and a completely different beast. Maybe it's better to open a different thread. Is your wlan working? You could try
usb-devices
for more information. I guess it has some kind of pci-usb bridge integrated. The easiest way to circumvent this is to buy a cheap separate bluetooth usb-adapter. I know that this is not what you wanted to hear. But think of the following: even if your chip would be supported both for wlan and bluetooth I don't think that they could be switched on and off separately...
Harvey
Linux is like a wigwam: No Gates, no Windows and an Apache inside
Offline
Any news about this regarding Kernel integration of the firmware stuff?
Offline
Any news about this regarding Kernel integration of the firmware stuff?
Not from my side. But the ubuntu guys seem to be working on this:
https://bugs.launchpad.net/ubuntu/+sour … ug/1065400
Harvey
Linux is like a wigwam: No Gates, no Windows and an Apache inside
Offline
The chip is fairly new and a completely different beast. Maybe it's better to open a different thread. Is your wlan working? You could try
usb-devices
for more information. I guess it has some kind of pci-usb bridge integrated. The easiest way to circumvent this is to buy a cheap separate bluetooth usb-adapter. I know that this is not what you wanted to hear. But think of the following: even if your chip would be supported both for wlan and bluetooth I don't think that they could be switched on and off separately...
Harvey
Ok, I actually found it! w00t.
T: Bus=01 Lev=02 Prnt=02 Port=00 Cnt=01 Dev#= 3 Spd=12 MxCh= 0
D: Ver= 2.00 Cls=ff(vend.) Sub=01 Prot=01 MxPS=64 #Cfgs= 1
P: Vendor=0b05 ProdID=17b5 Rev=01.12
S: Manufacturer=Broadcom Corp
S: Product=BCM20702A0
S: SerialNumber=############
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)
If it's there, can I use the firmware injection tool mentioned above to inject the firmware and power it on? What do I need to do in order to make that happen? I don't fear any bash work
Last edited by rfkrocktk (2012-12-05 18:39:51)
Offline