RPi Compute Module 4 with DFRobot dual gigabit RJ45 ports

Ok after struggling yesterday to get this working with 22.03 rc6 I now have it working.

I thought I'd share tips in case it helps anyone.

So I had already read these:



Its easy to use the official DFRobot image which is 21.03

However getting 22.03 rc6 to work, I couldn't get it with the above links.

It's quite a nice little thing !

My steps for a simple way to get it working (I don't have the intelligence to build a new image myself :laughing:):

  1. Use the OpenWrt online builder for custom image build of the RPi4 image, and just add these to the text field to include in the custom image: "kmod-r8169 kmod-usb-dwc2 bcm27xx-userland"

  2. Change the following in rootfs on microSD card:


config dnsmasq
        option domainneeded     1
        option boguspriv        1
        option filterwin2k      0  # enable for dial on demand
        option localise_queries 1
        option rebind_protection 1  # disable if upstream must serve RFC1918 addresses
        option rebind_localhost 1  # enable for RBL checking and similar services
        #list rebind_domain example.lan  # whitelist RFC1918 responses for domains
        option local    '/lan/'
        option domain   'lan'
        option expandhosts      1
        option nonegcache       0
        option authoritative    1
        option readethers       1
        option leasefile        '/tmp/dhcp.leases'
        option resolvfile       '/tmp/resolv.conf.d/resolv.conf.auto'
        #list server            '/mycompany.local/'
        option nonwildcard      1 # bind to & keep track of interfaces
        #list interface         br-lan
        #list notinterface      lo
        #list bogusnxdomain     ''
        option localservice     1  # disable to allow DNS requests from non-local subnets
        option ednspacket_max   1232

config dhcp lan
        option interface        lan
        option start    100
        option limit    150
        option leasetime        12h

config dhcp wan
        option interface        wan
        option ignore   1

/etc/config/network : (you need to actually create this)

config interface 'loopback'
        option device 'lo'
        option proto 'static'
        option ipaddr ''
        option netmask ''

config globals 'globals'
        option ula_prefix 'fd73:a89e:d007::/48'

config device
        option name 'br-lan'
        option type 'bridge'
        list ports 'eth1'

config interface 'lan'
        option device 'br-lan'
        option proto 'static'
        option ipaddr ''
        option netmask ''
        option ip6assign '60'

config interface 'wan'
        option device 'eth0'
        option proto 'dhcp'
  1. If you need to use the USB-C port (USB2 speed) then change this on the microSD card:

/boot/config.txt add this line


  1. If you need Luci then after the 1st boot (I didn't realise it would be missing !)
opkg update

opkg install luci

opkg update

opkg install luci-ssl

/etc/init.d/uhttpd restart
1 Like

I had to hack away at the case for better access to the 2 x USB-C ports



The RPi booster antenna I purchased is garbage. I am using an MT7612U chipset USB to WiFi adapter which is really well supported in OpenWrt. It allows proper adjustment of Tx power which I need too.