Hi, I still get the same error , even reducing the number of PETH devices: -> NetApp_GigInit STATUS OF intConnect = 0 BigMacDriver CTOR OctalMacNumber = 0 status = 0 status = ffffffff Failed to load Pseudo Ethernet driver number 0 Failed to load Pseudo Ethernet driver number 1 Failed to load Pseudo Ethernet driver number 2 Failed to load Pseudo Ethernet driver number 3 value = -1341915136 = 0xb0040000 Some hints: I am compiling the vxworks_mvr application using Tornado with the following flags: ccarm -g -mcpu=strongarm110 -mapcs-32 -ansi -nostdinc -DRW_MULTI_THREAD -D_REENTRANT -mno-sched-prolog -fno-builtin -fvolatile -w -Wall -pedantic -I. -IC:/Tornado/target/h -Ic:\ixp1200\include -Ic:\ixp1200\SA1_CoreLibs\libd -Ic:\ixp1200\msgq -Ic:\ixp1200\SA1_CoreLibs\GigaMAC_GC82547EB -Ic:\ixp1200\SA1_CoreLibs\debug_1200 -Ic:\ixp1200\utils -DCPU=ARMSA110 -DOS=VXWORKS -DIOSTYLE=HARDWARE -DVX_WORKS -DVXWORKS -DROUTE -DFBUS_DEV0_TYPE=0 -DFBUS_DEV1_TYPE=1 -DMAC_21440 -DMAC_GC82547EB -DWB_SVR -DFBUS_DEVICE_COUNT=2 -D__unix -DRTM_MVR -DROUTE -DPETH_DRV -DPETH_NUM_DEVS=4 That are the same flags found in vxworks_mvr.mak makefile Any suggestions? In addition , I'd like to know exactly where the route for port 18 should be inserted in the fixed routing table that is implemented in \Ixp1200\SA1_Corelibs\app1200\net_app.cpp, because there is a preprocessor directive that banned the insertion of a route in the place where other routes are added. An extracted portion of the code explains this: #ifdef ROUTE #ifndef RTM_MVR ------------------> it is assumed that if MVR is used a new route can not be inserted?? rt_add("1.1.1.1", "255.0.0.0", 1); ....etc Thanks in advance, Servio "Johnson, Erik J" wrote:
Sorry, I missed the last part of your email. The PETH driver ASSUMES it gets packets from port 18, you don't need to instantiate that many drivers. Simply instantiate drivers for the ports you want to logically represent to VxWorks (e.g, just the first 4 10/100 ports). Then each driver will enqueue for the transmit port associated with its instance, all will receive from port 18 and demultiplexing will be done based on the ingress port number within the packet descriptor. Note, you should be loading the MVRRefdes microcode with this driver since it has modifications to the microcode that allow the core to properly enqueue on the outgoing (transmit) queues.
erik
-----Original Message----- From: Servio Lima [mailto:servio@andrew.cmu.edu] Sent: Tuesday, November 21, 2000 2:23 PM Cc: ixp1200@CS.Princeton.EDU Subject: PETH drivers
Hi, Does anyone has experience using Pseudo Ethernet drivers for StrongArm-Microengine communications? I got the following problem each time I compile with the -DPETH_DRV flag on (using Tornado Workbench):
-> ld < my_rtmmvr.out Loading C:/project2/ARMSA110gnu/rtmmvr.out | value = 3275480 = 0x31fad8 -> NetApp_GigInit
STATUS OF intConnect = 0 BigMacDriver CTOR OctalMacNumber = 0 status = 0 status = ffffffff Failed to load Pseudo Ethernet driver number 0 Failed to load Pseudo Ethernet driver number 1 Failed to load Pseudo Ethernet driver number 2 Failed to load Pseudo Ethernet driver number 3 Failed to load Pseudo Ethernet driver number 4 Failed to load Pseudo Ethernet driver number 5 Failed to load Pseudo Ethernet driver number 6 Failed to load Pseudo Ethernet driver number 7 Failed to load Pseudo Ethernet driver number 8 Failed to load Pseudo Ethernet driver number 9 Failed to load Pseudo Ethernet driver number 10 Failed to load Pseudo Ethernet driver number 11 Failed to load Pseudo Ethernet driver number 12 Failed to load Pseudo Ethernet driver number 13 Failed to load Pseudo Ethernet driver number 14 Failed to load Pseudo Ethernet driver number 15 Failed to load Pseudo Ethernet driver number 16 Failed to load Pseudo Ethernet driver number 17 Failed to load Pseudo Ethernet driver number 18 Failed to load Pseudo Ethernet driver number 19
Exception number 16: Task: 0x3bff74 (t31)
Data abort Program Counter: 0xcc294 Status Register: 0x60000013 8e6c8 _vxTaskEntry +28 : 3ff64 () 40008 _wdbFuncCallLibInit+128: _NetApp_GigInit () cc358 _NetApp_GigInit+c : _NetApp_Init__Fv ()
Data abort Exception address: 0x000cc294 Current Processor Status Register: 0x60000013 Task: 0x3bff74 "t31" value = 0 = 0x0
I am using -DPETH_NUM_DEVS=20, that is 20 PETH devices, because I want to use port No. 18 for the StrongArm-uengine communication.
Basically the problem is the invocation of the function: cookie = muxDevLoad(pethDrvNum, pethEndLoad, pethInitStr, 0, NULL); that can be found in \IXP1200\SA1_CoreLibs\app_1200\net_app.cpp
My goal is to transmit a packet from the StronArm to the uengine and viceversa. I think I should enable the PETH functionality first, but if anyone knows of another method for doing the same, please let me know ASAP.
Any help would be appreciated.
Regards, Servio Lima7