私はUbuntu / x86で素敵に動作するウェブカメラを内蔵したAcerネットブックを持っています。私はまた、スペアパーツの供給源として長年過度に使用しながら、さまざまな事故を経験した同じモデルの壊れたネットブックをたくさん持っています。私はOrange Piを購入し、その上に小さくてシンプルなウェブカメラを装着したかったのです。画面の上の狭いストリップにあるのが完璧なサイズであり、USBであることがわかっています(3.3で実行されている特別な雪片にもかかわらず)VとUSB5の場合は標準ではありません)1つを抽出してピンアウトを見つけ、Orange PiのUSBデータ、3.3 VとGNDに接続しましたが、ネットブックと同様にlsusbでも正常に表示されました。
Bus 001 Device 002: ID 04f2:b367 Chicony Electronics Co., Ltd
これが私の冒険が難関に遭遇した場所です。私のPiディストリビューションには、このカメラをサポートするカーネルモジュールがないようです。当然、私はAcer x86ネットブック用に特別に作られたカメラをARM SBCに接続したい世界初の人でしょう。 Intelシステムの外では見えないARMビルドにハードウェアドライバを追加するのはなぜですか? lsmodはビデオに関連するコンテンツを表示しません。それがどれであるかを知っていれば、それをコンパイルして関連モジュールを追加できます。
一方、私の(動作している)ネットブックのlsusbには80以上のモジュールが表示されます。
Module Size Used by
option 57344 0
huawei_cdc_ncm 16384 0
cdc_wdm 20480 1 huawei_cdc_ncm
cdc_ncm 40960 1 huawei_cdc_ncm
usb_wwan 20480 1 option
usbnet 45056 2 cdc_ncm,huawei_cdc_ncm
usbserial 45056 2 usb_wwan,option
uas 24576 0
usb_storage 69632 1 uas
binfmt_misc 20480 1
ccm 20480 6
snd_hrtimer 16384 1
wl 6447104 0
snd_hda_codec_realtek 110592 1
snd_hda_codec_generic 73728 1 snd_hda_codec_realtek
snd_hda_codec_hdmi 49152 1
uvcvideo 90112 0
videobuf2_vmalloc 16384 1 uvcvideo
snd_hda_intel 45056 3
videobuf2_memops 16384 1 videobuf2_vmalloc
videobuf2_v4l2 24576 1 uvcvideo
videobuf2_core 40960 2 videobuf2_v4l2,uvcvideo
videodev 188416 3 videobuf2_core,videobuf2_v4l2,uvcvideo
snd_hda_codec 126976 4 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec_realtek
media 40960 2 videodev,uvcvideo
snd_hda_core 81920 5 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec,snd_hda_codec_realtek
snd_hwdep 20480 1 snd_hda_codec
intel_powerclamp 16384 0
snd_pcm 98304 4 snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec,snd_hda_core
arc4 16384 2
coretemp 16384 0
ath9k 155648 0
ath9k_common 36864 1 ath9k
snd_seq_midi 16384 0
ath9k_hw 471040 2 ath9k_common,ath9k
snd_seq_midi_event 16384 1 snd_seq_midi
input_leds 16384 0
acer_wmi 20480 0
joydev 24576 0
sparse_keymap 16384 1 acer_wmi
ath 32768 3 ath9k_common,ath9k,ath9k_hw
serio_raw 16384 0
wmi_bmof 16384 0
mac80211 786432 1 ath9k
rtsx_pci_ms 20480 0
memstick 16384 1 rtsx_pci_ms
snd_rawmidi 32768 1 snd_seq_midi
snd_seq 65536 3 snd_seq_midi,snd_seq_midi_event
lpc_ich 24576 0
cfg80211 634880 5 wl,ath9k_common,ath9k,ath,mac80211
snd_seq_device 16384 3 snd_seq,snd_seq_midi,snd_rawmidi
snd_timer 32768 3 snd_seq,snd_hrtimer,snd_pcm
mac_hid 16384 0
snd 81920 18 snd_hda_codec_generic,snd_seq,snd_seq_device,snd_hda_codec_hdmi,snd_hwdep,snd_hda_intel,snd_hda_codec,snd_hda_codec_realtek,snd_timer,snd_pcm,snd_rawmidi
soundcore 16384 1 snd
shpchp 36864 0
sch_fq_codel 20480 2
cuse 16384 3
parport_pc 32768 0
ppdev 20480 0
lp 20480 0
parport 49152 3 parport_pc,lp,ppdev
ip_tables 28672 0
x_tables 40960 1 ip_tables
autofs4 40960 2
rtsx_pci_sdmmc 24576 0
gma500_gfx 184320 2
i2c_algo_bit 16384 1 gma500_gfx
drm_kms_helper 172032 1 gma500_gfx
syscopyarea 16384 1 drm_kms_helper
sysfillrect 16384 1 drm_kms_helper
psmouse 151552 0
sysimgblt 16384 1 drm_kms_helper
ahci 40960 2
fb_sys_fops 16384 1 drm_kms_helper
libahci 32768 1 ahci
drm 401408 4 drm_kms_helper,gma500_gfx
r8169 86016 0
rtsx_pci 69632 2 rtsx_pci_sdmmc,rtsx_pci_ms
mii 16384 2 r8169,usbnet
wmi 24576 2 acer_wmi,wmi_bmof
video 45056 2 acer_wmi,gma500_gfx
適切な人をどのように見つけることができますか?
答え1
ベンダーID "04f2"のカーネルソースコードを検索し、製品ID "b367"でフィルタリングできます。ベンダーIDを含む2つのビデオファイルが見つかりました。zr364xx 変形 cバージョン6カーネルにはもう存在しません。特定の製品IDを持つファイルはありません。別の編集を試すことができます。uvc_driver.c構造項目をコピーし、/* Chicony CNF7129 (Asus EEE 100HE) */
製品IDを変更してファイルを作成し、モジュールを再コンパイルします。
答え2
modinfo
特定のカーネルモジュールを使用して、どのデバイスで動作しているかを判断できます。たとえば、これにより、sudo modinfo uvcvideo
特定のUSBデバイスのUSBクラスとモードのリストが表示されます。この形式を説明するカーネル文書はどこかにあります。
このパターンを特定のUSBデバイスの操作で得られる結果とlsusb -v
比較してください。
また、USBツリーで特定のデバイスを実行しlsusb -t
てから参照し、シンボリックリンクに沿ってロードされたモジュールを確認することもできます。/sys/bus/usb/devices/
driver
最後に、udevadm
さまざまな方法でman udevadm
同様の情報を入手できます(参考資料を参照)。
私の考えでは、あなたのカメラがによって処理されているようですがuvcvideo
、Orange Piで処理されていないことは少し驚いています...