Skip to main content

[RTEMS/RASP] Networking demo in RTEMS

In order to have the internet application on RTEMS with Raspberry Pi, we first have to check whether the internet works well.

How to find out the mac address??
http://osdir.com/ml/os.rtems.user/2008-04/msg00179.html
https://devel.rtems.org/wiki/TBR/UserManual/Obtaining_Interface_Information

However, so far I can only print out the information of loopback interface
I think the problem probably comes from our institute internet framework.
Therefore, I prepare a Wi-Fi router to get rid of it.

===================
https://devel.rtems.org/wiki/GSoC/2015
https://devel.rtems.org/wiki/Developer/Projects/Open/ImproveRaspberryPiBSP
Ethernet support on RaspPi is stiil an open issue :P

::::::::::::::::::::::::If the internet does work:::::::::::::::::::::::::::

Fortunately, there are some solid networking examples on the git repository.
git clone git://git.rtems.org/network-demo network-demo
cd examples-v2
export RTEMS_MAKEFILE_PATH=~/development/rtems/4.11/arm-rtems4.11/raspberrypi/
make
http demo has an error
init.c: In function 'Init':
init.c:176:38: error: assignment of member 'login_check' in read-only object
   rtems_global_shell_env.login_check = rtems_shell_login_check;
telnetd has an error 

Let's first trace the simplest example = netdemoThere are two .c files in the folder: init.c and test.c
According to the README:

Once this program is running on the target machine, you can test
the network code by:

 Typing commands at the target console:
    - show network statistics
    - transmit TCP packets
    - transmit UDP packets
    Run `telnet target_machine 24742' on another machines.
 Everything you type should be echoed back and noted on
 the target console.
 You can run more than one telnet session at once.
 You can use port number 24743 as well.

press s and enter

Destination     Gateway/Mask/Hw    Flags     Refs     Use Expire Interface
default         127.0.0.1          UGS         0        0      0 lo0
127.0.0.1       127.0.0.1          UH          1        0      0 lo0
************ MBUF STATISTICS ************
mbufs: 512    clusters:  64    free:  64
drops:   0       waits:   0  drains:   0
      free:511           data:1           header:0           socket:0
       pcb:0           rtable:0           htable:0           atable:0
    soname:0           soopts:0           ftable:0           rights:0
    ifaddr:0          control:0          oobdata:0

************ INTERFACE STATISTICS ************
***** lo0 *****
Address:127.0.0.1       Net mask:255.0.0.0
Flags: Up Loopback Running Multicast
Send queue limit:50   length:0    Dropped:0

************ IP Statistics ************

************ ICMP Statistics ************

************ UDP Statistics ************

************ TCP Statistics ************

About the network-configuration:
https://docs.rtems.org/doc-current/share/rtems/html/networking/Network-Configuration.html

https://docs.rtems.org/doc-current/share/rtems/html/networking/Network-device-configuration.html#Network-device-configuration


Comments

Popular posts from this blog

RSB+RTEMS 5/6 with QEMU-SMP (ARM realview_pbx_a9_qemu as example)

Since I got a request regarding this blog  written in 2016, summarizing again the complete flow with the latest version of RTEMS could be a good idea. Prepare a suitable workspace according to the adopted operating system on your host ( https://docs.rtems.org/branches/master/user/hosts/index.html ):  sudo apt-get build-dep build-essential gcc-defaults g++ gdb git unzip pax bison flex texinfo unzip python3-dev libpython-dev libncurses5-dev zlib1g-dev Checkout RSB and build: git clone git://git.rtems.org/rtems-source-builder.git rsb change directory to rsb/rtems/ and type ../source-builder/sb-set-builder --prefix=<the path you like to store the built toolchains> <the name of bsp> For example, to use QEMU, I need toolchains for ARM, so: ../source-builder/sb-set-builder --prefix=/home/kh.chen/respository/build/. 6/rtems-arm This will take a while. Please ensure your connection is reliable. Add the built folder into your PATH. For example, you can add one line in ~/.bas...

[ubuntu] Removing the instance/package which is not fully installed from apt-get

When I'm installing g77-3.4 for pgplot, I trivially use dkpg to install it. However, g77-3.4-doc is not able to fully installed. And I stuck for this kind of error due to the broken packages (refer to here ): dpkg: error processing realplayer (--configure/--purge/--remove): (Whatever messages) Errors were encountered while processing: g77-3.4-doc cd /var/lib/dpkg/info sudo rm g77-3.4-doc* sudo dpkg --remove --force-remove-reinstreq g77-3.4-doc Hmm, now apt-get works well again. https://www.youtube.com/watch?v=S9HJ-iAzf3k

[RASP] VirtualBox Raspberry Pi debuging

This article is for the perspective that planning to debug Raspberry Pi connected to (Guest) Ubuntu Virtualbox with USBtoUART and Screen/terminal. There are two important issues that you may face: You cannot detect USB devices: You probably have a permission issue on your Virtual box. Add your user ID to group vboxusers with this command: sudo usermod -a -G vboxusers $USER , log off, log on and try again. http://askubuntu.com/questions/481693/virtualbox-usb-add-device-filter-does-not-work-under-14-04 You cannot listen the ttyUSB0: Your permission of (guest) account should be feasible to the ttyUSB0: sudo gedit /etc/group goto line... dialout:x:20: add your "username" dialout:x:20:username http://askubuntu.com/questions/40959/how-do-i-connect-to-tty-com-dev-ttyusb0 After that, then you can detect the plug-in usb on-the-fly or before open the virtual machine. Then, screen /dev/ttyUSB0 115200 (DON"T FORGET TO INSTALL VIRTUALBOX GUEST ADDITION PAC...