Como ver os parâmetros do driver? [duplicado]

4

Os drivers geralmente suportam vários parâmetros. Por exemplo, o driver da NIC e1000 suporta parâmetros de controle de fluxo ( FlowControl ) ou negociação automática ( AutoNeg ). Existe uma maneira de ver quais parâmetros foram passados para o driver durante o carregamento? modinfo apenas exibe todos os parâmetros possíveis para o driver, mas gostaria de ver quais parâmetros (e o valor desses parâmetros) foram passados para o módulo. dmesg não parece fornecer essa informação também.

Um lugar onde encontrei algumas informações estava em /sys/module/ , mas, por exemplo, no caso de e1000 , apenas o parâmetro copybreak estava listado em /sys/module/e1000/parameters , enquanto modinfo o e1000 module suporta mais de uma dúzia de parâmetros.

    
por Martin 08.09.2014 / 10:40

1 resposta

6

Um método para conseguir isso é fazer uso de lshw . As opções passadas para os drivers são normalmente exibidas na saída em configuration: linhas.

Exemplo

$ sudo lshw -C network
...
   capabilities: pm msi pciexpress bus_master cap_list ethernet physical wireless
   configuration: broadcast=yes driver=iwlwifi driverversion=3.15.10-200.fc20.x86_64 firmware=18.168.6.1 ip=192.168.1.80 latency=0 link=yes multicast=yes wireless=IEEE 802.11abgn

Observe que o argumento driver=iwlwifi informa a você qual módulo do kernel, também conhecido como. motorista, estamos lidando. O restante dos argumentos é o que potencialmente foi passado para este módulo.

SE você quiser ver todas as opções disponíveis para um determinado driver, você pode usar modinfo para isso.

$ modinfo iwlwifi
...
intree:         Y
vermagic:       3.15.10-200.fc20.x86_64 SMP mod_unload 
signer:         Fedora kernel signing key
sig_key:        68:13:88:D1:2F:3D:25:40:2D:05:A1:F2:AD:1B:A6:55:EA:99:4D:E3
sig_hashalgo:   sha256
parm:           debug:debug output mask (uint)
parm:           swcrypto:using crypto in software (default 0 [hardware]) (int)
parm:           11n_disable:disable 11n functionality, bitmap: 1: full, 2: disable agg TX, 4: disable agg RX, 8 enable agg TX (uint)
parm:           amsdu_size_8K:enable 8K amsdu size (default 0) (int)
parm:           fw_restart:restart firmware in case of error (default true) (bool)
parm:           antenna_coupling:specify antenna coupling in dB (defualt: 0 dB) (int)
parm:           wd_disable:Disable stuck queue watchdog timer 0=system default, 1=disable (default: 1) (int)
parm:           nvm_file:NVM file name (charp)
parm:           bt_coex_active:enable wifi/bt co-exist (default: enable) (bool)
parm:           led_mode:0=system default, 1=On(RF On)/Off(RF Off), 2=blinking, 3=Off (default: 0) (int)
parm:           power_save:enable WiFi power management (default: disable) (bool)
parm:           power_level:default power save level (range from 1 - 5, default: 1) (int)

Você também pode procurar o sistema de arquivos /sys para ver os vários drivers e parâmetros que eles aceitam da seguinte forma:

$ ls -1 /sys/module/iwlwifi/parameters/
11n_disable
amsdu_size_8K
antenna_coupling
bt_coex_active
debug
fw_restart
led_mode
nvm_file
power_level
power_save
swcrypto
wd_disable

Basta alterar o caminho para o nome do driver / módulo em que você está interessado e adicionar o subdiretório /parameters .

Referências

por 08.09.2014 / 15:08