At various times in the history of desktop computing, the market has stubbornly refused to follow the path dictated for it by a dominant manufacturer. IBM’s move to MCA in their PS/2 line is one of many examples. Another is Apple’s take on USB a couple of decades ago, when their view of the future lay with Firewire 800. [Pierre Dandumont] has revisited a Power Mac G4 from that era and unleashed what Apple never did back in the day: a USB 2.0 port. (French language, Google Translate).
The hack lies in Apple shipping the machine with an NEC USB 2.0 controller, but only using it for USB 1.1. A PowerPC Linux distro will happily use it for USB 2.0, but Mac OS refused. Replacing the BIOS ROM with an image designed for the same Mac without Firewire 800 cured the problem, but at the expense of being so we’re told irreversible.
An obscure set of Macs from the early 2000s with an odd combination of hardware and OS may not count for much in 2026, but back in the day having USB 2.0 was a big deal and this would really have mattered. We like it that he put this together, even if the chances of having a G4 on the Hackaday desktop probably isn’t too high.
This isn’t the first USB hack we’ve seen for a PowerMac G4.

There were good reasons why Apple preferred Firewire over USB. Namely: FW was peer-to-peer (like SCSI); could transfer data with minimal CPU overhead and was frankly, much faster. Editing DV video on a FireWire 400 external drive was easy, doing the same even on USB 2.0 wasn’t very practical. 480Mbit/s was nowhere near that speed in practice.
Possibly FW failed because of the licensing costs, but at least equally because basically the industry didn’t like anything that was used by Apple.
This wasn’t the immediate cause of firewire’s relative obscurity, by any means, DV was relevant for a while; but one thing that helped change the calculus a bit was the eventual rise of HDD or flash based video devices.
It’s not just that firewire was fast; but that it was quite consistent. Which is a big deal if you are pulling from a device that may or may not have much buffer(like the brief period of cable boxes that had legally mandated firewire) or from tape where a single dropped frame means stopping, rewinding, and retrying. Especially back when core counts were lower and things were less mature USB briefly slowing down drastically was not at all uncommon and would have played hell with a tape-based workflow, even if it were fast enough for the not-terribly-intimidating 25Mbit/s DV bitrate.
As, at least at the consumer level, video recording gradually switched to HDD or flash based devices consistency mattered less. Fast was still good; but the penalty for dropping a little data and needing to retry was either low(HDD) or vanishingly small(flash); and the ability of ubiquitous USB ports to get the job done, fast-ish, became a lot more attractive. In a pinch even USB 1.1 speeds work with patience; which beats getting literally nothing if you don’t have firewire.
Early USB card readers were very slow, however..
Especially those cheap multi card reader models installed in 3,5″ bays of the day.
Not seldomly they operated using USB 1.x speeds.
Luckily, there were card readers with Firewire interface, too.
(By using a passive adapter, CF cards could be attached to a real PATA port, too.)
This is great for the analog photo community as most high end film and photoscanners need an old G4. Usb2 will increase file transfer enormous
Can you elaborate on the need of an old G4? I use an old SCSI scanner and thus can use a modern(ish) computer with a SCSI card in a PCI slot, under Linux so I don’t even need to use one of my old Macs.
i had a agfa xy-15 flatbed scanner. 15000 dpi with optical zoom and an yx table to do a batch scan of multiple items. but also look at drum scanners like the agfa Celcis, Imacon Flextight or heidelberg.
A lot of old Macs are still used today in music production and in film photography. Just like PCs still running old CNC machines. If you can find hardware and drivers and run it on a modern Linux machine, go a head. Most people are not going to go that route.
If you picked up a $20k film scanner used for perhaps $5k some 10 years ago. You’d be happy to keep a G4 around to keep using it. Because it’s still a really good film scanner, and buying a brand new one isn’t going to significantly improve things given the cost.
You kind of need the software package to make it work (in the case ofa. Flexlight). Which I think is stuck on OS X 10.11 or earlier.
I don’t think “The Market” chose USB over Firewire. I think manufacturers did that.
No, I’m not claiming “The Market” preferred Firewire either. Those were the days when the Internet was widespread but smartphones and appliance tablets weren’t really ready yet. Most of the consumers making up “The Market” weren’t techy enough to even know the difference!
Firewire was faster. (Sure USB3 beats it now but if Firewire had won surely we would be looking at a faster “Firewire3” today)
Firewire could be daisy chained.
That one really pissed me off. As a college kid in those days I could just scrape up the money to buy the peripherals I wanted but the necessary USB hub to plug them all in was still expensive.
But… PCs rarely came with Firewire ports. They came with USB. Only the “techies” could add them. And Firewire peripherals were harder to find and more expensive. No doubt had that tech been pushed by the manufacturers the way USB was though, economies of scale would have brought it’s price down in line with what we saw in USB.
i think it’s fair to say that the market wanted a universal bus. firewire was superlative at a few roles but it was never universal, nor was it meant to be
Just like SCSI, Firewire was never cheap (in both price/quality).
That probably held it back for a while, just like USB 3.0 technology was held back.
It took many years until USB 3.0 controller cards and peripherals were available.
At the time the market (and shelves) was flooded with cheap USB 1.x and 2.0 stuff, simply.
What sets USB and Firewire apart is that USB was originally designed as a cheap, universal low-speed interface for devices such as keyboards and mice or irDA transceivers.
It competed with gameport, keyboard controller and serial ports in short.
In that use case it was just like Apple’s ADB port.
That’s probably also the reason Apple had replaced ADB and serial ports by USB in late 90s.
The downside of USB’s cheaper design was polling (besides bulk transfer),
causing a higher CPU load than with classic interfaces.
Firewire by contrast was more like a cross between SCSI and an ethernet card.
It could be chained and had high throughput.
It was DMA capable, supported memory-mapped i/o and used peer-to-peer instead of a host model, also.
USB 3.0 later adopted some features of that.
A bit of a downside were the different connectors between Firewire 400 and 800, I think.
Just when Firewire 400 had gained some acceptance,
Firewire 800 came around the corner and wanted new cables and interface cards (some had both connectors).
Isn’t that just an UHCI implementation detail? Didn’t OHCI handle polling in hardware?
Also the claim about USB causing higher load than classic interfaces seems a bit strange. Didn’t PS/2 fire an interrupt for every byte, instead of one per USB HID report? Didn’t ZIP drives use simple PIO to transfer data over parallel port instead of DMA? And has anyone checked the CPU load of a 16550 running at 12 Mbps with its 16-byte FIFO? ;-)
Uh, did you read your own paragraph? USB 2.0 was a lot of bandwidth for a PC back then, and you were likely no more than a 300mhz CPU, probably 233mhz or less. Did hardware offload exist? Sure, maybe. What were the odds you had one with that feature, or an OS and drivers that worked even if it did?
As far as I now, Mac OS 8/9 sees a NEC USB 2.0 chip as USB 1.x but Mac OS X sees it as USB 2.0.
A few years ago it wasn’t that uncommon in Mac community to add a compatible USB controller card to an older Macintosh.