Re: Bluetooth dongle (13d3:3304) not responding after reboot until suspend/resume

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Am Donnerstag, 21. Juni 2012, 23:01:28 schrieb James:
> Hi,
> 
> I'm seeing a strange issue with a USB-attached internal Bluetooth dongle
> (I believe it's on a dual mini PCI-Express/USB card).
> 
> Normally, if I start the machine from cold straight into Linux,
> everything works fine. The dongle at first shows up as an "IMC Networks"
> dongle (13d3:3304) until ath3k loads, then it re-identifies itself as an
> "Atheros Communications, Inc." device (0cf3:3005) and works.
> 
> However, if I cold-start to Windows 7 first, then reboot into Linux,
> frequently the device will get stuck as 13d3:3304 and stop responding.
> Attempting to reload ath3k results in a short pause before a message like
> 
> [  131.835217] Bluetooth: Can't change to loading configuration err
> [  131.835315] ath3k: probe of 1-1.2:1.0 failed with error -110

static int ath3k_load_fwfile(struct usb_device *udev,
                const struct firmware *firmware)
{
        u8 *send_buf;
        int err, pipe, len, size, count, sent = 0;
        int ret;

        count = firmware->size;

        send_buf = kmalloc(BULK_SIZE, GFP_KERNEL);
        if (!send_buf) {
                BT_ERR("Can't allocate memory chunk for firmware");
                return -ENOMEM;
        }

        size = min_t(uint, count, FW_HDR_SIZE);
        memcpy(send_buf, firmware->data, size);

        pipe = usb_sndctrlpipe(udev, 0);
        ret = usb_control_msg(udev, pipe, ATH3K_DNLOAD,
                        USB_TYPE_VENDOR, 0, 0, send_buf,
                        size, USB_CTRL_SET_TIMEOUT);
        if (ret < 0) {
                BT_ERR("Can't change to loading configuration err");
                kfree(send_buf);
                return ret;
        }

ath3k has determined that your device needs additional firmware but cannot
switch to firmware download mode.

> If I then suspend/resume the notebook, and then reload ath3k, generally
> it works. The dongle flips its USB ID, and normal service ensues.

This cuts power to the module and it reverts to its default state like after
a cold boot.
 
> Any ideas what's going on here? 

Basically the device is semi-reset and ath3k cannot deal with a device
in that state. But that doesn't tell us what can be done. Please post "lsusb -v"
of your device _before_ ath3k is loaded (you should disable ath3k and btusb
for that test) in both states, after cold boot and warm reboot from Windows.

	Regards
		Oliver
--
To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Bluez Devel]     [Linux Wireless Networking]     [Linux Wireless Personal Area Networking]     [Linux ATH6KL]     [Linux USB Devel]     [Linux Media Drivers]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux