Yes, this was way too long since the last release. Too many changes piled up, too many people were forced to use a git snapshot. Will try to do better next time. Here are the changes of this release:
- added rt_e1000e
- added rt_fec
- support for kernel up to 3.2 and Xenomai 2.6
- support for premapping rtskbs
(for compatibility with IOMMUs, enabled in rt_igb and rt_e1000e)
- rework of rtnetproxy
- RT-TCP fixes
- MSI-X support for rt_igb
- fixes, extended hardware support and cleanups for rt_r8169
(which is no longer considered experimental)
- added REBIND_RT_NICS feature to rtnet start script
(replaces "cards" driver parameter)
- updated RTAI examples
- copyright clarification for userspace-relevant headers
- various smaller fixes and cleanups... read more
Yet another year passed since the last release, so it's definitely time to role out a new one. To make it short, the list of major changes:
- RT-TCP support
- support for Intel 82575 (igb)
- kernel support up to 2.6.32
- fixed IRQ conflict detection and enabled RT-IRQ sharing for most drivers
- fixed aligment issues in RTcfg and various management interfaces that specifically hit ARM platforms
- fixes that help packaging
- and more fixes all over the place
(find all details in the git log)... read more
Almost exactly one year has passed since the last release, so quite a few changes piled up. We gained a some more drivers, performance and usability improvements were done and, of course, the usual kernel alignment took place.
Here is the full changelog:
- kernel support up to 2.6.29
- statistics support for RT NICs
- enhancements of rtnetproxy (UDP, ARP)
- fixes and enhancements of rt_e1000
- new experimental e1000 driver (shall once replace rt_e1000)
- rtmacb driver for AT91
- hash table based UDP socket lookup
- support for select() on blocking receive
- configurable routing table sizes
- drop socket creation/destruction from RT context
- rewritten mpc52xx driver
- kernel 2.4 build fixes
Here it comes, finally. No revolutionary new features, just steady enhancements and fixes. We have one new driver in this release, rt_at91eth, a fix for an ugly corruption in the ICMP code, and basically everything is aligned with the latest kernel and RTDM versions again.
This is the full changelog:
- adopted to RTDM API revision 6
- support for kernel up to 2.6.24
- added rt_at91_ether [Yeoh Chun Yeow]
- added SIOCGIFADDR support
- udev support
- workaround for rt_e1000 start-up laziness
- updated rt_8139too PCI IDs
- fixed Linux netdev creation on latest kernels for RTmac VNICs and RTcap tap devices
- fixed memory corruption in ICMP code [spotted by Gilles Chanteperdrix]
- minor build system fixes
No major changes, just steady development. One highlight of this release might be the integration of 64-bit support via the fresh x86_64-port of Xenomai . As x86_64-Xenomai is yet available via the development trunk, don't expect a production-ready combination with RTnet. Further testers are welcome!
Note: Enabling 64-bit required a tiny adoption of an RTDM handler prototype so that building RTnet against current stable real-time Linux versions gives a few harmless warnings.... read more
Specifically to help new users getting started with RTnet, a documenation wiki has been set up. The content will be constantly enhanced. Additionally, anyone working with RTnet is invited to contribute helpful pieces or fix remaining mistakes! The URL is http://www.xenomai.org/index.php/RTnet:Main
Not that much has changed, still some useful extensions and a few fixes:
- rt_8139too gained SIOCETHTOOL/ETHTOOL_GLINK support (link status query), other drivers can follow now
- SIOCGIFHWADDR support for RTnet devices (get hardware address)
- fixed missing TOS initialisation for UDP
- micro-optimised rtskb_acquire()
- fixed build error of e1000 over latest I-pipe patch
- fixed remaining build warnings over 2.6.19
- fixed clean and uninstallation rules... read more
This release almost exclusively consists of bug fixes and should avoid introducing new regressions. With the included build fixes, RTnet
should be ready for 2.6.19: first tests over an early I-pipe patch showed now regressions. The fixes may also be relevant for PPC usage over 2.6.18 environments, but this is yet untested.
The full Changelog:
- fixed 0.9.6 regression in packet socket RX path
- fixed restart of recvmsg syscall after signal interruption
- build fixes for upcoming 2.6.19
- fixed rt_eepro100 for PCI bridge scenarios
- speed up locking in TX path of rt_eepro100
- reorganised locking in TDMA discipline to avoid cleanup races on SMP
- hide xxx_rt legacy API (=> use rt_dev_xxx)
This release comes with new support for SOCK_RAW packet sockets and for ETH_P_ALL. The latter is so far realised via suboptimal buffer copying, but I'm confident we will improve this in the future. Both features are based on the work of Jorge Almeida, many thanks to him!
As usual, this version also includes some bug fixes. Here is the full list of changes:
- added missing timestamping support to rt_e1000
- added support for SOCK_RAW packet sockets
- added optional ETH_P_ALL support, so far based on copying rtskbs
- refactoring and minor fixes of SOCK_DGRAM packet sockets
- added missing file for Xenomai over kernel 2.4 build
- fixed broken locking in stack manager (corner-case bug since 0.9.4)
- added examples for ETH_P_ALL and SOCK_RAW (Xenomai POSIX)
- fixed Linux skb leak in rtcap when pseudo interface was down
This release adds another Ethernet driver to RTnet for the increasingly popular Intel PRO/100 Gigabit adapter. Thanks to Mathias Koehrer for contributing it.
As usual, bugs were also spotted in fixed, specifically in RTMAC_RTIOC_WAITONCYCLE*, IOCTLs of the RTmac/TDMA API device. Here is the full changelog:
- added e1000 (Intel PRO/1000) Gigabit Ethernet driver
- refactored, enhanced, and fixed RTMAC_RTIOC_WAITONCYCLE* API
- added tdma-api example
- fixed DMA mapping bug in rt_natsemi
- fixed potential startup issues of TDMA cycles < 1 ms
- fixed "make xconfig"
- various internal refactorings (tulip, time types, IRQ registration) and further minor fixes... read more
Here comes a new release of RTnet. It is mostly aiming at fixing various more or less critical bugs. Specifically, it resolves an ugly race in 0.9.3, upgrading from that version is highly recommended.
It also introduces a few smaller new features, so here is the full changelog:
- fixed critical race of 0.9.3 in reception path [Mathias]
- updated RT-WLAN [Daniel]
- added rt_8139too module parameter for media type [Fabian]
- allow multiple AF_PACKET sockets to listen on different devices for the same protocol
- added support for SIOCGIFINDEX
- revised VNIC numbering, NCIS->RT-device mapping exported via /proc/rtnet/rtmac/vnics
- added installation of examples
- fixed 2.4 build over RTAI-3.3-cv
- various minor updates and fixes in examples, rtping, rtifconfig, and other parts... read more
The subversion repository moved from ailing berlios to sourceforge. The new URL for check-outs is now https://svn.sourceforge.net/svnroot/rtnet.
As usual, this is an update to latest kernel and real-time Linux versions. It also adds a renewed example for measuring round-trip times. Well, and it introduces support for some new media: WLAN!
Thanks to Daniel Gregorek, we now have an experimental raw-WLAN infrastructure + a driver for Ralink 2500 cards (credits also go to Ralink Technology who supported Daniel with chipset information - still not quite usual). This is early stuff, but maybe you already want to have a look. We are convinced this opens quite a few new domains for research and application.... read more
No, this is no joke, this is a real maintenance release! RTnet 0.9.2 bundles all the small fixes and improvements of the last months. Specifically RTAI 3.3 was tested intensively by several users and should show no more surprises if you pick a recent vulcano or magma CVS.
Here is the full list of changes:
* added support for RTDM API revision 4
* finalised Xenomai 2.1 support
* finalised RTAI 3.3 support (but 3.3+CVS recommended due to RTDM bug)
* support for kernel up to 2.6.16
* rtroute support for reading host routes from file
* RTMAC_RTIOC_WAITONCYCLE_EX: support for reporting cycle number
* removed debug messages from init and error paths of rt_8139too
* updated rt_8139too according to Linux driver
* reduce verbosity of rt_eepro100 in non-debugging mode
* added verbosity switch to rtnet script
* fixed TDMA discipline detach
* several build system fixes, including MPC issues
* support for parallel build (make -j)
This release foremostly improves the build system by preparing it for upcoming Xenomai 2.1, re-enabling the kernel 2.4 support, and speeding it (a bit) up for 2.6 kernels. Moreover, some minor cleanup bugs were fixed.
Here is the full list of changes:
* support for upcoming Xenomai 2.1
* flattened directory structure and sped-up 2.6 building
* fixed kernel 2.6.14 related compilation issues
* re-enabled kernel 2.4 support
* joint slot support for tdma.conf
* fixed raw-packet example
* fixed kernel task cleanup issues of some core modules
* re-enable IRQ line on rt_tulip down
* fixed cleanup bug in rtping kernel code
We finally have a new version! RTnet 0.9.0 is waiting to be downloaded from the usual place: www.rts.uni-hannover.de/rtnet/download.html
This release marks another important milestone, although it's not yet THE release, i.e. 1.0. Thanks to the great work of several contributors we now have a first driver for Gigabit Ethernet, Ethernet over RT-Firewire, even more flexible TDMA ("joint slots"), and other smaller useful extensions. The Kernel-based configuration system as known from countless other projects has been adopted, just try "make menuconfig". An internal restructuring and cleanup improved the modularisation of RTnet: if you don't need real-time UDP/IP, just switch it off now.... read more
The RTnet project finally gained the most descriptive domain for its main site: rtnet.org has been registered on one of the project maintainers and now points to the well-known web pages.
The final version of the 0.8-series of RTnet has just been released. It comes with some updates to keep up with the development of the kernel and RTAI/fusion. Here is the full list of changes:
* added support for fusion 0.8.0..0.8.3
* added experimental MPC 52xxx FEC driver
* enabled kernel 2.6.12 compilation
* revised locking in critical sections of rt_8139too and rt_via-rhine
* implemented hash chains for layer 2 protocol management (avoids protocol handler rejection on hashkey collision)
* extended RTmac to let discipline switch off VNIC support or override xmit handler
* fixed handling of zero-sized stage 2 files in RTcfg
* fixed cleanup bug in RTcfg
* fixed rtnet.conf to let rt-driver grab only one NIC by default (again)... read more
Finally, after a longer period of release candidate testing and improving, the new RTnet version 0.8.2 has just been published. As usual, visit
This release both aims at fixing some more or less minor bugs which showed up over the last month and at adding some useful new features. One of those is the user space support for RTAI/fusion. Check the new examples under addons/examples/fusion for the usage - but it's much like under LXRT. Moreover, Wolfgang updated the MPC drivers which should now open the PowerPC architecture again for RTnet. We also enabled the ARM build against RTAI 3.2, but we are yet lacking official drivers for specific ARM controllers (only loopback works). Feel free to contribute! ... read more
You can find a first release candidate of the next RTnet version 0.8.2 on the download page. As the number of supported RTAI versions constantly increases, we depend on user feedback to cover relevant gcc/kernel/RTAI/etc. combinations. This version has mostly been tested with latest fusion on 2.6, but it also contains fixes/new support for RTAI 3.0-3.2.
At this chance, already a special thank to the increasing number of patch contributors!
Spontaneously, we decided to take the chance of having a signifcant number of preinstalled target platforms available at next week's Linux Automation Conference here in Hannover: We will organise a RTnet kick-start session on Friday evening, 1 April. We will set up a real-time network, run some diagnoses, and create a simple example application.
Whoever is interested and can manage to come around will be welcome! Both the kick-start session and the conference are free, please just register at... read more
A bit delayed (according to the roadmap), but now it's done: RTnet 0.8.1 has just been roled out.
Its most significant improvement is the fully implemented slot size enforcement in TDMA. This also required some slight internal changes to the core in order to allow a flexible MTU based on the logical channel a packet is assigned to (i.e. the slot in case of TDMA).
Futher fixes concern foremost "beatifications" and the detection of CONFIG_REGPARM in the kernel configuration.
We are happy to welcome a new developer to the RTnet project: Yuchen has contributed a real-time port of the Linux IEEE-1394 layer, and he will continue to work on a smooth integration of this layer into the main RTnet branch.
FireWire will open interesting new application domains for RTnet. There is an increasing number of projects working with this media, and you can also find more and more industrial field devices supporting 1394. The extension of RTnet by FireWire underlines that RTnet has real potentials to be more than "just" hard real-time Ethernet, in fact it can be hard real-time networking!
The RTnet project, an RTAI-based real-time networking stack with Ethernet support, has achieved another important milestone on its way towards a release 1.0. The version 0.8.0 published today includes many new features and improvements of as yet open issues.
Most noticable is surely the specification and implementation of the revised TDMA media access control discipline. A MAC discipline is required for indeterministic Ethernet to avoid collisions and congestions. The new TDMA-V2 allows a more flexible transmission time slot assignment for every node, supports slave hot plugging as well as backup masters, and further improves the synchronisation of distributed clocks. Side note: TDMA-V2 now also enables stand-alone implementations of RTnet like the RT-EtherBoot patch (see below).... read more
The final release is in sight. RTnet is running very smoothly also on larger test environments now (using RTEtherBoot...). And it is still fascinating to switch off a box and watch it rebooting and rejoining to the real-time network again. Hot-plugging rocks!
Hopefully as a last intermediate step, this release candidate fixes an issue with fusion (task priorities were broken) and adds 0.6.7 support. Furthermore, the user documentation of TDMA-V2 has been slightly improved, see README.rtmac. And finally, an older cleanup bug in the RTmac layer was discovered and fixed.... read more