本帖最后由 g958 于 2012-10-16 17:01 编辑
一、蓝牙的基本信息DXT28蓝牙3.0 芯片为“Broadcom2046 DG”
MAC OS X LION 10.7.1免驱
二、故障缘由
这两天正在研究AMD显卡变频问题,在Imac12,2机型下成功加载了AGPM,但日志提示:[AGPM controller] unknonwPlatform ,个人理解未完全正确加载(如有问题请高手指正~~~)
修改AGPM kext后,日志提示:
12-10-15 下午10:32:10.000 kernel[0]: **** [AppleBluetoothHCIControllerUSBTransport][configurePM]-- ERROR -- waited 30 seconds and still did not get the commandWakeup()notification -- this = 0xffffff801335e400 ****
同时“蓝牙”偏好设置里“允许蓝牙设备唤醒这台电脑”为不可选。
三、解决的思路
根据错误提示借鉴了论坛以下贴子:
开机蓝牙识别慢的问题
https://bbs.pcbeta.com/forum.php?mod=viewthread&tid=1077563&page=1#pid28825099
蓝牙终于驱动了 https://bbs.pcbeta.com/forum.php?mod=viewthread&tid=1120068
分析:
1.鼎图新DTX28 在Lion下属免驱蓝牙,而且最初装好ML后(未设置AGPM前)未发现启动提示错误问题,也没有注意
状态栏中的蓝牙图标有没有“关闭蓝牙”的功能,和设置中“通过蓝牙唤醒”可不可选。
通过 查看IOBluetoothFamily.kext 里的 支持ID列表,没有”Broadcom2046 DG“ 而只有
"Broadcom2046_D"。
2.通过了解“这款蓝牙是 非规的产品 启用了硬件HID按钮,所用驱动和VID等信息 都是单独专门申请的”。
综上,确定采取仿冒驱动的思路来着手解决问题。
四、具体方法步骤
1.获取 蓝牙设备正确的ID,并换算可用的数值:
WIN7下操作 控制面板-->系统和安全-->设备管理器-->Bluetooth无线电接收器,分别记下:
VID=0461
PID=4D6A
换算原则:device-id 和 vendor-id 为 16进制,将其 轉为 10 进制
最简单的方法,WIN7操作下:计算器-->查看-->程序员
先切换到“十六进制” 输入数值,再切换到“十进制”记录下结果。 VID=0461--->1121
PID=4D6A--->19818
2、替换正确的ID
此操作可在Win7下也可在OS X 下操作,在S\L\E 里找到” IOBluetoothFamily.kext“
先找到“博通蓝牙”的驱动位置,见下图
然后 点击进入 info.plist 文件,修改这里的参数,见下图
在里面"IOKitPersonalities"找到“Broadcom246FamilyUSBBluetoothHCIController_D"
下面就是重点:
找到”idProduct“和”idVendor“
用win7下查到的id进行替换:
VID=idVendor=1121
PID=idProduct=19818
3、保存文件,将该文件替换原版同名文件,修复权限,重启。ok~~
五、效果
”蓝牙”偏好设置里“允许蓝牙设备唤醒这台电脑”为可选,启动加载无“wait 30 seconds...”错误,蓝牙使用正常。
本帖:对于同样是Lion下免驱的蓝牙,M Lion下有类似问题的具有参考价值。同时,也适用于一些 M L ion 无下免驱蓝牙的仿冒尝试~~~(有不妥之处请高手指正~~
|