Linux 에서 특정 드라이버가 로드되었는지 확인하는 방법

LinuxBeginner
지금 연습하기

소개

이 랩에서는 Linux 에서 특정 드라이버가 로드되었는지 확인하는 방법을 배우게 됩니다. 드라이버는 종종 커널 모듈로 구현되며, 하드웨어와 상호 작용하는 데 필수적입니다. lsmod를 사용하여 로드된 모든 모듈을 나열하고, /proc/modules 파일을 검사하여 자세한 상태를 확인하며, modinfo를 사용하여 특정 드라이버 정보를 확인하는 세 가지 방법을 살펴볼 것입니다.

이 단계를 완료함으로써 하드웨어 문제 해결 및 시스템 관리에 중요한 Linux 시스템 내 드라이버의 상태를 식별하고 이해하는 실질적인 기술을 습득하게 됩니다.

lsmod 로 드라이버 목록 확인

이 단계에서는 현재 로드된 커널 모듈 (하드웨어 컨텍스트에서 드라이버라고도 함) 을 나열하는 방법을 배우게 됩니다. 커널 모듈은 시스템 재부팅 없이 커널의 기능을 확장하기 위해 필요에 따라 커널에 로드 및 언로드할 수 있는 코드 조각입니다.

사용할 명령어는 lsmod입니다. 이 명령어는 Linux 커널의 모듈 상태를 표시하는 데 사용됩니다.

터미널이 아직 열려 있지 않다면 엽니다. 데스크탑 왼쪽에서 Xfce Terminal 아이콘을 찾을 수 있습니다.

다음 명령을 입력하고 Enter 키를 누릅니다.

lsmod

다음과 유사한 출력을 보게 됩니다.

Module                  Size  Used by
...
snd_hda_codec_generic    ...   ...
ledtrig_audio          ...   ...
snd_hda_codec_hdmi     ...   ...
snd_hda_intel          ...   ...
snd_intel_dspcfg       ...   ...
snd_hda_codec          ...   ...   snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hda_intel
snd_hda_core           ...   ...   snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec
snd_hwdep              ...   ...   snd_hda_codec
snd_pcm                ...   ...   snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec,snd_hda_core,snd_hwdep
snd_seq_midi           ...   ...
snd_seq_midi_event     ...   ...   snd_seq_midi
snd_rawmidi            ...   ...   snd_seq_midi,snd_seq_midi_event
snd_seq                ...   ...   snd_seq_midi,snd_seq_midi_event
snd_seq_device         ...   ...   snd_seq_midi,snd_rawmidi,snd_seq
snd_timer              ...   ...   snd_pcm,snd_seq
snd                    ...   ...   snd_hda_codec_generic,ledtrig_audio,snd_hda_codec_hdmi,snd_hda_intel,snd_intel_dspcfg,snd_hda_codec,snd_hda_core,snd_hwdep,snd_pcm,snd_rawmidi,snd_seq,snd_seq_device,snd_timer
soundcore              ...   ...   snd
...

lsmod의 출력에는 세 개의 열이 있습니다.

  • Module: 커널 모듈의 이름입니다.
  • Size: 모듈의 크기 (바이트) 입니다.
  • Used by: 이 모듈을 사용하는 다른 모듈의 목록과 사용 횟수입니다.

이 명령은 시스템에서 현재 활성 상태인 드라이버를 확인하는 데 매우 유용합니다.

다음 단계로 진행하려면 계속을 클릭하십시오.

cat /proc/modules로 드라이버 상태 확인

이 단계에서는 /proc/modules 파일을 검사하여 로드된 커널 모듈에 대한 정보를 확인하는 또 다른 방법을 살펴봅니다. /proc 파일 시스템은 프로세스 및 기타 시스템 정보에 대한 정보를 제공하는 가상 파일 시스템입니다.

/proc/modules 파일에는 lsmod의 출력과 유사한 정보가 포함되어 있지만 약간 다른 형식으로 제공됩니다. cat 명령을 사용하여 이 파일의 내용을 표시합니다.

터미널에 다음 명령을 입력하고 Enter 키를 누릅니다.

cat /proc/modules

다음과 유사한 출력을 보게 됩니다.

snd_hda_codec_generic ... ... - Live 0xffffffff...
ledtrig_audio ... ... - Live 0xffffffff...
snd_hda_codec_hdmi ... ... - Live 0xffffffff...
snd_hda_intel ... ... - Live 0xffffffff...
snd_intel_dspcfg ... ... - Live 0xffffffff...
snd_hda_codec ... ... snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hda_intel, Live 0xffffffff...
snd_hda_core ... ... snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec, Live 0xffffffff...
snd_hwdep ... ... snd_hda_codec, Live 0xffffffff...
snd_pcm ... ... snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec,snd_hda_core,snd_hwdep, Live 0xffffffff...
snd_seq_midi ... ... - Live 0xffffffff...
snd_seq_midi_event ... ... snd_seq_midi, Live 0xffffffff...
snd_rawmidi ... ... snd_seq_midi,snd_seq_midi_event, Live 0xffffffff...
snd_seq ... ... snd_seq_midi,snd_seq_midi_event, Live 0xffffffff...
snd_seq_device ... ... snd_seq_midi,snd_rawmidi,snd_seq, Live 0xffffffff...
snd_timer ... ... snd_pcm,snd_seq, Live 0xffffffff...
snd ... ... snd_hda_codec_generic,ledtrig_audio,snd_hda_codec_hdmi,snd_hda_intel,snd_intel_dspcfg,snd_hda_codec,snd_hda_core,snd_hwdep,snd_pcm,snd_rawmidi,snd_seq,snd_seq_device,snd_timer, Live 0xffffffff...
soundcore ... ... snd, Live 0xffffffff...
...

