LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1155|回复: 14

[解决了]升级到2.6.29后蓝牙不灵了

[复制链接]
发表于 2009-4-9 20:40:45 | 显示全部楼层 |阅读模式
有人遇到同样情况吗?唉,升级总是有意外发生。
发表于 2009-4-9 21:03:09 | 显示全部楼层

(请不要看括号里的,没有意义)
回复 支持 反对

使用道具 举报

发表于 2009-4-9 22:26:00 | 显示全部楼层
Post by 杨珂;1972060

(请不要看括号里的,没有意义)


(我顶!请不要看括号里的,纯粹灌水!)
回复 支持 反对

使用道具 举报

发表于 2009-4-9 23:31:01 | 显示全部楼层
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-4-10 21:30:00 | 显示全部楼层
惊奇!今天降回到2.6.28后打开蓝牙,之后有回到2.6.29.1居然蓝牙灯亮了,工作正常,斜门!
回复 支持 反对

使用道具 举报

发表于 2009-4-10 22:59:32 | 显示全部楼层
软件就是这么邪门
linux更是邪门
回复 支持 反对

使用道具 举报

发表于 2009-4-10 23:14:08 | 显示全部楼层

一直想写个笔记本的那些控制键的配置方法出来,可惜我太懒了:(

只是你没有控制他而已
这样来找蓝牙设备:
grep  -i bluetooth /sys/class/rfkill/rfkill*/name
如果找到的是rfkill1,
这样打开蓝牙:
echo 1 > /sys/class/rfkill/rfkill1/state
这样关闭蓝牙:
echo 1 > /sys/class/rfkill/rfkill1/state
给你一个我的acpi控制脚本给你参考吧。
/etc/acpi/event/bluetooth
event=ibm/hotkey HKEY 00000080 00001006
action=/etc/acpi/bluetooth.sh
/etc/acpi/bluetooth.sh
  1. #!/bin/bash
  2. # x_user_detect.sh 是检测当前运行X的用户的脚本。
  3. # 我注释掉了,你可以自己写一个
  4. # 或者简单的定义一个常用X用户即可。
  5. # . /etc/acpi/x_user_detect.sh
  6. X_USER="sipingal"
  7. NAME="tpacpi_bluetooth_sw"
  8. find_by_name() {
  9.         NAME="$1"
  10.         test -z "${NAME}" && return 1
  11.         SYSFS_NAME=$(grep --color=never "$NAME" /sys/class/rfkill/rfkill*/name | awk -F: '{print $1}' | head -n 1)
  12.         if [[ ! -z "${SYSFS_NAME}" && -r "${SYSFS_NAME/%name/state}" ]]; then
  13.                 RESULT=${SYSFS_NAME%%/name}
  14.                 echo $RESULT
  15.                 return 0
  16.         fi
  17.         return 1
  18. }
  19. SYSFS="$(find_by_name "${NAME}")"
  20. if [[ ! -z "${SYSFS}" && -r "${SYSFS}/state" ]]; then
  21.         case "$(cat "${SYSFS}/state")" in
  22.                 0)
  23.                         echo 1 > "${SYSFS}/state"
  24.                         su - ${X_USER} -c "/etc/acpi/notify.sh 'Bluetooth is ON'"
  25.                         ;;
  26.                 1)
  27.                         echo 0 > "${SYSFS}/state"
  28.                         su - ${X_USER} -c "/etc/acpi/notify.sh 'Bluetooth is OFF'"
  29.                         ;;
  30.         esac
  31. fi
复制代码

/etc/acpi/notify.sh
#!/bin/sh

export DISPLAY=:0.0
notify-send -t 2000 "$@"


这样我就可以通过我的Fn+F6来打开关闭蓝牙了。其他功能完全可以用类似的方法实现,比方说开关触摸板,开关无线,*出光驱等等等等
回复 支持 反对

使用道具 举报

发表于 2009-4-10 23:17:20 | 显示全部楼层
怎么我输入个Tan出光驱也被和谐了?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-4-11 00:27:24 | 显示全部楼层
谢谢sipingal,非常棒,我也是觉得应该是个开关问题,我找到了那个state, 确实可以控制蓝牙开关。

另有两个问题:
1) 你启动了acpid吗?
2) 我的fn组合键的event在/var/log/message中能看到,但无法通过/etc/acpi/events中起动脚本,这可能是什么原因?
回复 支持 反对

使用道具 举报

发表于 2009-4-11 01:30:44 | 显示全部楼层
重新编了个内核 多选了几个 发现可以用了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表