2007-11-01 01:12:44

by Raul Siles

[permalink] [raw]
Subject: [Bluez-devel] How to confirm if a device has DFU support (dfutool)?

Hi everyone,
I'm trying to backup the firmware from a Conceptronic CBT100U USB
Bluetooth dongle using dfutool, and the message I get after selecting
the device is:

# dfutool -dhci0 archive file.dfu
...
"Can't identify device with DFU mode"
#

I understand this could mean this chip manufacturer does NOT support DFU,
although it is a CSR-based device, and mostly all CSR based modules and dongles
support DFU. How can I confirm if DFU is supported?

Sorry but I couldn't find any info on the net (apart from the dfutool
source code). From a quick code overview, it seems usb_find_devices()
fails to find the device.

The device revision details do not confirm it is a ROM-only device
(Thanks Marcel for the suggestion):

# hciconfig hci0 revision
hci0: Type: USB
BD Address: 00:10:60:A6:0C:BC ACL MTU: 192:8 SCO MTU: 64:8
HCI 16.4
Chip version: BlueCore02-External
Max key size: 56 bit
SCO mapping: HCI

Thanks!
--
RS

-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
Bluez-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-devel


2007-11-02 16:18:16

by Raul Siles

[permalink] [raw]
Subject: Re: [Bluez-devel] How to confirm if a device has DFU support (dfutool)?

Hi Marcel,

> that is plain wrong. Most CSR based devices are nowadays ROM chips and
> don't support DFU anymore. However check /proc/bus/usb/devices, it will
> tell you exactly if it is supported or not.

Thanks for the clarification. May I suggest then to change the text at
"http://www.holtmann.org/linux/bluetooth/dfu.html" to avoid confusion?

The /proc-related info is below. Can you please clarify what is the
specific setting to check and confirm if it is a ROM-based device?
BTW, Conceptronics has a firmware update tool (Windows-based) that is
capable of patching the current firmware (however, it cannot update a
full firmware image).

Thanks for the help!
--
Raul Siles

--
# cat /proc/bus/usb/devices

T: Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=12 MxCh= 2
B: Alloc= 0/900 us ( 0%), #Int= 0, #Iso= 0
D: Ver= 1.10 Cls=09(hub ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
P: Vendor=0000 ProdID=0000 Rev= 2.06
S: Manufacturer=Linux 2.6.20-BT-PwnSauce-NOSMP uhci_hcd
S: Product=UHCI Host Controller
S: SerialNumber=0000:00:07.2
C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr= 0mA
I: If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub
E: Ad=81(I) Atr=03(Int.) MxPS= 2 Ivl=255ms

T: Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 7 Spd=12 MxCh= 0
D: Ver= 1.10 Cls=e0(unk. ) Sub=01 Prot=01 MxPS=64 #Cfgs= 1
P: Vendor=0a12 ProdID=0002 Rev= 5.25
C:* #Ifs= 3 Cfg#= 1 Atr=c0 MxPwr= 0mA
I: If#= 0 Alt= 0 #EPs= 3 Cls=e0(unk. ) Sub=01 Prot=01 Driver=hci_usb
E: Ad=81(I) Atr=03(Int.) MxPS= 16 Ivl=1ms
E: Ad=02(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms
E: Ad=82(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms
I: If#= 1 Alt= 0 #EPs= 2 Cls=e0(unk. ) Sub=01 Prot=01 Driver=(none)
E: Ad=03(O) Atr=01(Isoc) MxPS= 0 Ivl=1ms
E: Ad=83(I) Atr=01(Isoc) MxPS= 0 Ivl=1ms
I: If#= 1 Alt= 1 #EPs= 2 Cls=e0(unk. ) Sub=01 Prot=01 Driver=(none)
E: Ad=03(O) Atr=01(Isoc) MxPS= 9 Ivl=1ms
E: Ad=83(I) Atr=01(Isoc) MxPS= 9 Ivl=1ms
I: If#= 1 Alt= 2 #EPs= 2 Cls=e0(unk. ) Sub=01 Prot=01 Driver=(none)
E: Ad=03(O) Atr=01(Isoc) MxPS= 17 Ivl=1ms
E: Ad=83(I) Atr=01(Isoc) MxPS= 17 Ivl=1ms
I: If#= 1 Alt= 3 #EPs= 2 Cls=e0(unk. ) Sub=01 Prot=01 Driver=(none)
E: Ad=03(O) Atr=01(Isoc) MxPS= 25 Ivl=1ms
E: Ad=83(I) Atr=01(Isoc) MxPS= 25 Ivl=1ms
I: If#= 1 Alt= 4 #EPs= 2 Cls=e0(unk. ) Sub=01 Prot=01 Driver=(none)
E: Ad=03(O) Atr=01(Isoc) MxPS= 33 Ivl=1ms
E: Ad=83(I) Atr=01(Isoc) MxPS= 33 Ivl=1ms
I: If#= 1 Alt= 5 #EPs= 2 Cls=e0(unk. ) Sub=01 Prot=01 Driver=(none)
E: Ad=03(O) Atr=01(Isoc) MxPS= 49 Ivl=1ms
E: Ad=83(I) Atr=01(Isoc) MxPS= 49 Ivl=1ms
I: If#= 2 Alt= 0 #EPs= 0 Cls=fe(app. ) Sub=01 Prot=00 Driver=(none)
--

-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
Bluez-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-devel

2007-11-01 05:04:10

by Marcel Holtmann

[permalink] [raw]
Subject: Re: [Bluez-devel] How to confirm if a device has DFU support (dfutool)?

Hi Raul,

> I'm trying to backup the firmware from a Conceptronic CBT100U USB
> Bluetooth dongle using dfutool, and the message I get after selecting
> the device is:
>
> # dfutool -dhci0 archive file.dfu
> ...
> "Can't identify device with DFU mode"
> #
>
> I understand this could mean this chip manufacturer does NOT support DFU,
> although it is a CSR-based device, and mostly all CSR based modules and dongles
> support DFU. How can I confirm if DFU is supported?

that is plain wrong. Most CSR based devices are nowadays ROM chips and
don't support DFU anymore. However check /proc/bus/usb/devices, it will
tell you exactly if it is supported or not.

Regards

Marcel



-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
Bluez-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-devel

2007-12-05 09:46:23

by Raul Siles

[permalink] [raw]
Subject: Re: [Bluez-devel] How to confirm if a device has DFU support (dfutool)?

Hi everyone,
The previous issue I reported back about "dfutool" not capable of
backing up the firmware for a USB Bluetooth dongle (see below) is
solved.

It seems "dfutool" doesn't like VMware (v5.5.X). The native VMware USB
port emulation (or USB pass through) interferes with the raw USB
access required by dfutool. From a native OS (without any
virtualization SW) everything works as expected.

Cheers,
--
Raul Siles
GSE
http://www.raulsiles.com

> I'm trying to backup the firmware from a Conceptronic CBT100U USB
> Bluetooth dongle using dfutool, and the message I get after selecting
> the device is:
>
> # dfutool -dhci0 archive file.dfu
> ...
> "Can't identify device with DFU mode"
> #
>
> I understand this could mean this chip manufacturer does NOT support DFU,
> although it is a CSR-based device, and mostly all CSR based modules and dongles
> support DFU. How can I confirm if DFU is supported?

-------------------------------------------------------------------------
SF.Net email is sponsored by: The Future of Linux Business White Paper
from Novell. From the desktop to the data center, Linux is going
mainstream. Let it simplify your IT future.
http://altfarm.mediaplex.com/ad/ck/8857-50307-18918-4
_______________________________________________
Bluez-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-devel