V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
jdjingdian
V2EX  ›  MacBook Pro

血(钱)的教训,附预防方法

  •  4
     
  •   jdjingdian · 2020-07-08 21:51:47 +08:00 · 7379 次点击
    这是一个创建于 436 天前的主题,其中的信息可能已经有所发展或是发生改变。

    Macbook Pro 16 内置蓝牙模块损坏分析

    前言:前段时间我在网上看到了利用蓝牙的方式模拟 joycon 来实现低成本刷 amiibo 的教程,就决定自己试一试,本来想直接通过 parallel desktop 提供的共享蓝牙来做实验,但似乎共享蓝牙的方式并不能成功模拟 joycon,虽然可以通过物理机直接安装 Linux,但总觉得不够方便,所以我决定购买一个 usb 蓝牙适配器给 linux 虚拟机用,而这也是这次惨案的导火索。


    我买的蓝牙适配器是 csa8510 芯片的,当我成功实现模拟 amiibo 的目的后,我把外接的 usb 蓝牙适配器从雷电 3 扩展坞上拔出来,这时我突然发现我的京造 k2 键盘没法通过蓝牙连接到 Mac 了,起初我还没当回事,直到我发现,handoff 、airdrop 等功能全部失灵的时候,我意识到,macbook 本机的蓝牙出故障了。

    起初我以为不过是软件问题, 就通过重置 smc 、nvram 等方式尝试重置我的 mac,但是仍然没有用,心里想着重装解决 99%的问题,但我又不想重装 macOS,我就引导了一个外置的 Ubuntu 启动,但是结果并不乐观,虽然 Ubuntu 里面也可以识别到蓝牙适配器,但是根本搜不到任何蓝牙设备,直到这时我才明白,可能是硬件底层出问题了。

    我立刻预约了天才吧,运气不错,最早可以约第二天,在此后我继续在谷歌上搜索相关问题,没想到一搜才发现,这个问题似乎很普遍,在 apple 官方的论坛下有 16 页的讨论,而且引发事故的原因都几乎一致,基本都是无意接了 usb 蓝牙适配器之后内置的蓝牙模块就不能用了,最早可以追溯到 19 年底,但可能这个问题至今没有得到官方的重视,所以一直没有发布相关的固件修复。( https://discussions.apple.com/thread/250944058 )后来也有好事的老哥在 2020 款 13 寸 Macbook Pro 上尝试,发现也复现了相同的问题,所以目前至少这个故障影响了 Macbook Pro 16 和 2020 款 Macbook Pro 13 寸机型,甚至可能影响范围更广泛。

    那么这个问题产生的原因是什么呢?经过调查,我们发现,当 MacBook Pro 接入了外置的蓝牙适配器之后,系统会将外置的蓝牙适配器设置为默认蓝牙通讯设备,但是当你拔掉外置的蓝牙适配器之后,系统没法将默认设备设置回内置的模块,即使重启也没有效果。现在似乎还没有能稳定恢复正常使用的方法,如果真的碰到这种情况,就只能去天才吧换主板了,现在 mac 的集成度那么高,如果不在保修期,换一次真的是要-8000,所以一定要想办法去预防,刚刚也提到系统会将外置的蓝牙适配器设为默认设备,所以我们可以通过这个角度来预防内置模块暴死,在内置的命令行输入以下命令可以起到预防作用:

    sudo nvram bluetoothHostControllerSwitchBehavior=never

    这句话的作用是禁止系统自动切换默认蓝牙设备。

    img

    第二天我到了天才吧,天才跟我说她也没遇到过这种情况,好在我的电脑还有保修,所以没有花钱,就是得等 1 周才能取,因为主板没有现成的更换零件。但说实话天才的一句话让我很难受,天才跟我说这属于 使用不当 ,我当时简直就是黑人问号,本来这应该是苹果新电脑的固件问题,毕竟旧的 mac 、windows 笔记本之类的都不会有这种情况,结果在新 mac 上出了这种问题怪用户使用不当,虽然我还是很喜欢苹果,但是不能否认的是,在某些方面,苹果还是需要改进呀,尤其是承担自己应有的责任这一块。

    InkedIMG_3569_20200707-194521__LI.jpg

    47 条回复    2020-12-14 12:31:55 +08:00
    mitong3269
        1
    mitong3269   2020-07-08 22:02:26 +08:00 via iPhone
    不应该算使用不当啊
    jdjingdian
        2
    jdjingdian   2020-07-08 22:11:59 +08:00
    @mitong3269 对呀,其实我买这个蓝牙适配器是想给虚拟机用的,并没有想在 mac 系统下使用,结果说我使用不当,就心里很不舒服,当然这也是苹果一贯作风了吧……
    Xusually
        3
    Xusually   2020-07-08 22:36:19 +08:00   ❤️ 2
    这种问题去天才吧的话,应该直接描述为蓝牙不能使用。。。。。你说这么一堆,本来没问题也说你使用有问题了,因为毕竟插拔的硬件不一定都是“Apple Certified”
    手动狗头.gif
    jdjingdian
        4
    jdjingdian   2020-07-08 22:54:06 +08:00
    @Xusually 哎,我是想描述详细一点,这样报上去的话也许能让苹果从根源解决这个问题
    geniussoft
        5
    geniussoft   2020-07-08 23:24:36 +08:00
    @Xusually 一般骗保的时候确实可以这么说。但是,这个真的使用得很恰当了。
    ryd994
        6
    ryd994   2020-07-09 02:01:15 +08:00   ❤️ 13
    带上你的 usb 蓝牙,去苹果店,把他们电脑全部插一遍。
    他敢抓你,你就在店里给他广而告之。
    (当然,还有一台 Windows 本以证明你的 usb 蓝牙本身工作正常)
    littlewing
        7
    littlewing   2020-07-09 02:19:01 +08:00 via iPhone
    我的理解是硬件并没有坏,只是默认配置回不来了,既然如此,我很好奇那这个配置是保存在哪里的?为什么重装系统,重置 smc nvram 都不行?苹果自己也没有解决办法?
    jdjingdian
        8
    jdjingdian   2020-07-09 02:26:27 +08:00 via iPhone
    @ryd994 哈哈,原本我也想这样,但还是做人留一线日后好相见吧
    jdjingdian
        9
    jdjingdian   2020-07-09 02:28:22 +08:00 via iPhone
    @littlewing 对,我也认为硬件其实没有坏,只是“点不着火”了,这个问题应该是出在系统底层的固件逻辑里的,所以用户重置 smc nvram 都不起作用。苹果肯定有解决办法,无非是个固件更新的事情,但是可能苹果还没重视这个问题所以一直没修复
    tsui
        10
    tsui   2020-07-09 05:19:59 +08:00
    reddit 上似乎有类似的讨论,这也太扯淡了,幸好我好多年没用过蓝牙 dongle 了
    https://www.reddit.com/r/mac/comments/hlfxpe/psa_for_anyone_buying_a_new_16_macbook/
    wtks1
        11
    wtks1   2020-07-09 06:21:47 +08:00 via Android
    连重装系统都不行?这个配置难道是直接写进主板的?
    l33ch
        12
    l33ch   2020-07-09 09:24:45 +08:00 via iPhone
    罗技优联接收器受影响吗? iMac 呢?
    jdjingdian
        13
    jdjingdian   2020-07-09 09:32:56 +08:00
    @l33ch 罗技优联是 2.4G 适配器,不会造成问题,iMac 目前没有 T2 芯片所以暂时也不受影响
    jdjingdian
        14
    jdjingdian   2020-07-09 09:33:59 +08:00
    @wtks1 应该是 t2 固件底层逻辑的错误,所以用户毫无办法
    NeoChen
        15
    NeoChen   2020-07-09 09:36:42 +08:00 via iPhone
    额,是不是只要外接过 usb 蓝牙适配器后,就都会出现这种问题?
    l33ch
        16
    l33ch   2020-07-09 09:45:02 +08:00 via iPhone
    @jdjingdian
    多谢回复。

    我很好奇,mbp 都是 typec 的小口,遇到问题的蓝牙适配器是 c2a 转接的吗?还是直接 c 口的?
    RichardSun
        17
    RichardSun   2020-07-09 10:02:33 +08:00
    感谢楼主分享,这个坑太大了日常根本不会想到还能有这种问题。
    RichardSun
        18
    RichardSun   2020-07-09 10:03:09 +08:00
    @l33ch 罗技的优联还没 C 口的,所以都要用个转换头
    jdjingdian
        19
    jdjingdian   2020-07-09 10:03:24 +08:00
    @NeoChen 不一定,如果是不兼容 mac 的适配器芯片的话,插上去应该不会有问题,出问题的是兼容 mac 系统的芯片,我买的是 csr8510 芯片的蓝牙适配器
    jdjingdian
        20
    jdjingdian   2020-07-09 10:04:00 +08:00
    @l33ch 蓝牙适配器是 a 口的,我是插在我的雷电 3 扩展坞上
    zhouweiluan
        21
    zhouweiluan   2020-07-09 10:07:19 +08:00
    这问题真可怕,以后在公司看谁不顺眼拿个 usb 蓝牙适配器插他 MacBook 一下就溜,深藏功与名。
    jdjingdian
        22
    jdjingdian   2020-07-09 10:12:41 +08:00
    @zhouweiluan 哈哈哈哈,得要特定机型才行,要是公司统一配的 2020 款 13 寸或 16 寸那才行
    flavoury
        23
    flavoury   2020-07-09 10:39:57 +08:00
    感谢!
    ysc3839
        24
    ysc3839   2020-07-09 13:59:42 +08:00 via Android
    @ryd994 应该是没用的。没记错的话展示机的 USB 全都禁用了。
    ysc3839
        25
    ysc3839   2020-07-09 14:12:58 +08:00 via Android
    @littlewing @jdjingdian
    这种估计是固件 bug,同时又无法重置错误的配置。
    我在用的一个 B75 主板固件就有 bug,写入了错误的 EFI Variable 数据之后,开机屏幕能亮但是马上会重启,取下 CMOS 电池也无法恢复,最终只能用编程器重刷解决。
    locoz
        26
    locoz   2020-07-09 16:14:07 +08:00
    绝了...居然能有这种 BUG 还好之前有一次把家里的 USB HUB 连到电脑上的时候已经把蓝牙模块拔掉了,要不然估计蓝牙挂了还一脸懵逼不知道咋回事。
    Johnoo
        27
    Johnoo   2020-07-09 16:28:03 +08:00
    直接跟天才小哥说,机器蓝牙坏了,你说那么多,人家肯定就说认为损坏了。
    xuhaoyangx
        28
    xuhaoyangx   2020-07-09 16:38:20 +08:00   ❤️ 1
    @ysc3839 #23 展示机没有禁用 usb 。
    KIMMG
        29
    KIMMG   2020-07-09 21:24:16 +08:00
    我估计重装 macOS 能解决问题
    jdjingdian
        30
    jdjingdian   2020-07-09 22:33:57 +08:00
    @KIMMG 要是能重装解决我就没必要发这个文章出来了
    GhostLin
        31
    GhostLin   2020-07-10 11:21:05 +08:00   ❤️ 3
    @jdjingdian 以我的经验,过去天才吧就是要装傻。一般都是换新。你要显得你比他还懂,基本就准备抬杠了。
    pjntt
        32
    pjntt   2020-07-10 13:09:46 +08:00   ❤️ 1
    都拿去天才吧了,就让天才解决就好了,我们这些平凡人不要说太多,误导天才的判断。
    “怎么弄的?不知道呀,用着好好就成这样了,,,,
    干过什么了?没干什么呀,就跟平常用那样...插电,开机,打字,,,
    接过什么外设?,,,呃,鼠标算不算?”
    lslqtz
        33
    lslqtz   2020-07-11 02:44:55 +08:00
    黑苹果表示内置和外置都可以驱动,但是内置驱动时似乎不会自动切换蓝牙适配器🤔
    jdjingdian
        34
    jdjingdian   2020-07-11 19:17:54 +08:00 via iPhone
    @lslqtz 哈哈,旧款 mac 也不会,看起来是跟 t2 芯片有关系才导致的
    LinYa
        35
    LinYa   2020-07-30 15:35:18 +08:00
    老哥,你更换了主板以后开启 禁止系统自动切换默认蓝牙设备,这个有没有效果,有没有试过重新插入 usb 蓝牙试试?我这周更换回主板想试试。。。还是说带上 usb 蓝牙去天才吧?
    jdjingdian
        36
    jdjingdian   2020-07-30 17:28:38 +08:00
    @LinYa 上面写了,用 sudo nvram bluetoothHostControllerSwitchBehavior=never 来禁止蓝牙设备自动切换,如果你的设备在保修期想换主板,那你可以插上蓝牙适配器试试,但我建议多一事不如少一事
    LinYa
        37
    LinYa   2020-07-30 18:19:32 +08:00
    @jdjingdian 好的谢谢
    yiheng233
        38
    yiheng233   2020-08-03 20:32:48 +08:00
    昨天新买的 MBP13 寸出现了一样的问题,但没有连接过蓝牙适配器
    试过随航等功能最开始可以用
    唯一连接的外接设备是微软的 2.4G 鼠标
    不是很懂苹果
    jdjingdian
        39
    jdjingdian   2020-08-04 09:49:02 +08:00
    @yiheng233 2.4G 鼠标应该不在蓝牙的范畴内才对啊,去直营店问问吧,看看能不能退货或者换新
    yiheng233
        40
    yiheng233   2020-08-04 15:02:14 +08:00
    @jdjingdian 我也不清楚是如何触发的,现在已经在走官网换新的流程
    Anshay
        41
    Anshay   300 天前
    昨天准备插鼠标拿错成 usb 蓝牙适配器,结果和楼主一样。不知道更新系统能不能解决。。。。电脑的是买的无票的,11 月 23 号报修到期,但是好像硬件报修是两年。坐标武汉,预约了明天街道口群光的授权店,不知道怎么说。
    jdjingdian
        42
    jdjingdian   300 天前
    @Anshay 最好去直营店,授权店没发票不一定修,这个问题安装 linux 都没办法用蓝牙了,所以肯定不可能通过更新系统解决的了
    Anshay
        43
    Anshay   300 天前
    @jdjingdian 从论坛找到油管视频,买了一个 2.0 的蓝牙 USB,试了大概五六次,恢复正常了。谢天谢地,油管那位老兄真是我的英雄。
    jdjingdian
        44
    jdjingdian   300 天前
    @Anshay 恭喜恭喜,现在是拔掉那个 usb 蓝牙内置的也能正常使用吗?可不可以把链接分享出来
    Anshay
        45
    Anshay   300 天前
    @jdjingdian 淘宝有卖,搜索 USB2.0 蓝牙适配器就可以,10 块左右。我嫌快递太慢,在闲鱼上搜索刚好附近有人出,直接开车去取了。我一会写一个帖子详细说明我的解决过程。
    Anshay
        46
    Anshay   300 天前
    @jdjingdian v 站新贴只能段时间内修改,编辑的有点乱,帖子地址: https://www.v2ex.com/t/727954#reply2
    lifetimeporn
        47
    lifetimeporn   277 天前
    想问下 2015 款 mbp 会这样吗?我也准备用来模拟 amiibo,害怕
    关于   ·   帮助文档   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   983 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 21:34 · PVG 05:34 · LAX 14:34 · JFK 17:34
    ♥ Do have faith in what you're doing.