Raspberry Pi Kernel recompile for waveshare 1Gbit Network interface

  • mediocre_chloride
  • mediocre_chloride's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
10 Jun 2025 14:54 #330089 by mediocre_chloride
Hi all
My goal is to setup a raspberry pi with ethercat.

I have a raspberry Pi 5 with an additional network interface from waveshare ( here )
its planned to use this additional ethernet port for connecting the machine to the network, and the native Port on the Pi for Ethercat.
to use this additional Interface, the kernel needs to be recompiled with some additions to the config file.

I am not familiar with recompiling a kernel, thats why i am seeking help here. 

Has anyone encountered similar issues?
Is there maybe a fixed Kernel to download so i dont need to do the recompile?

greetings
Marc






 

Please Log in or Create an account to join the conversation.

More
10 Jun 2025 20:59 #330104 by unknown
Shouldn't need recompiling as, our images use a kernel built from the Raspberry Pi GitHub sources.
The only difference being is choosing the kernel config option for real time.
If the standard kernel doesn't work give me a yell and I'll build an update image, as there are a few minor things I would like to add.

Please Log in or Create an account to join the conversation.

  • mediocre_chloride
  • mediocre_chloride's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
10 Jun 2025 22:43 - 10 Jun 2025 22:44 #330108 by mediocre_chloride
Thanks for the fast reply

I Downloaded 2.94 Rpi 5 based OS from the official linuxcnc/download site.

The Waveshare user guide states that something in the lines of:
Device Drivers
> Network device support
    > Ethernet driver support
       > Realtek devices
          > Realtek 8169/8168/8101/8125 ethernet support

needs to be added if not using original rpi os.
i am pretty sure that is the problem, as i see the card with lspci as described in the user guide:

 

but not in ifconfig:

 

it is also stated, drivers could be installed manually but its not recommended.
Also, there are other rpi linuxcnc distros floating around, do you think its worth switching around?
 
Attachments:
Last edit: 10 Jun 2025 22:44 by mediocre_chloride.

Please Log in or Create an account to join the conversation.

More
10 Jun 2025 23:32 #330110 by unknown
Like I said the kernel in the image is the same as the RPi OS (with realtime added)

