Skip navigation.

Posts tagged with "APE"

APE testbed V

, ,

PCMCIA Stuff

1.PCMCIA Error
Decide to disable kernel PCMCIA, use standlone PCMCIA package instead

2. Change the Makefile in "kernel" directory
@echo "#######################################################"
@echo "Installing PCMCIA"
@echo "#######################################################"
#rm -rf $(INSTALL_PATH)/etc/pcmcia
#$(MAKE) -C $(PCMCIA_DIR) install DIRS="cardmgr flash debug-tools etc"
$(MAKE) -C $(PCMCIA_DIR) install


3. Something wrong with orinicoo driver, so swith back to kernel support

APE testbed IV

, ,

APE-0.5 compiled in Redhat 2.4.21-9.EL (success!)

Problems
1. Boot problem solved
Solution: Disable "devfs support". It breaks random stuff. (For example, it means that the loop devices mount is checking for are /dev/loop/# rather than /dev/loop#). See this link.

2. Kernel requires old modprobe, old insmod, but couldn't run insmod.old: No such file or directory
Solution:in dist/buildroot/, run make menuconfig, and choose modutils instead of module-init-tools for package selection then go to ape-0.5/, run make buildroot

3. cardmgr freeze even shutdown the system
cardmgr[88]: watching 2 sockets
cs: IO port probe 0x0c00-0x0cff clean
cs: IO port probe 0x0800-0x08ff 
............... freeze!!!

Solution:
change dist/configuration/etc/pcmcia/config.opts, exclue that port
change dist/buildroot/build_i386/root/etc/pcmcia/config.opts, exclude that port

Question:in ape-0.4, change the first one is enough, in ape-0.5, NO! I need to further study
the buildroot tool and how APE create all etc files in root file systems!

4. DSR-piconet problem
When using DSR-piconet, get some error messages:
eth0: Tx error, status 1 (FID=xxxx)

Maybe I should use kernel 2.4.20 instead of 2.4.25. APE document mentions that piconet DSR implementation doesn't work on kernel version > 2.4.20.

5. Something to know about kernel pcmcia driver
For now, I use kernel pcmcia, so if I need to change drivers for the card, the place to go is driver/net/wireless, files airo.c, airo_cs.c, orinoco.c, orinoco_cs.c are there.

Drivers in pcmcia-cs package will not be compiled since I enable PCMCIA support in kernel. I can try to disable this and use the driver provided by pcmcia-cs package.

Modifications
For details, see the file section
1. src/runtime/start_test

Because of the properties of the cards I use (Cisco Aironet 340,350, Lucent WaveLan), change
/sbin/iwconfig $IFNAME mode $WIFI_IBSS_MODE essid "$WIFI_IBSS_ESSID" \
enc off rate $WIFI_IBSS_RATE fixed channel $WIFI_IBSS_CHANNEL

to
/sbin/iwconfig $IFNAME mode $WIFI_IBSS_MODE essid "$WIFI_IBSS_ESSID" \
rate $WIFI_IBSS_RATE channel $WIFI_IBSS_CHANNEL


2. dist/ape.conf
Change dist/ape.conf to be consistent of my current ad hoc network settings,
see files for details!

3. dist/configuration/etc/pcmcia/wireless.opts, dist/buildroot/build_i386/root/etc/pcmcia/wireless.opts
Change pcmcia initial setting (when a new card inserted, how it should be configured!)
It seems that this doesn't have any effect. My guess is that when new card is inserted,
kernel call cardmgr, which doesn't read wireless.opts. For ape-0.4 where I use pcmcia-cs
to manager pcmcia card, when new card is inserted, it will be auto configured according
to this wireless.opts file. I don't know how to achieve this if I enable PCMCIA support in kernel.

One possible solution is to use config.opts. In this file, when load certain module, you can specify opts for the card.

Yet another solution is to write some bash scripts such as setup_wireless and put it in the root directory. After the new card is inserted, run this script to configure it. See file section for details.

4. testbed.ape
Now, node 0 is 192.168.0.105, node 1 is 192.168.0.102, node 2 is 192.168.0.113

APE testbed III

, ,

APE-0.5 compiled in Redhat 2.4.21-9.EL

Problem
Boot process failed!!!
INITRD: Setting up loop devices
/dev/loop0: No such file or directory
INITRD: Loop device successfully setup!
INITRD: Booting the APE Testbed
EXT3-fs: unable to read superblock
EXT2-fs: unable to read superblock
MINIX
FAT


Buildroot Configuration
1. use kernel header 2.4.25

2. use gcc 3.3.5

3. use kernel 2.4.20 (dsr-uq can not work with kernel > 2.4.20 and AODV-UU-0.91 need kernel> 2.4.19).The definition of NETLINK_URELEASE appears at /linux/include/notifier.h start at 2.4.20.

4. use pcmcia-cs-3.2.7 with airo.c airo_cs.c version 6 (change from 1.8)
config.mk

Modification
1. dsr-uq
dsr_output.c line 400
ip_select_ident( (*skb)->nh.iph, (*skb)->dst);

to
p_select_ident( (*skb)->nh.iph, (*skb)->dst, NULL);


2. kernel/Makefile
Delete linux-$(KERNEL_VER).tar.bz2 after linux-$(KERNEL_VER)/.config because
we download it ourselves, and want to compile it later. Remermber to change the download address of pcmcia if you want an old version

3. kernel/driver/ide/ide-cd.h 440
change
__u8 short slot_tablelen;

to
__u16 slot_tablelen;


4. fs/reiserfs/super.c 945
put two lines into one line

5. ape-source-0.5/Makefile
add
src:
$(MAKE) -C $@

don't forget to add src at .PHONY

6. when make olsrd-4.9, there are some errors about makedepend, just recompile it serveral times

7. for dsr-uu, in debug.h add
#include <linux/socket.h> before
#inlcude <linux/in.h> 

because in in.h we need defintion of sa_family_t which is defined in socket.h

8. src/scenarios/Makefile
cp -df testbed.ape $(INSTALL_PATH)/root/scenarios