[ltp] Random rfkill toggling on an X201s

Nathaniel Smith linux-thinkpad@linux-thinkpad.org
Sat, 25 Jun 2011 14:19:01 -0700


On Sat, Jun 25, 2011 at 1:52 PM, Henrique de Moraes Holschuh
<hmh@hmh.eng.br> wrote:
> On Sat, 25 Jun 2011, Nathaniel Smith wrote:
>> I figure this is probably either some flaky hardware, or some kind of
>> kernel bug. Does anyone have any idea how to debug further?
>
> It is flaky hardware.
>
>> 22785.447378: bluetooth transmitter disappears from the USB bus
>
> This can only happen when the hardware kill switch is triggered (or if yo=
u
> tell the EC to do it, perhaps. =C2=A0Still, the kernel does _not_ know ho=
w to do
> that, so...) =C2=A0I'd check that switch and its wiring for damage.

Hate to contradict you, since I know you're way more of an expert here
than me... so possibly I'm missing something. But, I'd considered
that, until I noticed that when I run 'sudo rfkill block <the id of
the tpacpi_bluetooth_sw rfkill item>', then in my logs I see:

Jun 25 14:02:00 ged kernel: [36500.181697] thinkpad_acpi:
tpacpi_rfk_hook_set_block: request to change radio state to blocked
Jun 25 14:02:00 ged kernel: [36500.235129] usb 1-1.4: USB disconnect, addre=
ss 33

So it looks like the kernel's rfkill support can and does knock the
bluetooth transmitter off the bus without any hardware switches being
triggered?

OTOH, in this case we see the message from thinkpad_acpi coming
*before* the bluetooth device goes away, whereas when it was acting
up, that message came *after* the wifi and usb subsystems had started
reacting. I assume that the kernel is poking the EC or something to
disable bluetooth -- do we know that this poking can only happen after
the tpacpi_rfk_hook_set_block message is logged?

>> There seem to be two hardware rfkill controls -- a slider switch on
>> the left side of the case, and the Fn-F5 combo on the keyboard. The
>> slider seems fairly solid mechnically -- I tried jiggling it around to
>
> It can caused by cold solder. =C2=A0Which is going to be a pain to fix if=
 it is
> in the planar card. =C2=A0Usually one would reflow the entire thing just =
in case.

...Awesome.

Okay, new question: assuming that this is the issue, does anyone have
any suggestions on convincing Lenovo to fix this for me? I can check
the wiring, but I'm not going to screw around with reflowing the
solder. The machine *is* under warranty, but I haven't dealt with
Lenovo's warranty system before, and IME most places don't make it as
simple as calling up the relevant department and saying "hey, here's a
laptop with no hard-drive in it, you need to replace the following
part numbers for me"...?

Thanks,
-- Nathaniel