私のウェブカメラは存在しますが認識されません。どこかに私のコンピュータに。動画に関連するコンテンツを見ることができる唯一の場所は次のとおりです# dmesg | grep video
。
[ 64.907469] videodev: Linux video capture interface: v2.00
[ 64.921610] usbcore: registered new interface driver uvcvideo
[ 72.665592] usbcore: deregistering interface driver uvcvideo
[ 72.848476] videodev: Linux video capture interface: v2.00
[ 72.857832] usbcore: registered new interface driver uvcvideo
便利な他のコマンドは次のとおりですlsusb
。
Bus 003 Device 002: ID 093a:2533 Pixart Imaging, Inc. Gaming Mouse
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 002: ID 1b3f:2008 Generalplus Technology Inc. USB Audio Device
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
そしてlsmod | grep video
uvcvideo 114688 0
videobuf2_vmalloc 20480 1 uvcvideo
videobuf2_memops 20480 1 videobuf2_vmalloc
videobuf2_v4l2 36864 1 uvcvideo
videobuf2_common 65536 2 videobuf2_v4l2,uvcvideo
videodev 286720 3 videobuf2_v4l2,uvcvideo,videobuf2_common
mc 61440 5 videodev,snd_usb_audio,videobuf2_v4l2,uvcvideo,videobuf2_common
usbcore 323584 6 xhci_hcd,snd_usb_audio,usbhid,snd_usbmidi_lib,uvcvideo,xhci_pci
usb_common 16384 3 xhci_hcd,usbcore,uvcvideo
video 53248 1 asus_wmi
ls /dev/video*
:
zsh: no matches found: /dev/video*
StackExchangeにはすでに似たような質問があることを知っていますが、その解決策動作しません、私のラップトップにいいえウェブカメラボタンがあります。
私のラップトップは、Linux 5.10.0-5-amd64 x86_64を実行しているASUS TUF Gaming FX705DYです。
答え1
私も同じ問題がありました。 USB列挙は大丈夫でしたが(ウェブカメラのマイクデバイスも作成されます)、そうではなく報告され/dev/video
ました。cheese
no device found
確認してみると、dmesg
ウェブカメラ(firmware: failed to load rtl_nic/rtl8168h-2.fw
)と関係のないファームウェアの問題を報告していることがわかりました。この問題を解決するために、およびcontrib
queuenon-free
を追加した後、次の操作を行いました。deb
/etc/apt/source.list
apt update
apt install linux-headers-$(uname -r)
apt install firmware-linux firmware-realtek
再起動しましたが、BIOSで「xHCIハンドオフ」も有効にしましたが、動作していますcheese
。
つまり、どのような変更がトリックを行ったかはわかりませんが、役に立ちました。
答え2
多くのデバイスアクセスの問題は、グループメンバーシップの変更で解決できます。
特に、ls -l
グループ表示権限(2番目のrwx
三重項)が「」rw
(例: " -rw-rw----
")の場合、デバイスを所有するグループに自分自身を追加すると、rw
アクセス権が付与されます。
それだけです:
device="/dev/whatever"
sudo adduser $USER $(stat -c "%G" $device)
これにより、デバイスを使用できるグループのメンバーになることができますが、rw
もう1つのステップがあります。
すべてのプロセスを新しいグループのメンバーにするには、ログアウトしてログインします。グループメンバーシップは時間ベースで設定されますlogin
。
新しいグループから単一のプロセスを作成するには(テスト用、ログアウト/ログイン前):
newgrp $(stat -c "%G" $device)
またはグループ名を入力してください。望むよりman newgrp
。