Using FireWire on a Raspberry Pi

https://lobste.rs/rss Hits: 36
Summary

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.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 supportRecompile 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 optionsAt the end of /boot/firmware/config.txt, under [all], add:dtparam=pciex1 dtoverl...

First seen: 2026-03-26 21:15

Last seen: 2026-03-27 15:28