[RTnet-users] RTnet on Beaglebone Black
Brought to you by:
bet-frogger,
kiszka
From: Hidde V. (E2M) <hve...@e2...> - 2014-06-30 16:24:47
|
Hello, I'm trying to get RTnet to work on the Beaglebone Black (BBB). However, I have come to a point where I don't know how to proceed. I think here is a good place to ask the questions I have. Installing Xenomai was quite simple using this tutorial: http://brunosmartins.info/xenomai-on-the-beaglebone-black-in-14-easy-steps/. I only deviated from these steps to ensure I compiled the the network driver components as modules. There are three modules for the network driver (as far as I can tell). Loading the non-RTnet modules goes as follows: $ modprobe smsc $ modprobe davinci_mdio $ modprobe ti_cpsw Insert the network cable, and after a while the link comes up and everything works fine. See dmesg output in the attached file ticpsw.log. My ported version for the modules (as well as the r8169 driver I ported earlier) can be found here: https://github.com/hiddeate2m/rtnet/tree/master/. This is the entire RTnet source tree. The specific modules can be found in drivers/rt_smsc.c, drivers/rt_davinci_mdio.c and drivers/ticps/. The modules can be build and installed as usual. Loading the modules ported to RTnet is similar: $ insmod modules/rtnet.ko $ insmod modules/rt_smsc.ko $ insmod modules/rt_davinci_mdio.ko $ insmod modules/rt_ticpsw.ko $ ./sbin/rtifconfig rteth0 up Insert the network cable. When the link comes up after a while the BBB freezes completely. All the dmesg output I managed to capture can be found in the attached file rt_ticpsw.log. One important difference between the logs is of course the WARNING from ipipe.c. I searched the file, but could not find out if this is important or not. Does anyone know? If this is not important, I would appreciate it if someone could go over the changes I made and check whether I missed something obvious. I don't have a lot of experience developing kernel modules, so that would be entirely possible. One specific doubt I have is about this change: https://github.com/hiddeate2m/rtnet/commit/6d146ecb3e96f6e8246bab75f0215426758273b6#diff-4b6eba354f4ac056e652c3d4f3468d63R722. Does this method really support the rtnet_device structure? It is similar to the construct found in the rt_macb driver though. Kind regards, Hidde Verstoep E2M Technologies B.V. |