Какова функция modprobe в этом коде?

При попытке диагностировать медленное / слабое соединение Wi-Fi в моей новой установке ubuntu 18.04 на Lenovo Yoga C930 я обнаружил приведенный ниже ответ

Низкий сигнал Wi-Fi в Ubuntu 14

Решение кажется простым, и оно связано с решением, которое я использовал в аналогичной проблеме, о которой идет речь

Ответьте на вопрос «Lenovo 18.04 Нет адаптера Wi-Fi найдено»

Я обнаружил, что при перезапуске моей системы мое беспроводное соединение работает быстрее, и, как и в первом ответе на вопрос об ОП, у меня нет проблем с уровнем сигнала на моей платформе Windows 10 с двойной загрузкой. Я хотел бы использовать это решение на своей машине, но я не знаю, применимо ли оно к разным аппаратным средствам или как его адаптировать. Поэтому я задаю уточняющий вопрос:

Что modprobe делает в коде

sudo modprobe -v rtl8723be ant_sel=2

и как я могу адаптировать его для своей системы и моей проблемы?

2
задан 27 August 2019 в 18:14

2 ответа

Командой несомнительно предшествовали:

sudo modprobe -r rtl8723be

Это имеет эффект удаления (-r) модуль, который был, по-видимому, загружен его параметрами по умолчанию.

Много драйверов, и, в частности, драйверы беспроводных устройств, имеют параметры, которыми можно управлять в то время, когда драйвер загружается; то есть, modprobed. Можно рассмотреть доступные параметры с командой:

modinfo rtl8723be

Мы видим следующие параметры:

parm:           swenc:Set to 1 for software crypto (default 0)  (bool) 
parm:           ips:Set to 0 to not use link power save (default 1)  (bool) 
parm:           swlps:Set to 1 to use SW control power save (default 0)( bool) 
parm:           fwlps:Set to 1 to use FW control power save (default 1)( bool) 
parm:           msi:Set to 1 to use MSI interrupts mode (default 0)  (bool) 
parm:           aspm:Set to 1 to enable ASPM (default 1)  (int) 
parm:           debug_level:Set debug level (0-5) (default 0) (int) 
parm:           debug_mask:Set debug mask (default 0) (ullong) 
parm:           disable_watchdog:Set to 1 to disable the watchdog (default 0) (bool) 
parm:           ant_sel:Set to 1 or 2 to force antenna number (default 0)  (int)

Особенно интересный вот ant_sel; то есть, способность выбрать антенну 1 или антенну 2 в предпочтении к антенне 0, который, я верю, значит для автоматического выбора корректную антенну. Однако rtl8723be драйвер и комбинация аппаратных средств еще не в настоящее время способны к автоматическому выбору. Обычно необходимо протестировать и тем самым определить антенну, которая дает самое сильное соединение.

Если Вы хотите сделать параметр постоянным, создать файл, который говорит системе всегда использовать выбранный параметр каждый раз, когда модуль загружается. От терминала:

sudo -i
echo "options rtl8723be ant_sel=2"  >  /etc/modprobe.d/rtl8723be.conf
exit

Править: Как мы видим от Вашего lspci, Ваш драйвер беспроводного устройства является iwlwifi. У Вас есть беспроводное устройство Intel, не Realtek. Любой параметр драйвера, который Вы устанавливаете для rtl8723be, будет неэффективен, поскольку нет никакого устройства Realtek в Вашей системе, чтобы загрузить драйвер и применить параметр.

Создание rtl8723be.conf файла не причиняет вреда; однако, это также не делает ничего полезного. Если Вы хотите удалить бесполезный файл, затем открыть терминал и сделать:

sudo rm /etc/modprobe.d/rtl8723be.conf

Новым пользователям Ubuntu довольно свойственно прочитать сообщение форума о решении беспроводной проблемы и затем вслепую применить его к их системе. Они обычно разочаровываются, когда нет никакого улучшения. В то время как не опасно применить .conf файл к Вашей системе для драйвера беспроводного устройства, который даже не использует Ваша система, бесполезно, если Вы не знаете, какой драйвер Вы имеете. Я убеждаю всех пользователей Ubuntu определить, какой драйвер беспроводного устройства они имеют прежде, чем применяться, любой прикрепляет к системе. Можно сделать так с терминальной командой:

lspci -nnk | grep 0280 -A3

После определения, например, что Вы используете драйвер iwlwifi, если Вы испытываете затруднения, поиск только ответов, применимых к iwlwifi, таких как "медленная беспроводная связь" iwlwifi или "отбрасывания соединения" iwlwifi.

Затем я выполнил modinfo снова, но строка для ant_sel, кажется, не изменилась;

Это никогда не будет изменяться. Это сообщает, что доступно. То, что изменится, /sys/module/rtl8723be/parameters/ant_sel. Это сообщает, что было на самом деле применено.

Если Вы испытываете затруднения из-за своей беспроводной связи, я предлагаю, чтобы Вы задали новый вопрос и сказали нам, что выходит, Вы сталкиваетесь своей беспроводной связью Intel 9260.

6
ответ дан 2 December 2019 в 01:27

Отсюда

Как упомянутые rtl8723be-опции, вставьте опцию к /etc/modprobe.d/rtl8723be.conf

options rtl8723be ant_sel=2

Где, ant_sel может быть 0, 1 и 2 для значения по умолчанию, AUX и положения Основной антенны соответственно.Примечание: После того как ant_sel изменяется, необходимо сделать "холодную" перезагрузку. Питание должно быть прочь, чтобы гарантировать, что встроенное микропрограммное обеспечение использует новое значение

После выполнения трех экспериментов с ant_sel=0, 1, 2, можно записать лучший в rtl8723be.conf.


Проверка опции с modinfo:

sudo modinfo rtl8723be | grep ant_sel
parm: ant_sel:Set to 1 or 2 to force antenna number (default 0)
5
ответ дан 2 December 2019 в 01:27

Другие вопросы по тегам:

Похожие вопросы: