Linux에서 지원하는 장치 드라이버 목록은 어디에서 찾을 수 있습니까?

Linux에서 지원하는 장치 드라이버 목록은 어디에서 찾을 수 있습니까?

내가 읽고여기linux다수의 장치 드라이버를 지원하며, 더 나아가 포트를 통해 연결된 다수의 장치도 지원 합니다 USB. 이 웹사이트에서 가져온 것:

오늘날 Linux는 세계 역사상 그 어떤 운영 체제보다 더 많은 하드웨어 장치를 지원합니다. 이는 익숙한 Windows 장치 드라이버 모델과 크게 다른 개발 모델을 사용하여 수행됩니다.

지원되는 다양한 장치의 목록이 있습니까 linux? 및/또는 USBLinux를 통해 연결되고 지원되는 장치 목록이 있습니까?

이것은 특정 배포판에서 현재 어떤 장치 드라이버를 지원하는지 알아내기 위해 명령을 사용하는 것과는 다르며 lsmod, 배포판 공급자 lspcidmesg | grep <string>.NET에서 지원하는 모든 드라이버 중에서 몇 가지 공통 드라이버만 지원합니다 linux.

답변1

lspci명령은 특정 lsusb버스에 연결된 장치만 열거합니다. 그들은 버스에서 ID를 읽고 특수 파일을 사용하여 이 ID를 문자열에 매핑합니다.

표시된 것은 모두 lsmod목록입니다.리눅스 커널 모듈. Linux 커널 모듈은 Linux 커널 코드의 동적으로 로드된 부분입니다. 모듈은 드라이버에 필요하지 않으며 단지 커널 코드의 일부일 수 있습니다. 이 메커니즘은 커널 개발을 더 쉽게 만들기 위해 메모리와 부팅 시간을 절약하고 부팅 시 모든 코드를 로드하지 않는 데 사용됩니다(커널의 일부를 언로드/수정/로드할 수 있음). 장치 드라이버는 이러한 동적 로딩의 좋은 응용 프로그램 중 하나이므로 대부분의 드라이버에서 사용됩니다. 드라이버가 아닌 예로는 사용자가 실제로 요청한 부분만 로드되는 iptables(네트워크 필터링 메커니즘)가 있습니다.

이것은 dmesg단지 커널 텍스트 로그일 뿐입니다. 일반적으로 개발자는 초기화 시 무언가를 작성하지만 이것은 완전히 자발적입니다. 따라서 거기에서 찾을 수 있는 콘텐츠와 형식은 완전히 무작위입니다.

지원되는 하드웨어의 전체 목록을 얻는 것은 어렵습니다. 커널은 서로 다른 사람들이 만든 서로 다른 부분으로 구성되어 있으며, 서로 다른 라벨을 가진 유사한 장치가 많이 있습니다.

일반적으로 전용 페이지에서 장치가 지원되는지 확인할 수 있습니다.

이는 주로 사용자 공간 계층을 위한 커널 드라이버가 필요할 뿐만 아니라 사용자 공간의 기본 인터페이스에서 두 부분을 모두 수행하는 "프로젝트"도 있기 때문입니다.

최상위 지원 목록은 커널 코드에서 추출할 수 있습니다. 일반적으로 각 특정 드라이버에서 지원하는 PCI/USB ID 목록이 있습니다. 이를 추출하는 방법이 있습니다.http://www.cyberciti.biz/tips/linux-find-supported-pci-hardware-drivers.html. 그러나 커널 모듈이 목록에 ID가 있다고 해서 장치가 완전히 지원된다는 의미는 아니며, 모듈을 사용할 수 있는 사용자 공간 도구가 있거나 사용자 공간 도구가 있다는 의미도 아닙니다. 특정 배포 버전에 존재합니다.

배포업체에서 지원되는 장치 목록을 제공하는 경우도 있지만 일반적으로 이는 작은 하위 집합입니다.

데비안의 경우 pciid->커널 모듈 매핑 목록도 있습니다:https://wiki.debian.org/DeviceDatabase/PCI.

USB 장치와 관련하여 카메라 등 많은 것에는 libusb를 통해 사용자 공간 드라이버가 있습니다. 이 경우 커널 드라이버가 전혀 필요하지 않습니다.

또한 Linux는 거의 20가지 아키텍처(수십억 개의 서로 다른 Android 스마트폰에 얼마나 많은 드라이버가 있는지 상상해 보세요)에서 실행되며 각 아키텍처에는 자체적인 거대한 드라이버 세트가 있다는 점을 잊지 마십시오. 총합이 다른 모든 아키텍처를 쉽게 능가한다는 것을 알게 될 것입니다. 운영체제를 이해하세요.

답변2

이 질문에 대한 대답은 모호한 것 같아요! 다음 목록을 찾고 계시다면장비Linux 커널이 지원하는 특정 하드웨어 시도H 노드 검색

장치 드라이버는 실제로 "Windows 언어"입니다. 커널의 장치 지원은 내장되어 있거나 동적으로 추가된 커널 모듈로, 이는 장치 드라이버에 가장 가깝습니다. 커널은 좀 더 정확하게 지원할 수 있습니다칩셋장치 자체 내에서 발견됩니다.

많은 장치가 실제로 동일한 칩셋을 사용할 수 있으며, 동일한 제조업체 제품 ID 코드가 표시된 일부 장치는 완전히 다른 칩셋을 사용할 수 있습니다! (내 짜증을 알게 된 것처럼!)

답변3

무엇에 대해

find /lib/modules/`uname -r` -name "*usb*"

관련 정보