Help with RockPro64 and 4 Port PCIe NIC

I've been wanting to upgrade my router for a while now but haven't been able to pull the trigger on anything. I have a RockPro64 and just learned that it has snapshot builds and 21.02 RC builds so I pulled the trigger on a 4 port PCIe Fujitsu D2745-A11 NIC (Intel).

However, I'm having some trouble with it. Whenever I have the 4 port NIC connected I cannot connect to the device at all and get an APIPA (169.254..) IP address on my laptop. When I boot the board up without the 4 port NIC, I get a proper 192.168.1.* IP address on my laptop and can connect to the board at 192.168.1.1.

I've tried connecting to every port but results are the same. I tried configuring the board with the built in port then connecting the 4 port NIC but get the same results.

I was able to borrow a single port Broadcom NIC which works properly after installing the driver so I know the PCIe port is definitely working under OpenWrt.

I know the RockPro64 is a fairly obscure device but hopefully somebody can shed some light on why this might be happening.

Thanks for any help.

I wouldn't be surprised if you'd run into power problems with a quad card connected - if you can, borrow a single port card to confirm basic PCIe functionality first.

I am curious, what case are you using that can hold the pci-e card?

I'm using the Pine64 NAS case. A bit large for this use but I already have it and there's not really a smaller option that I'm aware of.

I had success with a single port card. I'm admittedly not too familiar with how much power a 4 port NIC would draw but seems like that could be the issue. Although, I did used to run a 4 port SATA card and power two 3.5" SATA HDDs and a 2.5" SSD (through the dedicated power header on the board).

You probably need to run trunk and from what I know you need to install the Intel NIC driver separately in OpenWrt. What you also can try to make sure everything is working, try booting FreeBSD 13 which should contain a driver for your NIC ootb. There's also display output via HDMI as long as you don't have a 4K display or a HDMI to VGA-adapter (u-boot display support is a bit picky). DHCP is enabled by default so you should see your box on the network (if connected via your Fujitsu NIC), default login is freebsd/freebsd and root/root (su root).
http://ftp.freebsd.org/pub/FreeBSD/releases/ISO-IMAGES/13.0/FreeBSD-13.0-RELEASE-arm64-aarch64-ROCKPRO64.img.xz
In "worst case" the builtin NIC should work irregardless as long as the device boots. I'd recommend at least a 3A PSU btw.
Edit: I should also mention that UART(serial) also works of course, keep in mind the 1.5M baud rate :slight_smile:

I tried booting Armbian with the 4 port NIC connected and it wouldn't boot. I'll try FreeBSD as well just for kicks but am expecting the same result.

I came across this thread over at the Pine64 forum that suggests there's an issue with how the board handles some PCIe cards requiring a kernel patch/hack. I'm thinking this is what I'm experiencing.

I guess it's back to the drawing board for my router upgrade. With so many devices that "just work", the RockPro64 isn't looking like the right device for the job now. Guess I got a bit ahead of myself.

I appreciate everyone's help and suggestions.

I've had various success with Armbian and RockPro64, give FreeBSD or NetBSD go just to be sure. If FreeBSD works I can give you a hand in setting it up if interested.

I tried to boot FreeBSD but don't get any activity on the board with or without the NIC connected. Is there more to booting FreeBSD than just writing the image to the SD card? I've never used a BSD before. I tried writing with Etcher and with standard dd.

Probably try OpenBSD instead? In my impression, if OpenBSD support the card, it surely can be used reliably with other OSes.

Ok, so scratch the part about no activity when trying to boot FreeBSD. Maybe I was being too impatient on the initial boot.

It is booting successfully with and without the 4 port NIC connected. I was able to SSH into the board through the built-in NIC and the PCIe NIC

It runs growfs during first boot which can take a while before it finishes depending on the size and speed of your SD card. Great that it's running! If you want I have a slightly customized image with 13-STABLE branch (I wanted a few things that didn't make it into -RELEASE such as RTC driver and a few other things) and altq enabled simply because I wanted to save some time that's a bit firewall/gateway/router-ish friendly. I've been running a Rockpro64(s) for quite a while now without issues if you're interested :slight_smile: PM me if that's the case

Linux's PCIe driver can be a bit wonky and the forked kernel sometimes works and sometime it doesn't, I haven't time looking into way tbh. I think it'll be fixed in you use a newer kernel though like 5.11 or so.

I'll admit a bit hesitant to set up such a critical part of the network in an OS I'm unfamiliar with but curiosity tends to get the best of me! I'll PM you.

Thanks

Try a Fujitsu D3045-A11, or other variant based on Intel i350. Used mine in "home" production for months now.

1 Like

It's been sorted out :slight_smile:

1 Like

If your problem is solved, please consider marking this topic as [Solved]. See How to mark a topic as [Solved] for a short how-to.

Good to know this one is confirmed to work. Thanks for the heads up! From what I can see, they seem to be a bit pricey though.

Not necessarily "solved" on the OpenWrt side of things but ended up going a different route with FreeBSD.

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.