NistNet-3.0a

The NistNet-3.0a AimSys patch makes it possible to run NistNet 3.0a on a linux 2.6.23 kernel. Untar / zip the nistnet-3.0a.tgz file as can be obtained from NistNet Home. Copy the patch to the directory above the just unpacked nistnet-3.0a directory. Then run the patch patch -Np1 -i ../nistnet-3.0a_aimsys.patch from within the nistnet-3.0a directory.

Next step is to install the right kernel modules, so that NistNet can install its own rtc module. To do this follow the steps below:

Start NistNet

1. su – root
2. rmmod rtc_cmos < — This one is using irq 8, remove it.
3. modprobe rtc < — Load the rtc kernel module. NistNet wants to unload this module, do not worry if it is not present.
4. cd < your NistNet build directory > .
5. ./Load.NistNet
6. Check if the NistNet modules is present with lsmod

In the output of lsmod try to locate the NistNet and rtc driver modules:

Module Size Used by
nistnet 57108 0 < — nistnet kernel module !
rtc_core 16136 0
rtc_lib 6400 1 rtc_core

When you use NistNet as is described below you should see interrupts coming on IRQ 8. If you execute cat /proc/interrupts there should be a listing like: 8: 1409690531 0 IO-APIC-edge fast_rtc Where fast_rtc is the interrupt handler of NistNet.

If you do not see the interrupts on irq 8, you need to enable the old fashioned rtc and disable the HPET timers in the kernel. Download the kernel from linux 2.6.23 or whatever kernel source you prefer. At this point the best choice would be to copy the kernel config from your distribution you are using right now, to where you have unpacked the kernel source. If you are using fedora you could do something like this:

1: uname -a Linux < linux_pc_name > 2.6.22.7-57.fc6 #1 SMP Fri Sep 21 19:26:56 EDT 2007 i686 i686 i386 GNU/Linux
2: cp /boot/config-2.6.22.7-57 /< path to youre working directory > /kernel/linux-2.6.23/.config 3: Then modify the following values in the kernel .config:

CONFIG_RTC=m
CONFIG_GEN_RTC=m
CONFIG_GEN_RTC_X=y
CONFIG_RTC_LIB=m
CONFIG_RTC_CLASS=m
# RTC interfaces
CONFIG_RTC_INTF_SYSFS=y
CONFIG_RTC_INTF_PROC=y
CONFIG_RTC_INTF_DEV=y
# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
# CONFIG_RTC_DRV_TEST is not set
# SPI RTC drivers
# Platform RTC drivers
CONFIG_RTC_DRV_CMOS=m
# CONFIG_HPET_TIMER is not set
# CONFIG_HPET is not set
CONFIG_GENERIC_TIME=y
CONFIG_HIGH_RES_TIMERS=y
# CONFIG_HPET_TIMER is not set
CONFIG_X86_PM_TIMER=y
CONFIG_TIMER_STATS=y
CONFIG_KTIME_SCALAR=y

4: To be safe do a make clean.
5: make bzImage; make modules; make modules_install; make install
6: Reboot to the just build and installed kernel.
7: Try to start NistNet as described here above.

Problems related to this website or remarks / suggestions to its content can be mailed to: AimValley

THIS SOFTWARE AND CONTENT OF THE WEBSITE IS PROVIDED BY “AS IS” AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR THE CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.