Skąd mam wiedzieć / wyświetlić dostępne opcje modułów jądra?

23

Ponieważ pytanie mówi wszystko, chciałbym tylko rozwinąć przykład:

i915.i915_enable_rc6=1

Jest to opcja dla modułu i915 lub sterownika wideo Intel. Czy jest więc jakiś sposób, aby poznać lub wymienić coś takiego jak i915_enable_rc6opcja i915z wiersza poleceń Linuksa?

Mam nadzieję, że mam jasne pytanie?

Edycja: na przykład miałem na myśli i915 i nic więcej. modinfowydaje się być poleceniem, którego szukałem.

sagarchalizować
źródło

Odpowiedzi:

21

modinfo robi to:

modinfo i915 | grep '^parm:'

W przypadku modułów open source najbardziej niezawodnym sposobem jest spojrzenie na źródło. Nie musisz być programistą jądra.

Zobacz źródło dla i915 .

Michał Šrajer
źródło
Jeśli parmna modinfowyjściu nie ma żadnej sekcji, czy to oznacza, że ​​nie ma opcji konfiguracji modułów?
sagarchalise
Przeważnie oznacza to, że autor z jakiegoś powodu chciał zachować to jako niewidoczny parametr. Zobacz zaktualizowany post.
Michał Šrajer
11

Możesz znaleźć wszystkie odpowiednie parametry jądra i915 dotyczące twojej karty, używając polecenia takiego jak

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

lub

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

(dzięki @arrange)

W moim przypadku potencjalnie mogę użyć:

/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

Jeśli nie zostaną zidentyfikowane żadne parametry, to albo jest to prawdziwa instrukcja - albo jądro ładuje inny moduł jądra, niż się spodziewałeś:

 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)

W powyższym śladzie widać w wierszu konfiguracji „driver = i915”, że jądro widzi kartę wideo i załadował moduł i915.

źródło

fossfreedom
źródło
1
+1. Uproszczę tylko poleceniesudo grep . /sys/module/i915/parameters/*
ustaw
Miałem na myśli, i915ponieważ jest najczęściej używany. Ale informacje o ścieżce były czymś, czego nie znałem, więc jeśli nie ma parametersfolderu w /sys/module/{module_name}/Czy to oznacza, że ​​konkretny moduł nie ma opcji do ulepszenia?
sagarchalise
@sagarchalise - zaktualizowano z wyjaśnieniem
fossfreedom
6

Być może jest to nowsza opcja modinfo , ale obsługa modinfo zawiera tylko parametry:

$ modinfo -p i915

lub

$ modinfo --parameters i915

Uwaga: $znak jest tylko monitem. Pokazuje, że polecenie można uruchomić jako użytkownik inny niż root i bez sudo.

Możliwe jest również sprawdzenie bieżących parametrów już załadowanych modułów za pomocą systool :

systooljest częścią pakietu sysfsutils. Zainstaluj go za pomocą tego polecenia

sudo apt-get install sysfsutils

Następnie użyj tego w ten sposób

$ systool -v -m i915

Na wyjściu tego polecenia sprawdź sekcję „Parametry:”.

Huygens
źródło