# [SOLVED]enable bluetooth adapter/problem w/ /proc/acpi/event

## zogle

model: Lenovo X60 1709 CTO

lspci:

00:00.0 Host bridge: Intel Corporation Mobile 945GM/PM/GMS, 943/940GML and 945GT Express Memory Controller Hub (rev 03)

00:02.0 VGA compatible controller: Intel Corporation Mobile 945GM/GMS, 943/940GML Express Integrated Graphics Controller (rev 03)

00:02.1 Display controller: Intel Corporation Mobile 945GM/GMS, 943/940GML Express Integrated Graphics Controller (rev 03)

00:1b.0 Audio device: Intel Corporation 82801G (ICH7 Family) High Definition Audio Controller (rev 02)

00:1c.0 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 1 (rev 02)

00:1c.1 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 2 (rev 02)

00:1c.2 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 3 (rev 02)

00:1c.3 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 4 (rev 02)

00:1d.0 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #1 (rev 02)

00:1d.1 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #2 (rev 02)

00:1d.2 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #3 (rev 02)

00:1d.3 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #4 (rev 02)

00:1d.7 USB Controller: Intel Corporation 82801G (ICH7 Family) USB2 EHCI Controller (rev 02)

00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev e2)

00:1f.0 ISA bridge: Intel Corporation 82801GBM (ICH7-M) LPC Interface Bridge (rev 02)

00:1f.1 IDE interface: Intel Corporation 82801G (ICH7 Family) IDE Controller (rev 02)

00:1f.2 SATA controller: Intel Corporation 82801GBM/GHM (ICH7 Family) SATA AHCI Controller (rev 02)

00:1f.3 SMBus: Intel Corporation 82801G (ICH7 Family) SMBus Controller (rev 02)

02:00.0 Ethernet controller: Intel Corporation 82573L Gigabit Ethernet Controller

03:00.0 Network controller: Intel Corporation PRO/Wireless 3945ABG Network Connection (rev 02)

15:00.0 CardBus bridge: Ricoh Co Ltd RL5c476 II (rev b4)

15:00.1 FireWire (IEEE 1394): Ricoh Co Ltd R5C552 IEEE 1394 Controller (rev 09)

