This is the mail archive of the ecos-discuss@sources.redhat.com mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

RE: FW: Ethernet init problem


Hi again,

Disregard the previous mail about eth_drv_init not being called.
 
> > packages/io/eth/current/src/net/eth_drv.c:eth_drv_init()
> > 
> > when it calls ether_ifattach. Look at the name inside ifp. This has 
> > to be the same name as the ioctl is calling, which from the trace 
> > you posted, is "eth0".

Yes, i can see that it has eth0 as a parameter.  
 
> > Which stack are you using? FreeBSD or OpenBSD?
 

FreeBSD (new stack)

Below is a printout with all logging turned on. In the ethernet setting
in configtool i have enabled the "configure manually". This is because i
want to set the ip etc at a later time. However, nothing has changed in
the calling seqence regarding init_net etc. The only real error i get
right now is the: "Driver can't set multi-cast mode". Can this stop the
init seqence and make the interface unreachable.

I have the default value for loopback (1) set in the freeBSD options in
ConfigTool. Can this have inpact on my driver, like disabling it?

Is there anything else that i can check?

Regards, Daniel


  Init device '/dev/ser1'
QUICC_SMC SERIAL init - dev: 90.54 Init device '/dev/ttydiag' Init tty
channel: 75a48 Init device '/dev/tty0' Init tty channel: 75a68 Init
device '/dev/tty1' Init tty channel: 75a88 Init device '/dev/haldiag'
HAL/diag SERIAL init Network stack using 196608 bytes for misc space
                    196608 bytes for mbufs
                    393216 bytes for mbuf clusters [cyg_net_init] Init:
mbinit(0x00000000) Alloc mbuf = 0x000b2800 Alloc mbuf = 0x000b2880 Alloc
mbuf = 0x000b2900 Alloc mbuf = 0x000b2980 Alloc mbuf = 0x000b2a00 Alloc
mbuf = 0x000b2a80 Alloc mbuf = 0x000b2b00 Alloc mbuf = 0x000b2b80 Alloc
mbuf = 0x000b2c00 Alloc mbuf = 0x000b2c80 Alloc mbuf = 0x000b2d00 Alloc
mbuf = 0x000b2d80 Alloc mbuf = 0x000b2e00 Alloc mbuf = 0x000b2e80 Alloc
mbuf = 0x000b2f00 Alloc mbuf = 0x000b2f80 Allocate cluster = 0x000e2edc
[cyg_net_init] Init: cyg_net_init_devs(0x00000000) Init device
'quicc_eth' [cyg_net_init] Init: loopattach(0x00000000)
cyg_if_attach.214 - After initialize list 0x006450bc
IFP: 0x006450ac (lo0)
cyg_getmicrotime: = 1.0
Net malloc[64] = 0x000b2640
Net malloc[64] = 0x000b25f0
Net malloc[236] = 0x000b24f0
cyg_if_attach.279 - After inserting 0x000b24f0 into list 0x006450bc
IFP: 0x006450ac (lo0)
IFA: 0x000b24f0 - <<0x000b256c>>
[cyg_net_init] Init: ifinit(0x00000000)
IFP: 0x006450ac, next: 0x00000000
[cyg_net_init] Init: domaininit(0x00000000)
zinit 'socket', size: 176, num: 100, flags: 1, alloc: 0 [cyg_net_init]
Init: cyg_net_add_domain(0x0007570c) New domain internet at 0x00000000
Net malloc[64] = 0x000adfa0 Net malloc[64] = 0x000adf50 zinit 'udpcb',
size: 280, num: 100, flags: 1, alloc: 0 Net malloc[2048] = 0x000a69a0
Net malloc[2048] = 0x000a6190 zinit 'tcpcb', size: 616, num: 100, flags:
1, alloc: 0 Net malloc[4] = 0x000970a0 Net malloc[4] = 0x00097090 zinit
'ripcb', size: 280, num: 100, flags: 1, alloc: 0 [cyg_net_init] Init:
cyg_net_add_domain(0x000751a0) New domain route at 0x00000000
[cyg_net_init] Init: cyg_route_init(0x00000000) Net malloc[48] =
0x000902b0 Net malloc[124] = 0x00090220 Net malloc[124] = 0x00090190
[cyg_net_init] Done

About to init network with params:
----------------------------------
IP       :146.75.80.248
MAC      :0-40-85-5-3-e9
Netmask  :255.255.255.0
Broadcast:146.75.80.255
Gateways :146.75.80.254
Server   :192.168.1.101
PC IP    :192.168.0.0
----------------------------------
cyg_if_attach.214 - After initialize list 0x0007483c
IFP: 0x0007482c (eth0)
cyg_getmicrotime: = 1.160000
Net malloc[236] = 0x00090090
cyg_if_attach.279 - After inserting 0x00090090 into list 0x0007483c
IFP: 0x0007482c (eth0)
IFA: 0x00090090 - <<0x0009010c>>
zalloci from socket => 0x000b2400
zalloci from udpcb => 0x000addf8
cyg_ifioctl: cmd: SIOCGIFHWADDR, data:
eth_drv_ioctl: cmd: SIOCGIFHWADDR, data:
00078718: 65 74 68 30 00 07 87 20  00 07 87 38 00 06 B3 D4  |eth0...
...8....|
00078728: 00 00 00 00 00 07 87 30  00 07 87 40 00 07 87 38
|.......0...@...8| zfreei to udpcb <= 0x000addf8 zfreei to socket <=
0x000b2400 BOOTP[eth0] op: REPLY
       htype: Ethernet
        hlen: 6
        hops: 0
         xid: 0x0
        secs: 0
       flags: 0x0
       hw_addr: 00:11:22:33:44:55
     client IP: 146.75.80.248
         my IP: 146.75.80.248
     server IP: 192.168.1.101
    gateway IP: 146.75.80.254
  options:
        subnet mask: 255.255.255.0
       IP broadcast: 146.75.80.255
            gateway: 146.75.80.254
zalloci from socket => 0x000b2400
zalloci from udpcb => 0x000addf8
cyg_ifioctl: cmd: SIOCSIFADDR, data:
Net malloc[200] = 0x0008ffb0
eth_drv_ioctl: cmd: SIOCSIFADDR, data:
0008FFB0: 00 09 00 48 00 09 00 58  00 09 00 68 00 00 00 00
|...H...X...h....|
0008FFC0: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
|................| Net malloc[148] = 0x0008ff10 Net malloc[32] =
0x0008fee0 Net malloc[64] = 0x0008fe90 Net malloc[72] = 0x0008fe30 Net
malloc[54] = 0x0008fde0 Net malloc[28] = 0x0008fdb0 Net malloc[16] =
0x0008fd90 Net malloc[28] = 0x0008fd60 Net malloc[54] = 0x0008fd10
eth_drv_ioctl: cmd: SIOCADDMULTI, data:
00000000: 2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D
|----------------|
00000010: 2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D
|----------------| Driver can't set multi-cast mode Net malloc[32] =
0x0008fce0
cyg_ifioctl: cmd: SIOCSIFNETMASK, data:
cyg_ifioctl: cmd: SIOCSIFADDR, data:
eth_drv_ioctl: cmd: SIOCSIFADDR, data:
0008FFB0: 00 09 00 48 00 09 00 58  00 09 00 68 00 00 00 00
|...H...X...h....|
0008FFC0: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
|................|
eth_drv_ioctl: cmd: SIOCADDMULTI, data:
00000000: 2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D
|----------------|
00000010: 2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D
|----------------| Driver can't set multi-cast mode Net malloc[148] =
0x0008fc40 Net malloc[32] = 0x0008fc10 Net malloc[64] = 0x0008fbc0 Net
malloc[72] = 0x0008fb60
cyg_ifioctl: cmd: SIOCSIFBRDADDR, data:
cyg_ifioctl: cmd: SIOCSIFFLAGS, data:
eth_drv_ioctl: cmd: SIOCSIFFLAGS, data:
00078688: 65 74 68 30 00 07 86 D4  00 00 00 92 00 00 00 4B
|eth0...........K|
00078698: 00 43 88 43 92 4B 50 FF  00 00 00 00 00 00 00 00
|.C.C.KP.........|
eth_drv_ioctl: cmd: SIOCADDMULTI, data:
00000000: 2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D
|----------------|
00000010: 2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D
|----------------| Driver can't set multi-cast mode
cyg_getmicrotime: = 1.950000
Net malloc[148] = 0x0008fac0
Net malloc[32] = 0x0008fa90
Net malloc[148] = 0x0008f9f0
Net malloc[72] = 0x0008f990
Net malloc[16] = 0x0008f97

--
Before posting, please read the FAQ: http://sources.redhat.com/fom/ecos
and search the list archive: http://sources.redhat.com/ml/ecos-discuss


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]