Apple 无线键盘配对但无法在 15.10 中连接

phi*_*h0x 3 keyboard bluetooth apple intel-nuc

我有一个 Apple 无线键盘和触控板(两者的 AA 电池版本,不是通过闪电电缆充电的最新型号),在英特尔 NUC6i5SYK 内核 4.2.0-27(库存)上运行 Ubuntu 15.10 64 位。我的无线触控板工作正常,没有任何问题。但是,我终生无法让键盘工作。我遵循了几个指南,并设法通过 配对此键盘bluetoothctl,输入 PIN 并看到成功配对。但它根本无法连接……它已配对但无法连接。

我确实看到以下错误使用journalctl

Authentication attempt without agent
Access denied:  org.bluez.Error.Rejected
Run Code Online (Sandbox Code Playgroud)

相同的键盘在 Windows 10 中完美运行,所以我知道它不是蓝牙控制器或键盘本身。触控板也适用于 Windows 10,我使用这个技巧将蓝牙密钥从 Windows 注册表复制到 Linux 中的蓝牙配置:如何避免一直配对蓝牙鼠标? https://superuser.com/questions/229930/finding-bluetooth-link-key-in-windows-7-to-double-pair-a-device-on-dualboot-com

同样,使用这种镜像蓝牙密钥的方法,触控板在 Windows 和 Linux 中都可以正常工作。即使忘记了在 Windows 和 Linux 中配对键盘的目标,并使用新的配对设置键盘,键盘也不会通过 GUI 界面配对。我不得不使用bluetoothctl,甚至那也不可靠。

4.2 中的蓝牙驱动程序是否存在已知问题,或者可能是 Apple 无线键盘的特定错误?

Ste*_*ski 5

这是开始工作的按钮上的痛苦。我真的很想给出一个准确的答案,但我认为技术有点不稳定,工具也有点尝试。我做了一次成功,然后从我的笔记中再次做一次以确保我的答案是合理的,我又花了一个小时试图让它接受。这些是我在 Ubuntu 16.04 上遵循的步骤(源自 @phireph0x 和 @danielfbm 的答案)。

  1. 安装蓝牙控制:

     sudo apt install bluetoothctl
    
    Run Code Online (Sandbox Code Playgroud)
  2. 运行bluetoothctl。您应该会看到连接设备的初始列表,如下所示:

    [NEW] Controller 23:34:17:64:AF:0E ChromeLinux_A00F [default]
    [NEW] Device 00:19:32:D3:38:01 Pico the Keyboard
    
    Run Code Online (Sandbox Code Playgroud)

    如果您最初没有看到 Apple 键盘也没关系。您应该会在下一部分的第 5 步结束时看到它。

其余步骤来自bluetoothctl命令提示符:

  1. 设置代理:
    agent KeyboardDisplay
    default-agent
    
    Run Code Online (Sandbox Code Playgroud)
  2. 通过取出电池关闭蓝牙键盘。按住电源按钮并等待 10 秒钟。
  3. 扫描设备:scan on
  4. 通过重新插入电池并按住电源按钮 10 秒钟来打开蓝牙键盘。如果您没有看到键盘电源指示灯持续闪烁,则不是在尝试配对。再试一次。
  5. 等待您的蓝牙键盘出现在 中bluetoothctl。这将在您等待提示时异步发生。我的键盘在 20-30 秒后弹出。
  6. 删除任何以前的尝试:remove 00:19:32:D3:38:01。替换00:19:32:D3:38:01为在步骤 5 中弹出的键盘。
  7. 等待您的蓝牙键盘再次弹出。这可能需要 20-30 秒。
  8. 建立连接并配对蓝牙键盘:connect 00:19:32:D3:38:01。替换00:19:32:D3:38:01为在第 5 步和第 7 步中弹出的键盘。
  9. 如果您按计划进行,您应该会看到您的提示从: 更改[bluetooth]# [Pico the keyboard]:
  10. 现在,在您的蓝牙键盘上,键入1234并按 Enter。这是蓝牙键盘上的五个击键:1234,和回车。
  11. 如果这样做有效,您应该会看到提示更改为:
    [agent] Enter the pin code:
    
    Run Code Online (Sandbox Code Playgroud)
  12. 在您的另一个键盘上,而不是您的蓝牙键盘上,键入1234并按enter

如果一切正常,您应该会看到Connection successful. 如果连接失败,请关闭键盘并从步骤 2 重试。

故障排除:

  • 键盘似乎可以终身配对,并且会尝试与它过去配对过的任何 Mac 配对。确保它们已关闭。
  • 如果所有其他方法都失败,请重新启动您的 PC。我很惊讶地发现我在使用 Ubuntu 蓝牙堆栈时似乎没有太大问题。我确实重新启动了几次,但我认为这不是最终使事情起作用的原因。