15:00.2 SD Host controller: Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (rev 1 :Cool: 

lsusb:

Bus 005 Device 001: ID 0000:0000  

Bus 004 Device 001: ID 0000:0000  

Bus 003 Device 001: ID 0000:0000  

Bus 002 Device 001: ID 0000:0000  

Bus 001 Device 001: ID 0000:0000 

kernel: 2.6.23-r10 Tuxonice

snippet from .config:

# 

# Network testing

#

CONFIG_NET_PKTGEN=m

# CONFIG_HAMRADIO is not set

# CONFIG_IRDA is not set

CONFIG_BT=y

CONFIG_BT_L2CAP=y

CONFIG_BT_SCO=m

CONFIG_BT_RFCOMM=y

CONFIG_BT_RFCOMM_TTY=y

CONFIG_BT_BNEP=y

CONFIG_BT_BNEP_MC_FILTER=y

CONFIG_BT_BNEP_PROTO_FILTER=y

CONFIG_BT_CMTP=m

CONFIG_BT_HIDP=m

#

# Bluetooth device drivers

#

CONFIG_BT_HCIUSB=m

CONFIG_BT_HCIUSB_SCO=y

CONFIG_BT_HCIUART=y

CONFIG_BT_HCIUART_H4=y

CONFIG_BT_HCIUART_BCSP=y

CONFIG_BT_HCIBCM203X=m

CONFIG_BT_HCIBPA10X=m

CONFIG_BT_HCIBFUSB=m

# CONFIG_BT_HCIDTL1 is not set

# CONFIG_BT_HCIBT3C is not set

# CONFIG_BT_HCIBLUECARD is not set

# CONFIG_BT_HCIBTUART is not set

CONFIG_BT_HCIVHCI=y

# CONFIG_AF_RXRPC is not set

CONFIG_FIB_RULES=y

hcitool dev:

Devices:

i have bluez* installed.

let me know if you need anymore information.

i have tried building as modules & into the kernel. neither worked, so i believe the problem is either i did not load the correct module for bluetooth or my RF switch by default has the dongle deactivated. so i press "Fn F5" which should enable it but i get no response. this should be the software equiv. of the RF switch, enabling and disabling wireless devices. like the function keys from F5 and up  have not been installed? is there a way to check that? ( Fn F4 works to suspend to ram, the dim and raise the LCD lighting works aswell as the mini lightbulb for work at night works... just not the Fn F5 combo ....) yes this has worked on previous kernel's. the problem is i have not needed bluetooth really until recently so i hadn't paid it much attention. i have 2 kernel's currently each modules saved in a different location as to not interfere. neither seems to be working (bluetooth, that is).

can anyone identify what adapter i have or tell me how too? and if you have the same would you mind sending my your kernel version and relevant .config file

----------

## zogle

hmm 

to add to insult:

hciconfig -a: gives me no output

dmesg

Bluetooth: Core ver 2.11

NET: Registered protocol family 31

Bluetooth: HCI device and connection manager initialized

Bluetooth: HCI socket layer initialized

Bluetooth: L2CAP ver 2.8

Bluetooth: L2CAP socket layer initialized

Bluetooth: RFCOMM socket layer initialized

Bluetooth: RFCOMM TTY layer initialized

Bluetooth: RFCOMM ver 1.8

cat /proc/bus/usb/devices | grep -e^[TPD] | grep -e Cls=e0 -B1 -A1: gives me no output

is there a radio frequancy you must enable in the .config ?

----------

## zogle

as i suspected ...

logged in as root via: su -l

grep status /proc/acpi/ibm/bluetooth

status:		disabled

now i simply:

echo enabled > /proc/acpi/ibm/bluetooth

and bam everything works perfectly...

the problem must be with the /proc/acpi/event file.

infact when i try:

sudo /etc/init.d/acpid restart

 * Starting acpid ...

acpid: can't open /proc/acpi/event: Device or resource busy               [ !! ]

i can't even read the file ? as root , sudo , su -l , nothing works ...

is there a way to replace this  'event' file?

( yes i tried to re-emerge acpid to no avail )

----------

## zogle

here is the answer to my problem.

rc-update add acpid boot

rc-update add hald boot

you have to do this because, at least the rest of the internet suggests, by default acpid loads after hald. this is the source of the problem. by adding them both to the boot level instead of the default level prevents this. it should be noted i am no expert, so i have no idea of the implications of doing this. thus far for me. i have had zero problems. =]

then i had to edit /etc/acpi/events/default

i commented out the two lines of the default configuration  ( doing so means you have to program each Fn+F* combo ) and added a few of my own

-----------------------------

event=ibm/hotkey HKEY 00000080 00001005

action=/usr/sbin/bluetooth-toggle

#event=.*

#action=/etc/acpi/default.sh %e

-----------------------------

when the Fn + F5 combo is pressed the action= calls a script i wrote in the /usr/sbin directory

here is the 'bluetooth-toggle' script

#!/bin/bash

cat /proc/acpi/ibm/bluetooth | awk '{ print $2 }' | while read line;

 do

   if [ $line == "enabled" ]; then

       echo disable > /proc/acpi/ibm/bluetooth

   else

       echo enable > /proc/acpi/ibm/bluetooth

   fi

   break

 done

next i made it executable

sudo chmod +x /usr/sbin/bluetooth-toggle

lastely i reload acpid

sudo /etc/init.d/acpid restart

conclusion: this will enable the Fn + F5 hotkey for JUST bluetooth. also if for some reason this stops working you can simply run: 'sudo bluetooth-toggle' to enable and disable bluetooth until you can find the solution for your problem.

another way to aviod the extra scripts is to modify the default.sh file

here is a great tutorial: http://gentoo-wiki.com/HARDWARE_Lenovo_Thinkpad_T61

also any script, at least for me, that does not specify the HKEY will result in the other Fn + F* combonations to stop working. notice mine uses event=ibm/hotkey HKEY 00000080 00001005. if it were to use something like event=button/sleep.* (which is the newer way). all my Fn+F* combos would stop working.

Hope this helps!

-zogle

----------

