Week-6 @RTEMS-GSoC-2025
Published on 02 Jul 2025
Overview
This week, I completed the following tasks :
- Using tests of
ttcpandtelnetfrom RTEMS Net Legacy Demos - Code towards completing GRETH lwIP Driver Initialization Coding part
- Tried setting up QEMU so as to use QEMU on one end of virtual bridge and SIS with GRETH emulated, on its otehr end, for a completely virtual network
Work completed this week
- Using tests of
ttcpandtelnetfrom RTEMS Net Legacy Demos- Now, I decided to try tests available in RTEMS Net Legacy Demos for testing Legacy GRETH Driver. The tests which I tested are :
ttcpandtelnetd. +makeandmake cleancommands don’t work since the Makefile requires some variables to be set. So for my project I had to use the folowing :
>>> export RTEMS_MAKEFILE_PATH=$HOME/quick-start/rtems/7/sparc-rtems7/leon3
>>> export PROJECT_ROOT=$HOME/quick-start/rtems/7
telnettest seem to go on smoothly and it apparently just seemed to start the telnet server and just delete the task immediately.- Now i went ahead to test
ttcptest. However, I encountered the following errors :- Floating point unit was being attempted to use in an unsupported context.
It was resolved by doing the following :
- Adding
#define CONFIGURE_INIT_TASK_ATTRIBUTES RTEMS_FLOATING_POINTbeforeconfdefs.his included, so that the startup task can be created along with access to use Floating Point Unit - Specify
RTEMS_FLOATING_POINTinstead of originally usedRTEMS_NOFLOATING_POINTin the call tortems_task_create()atrtems-net-legacy-demos/tcp/rtems_ttcp.c. Resolving this issue helped start the ttcp terminal. But I was unsure, after startingttcpreceiver on SIS, to which IP address sould I connectttcptransmitter, in another terminal, to.
- I was trying to print the IP address aand name of host. However, at that point, I was not getting where I can print them. I knew from my previous debugging time that I neded to access specific field sof
struct rtems_bsdnet_configandrtems_bsdnet_ifconfigbut not exactly where can I print them. (This was solved in next week)
- Adding
- Switching from static network configuration to DHCP :
- For using DHCP Network configuration in
ttcptest I used the following settings inrtems-net-legacy, and built and installed it.:
NET_CFG_IFACE = lo0
NET_CFG_BOOT_PROT = dhcp
NET_CFG_NETMASK = 255.0.0.0
NET_CFG_MAC_ADDR = 00:00:00:00:00:00
NET_CFG_GATEWAY_IP = 0.0.0.0
NET_CFG_DOMAINNAME = localnet - Then I used the following settings in
rtems-net-services, and built and installed it.:
NET_CFG_IFACE = lo0
NET_CFG_BOOT_PROT = dhcp
NET_CFG_NTP_IP = 0.freebsd.pool.ntp.org
NET_CFG_DNS_IP = 8.8.8.8 - then i used
ttcpshell01.exeandtelnetd01.exeobtained after buldingrtems-net-servicesto check assignment of IP address but no IP address was assigned


- For using DHCP Network configuration in
- Floating point unit was being attempted to use in an unsupported context.
- Now, I decided to try tests available in RTEMS Net Legacy Demos for testing Legacy GRETH Driver. The tests which I tested are :
- Code towards completing GRETH lwIP Driver Initialization Coding part :
- I resumed coding for GRETH lwIP part, aiming to complete initialization of driver.
- As suggested my mentors, I began building GRETH lwiP i.e. RTEMS lwIP Package for GRETH driver. Ofcourse, I faced a ton of errors at the beginning, most of which were compilation errors, ome also included linker errors, syntax errors, data type errors, typos, etc.
- I worked on resolving each one of them. all were not resolved by the end of this week, but only few remained, which were resolved the next week.
- Tried setting up QEMU so as to use QEMU on one end of virtual bridge and SIS with GRETH emulated, on its otehr end, for a completely virtual network
- Actually, till now, I was working with SIS on one end of virtual bridge
lxcbr0, and my host computer on the other end. However for complete freedo of communication, in some cases, we bneed to remove all restrictions, like firewalls, or use some commonly known/used ports or less secure tests, which are generally used only for testing purpose. - Using my host computer, which is also connected to the inetrnet, becomes bit risky for such testing purposes. So just to be on the safer side, and discussing with other mentors in the previous GSoc weekly meet, gedare Sir proposed to use QEMU on one end of
lxcbr0instead of my host computer. - So out of pure fascination, I tried emulating Raspberry Pi 4B and then setting network configurations on it, but was unsuccessful to set the network configurations as expected. Also unfortunately, Ethernet - GENET, used in Raspberry Pi 4B, wasn’t yet emulated in QEMU. So it was not much successful trying with Raspberry Pi 4B.
- Actually, till now, I was working with SIS on one end of virtual bridge
Plans for next week
- Work towards fulfilling midterm deliverables
- Work using SIS on one end of the communication and otehr end being in a virtual environment established using platforms like QEMU, for complete virtualization of netork and separation from actual internet.
- Try debugging GRETH Legacy Driver simulation in SIS
- Create blog till Week-7
Blogs during GSoC-2025 period at RTEMS for the project - Providing SPARC GRETH Network Drivers for lwIP