
Raspberry Pi 4 PCIe bridge “chip” - fanf2
https://blog.zakkemble.net/rpi4-pci-express-bridge-chip/
======
joezydeco
I'm starting to think RPi owners just don't want to acknowledge that there are
other embedded linux-capable dev boards out there that can do all the things
they want (eMMC, PCIe, multiple USB3, eSATA) without going through all of
these insane hacks.

If it's for the adventure, cool. If it's because you are pissed at the RPi
folks for not including it then holy crap widen your horizons....

~~~
justin66
The software support and community of the Raspberry Pi is several orders of
magnitude better than anything that exists for the other boards you're
mentioning. "Embedded linux capable" is different than having many linux
distributions, and other operating systems, treat the boards as a fully
supported target.

It's true that RPi owners don't know about a lot of that other stuff, but
there are reasons they don't know about them.

~~~
joezydeco
And it kind of has to be when Broadcom won't answer their pleas for help,
right? I've worked with Broadcom and they won't even pick up the phone unless
you're moving 100K EAU. (and, protip: when you do get technical help or source
it's complete crap)

~~~
justin66
Your case is maybe kind of illustrative of what I was talking about. The
number of RPi users who work at the level where they might have questions for
Broadcom is vanishingly small, and that's okay. Almost all people want to
write software in userspace, even if it's software that does cool embedded,
IoT type stuff.

What's the best right now in terms of openness and support for someone working
at the driver level?

~~~
joezydeco
I've been a Freescale/NXP customer for decades and I like their stuff. Their
documentation is comprehensive, their technical notes and errata are free to
read. They're not perfect but they work at it. Their Github presence is
decent. iMX is a good line for Linux, LPC for microcontrollers but the new
iMXRT parts are looking great for FreeRTOS.

I don't work as much with TI but I've used Panda in the past for OMAP4 and
some personal work with Beagle/AM335x and it's solid stuff. I'd like to think
Beagle's community is as good as RPi's, just a little more low-key (and the
chipmaker participates as well)

~~~
akiselev
I've always been a fan of the iMX line - they're my goto reference designs for
low volume embedded work along with STM32Fx for MCUs - but the BSPs are just
not comparable for hobbyists.

With RaspPi you can download an SD card image fully set up with a simple
"wpa_supplicant.conf" for WiFi and a Bounjour discovery service to register a
hostname like 'pi.local'. Takes like an hour with a crappy connection and then
another hour at most for apt-get update. Need to hook a security camera?
Download a prebuilkt MotionEyeOS image. Need to control a CNC with GCode and a
.Net core API? Grab the Duet 3 and a raspberry pi.

~~~
jschwartzi
If you can use Multistrap then all you need is a linux kernel and you can
build a full Debian system for your Linux chip.

------
b1gtuna
No doubt that RPi has been a game changer, but I can never convince myself to
build a light file/media server with a Pi. Do I really want to spend $100+
buying a Pi and accessories, or should I just spend $300 on a Synology...
which actually has an NVMe slot.

~~~
floatboth
Or, like, repurpose your previous desktop into a server when upgrading the
desktop.

~~~
rvense
Even old laptops can make good servers. Built-in UPS and screen for recovery.
Depending on just how old, you might even be able to add more storage using
USB3 ports, or with a controller in an ExpressCard slot or in place of the
wireless card, or by replacing an optical drive.

