Net+Socket enumaration bug

Hi!

I’ve run on a problem with Net + TCP/IP 4.25. Here is the report.

There’s a PC with 2 Ethernet PCI cards, Net.ether82557 and Net.ether1000 are
the Net drivers for them.

/etc/readme/technotes/Net.ether82557 states, that “running netmap -f prior
to starting the drivers is a good idea…”. [I’ve never run netmap -f so early ( prior to …) before, but followed the advice, this time…]

So I’ve put smth like the following lines in the sysint.1 file

Net &
netmap -f
Net.ether82557 -l 1 &
Net.ether1000 -l 2 &

Socklet node1 &
ifconfig en2 node1 up

/etc/config/netmap file has lines like that

1 1 MAC1 address
1 2 MAC2 address

And have run on a problem - no TCP/IP communication. As it finds out, the
problem is in the wrong enX enumerations - en1 is assigned MAC2 address,
en2 - MAC1 address. ( I should say, that for *82557 card initialisation time
is about 2 seconds longer, than for the *1000 card. Maybe that’s why that
happens.)

Running ‘netmap -f’ after Net drivers starting solves the problem.

Inserting sleeping for about 1-2 sec between starting Net drivers and
running ‘netmap - f’ prior to starting Net drivers sometimes solves the
problem, sometimes not.

So, beware it!

Oleg Khamayko

This is as a result of drivers taking longer than one-another to come up.
Put a “sleep 2” between the drivers and see if that helps. Also, you don’t
need to place the MAC addresses of your 2 network cards in the netmap file.
Net will get these addresses from the drivers.

“Oleg Khamayko” <olegax@mail.ru> wrote in message
news:dn12fk$c9r$1@inn.qnx.com

Hi!

I’ve run on a problem with Net + TCP/IP 4.25. Here is the report.

There’s a PC with 2 Ethernet PCI cards, Net.ether82557 and Net.ether1000
are
the Net drivers for them.

/etc/readme/technotes/Net.ether82557 states, that “running netmap -f prior
to starting the drivers is a good idea…”. [I’ve never run netmap -f so early ( prior to …) before, but followed the advice, this time…]

So I’ve put smth like the following lines in the sysint.1 file

Net &
netmap -f
Net.ether82557 -l 1 &
Net.ether1000 -l 2 &

Socklet node1 &
ifconfig en2 node1 up

/etc/config/netmap file has lines like that

1 1 MAC1 address
1 2 MAC2 address

And have run on a problem - no TCP/IP communication. As it finds out, the
problem is in the wrong enX enumerations - en1 is assigned MAC2 address,
en2 - MAC1 address. ( I should say, that for *82557 card initialisation
time
is about 2 seconds longer, than for the *1000 card. Maybe that’s why that
happens.)

Running ‘netmap -f’ after Net drivers starting solves the problem.

Inserting sleeping for about 1-2 sec between starting Net drivers and
running ‘netmap - f’ prior to starting Net drivers sometimes solves the
problem, sometimes not.

So, beware it!

Oleg Khamayko

Thanks. Hugh!

I complain on following the docs that lead me to the “feature”. And a bit on
the enumeration)))

Everything works if ‘netmap -f’ started AFTER Net.* drivers.

I’ve put the message just to notice this.

Oleg

Hugh Brown <hsbrown@qnx.com> wrote in message
news:dn1fp1$l73$1@inn.qnx.com

This is as a result of drivers taking longer than one-another to come up.
Put a “sleep 2” between the drivers and see if that helps. Also, you don’t
need to place the MAC addresses of your 2 network cards in the netmap
file.
Net will get these addresses from the drivers.

“Oleg Khamayko” <> olegax@mail.ru> > wrote in message
news:dn12fk$c9r$> 1@inn.qnx.com> …
Hi!

I’ve run on a problem with Net + TCP/IP 4.25. Here is the report.

There’s a PC with 2 Ethernet PCI cards, Net.ether82557 and Net.ether1000
are
the Net drivers for them.

/etc/readme/technotes/Net.ether82557 states, that “running netmap -f
prior
to starting the drivers is a good idea…”. [I’ve never run netmap -f so early ( prior to …) before, but followed the advice, this time…]

So I’ve put smth like the following lines in the sysint.1 file

Net &
netmap -f
Net.ether82557 -l 1 &
Net.ether1000 -l 2 &

Socklet node1 &
ifconfig en2 node1 up

/etc/config/netmap file has lines like that

1 1 MAC1 address
1 2 MAC2 address

And have run on a problem - no TCP/IP communication. As it finds out,
the
problem is in the wrong enX enumerations - en1 is assigned MAC2 address,
en2 - MAC1 address. ( I should say, that for *82557 card initialisation
time
is about 2 seconds longer, than for the *1000 card. Maybe that’s why
that
happens.)

