我有一台 FireWire 摄像头 LifeSize,通过 FireWire 接口连接到我的 PC。我的 PC 有 miniPCI 插槽,通过外部转换器,它有一个 FireWire 接口。现在,当我尝试时,Ubuntu 什么都不显示:
$ uname -a
Linux desktop 2.6.38-11-generic-pae #48-Ubuntu SMP Fri Jul 29 20:51:21 UTC 2011 i686 i686 i386 GNU/Linux
$ lspci
00:00.0 Host bridge: Intel Corporation 2nd Generation Core Processor Family DRAM Controller (rev 09)
00:02.0 VGA compatible controller: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller (rev 09)
00:16.0 Communication controller: Intel Corporation 6 Series Chipset Family MEI Controller #1 (rev 04)
00:16.3 Serial controller: Intel Corporation 6 Series Chipset Family KT Controller (rev 04)
00:19.0 Ethernet controller: Intel Corporation 82579LM Gigabit Network Connection (rev 05)
00:1a.0 USB Controller: Intel Corporation 6 Series Chipset Family USB Enhanced Host Controller #2 (rev 05)
00:1b.0 Audio device: Intel Corporation 6 Series Chipset Family High Definition Audio Controller (rev 05)
00:1c.0 PCI bridge: Intel Corporation 6 Series Chipset Family PCI Express Root Port 1 (rev b5)
00:1c.1 PCI bridge: Intel Corporation 6 Series Chipset Family PCI Express Root Port 2 (rev b5)
00:1c.2 PCI bridge: Intel Corporation 6 Series Chipset Family PCI Express Root Port 3 (rev b5)
00:1c.3 PCI bridge: Intel Corporation 6 Series Chipset Family PCI Express Root Port 4 (rev b5)
00:1c.4 PCI bridge: Intel Corporation 6 Series Chipset Family PCI Express Root Port 5 (rev b5)
00:1d.0 USB Controller: Intel Corporation 6 Series Chipset Family USB Enhanced Host Controller #1 (rev 05)
00:1f.0 ISA bridge: Intel Corporation 6 Series Chipset Family LPC Controller (rev 05)
00:1f.2 IDE interface: Intel Corporation 6 Series Chipset Family 4 port SATA IDE Controller (rev 05)
00:1f.3 SMBus: Intel Corporation 6 Series Chipset Family SMBus Controller (rev 05)
00:1f.5 IDE interface: Intel Corporation 6 Series Chipset Family 2 port SATA IDE Controller (rev 05)
05:00.0 Ethernet controller: Intel Corporation 82574L Gigabit Network Connection
$ lsusb
Bus 002 Device 005: ID 046d:c31c Logitech, Inc.
Bus 002 Device 003: ID 046d:0821 Logitech, Inc.
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
$ dmesg | grep FireWire ;no results
$ grep FireWire /var/log/kern.log ;no results
我如何检测我的 FireWire 接口是否已启动并正在工作以及查看我的相机?
答案1
当我将您获得的输出与我获得的输出进行比较时,似乎没有检测到您的硬件。
我的 Linux 机器上有一个 Firewire 控制器,并得到以下输出:
[ROOT@bellatrix] /etc# lspci | grep -E -i "(1394|firewire)"
05:00.0 FireWire (IEEE 1394): Texas Instruments TSB82AA2 IEEE-1394b Link Layer Controller (rev 02)
[ROOT@bellatrix] /home/tim# dmesg | grep -E -i "(1394|firewire)"
[ 7.398547] firewire_ohci 0000:05:00.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
[ 7.449050] firewire_ohci: Added fw-ohci device 0000:05:00.0, OHCI v1.10, 4 IR + 8 IT contexts, quirks 0x2
[ 7.950098] firewire_core: created device fw0: GUID 0000000000500169, S800
[ 7.953162] firewire_core: created device fw1: GUID 081443610005001b, S800
[ 7.953167] firewire_core: phy config: card 0, new root=ffc0, gap_count=5
[ 8.271968] video1394: Installed video1394 module
[ 8.283609] ieee1394: raw1394: /dev/raw1394 device initialized
[ROOT@bellatrix] /etc# lsmod | grep -E -i "(1394|firewire)"
raw1394 19765 0
video1394 13215 0
ohci1394 25605 1 video1394
ieee1394 79879 3 raw1394,video1394,ohci1394
firewire_ohci 23123 0
firewire_core 48581 1 firewire_ohci
crc_itu_t 1651 1 firewire_core
我不期望 的输出lsusb
。尝试搜索“1394”或不区分大小写的 FireWire。这有帮助吗?此外,您可能还想检查其他一些事项:
- 你在内核中启用了 FireWire 吗?
- 您是否加载了 FireWire 相关模块?
- 您是否收到任何错误信息
还,香菜是一款在 Linux 上使用 1394 相机的出色工具。尝试安装它,看看它是否会给出任何可能指向问题的(其他)错误消息。
答案2
简单来说,你的内核不支持 firewire1394。因此,你需要使用启用了 firewire1394 驱动程序的内核来构建内核。
make menuconfig
之后您可以选择 firewire1394 驱动程序和依赖项。然后编译内核并安装它。