Приходится запускать modprobe каждый раз, когда я хочу использовать свою веб-камеру на MacBook Air

Ubuntu 14.04 на MacBook Air.

Используя следующий метод для установки веб-камеры на MacBook Air:

cd /etc/local/src
git clone https://github.com/patjak/bcwc_pcie.git
cd bcwc_pcie/firmware
sudo make
sudo make install
cd ..
sudo make
sudo install
sudo depmod
sudo modprobe -r bdc_pci
sudo modprobe facetimehd

Установка работает, но она не постоянна. Я должен повторять последние три команды каждый раз, когда я хочу использовать веб-камеру. Может кто-нибудь сказать, пожалуйста, почему и как это исправить? Я должен быть в состоянии добавить строку в файл где-нибудь или ...?

1
задан 12 November 2018 в 12:45

1 ответ

Вы скомпилировали модуль ядра facetimehd но это, по-видимому, конфликтует с модулем, включенным в ядро Ubuntu, bdc_pci. Эта команда удаляет тот драйвер из ядра:

sudo modprobe -r bdc_pci

Согласно Wiki репозитория мы можем поместить в черный список тот модуль для преодоления возможных проблем.

Чтобы сделать это, создайте файл в /etc/modprobe.d с суффиксом .conf. Можно также просто добавить строку к основному черному списку /etc/modprobe.d/blacklist.conf, но делая отдельный файл для каждого модуля Вы хотите поместить в черный список, помогает управлять ими. Глобальные обновления могут заменить основной черный список новой версией время от времени, и необходимо будет отредактировать его снова.

Чтобы создать и отредактировать файл, Вы должны будете базироваться разрешение. Не использовать chmod или chown, просто используйте sudo. Например, использование:

sudoedit /etc/modprobe.d/blacklist-bdc_pci.conf

Это вызывает редактора по умолчанию, обычно nano, но можно использовать sudo nano sudo vim и т.д. согласно Вашему предпочтению. При вызове графического текстового редактора как gedit используйте -H флаг для получения чистой среды: sudo -H gedit /etc...

Добавьте одну строку к файлу

blacklist bdc_pci

Или если Вы хотите, добавьте две строки, один комментарий (запускается с # таким образом, строка будет проигнорирована), так будущее, Вы и другие люди будете знать причину помещения в черный список, например

# conflicts with facetimehd webcam driver
blacklist bdc_pci

Сохраните и выйдите, все сделанные.

Это могло бы быть достаточно, но если новый модуль все еще не становится загруженным автоматически, самый легкий путь к сделанным, которые происходят, состоит в том, чтобы сделать systemd загрузите его путем добавления его к файлу /etc/modules. Можно также создать файл в каталоге /etc/modules-load.d с расширением .conf, и как с черным списком, который был бы незначительно лучшей практикой.

sudoedit /etc/modules-load.d/facetimehd.conf

(или sudoedit /etc/modules, или назовите свой любимый текстовый редактор как выше...),

Добавьте одну строку:

facetimehd

Или два:

# webcam driver, doesn't load itself 
facetimehd

Сохраните и выйдите, и модуль должен быть загружен при следующей начальной загрузке.

0
ответ дан 7 December 2019 в 22:33

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

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