2010-05-26 6 views

답변

22

짧은 대답은 :

cd /sys/dev/char/major:minor/device/driver/ 
ls -al | grep module 

각 장치는 일반적으로 드라이버와 관련된, 이것은 "장치 모델"에 대해 무엇을 모두입니다. sysfs 파일 시스템에는이 장치와 관련 드라이버가 들어 있습니다. 유감스럽게도, 모든 sysfs가 장치 노드를 나타내는 것은 아니기 때문에/sys 디렉토리에/dev 디렉토리가있는 경우에만 적용됩니다. 내 보드에 /dev/video0

으로, ls -al /dev/video0 출력은, 다음의 예제를 보자

crw------- 1 root  root  81, 0 Jan 1 00:00 video0 

그래서 주 번호는 81이고 보조 번호는 sysfs를 0로 우위를 점할 수 하자 다이빙입니다 :

# cd /sys 
# ls 
block  class  devices fs  module 
bus  dev  firmware kernel 

sys/dev 디렉토리에는 시스템의 문자 및 블록 장치 항목이 들어 있습니다.

# cd dev 
# cd char 
# ls 
10:61 13:64 1:3 1:8 249:0 252:0 29:0 4:65 81:0 89:1 
10:62 1:1 1:5 1:9 250:0 253:0 29:1 5:0 81:2 
10:63 1:11 1:7 248:0 251:0 254:0 4:64 5:1 81:3 

이 링크는 이상한 이름으로 대체됩니까? 주 번호와 부 번호 (81 및 0)를 기억하십니까? 의이 링크를 보자

#cd major:minor (ie 81:0) 
#ls -al 
drwxr-xr-x 2 root  root   0 Jan 1 01:56 . 
drwxr-xr-x 3 root  root   0 Jan 1 01:56 .. 
-r--r--r-- 1 root  root   4096 Jan 1 01:56 dev 
lrwxrwxrwx 1 root  root   0 Jan 1 01:56 device -> ../../../vpfe-capture 
-r--r--r-- 1 root  root   4096 Jan 1 01:56 index 
-r--r--r-- 1 root  root   4096 Jan 1 01:56 name 
lrwxrwxrwx 1 root  root   0 Jan 1 01:56 subsystem -> ../../../../../class/video4linux 
-rw-r--r-- 1 root  root   4096 Jan 1 01:56 uevent 

이제 우리는 장치가 사용자 공간에 표시되는 방법이다이 장치 고개를 끄덕이, 커널 장치와 연결된 것을 볼 수 있습니다. 이 연결은 링크를 통해 이루어집니다. 이 링크를 따라 가면 드라이버 링크가있는 디렉토리가 생깁니다.

# ls -al 
drwxr-xr-x 3 root  root   0 Jan 1 01:56 . 
drwxr-xr-x 25 root  root   0 Jan 1 00:00 .. 
lrwxrwxrwx 1 root  root   0 Jan 1 01:56 driver -> ../../../bus/platform/drivers/vpfe-capture 
-r--r--r-- 1 root  root   4096 Jan 1 01:56 modalias 
lrwxrwxrwx 1 root  root   0 Jan 1 01:56 subsystem -> ../../../bus/platform 
-rw-r--r-- 1 root  root   4096 Jan 1 01:56 uevent 
drwxr-xr-x 3 root  root   0 Jan 1 01:56 video4linux 

그래서 여기에 모듈의 이름,

+0

은 훌륭한 설명을 한게 감사 vpfe_capture입니다 : 드라이버의 이름은 일반적으로 모듈의 이름입니다! –

2

이 질문에 대한 답은 여러 요인에 따라 다를 가능성이 큽니다. 예를 들어 udev, devfs, pre-devfs 등을 실행중인 경우

우분투 (또는 다른 현대 배포판)를 사용하는 경우 udevadm 명령이 원하는 것일 수 있습니다.

% udevadm info -q path -n /dev/cdrom 
/devices/pci0000:00/0000:00:1f.1/host3/target3:0:0/3:0:0:0/block/sr0 

그래서, 내는/dev/cdrom이는 sr_mod 커널 모듈에있는 sr 드라이버에 의해 제공됩니다. 나는 인수로 /dev/cdrom을 취하고 출력으로 sr_mod을 인쇄하는 명령을 모른다.

관련 문제