Running ‘netmap -f’ after Net drivers starting solves the problem.

Inserting sleeping for about 1-2 sec between starting Net drivers and
running ‘netmap - f’ prior to starting Net drivers sometimes solves the
problem, sometimes not.

So, beware it!

Oleg Khamayko

\

“Hugh Brown” <hsbrown@qnx.com> wrote in message
news:dn1fp1$l73$1@inn.qnx.com

This is as a result of drivers taking longer than one-another to come up.
Put a “sleep 2” between the drivers and see if that helps. Also, you don’t
need to place the MAC addresses of your 2 network cards in the netmap
file.

In fact if you do and the MAC addresses are NOT the same as the real MAC
addresses,
FLEET will work but not TCP/IP.

Net will get these addresses from the drivers.

“Oleg Khamayko” <> olegax@mail.ru> > wrote in message
news:dn12fk$c9r$> 1@inn.qnx.com> …
Hi!

I’ve run on a problem with Net + TCP/IP 4.25. Here is the report.

There’s a PC with 2 Ethernet PCI cards, Net.ether82557 and Net.ether1000
are
the Net drivers for them.

/etc/readme/technotes/Net.ether82557 states, that “running netmap -f
prior
to starting the drivers is a good idea…”. [I’ve never run netmap -f so early ( prior to …) before, but followed the advice, this time…]

So I’ve put smth like the following lines in the sysint.1 file

Net &
netmap -f
Net.ether82557 -l 1 &
Net.ether1000 -l 2 &

Socklet node1 &
ifconfig en2 node1 up

/etc/config/netmap file has lines like that

1 1 MAC1 address
1 2 MAC2 address

And have run on a problem - no TCP/IP communication. As it finds out, the
problem is in the wrong enX enumerations - en1 is assigned MAC2 address,
en2 - MAC1 address. ( I should say, that for *82557 card initialisation
time
is about 2 seconds longer, than for the *1000 card. Maybe that’s why that
happens.)

Running ‘netmap -f’ after Net drivers starting solves the problem.

Inserting sleeping for about 1-2 sec between starting Net drivers and
running ‘netmap - f’ prior to starting Net drivers sometimes solves the
problem, sometimes not.

So, beware it!

Oleg Khamayko

\

Hi, Mario!

MAC addresses in the netmap are the real MACs of the netcards for both
lans, FLEET works,
‘netstat -in’ shows wrong (swapped) MACs assigment for en1 and en2 → TCP/IP
doesn’t work.

It’s just a feature, I’ve met unfortunatly blindly following the
technotes )))

Mario Charest postmaster@127.0.0.1 wrote in message
news:dn1jru$o0f$1@inn.qnx.com

“Hugh Brown” <> hsbrown@qnx.com> > wrote in message
news:dn1fp1$l73$> 1@inn.qnx.com> …
This is as a result of drivers taking longer than one-another to come
up.
Put a “sleep 2” between the drivers and see if that helps. Also, you
don’t
need to place the MAC addresses of your 2 network cards in the netmap
file.

In fact if you do and the MAC addresses are NOT the same as the real MAC
addresses,
FLEET will work but not TCP/IP.

Net will get these addresses from the drivers.

“Oleg Khamayko” <> olegax@mail.ru> > wrote in message
news:dn12fk$c9r$> 1@inn.qnx.com> …
Hi!

I’ve run on a problem with Net + TCP/IP 4.25. Here is the report.

There’s a PC with 2 Ethernet PCI cards, Net.ether82557 and
Net.ether1000
are
the Net drivers for them.

/etc/readme/technotes/Net.ether82557 states, that “running netmap -f
prior
to starting the drivers is a good idea…”. [I’ve never run netmap -f so early ( prior to …) before, but followed the advice, this time…]

So I’ve put smth like the following lines in the sysint.1 file

Net &
netmap -f
Net.ether82557 -l 1 &
Net.ether1000 -l 2 &

Socklet node1 &
ifconfig en2 node1 up

/etc/config/netmap file has lines like that

1 1 MAC1 address
1 2 MAC2 address

And have run on a problem - no TCP/IP communication. As it finds out,
the
problem is in the wrong enX enumerations - en1 is assigned MAC2
address,
en2 - MAC1 address. ( I should say, that for *82557 card initialisation
time
is about 2 seconds longer, than for the *1000 card. Maybe that’s why
that
happens.)

Running ‘netmap -f’ after Net drivers starting solves the problem.

Inserting sleeping for about 1-2 sec between starting Net drivers and
running ‘netmap - f’ prior to starting Net drivers sometimes solves
the
problem, sometimes not.