grub 명령을 사용하여 setpci
장치 기능을 설정했는데, 명령의 grub 및 pciutils 버전이 올바르게 설정되었는지 확인하기 위해 쿼리하면 다른 결과를 반환합니다. 내 질문은 다음과 같습니다
- 제가 출력을 잘못 이해한 걸까요?
- 그렇다면 출력을 해석하는 올바른 방법은 무엇입니까?
- 그렇지 않다면 실제 가치는 얼마입니까? 원하는 값으로 어떻게 설정하나요? 내가 따르던 지침을 다시 시작할 수 있나요?
편집하다:따라서 이 질문은 드라이버를 다시 설치하는 지침의 마지막 단계를 수행한 후 이제 HDMI를 통해 오디오가 작동하기 때문에 대체로 학문적이지만 다른 값에서 무슨 일이 일어나고 있는지 여전히 궁금합니다. 내 원래 질문의 나머지 부분은 다음과 같습니다.
이와 비슷한 질문이 몇개 있는데 PEBKAC를 진심으로 바라지만 다른 사람들은 겪지 않은 새로운 문제에 직면한 것 같습니다! 저는 Mint 19.3을 사용하고 있어서 이것이 우분투 문제인지는 잘 모르겠어서 여기에 글을 올립니다.
궁극적인 목표는 nvidia-340 드라이버를 작동시켜 내가 가지고 있는 미니 DP-HDMI 케이블을 통해 사운드를 얻을 수 있도록 하는 것입니다. 지금까지 수행한 작업에 대한 자세한 내용은 다음을 확인하세요.이 스레드Linux Mint 포럼에서.
나는 여기의 지시를 따랐다.우분투 답변 물어보기, 그러나 로그인 후 bash에서 브리지를 쿼리하는 PCI 함수는 계속 원래 값을 반환합니다. 또 하나 찾았어우분투 답변 물어보기이것은 동일한 문제인 것 같지만 도움이 되지 않습니다. 찾아보니 grub-efi-amd64-bin
이미 설치되어 있었습니다. 게다가 insmod setpci
grub 스크립트에 추가한 후 로그인한 후에도 여전히 올바른 값 쿼리가 표시되지 않습니다. 그러나 setpci -s "00:01.0" 3eb
부팅하기 전에 grub 명령줄에서 실행하면 예상한 결과가 출력됩니다.
Register 3e of 0:01.0 is 8
부팅이 완료되고 로그인한 후 명령을 실행하면 출력되는 내용은 입니다 0a
. 두 setpci
명령이 실제로 다르다는 것을 알고 있지만 소스 코드(아래 참조)를 보니 둘 다 16진수로 출력됩니다. 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:12816진수로 출력되는 것 같습니다. setpci 및 pciutils 버전 3.5.2의 소스 코드는 읽기가 다소 복잡하지만PCI 설정:160또한 16진수를 출력하는 것 같습니다. 물론, 그것을 해석하는 방법은 오직 한 가지뿐입니다. 0a
하나는 for이고 8
, 어쨌든 그들은 동일하지 않습니다! 옳은?