Adapter name reset on suspend/resume
Heya,
After suspending and resuming my laptop, hci0's name is reset to what looks like the factory name:
$ hciconfig -a | grep Name Name: 'BCM20702A'
This is the device in question:
Bus 001 Device 004: ID 0a5c:21e6 Broadcom Corp. BCM20702 Bluetooth 4.0 [ThinkPad]
And my laptop is a Lenovo X1 Carbon.
Neither udevadm nor btmon show the device going away on suspend and coming back on resume.
Any ideas?
Marcel Holtmann
maintainerHi Bastien,
Quoted 5 lines
After suspending and resuming my laptop, hci0's name is reset to what looks like the factory name:
$ hciconfig -a | grep Name Name: 'BCM20702A'
Quoted 7 lines
This is the device in question:
Bus 001 Device 004: ID 0a5c:21e6 Broadcom Corp. BCM20702 Bluetooth 4.0 [ThinkPad]And my laptop is a Lenovo X1 Carbon.
Neither udevadm nor btmon show the device going away on suspend and coming back on resume.
can you start btmon, call hciconfig hci0 name, then suspend, then resume, call hciconfig hci0 name again.
I am wondering if for some reason the suspend/resume actually does a HCI Reset without telling us. The name normally only gets reset to BCM20702A when doing a full reset.
Another possibility is that we actually forgot to set it in the first place. I am pretty sure I have intensively tested and that should not happen, but you might just found a corner case.
Regards
Marcel
Quoted 10 lines · Marcel Holtmann
Hi Bastien,
Quoted 8 lines
After suspending and resuming my laptop, hci0's name is reset to what looks like the factory name:
$ hciconfig -a | grep Name Name: 'BCM20702A'This is the device in question:
Bus 001 Device 004: ID 0a5c:21e6 Broadcom Corp. BCM20702 Bluetooth 4.0 [ThinkPad]
Quoted 7 lines
Quoted 4 lines
And my laptop is a Lenovo X1 Carbon.
Neither udevadm nor btmon show the device going away on suspend and coming back on resume.
can you start btmon, call hciconfig hci0 name, then suspend, then resume, call hciconfig hci0 name again.
Bluetooth monitor ver 5.10
= New Index: F4:B7:E2:E8:99:E2 (BR/EDR,USB,hci0) [hci0] 0.176335
< HCI Command: Read Local Name (0x03|0x0014) plen 0 [hci0] 9.797930
> HCI Event: Command Complete (0x0e) plen 252 [hci0] 9.813834
Read Local Name (0x03|0x0014) ncmd 1
Status: Success (0x00)
Name: nuvo< HCI Command: Read Local Name (0x03|0x0014) plen 0 [hci0] 33.109166
Quoted 1 line
HCI Event: Command Complete (
0x0e) plen 252 [hci0] 33.125157
Read Local Name (0x03|0x0014) ncmd 1
Status: Success (0x00)
Name: BCM20702AQuoted 3 lines
I am wondering if for some reason the suspend/resume actually does a HCI Reset without telling us. The name normally only gets reset to BCM20702A when doing a full reset.
Looks like that's what it's doing.
Quoted 3 lines
Another possibility is that we actually forgot to set it in the first place. I am pretty sure I have intensively tested and that should not happen, but you might just found a corner case.
It's set on a normal boot, it seems to be reset only when suspending.
Cheers
Marcel Holtmann
maintainerHi Bastien,
Quoted 33 lines
Quoted 8 lines
Quoted 8 lines
After suspending and resuming my laptop, hci0's name is reset to what looks like the factory name:
$ hciconfig -a | grep Name Name: 'BCM20702A'This is the device in question:
Bus 001 Device 004: ID 0a5c:21e6 Broadcom Corp. BCM20702 Bluetooth 4.0 [ThinkPad]Quoted 7 lines
Quoted 4 lines
And my laptop is a Lenovo X1 Carbon.
Neither udevadm nor btmon show the device going away on suspend and coming back on resume.
can you start btmon, call hciconfig hci0 name, then suspend, then resume, call hciconfig hci0 name again.
Bluetooth monitor ver 5.10
= New Index: F4:B7:E2:E8:99:E2 (BR/EDR,USB,hci0) [hci0] 0.176335 < HCI Command: Read Local Name (0x03|0x0014) plen 0 [hci0] 9.797930 > HCI Event: Command Complete (0x0e) plen 252 [hci0] 9.813834 Read Local Name (0x03|0x0014) ncmd 1 Status: Success (0x00) Name: nuvo< HCI Command: Read Local Name (0x03|0x0014) plen 0 [hci0] 33.109166
Quoted 1 line
HCI Event: Command Complete (
0x0e) plen 252 [hci0] 33.125157Read Local Name (0x03|0x0014) ncmd 1 Status: Success (0x00) Name: BCM20702AQuoted 3 lines
I am wondering if for some reason the suspend/resume actually does a HCI Reset without telling us. The name normally only gets reset to BCM20702A when doing a full reset.
Quoted 7 lines
Looks like that's what it's doing.
Quoted 3 lines
Another possibility is that we actually forgot to set it in the first place. I am pretty sure I have intensively tested and that should not happen, but you might just found a corner case.
It's set on a normal boot, it seems to be reset only when suspending.
I have no idea on how to fix this at the moment. The problem is actually that this kind of behavior with a silent HCI reset will break remote wakeup.
Regards
Marcel