一部のデバイスが udevadm 情報から DRIVER=="" を生成するのはなぜですか。

一部のデバイスが udevadm 情報から DRIVER==

目標は実際には非常に簡単です。 LinuxでUSBカメラが動作するようにすることです。 uvc、uv4l(bcm2835カーネルモジュールのようです)をインストールした後もまだ機能しません。

現在のインストールとデバッグ中に、次の文字ファイルが生成されました。

crw-rw-rw-  1 root video   240,   0 Jul  4 20:24 video0
crw-rw-rw-+ 1 root video    81,   0 Jul  4 20:24 video10
crw-rw-rw-+ 1 root video    81,   1 Jul  4 20:24 video11
crw-rw-rw-+ 1 root video    81,   2 Jul  4 20:24 video12
crw-rw-rw-  1 root video   239,   0 Jul  4 23:01 uv4l

最後のuv4lはuv4lコマンドを実行した後にのみ表示され、再起動後に消えます。

ddまたは他のプログラムを使用してcharファイルを呼び出すとInput/output error。おそらくcharファイルがカーネルモジュールに正しく登録されていないようです。

これは次の出力ですudevadm info -a -n /dev/uv4l

Udevadm info starts with the device specified by the devpath and then
walks up the chain of parent devices. It prints for every device
found, all possible attributes in the udev rules key format.
A rule to match, can be composed by the attributes of the device
and the attributes from one single parent device.

  looking at device '/devices/virtual/cuse/uv4l':
    KERNEL=="uv4l"
    SUBSYSTEM=="cuse"
    DRIVER==""

deviceuv4l charファイルに関連するドライバには何もなく、その下にフォルダもありません。/sys/dev/char/major#:minor#/この回答。同じ状況がcharファイルにも適用されますvideoX

これは私の推測が正しいことを意味しますか? UVCドライバが正しくインストールされていませんか?

以下は関連出力ですlsmod

bcm2835_codec          36864  0
bcm2835_v4l2           45056  0
v4l2_mem2mem           24576  1 bcm2835_codec
v4l2_common            16384  1 bcm2835_v4l2
videobuf2_vmalloc      16384  1 bcm2835_v4l2
bcm2835_mmal_vchiq     32768  2 bcm2835_codec,bcm2835_v4l2
videobuf2_dma_contig    20480  1 bcm2835_codec
videobuf2_memops       16384  2 videobuf2_dma_contig,videobuf2_vmalloc
videobuf2_v4l2         24576  3 bcm2835_codec,bcm2835_v4l2,v4l2_mem2mem
videobuf2_common       45056  4 bcm2835_codec,bcm2835_v4l2,v4l2_mem2mem,videobuf2_v4l2
snd_bcm2835            24576  1
videodev              200704  6 bcm2835_codec,v4l2_common,videobuf2_common,bcm2835_v4l2,v4l2_mem2mem,videobuf2_v4l2
snd_pcm               102400  2 snd_usb_audio,snd_bcm2835
media                  36864  2 videodev,v4l2_mem2mem

cat /proc/devices以下を簡単に表示します。

81 video4linux
239 uv4l
240 video0

必要なカーネルモジュールがすべてインストールされているようです。なぜこれらのドライバと文字ファイルが関連付けられていないのですか?それともここでいくつかの基本概念を誤解していますか?ありがとうございます。

ベストアンサー1

おすすめ記事