~~~
zeppelin101
This! I have a highly underpowered laptop (which I bought brand new but at a
very low cost for travel purposes) that I just didn't know what to do, because
it was so damn annoying and awkward for any personal use. The keyboard was
quite awkward. The trackpad was even worse. The display was so basic that even
I didn't want to use it for YouTube/Netflix. The CPU... well you get the
point. Finally, just a few weeks ago, I thought that I would really like to
build a Linux server and thought of my Raspberry Pi 3. I remembered that I
would need to connect an external HDD to make it even halfway useful for data
storage. I would also need to find a USB wifi adapter (because my home setup
currently isn't wired). Then I looked at this laptop which had been collecting
dust for like 2 years. I realized it was perfect for my needs: has a 1 TBB HDD
(not SSD) and a built-in wifi adapter. I installed Lubuntu (one of the least
resource intensive distros) and then started installing numerous services on
it: Nextcloud, IRC bouncer, SMB server. I only have Nextcloud running at the
moment as it's the only thing I've been able to make serious use out of, but
it just works.. perfectly.

------
tyingq
The Tindie store seems to be out of stock. But, if you need one of these, the
GitHub repo for the project includes an Eagle brd file.

Note that most PCB houses want Gerber files. PCBWay has an online converter
for brd files. It does require creating a userid on their site, but it will
give you the Gerber file without buying anything...so you're free the buy the
PCB from anywhere you want.

------
Abishek_Muthian
Great work, this opens new flood gates for Raspberry Pi community and I'm glad
that the maker made it available on Tindie.

Off topic: When I heard about Apple silicon on iMac, I was wondering whether
it will retain PCIe or will Apple will 'courageously' kill PCIe on iMac (/s).

------
blattimwind
Very clever to use the same pinout as the PCIe "flexible risers" that already
use USB cables, so only the chip replacement is necessary.

------
fb03
I long for the day we can buy proper ATX-sized arm boards. This is nice and
all but arm can do way more, and without all that historic 16/32 bit mode
clutter x86 has for compatibility.

~~~
floatboth
You can buy mini-ITX sized ones from SolidRun. They even run open source
firmware (EDK2) that exposes most things as generic ACPI hardware.. well
there's still quirks and hardware bugs of course :D

~~~
non-entity
Is edk2 something that should be run in production? I thought it was more of
development platform for UEFI.

~~~
floatboth
Well, commercial vendors usually use AMI's modified version that has a
proprietary fancy setup UI and whatever other crap. But for hobbyist custom
firmware (these ARM systems, Chromebooks, etc) completely raw upstream EDK2 is
totally fine.

Fun fact, System76 now runs slightly modified EDK2 (as a Coreboot payload)
with a custom setup UI written in Rust: [https://github.com/system76/firmware-
setup](https://github.com/system76/firmware-setup)

------
trollied
Discussion from the original PCIe hack:
[https://news.ycombinator.com/item?id=20399555](https://news.ycombinator.com/item?id=20399555)

------
fortran77
If you can plug a keyboard into the power socket, I'd love a Raspberry Pi mod
that put an NVMe drive on the PCI bus. _That_ would be a useful little
computer.

~~~
fulafel
Doesn't the chip-ectomy also lose Ethernet?

Edit: apparently not, but how is the Ethernet connected on the pi4? Is it on
the BCM SoC?

~~~
makomk
Yeah, the Pi 4 finally has an onboard Ethernet controller on the SoC itself.

~~~
fulafel
This says the Ethernet controller is "natively attached" but the SoC datasheet
doesn't mention Ethernet:
[https://www.raspberrypi.org/documentation/hardware](https://www.raspberrypi.org/documentation/hardware)
/raspberrypi/bcm2711/README.md

So maybe it's a separate chip?

~~~
mschuster91
You have to search for RGMII in the bcm2711 datasheet, which is a media-
independent link.

In theory you could rip the PHY chip out and replace it with a fibre PHY, so
you'd get a fibre Pi.

------
wronglebowski
I find this fascinating, and I have a few follow-up ideas.

How many PCIe lanes are on this connector? Is this a full 16x slot? I assume
since it has a very limited amount of PINs I'd assume it's just a 1x.

The next obvious step is hooking up this to a PLX chip. Duplicating the number
of lanes available even if there's no additional bandwidth could really open
up doors.

~~~
LeonM
It is 1x, obviously. But I highly doubt that the PCIe bus is going to be the
bottleneck here ;-)

I guess it would be possible to design an ATX size motherboard with a RPi4
compute module slot (once CM4 becomes available). The PCIe bus would allow all
sorts of peripherals. Don't expect any performance though.

~~~
anon73044
Have you seen [https://turingpi.com](https://turingpi.com) ? I can't imagine
an ATX/ITX/STX compatible breakout board for everything on the Pi 4 would be
an impossible task.

~~~
LeonM
Well, yes, something like that, but not in a cluster form, but just a single
CM4 on a mini-itx form factor board, with PCIe slots, USB ports, ethernet,
etc.

You could build a fully blown Linux desktop peripheral wise, just don't expect
desktop performance.

------
alblue
One of the biggest limitations of the RaspberryPi is that it’s only got one
network port, so that rules out running it as an OpenWRT router for practical
reasons. Does anyone know of a similar miniature board with multiple network
ports that could be used as an OpenWRT router? I’d like to replace my
crumbling router with a low power one that is more configurable than my old
one.

------
peter_d_sherman
I'd love a computer like the Raspberry Pi -- but one where every chip on the
system board is "plug-and-play", that is, all of the chips have pins, and all
are pushed into sockets such that any one of them could easily be pulled and
replaced by another chip that matches the pinout for the given chip, with no
desoldering or re-soldering...

------
boznz
Not just the adventure for some. We use the RPI3/4 as a plug-in module to my
clients range of industrial controllers because we want reliable availability,
forward/backward compatibility and the most important recently is we want to
diversify our supply chain from China it fits the bill nicely on all three.

------
billars
so one can connect a pcie sata adapter and connect sata disks even if on the
same x1 lane?

~~~
tssva
Given it is x1 PCIE 2.0 you are likely to see little performance benefit vs
using a USB solution for connecting sata drives while introducing potential
stability issues.