Driver is there:
cnc@raspberrypi:/boot$ ls /lib/modules/6.12.11/kernel/drivers/net/ethernet/realtek/
r8169.ko.xz
cnc@raspberrypi:/boot$ sudo modinfo r8169
filename:       /lib/modules/6.12.11/kernel/drivers/net/ethernet/realtek/r8169.ko.xz
firmware:       rtl_nic/rtl8126a-3.fw
firmware:       rtl_nic/rtl8126a-2.fw
firmware:       rtl_nic/rtl8125b-2.fw
firmware:       rtl_nic/rtl8125a-3.fw
firmware:       rtl_nic/rtl8107e-2.fw
firmware:       rtl_nic/rtl8168fp-3.fw
firmware:       rtl_nic/rtl8168h-2.fw
firmware:       rtl_nic/rtl8168g-3.fw
firmware:       rtl_nic/rtl8168g-2.fw
firmware:       rtl_nic/rtl8106e-2.fw
firmware:       rtl_nic/rtl8106e-1.fw
firmware:       rtl_nic/rtl8411-2.fw
firmware:       rtl_nic/rtl8411-1.fw
firmware:       rtl_nic/rtl8402-1.fw
firmware:       rtl_nic/rtl8168f-2.fw
firmware:       rtl_nic/rtl8168f-1.fw
firmware:       rtl_nic/rtl8105e-1.fw
firmware:       rtl_nic/rtl8168e-3.fw
firmware:       rtl_nic/rtl8168e-2.fw
firmware:       rtl_nic/rtl8168e-1.fw
firmware:       rtl_nic/rtl8168d-2.fw
firmware:       rtl_nic/rtl8168d-1.fw
license:        GPL
softdep:        pre: realtek
description:    RealTek RTL-8169 Gigabit Ethernet driver
author:         Realtek and the Linux r8169 crew <netdev@vger.kernel.org>
srcversion:     668EE5A1A5251AE4E5F0F08
alias:          pci:v000010ECd00003000sv*sd*bc*sc*i*
alias:          pci:v000010ECd00008126sv*sd*bc*sc*i*
alias:          pci:v000010ECd00008125sv*sd*bc*sc*i*
alias:          pci:v00000001d00008168sv*sd00002410bc*sc*i*
alias:          pci:v00001737d00001032sv*sd00000024bc*sc*i*
alias:          pci:v000016ECd00000116sv*sd*bc*sc*i*
alias:          pci:v00001259d0000C107sv*sd*bc*sc*i*
alias:          pci:v00001186d00004302sv*sd*bc*sc*i*
alias:          pci:v00001186d00004300sv*sd*bc*sc*i*
alias:          pci:v00001186d00004300sv00001186sd00004B10bc*sc*i*
alias:          pci:v000010ECd00008169sv*sd*bc*sc*i*
alias:          pci:v000010FFd00008168sv*sd*bc*sc*i*
alias:          pci:v000010ECd00008168sv*sd*bc*sc*i*
alias:          pci:v000010ECd00008167sv*sd*bc*sc*i*
alias:          pci:v000010ECd00008162sv*sd*bc*sc*i*
alias:          pci:v000010ECd00008161sv*sd*bc*sc*i*
alias:          pci:v000010ECd00008136sv*sd*bc*sc*i*
alias:          pci:v000010ECd00008129sv*sd*bc*sc*i*
alias:          pci:v000010ECd00002600sv*sd*bc*sc*i*
alias:          pci:v000010ECd00002502sv*sd*bc*sc*i*
depends:        
intree:         Y
name:           r8169
vermagic:       6.12.11 SMP preempt_rt mod_unload modversions aarch64
sig_id:         PKCS#7
signer:         Build time autogenerated kernel key
sig_key:        14:CE:12:BC:56:1A:45:BD:26:4B:22:D7:A5:0D:7A:06:44:B9:F4:69
sig_hashalgo:   sha1
signature:      4A:5E:4B:28:A7:ED:65:3D:C8:53:C3:E2:BD:07:40:04:C0:32:C0:8E:
		4E:C5:37:6A:AE:02:25:29:77:E4:6F:92:65:10:15:3D:2A:05:62:9C:
		13:B7:B5:8A:8F:CA:95:FF:A6:B6:73:E2:85:75:D2:FD:C1:1E:58:64:
		3D:B1:97:1A:DB:85:9D:30:5F:98:FB:B6:55:54:42:37:8E:33:C2:36:
		0A:D5:DF:96:4D:9E:C1:1E:FE:B3:33:B1:7F:B2:1B:B4:76:FD:16:2C:
		66:22:9C:02:B2:ED:32:99:47:6B:96:FB:4D:1F:0F:DF:BE:D2:D7:F2:
		4E:FB:DB:AF:70:ED:AD:91:22:3F:08:96:88:C3:C9:BB:7A:80:7F:E4:
		40:E7:4D:AA:25:E5:DD:0D:78:0D:7E:14:EB:98:05:36:31:D2:2F:FA:
		9E:55:3F:11:71:F6:3A:4C:A5:F2:A7:F7:D6:B3:84:31:27:88:0B:18:
		61:F6:68:F9:31:D6:C7:8D:E6:9C:17:2F:25:05:DF:3F:19:7F:69:95:
		5E:C4:1F:09:D1:31:CE:E2:77:A3:F2:63:F4:16:9D:EC:B8:5D:33:01:
		75:BB:59:6E:6D:70:93:92:4F:CF:45:9A:9C:AA:DB:F0:C3:CB:CD:54:
		14:EF:25:C3:61:5F:05:52:BB:57:9D:D4:DA:F6:72:F4:AC:56:1E:EC:
		5D:3D:79:EB:15:67:2A:80:CD:D8:2E:D1:AA:07:8F:C5:BB:E3:BD:32:
		A7:E8:32:F7:5E:CD:E0:42:C1:05:EB:28:41:C4:FE:34:E0:6D:7E:E1:
		4F:34:EF:C0:25:95:A3:4D:7F:AE:04:7A:9A:9E:17:91:5C:89:CF:F1:
		E7:27:B1:D9:E2:F5:9E:45:DE:C3:78:15:B9:35:29:3A:83:0E:54:EF:
		80:D6:A6:09:0D:9C:F0:18:4A:5C:00:89:88:10:B6:66:44:31:78:A9:
		C3:47:1D:73:C6:1C:0E:33:DE:01:13:A8:C1:7B:13:82:D9:CB:0F:E5:
		2C:AC:24:70:F1:4A:45:E9:67:0F:38:94:0A:51:72:A7:4A:3A:BA:05:
		89:D0:0D:13:A2:23:05:3A:1B:96:EE:5E:28:79:14:C9:20:F6:D4:94:
		F7:C0:20:FB:E3:B9:52:3D:BB:C5:BB:68:DE:F8:08:32:4E:A4:F2:F5:
		2C:98:87:E8:E5:23:3A:7A:7A:A7:4C:AA:97:04:07:3A:4A:FF:AD:EA:
		1C:52:C0:2D:20:73:F7:75:A1:94:92:4E:64:21:4A:0E:35:22:73:81:
		92:84:97:98:3A:C2:3E:06:99:42:86:1D:33:7E:8A:22:90:3F:66:8C:
		57:76:DE:B3:EC:D2:AA:DE:54:E4:C0:6E

You may have to check dmesg for any references to R8169. PCIe should be enabled, I used a NVMe boot drive. Remember that the location of config.txt is
/boot/broadcom/config.txt
I sure this is mentioned in the main image RPi5 thread.

Please Log in or Create an account to join the conversation.

More
11 Jun 2025 12:10 #330138 by rodw
Seems the card uses a R8168 interface. The R8168 requires a DKMS driver to get acceptable RT  performance. Not sure how that goes with a Pi. I would not use it for ethercat but would be fine for general network use.

Please Log in or Create an account to join the conversation.

Time to create page: 0.122 seconds
Powered by Kunena Forum