Skip to main content

Raspberry Pi 4 Modded to Work with Multiple PCIe Devices

Raspberry Pi 4 Connected to PCIe Slots (
(Image credit: Colin 'Domipheus' Riley))

You don't have to send a Raspberry Pi to space or implant one in your leg to explore the single-board computer's potential. Case in point: AMD's Colin "Domipheus" Riley said last week that he successfully made a Raspberry Pi 4 detect USB accessories, a SATA controller and some GPUs via PCIe. Only the USB accessories worked, but if the proper drivers were developed for the SATA controller and GPUs, they could theoretically work as well.

Raspberry Pi 4 doesn't offer external PCIe support out of the box, but in July, modder Tomasz Mloduchowski revealed that it could be enabled by effectively hijacking the board's USB chips. (And by "hijacking" we mean "removing to get access to the internal PCIe connection.") Riley built on Mloduchowski's discovery by installing his own PCIe riser and modifying the Raspberry Pi's Device Tree Compiler to enable four more PCIe busses.

Unfortunately there's a difference between the Raspberry Pi detecting a device and the Raspberry Pi actually supporting the device. Riley said the keyboard and trackpad of a Motorola LapDock USB hub worked, for example, but his SATA controller did not. Nor did the Radeon HD 7990 or GTX 1060 GPUs connected via the PCIe USB controller. Those devices would require drives made for the Raspbian operating system to work properly.

Video Cards Don't Work yet (
(Image credit: Colin 'Domipheus' Riley))

Riley said the GPUs might not actually work even if someone were inspired to create drivers for them. "Quick update: default config doesn't have enough pcie BAR space to map a GPU; however, RaspberryPi engineers have said it _may_ be possible with some custom configuration," he tweeted. "I'll give those experiments a try next. No promises of course!" There are many easier--although perhaps less fun--ways to use one of these GPUs.

But as we've said before, part of what makes the Raspberry Pi lineup exciting is the constant tinkering. The boards are simple (and cheap!) enough for people to feel comfortable modifying them but powerful enough to make those modifications worthwhile. Some of those projects are clearly more outlandish than others, as we noted in the beginning, but others simply prove that we're not even close to the limits of the category's Pi-tential.

  • ezst036
    Kinda makes you wonder what kind of success or new projects a Raspberry Pi type board would do if you had multiple native 16x PCIe slots in an mATX package. Or even full size atx.
    Reply
  • bit_user
    ezst036 said:
    Kinda makes you wonder what kind of success or new projects a Raspberry Pi type board would do if you had multiple native 16x PCIe slots in an mATX package. Or even full size atx.
    So, you want an ARM-based PC, huh? Maybe something like this?

    https://www.96boards.org/product/developerbox/
    I should quickly add that it uses the same type of ARM cores as Pi v3. So, in spite of the core count, it's no match for most modern x86 CPUs.
    Reply
  • bit_user
    BTW, the article doesn't say this, but he enabled the additional slots through the use of a PCIe switch. However, the connection to the Pi is still probably connected by a single lane (and I'm guessing PCIe 2.0, at best).

    Here's the blog entry, since I didn't notice a "source" link, in the article:

    http://labs.domipheus.com/blog/raspberry-pi-4-pci-express-it-actually-works-usb-sata-gpu/
    Reply