![如何知道我的 FireWire 端口是 400 还是 800?(Linux)](https://linux22.com/image/1371990/%E5%A6%82%E4%BD%95%E7%9F%A5%E9%81%93%E6%88%91%E7%9A%84%20FireWire%20%E7%AB%AF%E5%8F%A3%E6%98%AF%20400%20%E8%BF%98%E6%98%AF%20800%EF%BC%9F%EF%BC%88Linux%EF%BC%89.png)
我知道这听起来很像我如何知道我的火线连接是以 400 还是 800 运行的?,但不同之处在于,我不有FireWire 设备。
我之所以问这个问题,是因为我想在两个便携式硬盘之间做出选择——它们都有 USB 接口——而且完全相同除了一个有 FireWire 800 接口(当然,也更贵)。
我不知道我的端口/控制器是否支持 800 MHz 速度。我在网上搜索了很多,甚至尝试过jujuutils,但那有点也我很难以低层次来解释结果。
以下是 lspci 输出,仅供参考:
04:00.0 FireWire (IEEE 1394) [0c00]: O2 Micro, Inc. 1394 OHCI Compliant Host Controller [1217:13f7] (rev 05) (prog-if 10 [OHCI])
Subsystem: Dell Device [1028:0494]
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 0, Cache Line Size: 64 bytes
Interrupt: pin A routed to IRQ 17
Region 0: Memory at e4b30000 (32-bit, non-prefetchable) [size=4K]
Capabilities: [a0] Power Management version 3
Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0+,D1+,D2+,D3hot+,D3cold+)
Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
Capabilities: [48] MSI: Enable- Count=1/1 Maskable+ 64bit+
Address: 0000000000000000 Data: 0000
Masking: 00000000 Pending: 00000000
Capabilities: [80] Express (v1) Endpoint, MSI 00
DevCap: MaxPayload 128 bytes, PhantFunc 0, Latency L0s <4us, L1 <64us
ExtTag- AttnBtn- AttnInd- PwrInd- RBE+ FLReset-
DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported-
RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop+
MaxPayload 128 bytes, MaxReadReq 512 bytes
DevSta: CorrErr+ UncorrErr- FatalErr- UnsuppReq+ AuxPwr- TransPend-
LnkCap: Port #0, Speed 2.5GT/s, Width x1, ASPM L0s L1, Latency L0 <64ns, L1 unlimited
ClockPM+ Surprise- LLActRep- BwNot-
LnkCtl: ASPM L0s Enabled; RCB 64 bytes Disabled- Retrain- CommClk-
ExtSynch- ClockPM+ AutWidDis- BWInt- AutBWInt-
LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk- DLActive- BWMgmt- ABWMgmt-
Capabilities: [100 v1] Virtual Channel
Caps: LPEVC=0 RefClk=100ns PATEntryBits=1
Arb: Fixed- WRR32- WRR64- WRR128-
Ctrl: ArbSelect=Fixed
Status: InProgress-
VC0: Caps: PATOffset=00 MaxTimeSlots=1 RejSnoopTrans-
Arb: Fixed- WRR32- WRR64- WRR128- TWRR128- WRR256-
Ctrl: Enable+ ID=0 ArbSelect=Fixed TC/VC=ff
Status: NegoPending- InProgress-
Capabilities: [200 v1] Advanced Error Reporting
UESta: DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
UEMsk: DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
UESvrt: DLP+ SDES+ TLP- FCP+ CmpltTO- CmpltAbrt- UnxCmplt- RxOF+ MalfTLP+ ECRC- UnsupReq- ACSViol-
CESta: RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr+
CEMsk: RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr+
AERCap: First Error Pointer: 00, GenCap- CGenEn- ChkCap- ChkEn-
Kernel driver in use: firewire_ohci
Kernel modules: firewire-ohci
答案1
只需查看计算机上的火线端口。
如果你有一个 9 针连接器,那么它将以 800 和 400 运行
如果你有一个 6 针或 4 针连接器,那么它将以 400 运行
9 针连接器
6 针连接器
资源
http://www.cablestogo.com/support/connector-guides/firewire
https://en.wikipedia.org/wiki/IEEE_1394
答案2
也许当firewire-ohci
驱动程序加载时,它会输出检测到的速度。查看/var/log/dmesg
上次启动时的内核输出,看看是否能找到驱动程序的加载位置。
您还可以rmmod firewire-ochi
然后insmod firewire-ochi
查看是否输出任何信息消息。