Linux에서 하드웨어 감지는 어떻게 작동합니까? [폐쇄]

Linux에서 하드웨어 감지는 어떻게 작동합니까? [폐쇄]

Linux에서 "wifi가 작동하지 않음", "비디오가 작동하지 않음" 등의 문제를 해결해야 할 때마다 제대로 수행하는 방법을 정말로 이해하지 못합니다. 내 접근 방식은 지저분합니다. 시도하고 lspci조사하고 dmesg로그를 연구하고 Google에서 해결책을 찾으시기 바랍니다. 내가 정말로 원하는 것은 무슨 일이 일어나고 있는지 이해하고, 전체 경로를 추적하고, 정확히 언제 문제가 발생했는지 알아낼 수 있는 것입니다.

Wi-Fi가 끊어졌다고 가정해 보세요.

나는 lspci내 컴퓨터에 어떤 종류의 네트워크 카드가 있는지 알아보기 위해 달려갔습니다. 일반적으로 lspci출력에서 ​​Wi-Fi 관련 내용을 볼 수 있습니다 . 이 "사물"에는 내 카드의 이름과 모델이 포함됩니다. 하지만 어떻게 작동하나요? 이 명령은 이전에 다른 것(아마도 udev?)에 의해 성공적으로 검색된 장치만 나열합니까? 장치의 이름/설명은 어디서 얻습니까? 하드웨어 내부 어딘가에 저장되어 있습니까? 이전 단계에서 문제가 발생하면 lspci내 하드웨어가 보고되지 않을 가능성이 있습니까?

이제 내 하드웨어에 적합한 커널 모듈이 있는지 알아야 합니다. 내가 한 일은 커널 소스로 가서 make menuconfig하드웨어 이름을 실행하고 검색하는 것뿐이었습니다. 이것은 커널이 지구상의 모든 네트워크 카드 모델을 알아야 한다는 것을 의미합니까? 그런 모델이 너무 많아서 이상해 보입니다. 모든 네트워크 카드는 유사한 인터페이스를 가져야 한다고 생각합니다. 카드 유형에 따라 다른 모듈이 필요한 차이점은 무엇입니까?

내 카드에 적합한 커널 모델을 찾는 더 좋은 방법이 있습니까? 찾은 모듈을 컴파일하고 설치한 후에도 카드가 여전히 작동하지 않으면 어떻게 해야 합니까? 모듈이 올바른지(나중에 문제가 발생한다는 의미) 어떻게 확인하나요?

이제 나는 ifconfig또는 iwconfig. 이 명령은 다음을 보여줍니다.네트워크 인터페이스. 결과에 Wi-Fi 인터페이스가 표시되면 커널이 하드웨어를 성공적으로 감지하고 Wi-Fi 인터페이스를 생성했다는 의미입니까?상호 작용이제 다른 프로그램에서도 사용할 수 있나요? 이는 문제가 이제 더 심각하다는 뜻인가요(잘못된 비밀번호 등)?

디렉토리의 내용이 /dev/무엇이 잘못되었는지 이해하는 데 도움이 될 수 있습니까(또는 무엇인가 확실히 올바른지 확인하는 데)?

이 질문이 혼란스러워 보인다면 죄송합니다. 이는 내 머릿속의 혼란을 반영합니다. 제가 이 혼란에서 벗어날 수 있도록 도와주세요.

관련 정보