RTnet on Beaglebone

Hello everyone,
I got Xenomai 3.0.7 running on my Beaglebone Enhanced with kernel 4.4 from BeagleBone kernel repository. Now I am trying to send some UDP messages in real-time from one BBE to another, which works fine on other BBEs without Xenomai.

Currently, I guess that I need RTnet and its related drivers on my Ethernet interface first. Therefore, as I haven’t found that much online, I was wondering whether someone knows how to get it done?

Thank you very much,

@eloa, currently RTnet doesn’t support the AM335x network interface:

    *** Common PCI Drivers ***
< > AMD PCnet32 (NEW)                           
< > DEC Tulip (NEW)                             
<M> Intel EtherExpress PRO/100 (NEW)            
(20)  Command Timeout (NEW)                     
[ ]   Enable debugging and instrumentation (NEW)
<M> Intel(R) PRO/1000 (Gigabit) (NEW)           
< > New Intel(R) PRO/1000 PCIe (Gigabit) (NEW)  
< > NatSemi (NEW)                               
<M> Realtek 8139 (NEW)                          
< > VIA Rhine (NEW)                             
< > Intel(R) 82575 (Gigabit) (NEW)              
< > Realtek 8169 (Gigabit) (NEW)                
    *** Embedded MPC Drivers ***                
- - MPC8260 FCC Ethernet                        
- - MPC8xx FEC Ethernet                         
- - MPC8xx SCC Ethernet                         
- - MPC52xx FEC Ethernet                        
    *** Misc Drivers ***                        
<M> Loopback (NEW)                              
< > SMSC LAN91C111 (NEW)                        
- - AT91RM9200 Board Ethernet Driver            
- - MACB AT91SAM926x devices                    
[ ] Experimental Drivers (NEW)                  
- -   3Com 59x                                  
- -   New Intel(R) PRO/1000 (Gigabit)           
- -   Ralink 2500 WLAN                          

Therefor, RTnet isn’t even enabled in the beagleboard kernel builds…


Hello @RobertCNelson, does that mean that it is not possible to do real time networking? Such as sending UDP packages from one beaglebone to another?

According to this, it should work somehow…

Thank you!
Best, Elias

@eloa, yes from that FOSDEM presentation they do reference the BBB:

Example session (BB Black)
# insmod rtnet .ko
# insmod rt_smsc.ko
# insmod rt_davinci_mdio.ko
# insmod rt_ticpsw.ko
# insmod rtpacket.ko
# insmod rtipv4.ko
# rtifconfig rteth0 up
# rtroute add 00:22:15:80:D5:88 dev rteth0
# rtping

However do you see the rt_ticpsw.ko option available in the current 3.0.x xenomai patch-set?

From my previous post, i don’t see it. So something is missing between that presentation and xenomai git…


@RobertCNelson, I see that, but I’ve found out that some developers seem to provide the needed drivers for the Beaglebone: https://github.com/G-Ray/xenomai-boneblack-rtnet-drivers

However, we’ve decided to use lightweight IP instead, as we are using it already on other devices. Do you, by chance, have any experience on that?

Thank you,

That would be new topic here, sorry I haven’t personally worked with lwIP… Just the linux networking stack…


Wonder why they didn’t post it to Xenomai?


@RobertCNelson, I do not know!

So, I’ve rebuilt your 4.4-xenomai Kernel with RTnet enabled and Xenomai itself works fine so far. But, how do I implement the Boneblack drivers which I can download from the link I’ve sent you? I guess I need to install the needed modules somehow like described here: Re: [RTnet-users] RTnet on Beaglebone Black | RTnet - Real-Time Networking for Linux

Thank you very much!