setpci 无法粘在 MacBook Pro 6,2 上

setpci 无法粘在 MacBook Pro 6,2 上

我使用setpcigrub 命令来设置设备功能,并且该命令的 grub 和 pciutils 版本在查询以验证其设置是否正确时返回不同的结果。我的问题是:

  • 我是否误解了输出?
  • 如果是这样,解释输出的正确方法是什么?
  • 如果不是,实际值是多少?如何将其设置为我想要的值?我可以恢复我正在遵循的说明吗?

编辑:所以这个问题很大程度上是学术性的,因为在按照说明的最后一步重新安装驱动程序后,音频现在通过 HDMI 工作,但我仍然很好奇知道不同值发生了什么。我原来的问题的其余部分如下。

有几个问题与此类似,但我似乎遇到了其他人没有遇到的新问题,尽管我真诚地希望 PEBKAC!我运行的是 Mint 19.3,所以我不确定这是否算作 Ubuntu 问题,所以我在这里发帖。

最终目标是让 nvidia-340 驱动程序正常工作,这样我就可以通过我拥有的迷你 DP 转 HDMI 电缆获得声音。有关我迄今为止所做的详细信息,请查看这个线程在 Linux Mint 论坛上。

我按照这里的说明进行操作询问Ubuntu答案,但是登录后从 bash 查询桥的 PCI 函数会不断返回原始值。我又发现了一个询问Ubuntu答案这似乎是同样的问题,但没有帮助。我发现grub-efi-amd64-bin已经安装了。更重要的是,在添加insmod setpci到 grub 脚本后登录后,我仍然没有看到正确的值查询。但是,如果我setpci -s "00:01.0" 3eb在启动前从 grub 命令行运行,我得到的输出就是我所期望的:

Register 3e of 0:01.0 is 8

如果我在启动完成并登录后运行该命令,则得到的输出为0a.我知道这两个setpci命令实际上是不同的,但我查看了源代码(见下文),它们都输出十六进制。并不0a等于8

$sudo setpci -v -s "00:01.0" 3e.b
0000:00:01.0 @3e = 0a

我确信 的内容/etc/grub.d/01_enable_vga.conf正在制作中grub.cfg。我什至之前添加了一些回显语句,它们在启动前回显。

$ tail -n +105 /boot/grub/grub.cfg | head -n 5
### BEGIN /etc/grub.d/01_enable_vga.conf ###
insmod setpci
setpci -s "00:01.0" 3e.b=8
setpci -s "01:00.0" 04.b=7
### END /etc/grub.d/01_enable_vga.conf ###
$ cat -n /boot//grub/grub.cfg  | grep setpci
   106  insmod setpci
   107  setpci -s "00:01.0" 3e.b=8
   108  setpci -s "01:00.0" 04.b=7

有什么想法吗?

我已经很长时间没有进行过任何认真的 C 编程了,而且我已经超出了我的深度,但是 setpci grub 模块的源代码位于setpci.c:128似乎正在输出十六进制。 setpci 与 pciutils 版本 3.5.2 的源代码读起来有点晦涩,但也设置 PCI:160似乎也在输出十六进制。当然,只有一种解释方式0a,一种是 for 8,而且它们无论如何都不一样!正确的?

相关内容