Hi All,
I am working on firmware update of a USB BT Dongle. It is CSR chipset based dongle. After the dongle is switched to dfu mode, the USBDeviceOpen always fails with error kIOReturnExclusiveAccess. From ioreg tool I can see the following interfaces.
Interfaces available in Normal Mode
+-o USB Link@14600000 <class AppleUSBDevice, id 0x1000012d2, registered, matched, active, busy 0 (5 ms), retain 22>
| | | | +-o AppleUSBInterface@0 <class AppleUSBInterface, id 0x1000012e0, registered, matched, active, busy 0 (0 ms), retain 5>
| | | | +-o AppleUSBInterface@1 <class AppleUSBInterface, id 0x1000012e3, registered, matched, active, busy 0 (0 ms), retain 5>
| | | | +-o AppleUSBInterface@2 <class AppleUSBInterface, id 0x1000012e5, registered, matched, active, busy 0 (0 ms), retain 5>
| | | | +-o AppleUSBInterface@3 <class AppleUSBInterface, id 0x1000012e6, registered, matched, active, busy 0 (1 ms), retain 5>
| | | | +-o AppleUSBInterface@4 <class AppleUSBInterface, id 0x1000012ea, registered, matched, active, busy 0 (0 ms), retain 5>
| | | | +-o AppleUSBInterface@5 <class AppleUSBInterface, id 0x1000012ef, registered, matched, active, busy 0 (0 ms), retain 5>
Interfaces available in DFU Mode
+-o USB Link@14600000 <class AppleUSBDevice, id 0x100001298, registered, matched, active, busy 0 (0 ms), retain 17>
| | | | +-o AppleUSBInterface@0 <class AppleUSBInterface, id 0x1000012a6, !registered, !matched, active, busy 0, retain 4>
| | | | +-o AppleUSBInterface@1 <class AppleUSBInterface, id 0x1000012a7, !registered, !matched, active, busy 0, retain 4>
| | | | +-o AppleUSBInterface@2 <class AppleUSBInterface, id 0x1000012a8, !registered, !matched, active, busy 0, retain 4>
From dfu-util in dfu mode
$ ./dfu-util -l 74 ↵
dfu-util 0.9
Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
Copyright 2010-2020 Tormod Volden and Stefan Schmidt
This program is Free Software and has ABSOLUTELY NO WARRANTY
Please report bugs to http://sourceforge.net/p/dfu-util/tickets/
device not found: Operation timed out
Found Runtime: [xxxx:xxxx] ver=0033, devnum=54, cfg=1, intf=2, path="20-11", alt=0, name="UNKNOWN", serial="0000000123456789"
Why is the dongle in dfu mode always returns kIOReturnExclusiveAccess? How to know which process has seized access to the device?
Regards,
Rashmi