Como posso saber / listar as opções disponíveis para os módulos do kernel?

23

Como a pergunta já diz tudo, eu gostaria de elaborar com um exemplo:

i915.i915_enable_rc6=1

Esta é uma opção para o módulo i915 ou o driver de vídeo intel. Então, existe alguma maneira de saber ou listar algo como i915_enable_rc6é uma opção para a i915partir da linha de comando do linux?

Espero ser claro com a pergunta?

Edit: Eu estava me referindo ao i915 apenas por exemplo e nada mais. modinfoparece ser o comando que eu estava procurando.

sagarchalise
fonte

Respostas:

21

modinfo faz isso:

modinfo i915 | grep '^parm:'

Para módulos de código aberto, a maneira mais confiável é olhar para o código-fonte. Você não precisa ser um desenvolvedor de kernel.

Veja a fonte do i915 .

Michał Šrajer
fonte
Se não houver uma seção chamada parmna modinfosaída, isso significa que não há opções para configurar os módulos?
precisa saber é o seguinte
Principalmente significa que o autor queria mantê-lo como um parâmetro não visível por algum motivo. Veja postagem atualizada.
Michał Šrajer 30/08/11
11

Você pode encontrar todos os parâmetros de kernel i915 aplicáveis ​​à sua placa usando um comando como

sudo grep -H '' /sys/module/i915/parameters/*

ou

sudo grep . /sys/module/i915/parameters/*

(obrigado @arrange)

No meu caso, posso potencialmente usar:

/sys/module/i915/parameters/fbpercrtc:0
/sys/module/i915/parameters/i915_enable_rc6:1
/sys/module/i915/parameters/lvds_downclock:1
/sys/module/i915/parameters/lvds_use_ssc:1
/sys/module/i915/parameters/modeset:-1
/sys/module/i915/parameters/powersave:1
/sys/module/i915/parameters/reset:Y
/sys/module/i915/parameters/semaphores:0

Se nenhum parâmetro for identificado, isso é uma afirmação verdadeira - ou o kernel está carregando um módulo de kernel diferente do que você esperava:

 sudo lshw -c display

  *-display               
       description: VGA compatible controller
       product: Core Processor Integrated Graphics Controller
       vendor: Intel Corporation
       physical id: 2
       bus info: pci@0000:00:02.0
       version: 18
       width: 64 bits
       clock: 33MHz
       capabilities: msi pm vga_controller bus_master cap_list rom
       configuration: driver=i915 latency=0
       resources: irq:41 memory:90000000-903fffff memory:80000000-8fffffff ioport:3050(size=8)

No rastreio acima, você pode ver na linha de configuração "driver = i915" que o kernel vê a placa de vídeo e carregou o módulo i915.

fonte

liberdade de expressão
fonte
1
+1. Eu apenas simplificaria o comando parasudo grep . /sys/module/i915/parameters/*
organizar
Eu estava me referindo i915porque é usado principalmente. Mas as informações do caminho eram algo que eu não sabia, então, se não houver uma parameterspasta no /sys/module/{module_name}/Isso significa que o módulo específico não tem opções para ajustar?
sagarchalise
@sagarchalise - atualizei com uma explicação
fossfreedom
6

Talvez seja uma das opções mais recentes do modinfo , mas o suporte ao modinfo lista apenas os parâmetros:

$ modinfo -p i915

ou

$ modinfo --parameters i915

Nota: o $sinal é apenas a exibição rápida. Mostra que o comando pode ser executado como um usuário não root e sem o sudo.

É possível também verificar os parâmetros atuais de um módulo já carregado usando o systool :

systoolfaz parte do pacote sysfsutils. Instale-o com este comando

sudo apt-get install sysfsutils

Então use desta maneira

$ systool -v -m i915

Na saída deste comando, verifique a seção "Parâmetros:".

Huygens
fonte