Re: bluetooth off state not remembered accross reboots?

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

 



On Sun, 11 Oct 2009, Yves-Alexis Perez wrote:
> On sam, 2009-10-10 at 13:49 -0300, Henrique de Moraes Holschuh wrote:
> > Compile thinkpad-acpi with the Kconfig option "CONFIG_THINKPAD_ACPI_DEBUG"
> > enabled, and pass thinkpad-acpi the module option "debug=0x8004", either
> > through the kernel command line (if it is builtin:
> > thinkpad_acpi.debug=0x8004) or through an "options thinkpad-acpi ..." line
> > in /etc/modprobe.d/*.
> > 
> > Make sure you're logging kernel debug messages somewhere (check
> > rsyslog/klogd/syslogd/whatever configuration).
> > 
> > After that, do some testing and check the kernel log, thinkpad-acpi will
> > tell you if something tries to manipulate radio state, and it will also tell
> > you when it stores radio state to NVRAM.  It should give us some idea of
> > what's happening.
> 
> When booting with debug-0x8004 I can see:
> 
> [   16.036499] thinkpad_acpi: bluetooth_init: initializing bluetooth subdriver
> [   16.037608] thinkpad_acpi: bluetooth_init: bluetooth is supported, status 0x01
> [   16.039494] PM: Adding info for No Bus:rfkill0
> [   16.039930] thinkpad_acpi: tpacpi_rfk_hook_set_block: request to change radio state to blocked
> [   16.039939] thinkpad_acpi: bluetooth_set_status: will attempt to disable bluetooth
> 
> and then:
> 
> [   16.055929] thinkpad_acpi: tpacpi_rfk_hook_set_block: request to change radio state to unblocked
> [   16.055938] thinkpad_acpi: bluetooth_set_status: will attempt to enable bluetooth

Ok.  This means something is asking thinkpad-acpi to enable bluetooth at
boot, even if you left it off before power down.  thinkpad-acpi starts the
rfkill interface with bluetooth *off*, but 20ms later, something turns it
back on.

I think it is the rfkill module that is doing it, because it is being done
just 20ms after thinkpad-acpi was loaded.  However, your box might be quite
fast enough for 20ms to mean it was an automated action by userspace (i.e.
something hooked to UDEV).

Unfortunately, it is impossible to know for sure if a rfkill state change
request was done due to kernel or userspace request.

Please check if you (or something else) is setting any parameters on the
rfkill module.

Also, do this:

1. with the system fully operational, turn bluetooth off:

echo 0 > /sys/bus/platform/devices/thinkpad_acpi/bluetooth_enable

2. Remove thinkpad-acpi:  rmmod thinkpad-acpi

Bluetooth should be off, and not present on lsusb.

3. load thinkpad-acpi:  modprobe thinkpad-acpi  <any parameters you want>

If bluetooth goes ON, that means it is either the rfkill module or something
hooked to udev that is doing it.  If it doesn't, it means the culprit is
likely some initscript.

-- 
  "One disk to rule them all, One disk to find them. One disk to bring
  them all and in the darkness grind them. In the Land of Redmond
  where the shadows lie." -- The Silicon Valley Tarot
  Henrique Holschuh

------------------------------------------------------------------------------
Come build with us! The BlackBerry(R) Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay 
ahead of the curve. Join us from November 9 - 12, 2009. Register now!
http://p.sf.net/sfu/devconference
_______________________________________________
ibm-acpi-devel mailing list
ibm-acpi-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.sourceforge.net/lists/listinfo/ibm-acpi-devel

[Index of Archives]     [Linux ACPI]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Photo]     [Yosemite Photos]     [Yosemite Advice]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Device Mapper]

  Powered by Linux