- 积分
- 327
- 最后登录
- 2021-2-20
- 精华
- 0
- 阅读权限
- 30
- 主题
- 55
- UID
- 1790784
- 帖子
- 698
- PB币
- 1033
- 威望
- 8
- 贡献
- 0
- 技术
- 90
- 活跃
- 227
- UID
- 1790784
- 帖子
- 698
- PB币
- 1033
- 贡献
- 0
- 技术
- 90
- 活跃
- 227
|
本帖最后由 yisl04 于 2013-1-17 11:25 编辑
Acer 5750g的笔记本,系统是ML 10.8.2,为了使用蓝牙,前段时间将AR9287的无线网卡更换为AR5B195的蓝牙无线二合一卡,具体见帖子:https://bbs.pcbeta.com/viewthread-1209978-1-1.html。
使用AR5B195蓝牙无线二合一卡后,发现使用罗技V470蓝牙鼠标和联想的FlingPC蓝牙鼠标会出现发飘的问题,具体见帖子:https://bbs.pcbeta.com/viewthread-1205989-1-1.html。
同时如果蓝牙鼠标连接的时候睡眠,唤醒后蓝牙处于假死状态,具体见帖子:https://bbs.pcbeta.com/viewthread-1221428-1-1.html。
后来版上朋友提醒Acer 5750g的笔记本是有8pin 1mm的蓝牙接口的,我于是从淘宝买了一个BCM92046蓝牙模块和一根蓝牙排线,装上后win8和Mac下都没有发现设备。后来看到网上有人说我买的这种BCM92046会有一部分是坏的。于是又在淘宝上买了一个BCM2070 3.0HCI蓝牙模块,自带20cm的蓝牙排线。拆机装上去后,蓝牙Fn+F3打开正常,免驱,之前蓝牙鼠标发飘和连接蓝牙鼠标时睡眠唤醒后假死的问题都没有了。
在系统偏好设置的蓝牙中,打开勾选项是灰色的,还需要修改 /System/Library/Extensions/IOBluetoothFamily.kext/Contents/PlugIns/ BroadcomBluetoothHCIControllerUSBTransport.kext/Contents/Info.plist 中的MediaLink BT3.0 Adapter项,我这里idProduct换成十进制是8603:
- <key>BroadcomUSBBluetoothHCIController - MediaLink BT3.0 Adapter</key>
- <dict>
- <key>CFBundleIdentifier</key>
- <string>com.apple.iokit.BroadcomBluetoothHCIControllerUSBTransport</string>
- <key>IOClass</key>
- <string>BroadcomBluetoothHCIControllerUSBTransport</string>
- <key>IOProviderClass</key>
- <string>IOUSBDevice</string>
- <key>idProduct</key>
- <integer>8603</integer>
- <key>idVendor</key>
- <integer>2652</integer>
- </dict>
复制代码 然后刷新缓存:
- sudo kextcache -system-prelinked-kernel
- sudo kextcache -system-caches
复制代码
这样蓝牙设置中的打开选项就可以勾选和取消了,不过蓝牙唤醒虽然可以勾选,但是鼠标无法唤醒。
ps. 不过有一点遗憾,刚开始将排线插入主板上的接口时,方向搞反了,结果把接口里面的针弄歪了,只能把蓝牙接口上面用小刀割开,把针掰直。看着有点缺陷,不过排线插上去还是很紧的,呵呵!
2013年1月17日更新:偶尔开机或睡眠后唤醒时蓝牙是关闭的,每次都需要Fn+F3打开。尝试修改DSDT,开机和睡眠后唤醒启动蓝牙。控制蓝牙开启的变量是BTPD,根据DSDT屏蔽独显的经验,在_ini和_wak两个函数中开启蓝牙。1. 修改_wak函数:
- Method (_WAK, 1, Serialized)
- {
- \_SB.PCI0.PEG0.PEGP._OFF ()
- Store (Zero, P80D)
-
- ……
- ……
-
- If (LEqual (Arg0, 0x03))
- {
- CMSW (0x62, One)
- Notify (\_SB.PCI0.LPCB.PWRB, 0x02)
- P8XH (0x04, 0xE3, Zero)
- P8XH (0x04, 0xE3, One)
- //If (LAnd (\_SB.PCI0.LPCB.EC0.BTEX, \_SB.PCI0.LPCB.EC0.BTAT))
- // {
- // Store (Zero, BTPD)
- //}
- // Else
- // {
- Store (One, BTPD)
- // }
- Store (Zero, BTPD) //将上面注释,此处添加Store (Zero, BTPD)
-
- If (LAnd (\_SB.PCI0.LPCB.EC0.EX3G, \_SB.PCI0.LPCB.EC0.AT3G))
- {
- Store (One, WANE)
- }
- Else
- {
- Store (Zero, WANE)
- }
- If (LAnd (\_SB.PCI0.LPCB.EC0.WLEX, \_SB.PCI0.LPCB.EC0.WLAT))
- {
- Store (One, LANE)
- }
- Else
- {
- Store (Zero, LANE)
- }
- OSMI (0x82)
- }
- ……
- ……
-
- If (LEqual (Arg0, 0x04))
- {
- P8XH (0x04, 0xE4, Zero)
- P8XH (0x04, 0xE4, One)
- Notify (\_SB.PCI0.LPCB.LID0, 0x80)
- //If (LAnd (\_SB.PCI0.LPCB.EC0.BTEX, \_SB.PCI0.LPCB.EC0.BTAT))
- //{
- // Store (Zero, BTPD)
- //}
- //Else
- //{
- // Store (One, BTPD)
- //}
- Store (Zero, BTPD) //将上面注释,此处添加Store (Zero, BTPD)
- If (LAnd (\_SB.PCI0.LPCB.EC0.EX3G, \_SB.PCI0.LPCB.EC0.AT3G))
- {
- Store (One, WANE)
- }
- Else
- {
- Store (Zero, WANE)
- }
- If (LAnd (\_SB.PCI0.LPCB.EC0.WLEX, \_SB.PCI0.LPCB.EC0.WLAT))
- {
- Store (One, LANE)
- }
- Else
- {
- Store (Zero, LANE)
- }
- OSMI (0x83)
- }
- Return (Package (0x02)
- {
- Zero,
- Zero
- })
- }
复制代码 2. 修改_INI函数:
- Method (_INI, 0, NotSerialized)
- {
- ^PEG0.PEGP._OFF ()
- ^EHC1.EULO ()
- ^EHC2.EULO ()
-
- ……
- ……
- Store (Zero, BTPD) //此处添加Store (Zero, BTPD)
- }
复制代码
|
-
2
查看全部评分
-
|