/proc/modules의 열은 다음을 나타냅니다.

  1. 모듈 이름
  2. 모듈 크기
  3. 모듈이 사용되는 횟수
  4. 모듈이 로드되었는지 (Live) 또는 언로드 중인지 (Loading 또는 Unloading) 여부
  5. 모듈의 메모리 오프셋 (이것이 0xffffffff... 부분입니다)
  6. 종속 모듈 ("Used by" 열과 유사)

lsmod가 일반적으로 로드된 모듈을 보기 위한 선호되는 명령이지만, 이 정보가 /proc 파일 시스템에서도 사용 가능하다는 것을 이해하는 것은 시스템을 더 깊이 이해하는 데 중요합니다.

계속하려면 계속을 클릭하십시오.

modinfo 로 드라이버 상세 정보 확인

이 단계에서는 modinfo 명령을 사용하여 특정 커널 모듈에 대한 자세한 정보를 얻는 방법을 배우게 됩니다. 이 명령은 모듈의 파일 이름, 작성자, 설명, 라이선스 및 매개변수와 같은 세부 정보를 제공할 수 있습니다.

오디오 드라이버와 관련된 snd_hda_intel 모듈에 대한 정보를 얻어보겠습니다.

터미널에 다음 명령을 입력하고 Enter 키를 누릅니다.

modinfo snd_hda_intel

다음과 유사한 출력을 보게 됩니다.

filename:       /lib/modules/.../kernel/sound/hda/snd-hda-intel.ko
description:    Intel HDA driver
license:        GPL v2
srcversion:     ...
alias:          pci:v00008086d0000...sv*sd*bc04sc03i00*
alias:          pci:v00008086d0000...sv*sd*bc04sc01i00*
alias:          pci:v00008086d0000...sv*sd*bc04sc03i00*
...
depends:        snd-hda-codec,snd-pcm,snd-hda-core,snd-hwdep,snd-timer,snd
retpoline:      Y
intree:         Y
name:           snd_hda_intel
vermagic:       ... SMP mod_unload
sig_id:         PKCS#7
signer:         Build time autogenerated kernel key
sig_key:        ...
sig_hashalgo:   sha512
signature:      ...
parm:           bdl_pos_adj:Adjust the BDL position (int)
parm:           probe_mask:Bitmask of codec probe options.
                bit 0: force codec probe
                bit 1: allow probing codecs with basic capabilities
                bit 2: allow probing codecs with no capabilities
                (int)
parm:           enable_msi:Enable MSI (int)
parm:           enable_msix:Enable MSI-X (int)
parm:           model:Use the specified codec model.
                See Documentation/sound/kernel-modules-aliases.txt for details. (charp)
parm:           patch:Load the specified patch file. (charp)
parm:           power_save:Automatic power-saving timeout (in ms, 0 to disable). (int)
parm:           power_save_controller:Controller power-saving timeout (in ms, 0 to disable). (int)
parm:           pm_blacklist:Force non-power-save mode (D0) (bool)
parm:           position_fix:DMA pointer position fix (0, 1, 2) (int)
parm:           probe_only_force:Only probe codecs with force option (bool)
parm:           single_cmd:Use single command to communicate with codecs (bool)
parm:           snoop:Enable/disable snoop mode (bool)
parm:           jackpoll_ms:Polling interval for jack events (in ms, 0 to disable). (int)

이 출력은 파일 시스템에서의 위치 (filename), 간략한 설명, 배포된 라이선스, 동작을 구성하는 데 사용할 수 있는 다양한 매개변수를 포함하여 snd_hda_intel 모듈에 대한 풍부한 정보를 제공합니다.

modinfo를 사용하는 방법을 이해하는 것은 드라이버 문제를 해결하거나 커널 모듈의 특정 기능 및 옵션에 대해 자세히 알아보는 데 매우 중요합니다.

이 랩을 완료하려면 계속을 클릭하십시오.

요약

이 랩에서는 특정 드라이버가 Linux 에 로드되었는지 확인하는 방법을 배웠습니다. 먼저, 드라이버라고도 하는 현재 로드된 모든 커널 모듈을 나열하기 위해 lsmod 명령을 사용했습니다. 이 명령은 모듈 이름, 크기 및 다른 어떤 모듈이 이를 사용하는지에 대한 정보를 제공합니다.

또한 cat 명령을 사용하여 /proc/modules 파일의 내용을 검사하여 로드된 드라이버의 상태를 확인할 수 있다는 것을 배웠습니다. 마지막으로, modinfo 명령을 사용하여 파일 이름, 작성자, 설명 및 매개변수와 같은 특정 드라이버에 대한 자세한 정보를 검색하는 방법을 배웠습니다. 이러한 단계는 Linux 시스템에 로드된 드라이버의 존재 여부와 세부 정보를 확인하는 포괄적인 접근 방식을 제공합니다.