Hi all: Since kernel.org/bugzilla is dead for a while, I sent the bug report here in hope to get more insight. This is a long-lasting bug and happens across several distros with different combinations of bluez/kernel verisions but shares much the same symptom that bluetooth is not working after the resume. As seen in the bug report below, it happens on a variety of different laptops too. Redhat: https://bugzilla.redhat.com/show_bug.cgi?id=727106 Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=614929 Ubuntu: https://launchpad.net/bugs/824144 https://launchpad.net/bugs/824633 https://launchpad.net/bugs/823467 https://launchpad.net/bugs/822705 Personally I did some investigation on the issue and found that bluetoothd does not receive the HCI commands of read_bd_addr, read_local_version, read_local_features, nor read_local_name. So in bluez.plugins/hciops.c:device_devup_setup(), init_adapter() is not called at resume. It can be further confirmed by the attached patch of bluez. It is ugly but can work around the bug as reported in some of the bug trackers above. I am looking for any advice to get it move on, for the debugging and the fixing. Thanks, -kengyu
--- a/plugins/hciops.c +++ b/plugins/hciops.c @@ -2512,8 +2512,8 @@ hci_send_cmd(dev->sk, OGF_HOST_CTL, OCF_READ_STORED_LINK_KEY, READ_STORED_LINK_KEY_CP_SIZE, &cp); - if (!dev->pending) - init_adapter(index); + DBG("dev->pending=%d", dev->pending); + init_adapter(index); } static void init_pending(int index)