惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

IT之家
IT之家
Y
Y Combinator Blog
月光博客
月光博客
Blog — PlanetScale
Blog — PlanetScale
GbyAI
GbyAI
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
博客园 - 三生石上(FineUI控件)
S
SegmentFault 最新的问题
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
美团技术团队
雷峰网
雷峰网
酷 壳 – CoolShell
酷 壳 – CoolShell
Last Week in AI
Last Week in AI
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
有赞技术团队
有赞技术团队
博客园 - 司徒正美
V
Visual Studio Blog
小众软件
小众软件
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
T
Tailwind CSS Blog
Apple Machine Learning Research
Apple Machine Learning Research
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
A
About on SuperTechFans
The Cloudflare Blog

Jeff Geerling

OpenNMC is an open replacement for expensive APC management cards Rebuilding a 1995 GPS Time Server so I don Before NTP there were Time and Daytime Building a mini Homelab that fits in my carry-on Debugging Ubiquiti Getting the Steam Deck LCD working on a Raspberry Pi Hands-on with Raspberry Pi I Proxmox officially supports Arm, with some caveats Getting 25 Gbps Thunderbolt Ethernet on my Mac Studio Adding a backup Internet WAN on my OPNsense Router Open Sauce and GPS time were my summer AI Antiseptics QuadRF can spot drones and see WiFi through my wall The Special Value Pi 4 was extremely short-lived Quickly apply LUTs (color grading) with ffmpeg Framework You can finally power on a Mac remotely I tested every IP KVM in my Homelab It's hard to justify buying a Framework 12 Tuning in FM Radio on a 3D Printer Heatbed I patched iozone for better disk benchmarks on modern macOS News about Raspberry Pi 6 and Microcontroller Development Wi-Wi Is Wireless Time Sync at 1 nanosecond Bambu Lab is abusing the open source social contract HomePod mini feels like magic, but it's just good timing SBC Clusters are a terrible value, but they're fun anyway Raspberry Pi Connect may control Windows soon New 10 GbE USB adapters are cooler, smaller, cheaper An Arm Mainboard for the Framework Laptop Build your own Dial-up ISP with a Raspberry Pi
Using FireWire on a Raspberry Pi
jeff@jeffgee · 2026-03-25 · via Jeff Geerling

After learning Apple killed off FireWire (IEEE 1394) support in macOS 26 Tahoe, I started looking at alternatives for old FireWire equipment like hard drives, DV cameras, and A/V gear.

Power Mac G4 MDD with Canon GL1 DV Camera importing footage into Final Cut Express

I own an old Canon GL1 camera, with a 'DV' port. I could plug that into an old Mac (like the dual G4 MDD above) with FireWire—or even a modern Mac running macOS < 26, with some dongles—and transfer digital video footage between the camera and an application like Final Cut Pro.

But with Apple killing off support, and my desire to have a modern, supported hardware solution, I turned to Linux and dvgrab.

Linux will likely drop support for IEEE 1394 in 2029, but at least that gives me three more years!

On a Raspberry Pi, I can plug in this GeeekPi Mini PCIe HAT, and connect a StarTech Mini PCIe FireWire adapter. This allows the Pi to recognize the FireWire controller:

$ lspci
0001:00:00.0 PCI bridge: Broadcom Inc. and subsidiaries BCM2712 PCIe Bridge (rev 21)
0001:01:00.0 PCI bridge: Texas Instruments XIO2213A/B/XIO2221 PCI Express to PCI Bridge [Cheetah Express] (rev 01)
0001:02:00.0 FireWire (IEEE 1394): Texas Instruments XIO2213A/B/XIO2221 IEEE-1394b OHCI Controller [Cheetah Express] (rev 01)
0002:00:00.0 PCI bridge: Broadcom Inc. and subsidiaries BCM2712 PCIe Bridge (rev 21)
0002:01:00.0 Ethernet controller: Raspberry Pi Ltd RP1 PCIe 2.0 South Bridge

But to use it, you have to recompile the Linux kernel with FireWire support, then configure the Pi's PCIe bus for 32-bit DMA support, since old FireWire controllers like the TI XIO2213A and VIA VT6315N don't support 64-bit access.

Recompile the Linux Kernel with Firewire support

Recompile the Linux kernel, enabling the following features:

  • CONFIG_FIREWIRE (Device Drivers -> IEEE 1394 (FireWire) support -> FireWire driver stack)
  • CONFIG_FIREWIRE_OHCI (Device Drivers -> IEEE 1394 (FireWire) support -> FireWire driver stack -> OHCI-1394 controllers)

Configure Pi Boot options

At the end of /boot/firmware/config.txt, under [all], add:

dtparam=pciex1
dtoverlay=pcie-32bit-dma

At the end of the line in /boot/firmware/cmdline.txt, add:

Reboot your Pi.

Using FireWire on the Pi

Canon GL1 connected to Raspberry Pi 5 via FireWire 400 Mini PCIe card

At this point, you should be able to use FireWire devices connected to the FireWire 400 port. If you want to use the FireWire 800 ports, you'll have to find a way to connect auxiliary power to the power header on the Mini PCIe card (StarTech provides an adapter for this).

All my devices are FireWire 400, so this was not a concern for me.

Using dvgrab (which can be installed with sudo apt install -y dvgrab), you can record clips from the camera in either camera or 'VCR' mode, for example:

$ sudo apt install -y dvgrab

$ dvgrab
Found AV/C device with GUID 0x000085000014e35a
libiec61883 error: Failed to get channels available.
Waiting for DV...
Capture Started
^C"dvgrab-002.dv":    45.89 MiB 401 frames timecode 00:00:00.00 date 2067.02.15 22:26:25
Capture Stopped

You can use dvgrab interactively, too:

$ dvgrab -i
Found AV/C device with GUID 0x000085000014e35a
libiec61883 error: Failed to get channels available.
Going interactive. Press '?' for help.
q=quit, p=play, c=capture, Esc=stop, h=reverse, j=backward scan, k=pause        
l=forward scan, a=rewind, z=fast forward, 0-9=trickplay, <space>=play/pause

I posted my first sample video recording with this setup over on GitHub.

DVgrab is straightforward, and can easily be used in scripts—something which I'll explore later with a prototype Firehat, and which would be useful for projects like Open MRU, both of which I found on the r/tapeless subreddit...