저는 드라이버에서 시작하여 위쪽으로 작동하는 Raspberry pi 3에서 Wi-Fi 파이프가 어떻게 작동하는지 탐구하고 있습니다.
Wi-Fi 칩 사용을 담당하는 다음 드라이버를 확인했습니다.
$ lsmod
...
brcmfmac 186403 0
brcmutil 5661 1 brcmfmac
cfg80211 428871 1 brcmfmac
다음 단계는 드라이버와 관련된 장치 파일을 찾은 다음 lsof
어떤 사용자 공간 응용 프로그램이 파일을 보유하고 있는지 확인하는 것입니다.
위의 드라이버와 관련된 장치 파일이 없다는 것을 발견하면 방법이 실패했습니다. 다음 명령을 사용하십시오.
/dev $ find . ! -type d -exec sh -c "echo {}; udevadm info -a -n {} | grep DRIVERS" \;
제 질문은, 장치 파일을 통하지 않고 Linux에서 장치 드라이버를 연결할 수 있는 다른 옵션이 있습니까?입니다.
답변1
장치 파일을 통하지 않고 장치 드라이버를 연결하기 위한 Linux의 다른 옵션이 있습니까?
예, 네트워크 장치는 커널 공간의 호출에만 응답하는 것이 아니라 네트워크 트래픽에도 응답하므로 작업 집합이 다르기 때문에 /dev에 장치 파일이 없거나 파일 읽기/쓰기 작업을 사용하지 않습니다. 여기에는 파일 장치 노드가 있는 문자 및 블록 장치에 대한 연결이 있습니다.
네트워크 장치는 소켓과 소켓 버퍼를 사용하여 통신합니다. 사용되는 주요 호출은 소켓(), 바인딩(), 청취(), 수락(), 읽기(), 쓰기() 및 닫기()입니다. 온라인에는 이에 대한 풍부한 정보가 있으며 (지금은 꽤 오래된) Linux Device Drivers 3(LDD3) 책이 좋은 소개서이며 온라인에서 무료로 사용할 수 있습니다.