Thread (7 messages) 7 messages, 2 authors, 2007-03-27

Re: Problem with sockets an 2.6.21-rc5 kernel

From: Jose Alberto Reguero <hidden>
Date: 2007-03-27 22:09:36

El Martes, 27 de Marzo de 2007, Jose Alberto Reguero escribió:
El Martes, 27 de Marzo de 2007, Jose Alberto Reguero escribió:
quoted
El Martes, 27 de Marzo de 2007, Evgeniy Polyakov escribió:
quoted
On Tue, Mar 27, 2007 at 04:29:11PM +0200, Jose Alberto Reguero
(jareguero@telefonica.net) wrote:
quoted
quoted
El Martes, 27 de Marzo de 2007, Evgeniy Polyakov escribió:
quoted
On Mon, Mar 26, 2007 at 11:03:21PM +0200, Jose Alberto Reguero
(jareguero@telefonica.net) wrote:
quoted
quoted
I had two python programs, server.py and client.py(attached)

With server.py in  a kernel 2.6.21-rc5 x86_64 and client.py in
the same machine,  server.py get the message.

With server.py in  a kerner 2.6.21-rc5 x86_64 and client.py in
another machine, server.py don't get the message.

The same with the programs in c(attached).

With kernel 2.6.20.3 the programs work well.

There are something wrong in the programs?
Besides full absence of error checks and coding style issues it
does not seem to contain errors.

And, btw, C program work with 2.6.21-rc5 (git tree
e0f2e3a06be513352cb4955313ed7e55909acd84) on x86_64.

server.c application compiled with Debian 4.1.1-21 compiler on
x86_64 sucessfully received message from 2.6.18-3 machine.
Thanks. I thought it was a kernel BUG. It is a alt1 driver
BUG(Attansic(R) L1 Ethernet Network Driver). The error happens with
the atl1 driver that comes with kernel 2.6.21-rc5. With he original
driver from ASUS for M2V motherboard modified to compile with kernel
2.6.21-rc5 there is no problems.
Did it work with in-kernel driver?
There is only one remotely related change in the driver:

-	mta = ioread32((hw + REG_RX_HASH_TABLE) + (hash_reg << 2));
+	mta = ioread32((hw->hw_addr + REG_RX_HASH_TABLE) + (hash_reg << 2));

If it worked before, then spurious ioread() from outside of our
univercity could lead to good/bad mta value (likely zero or ~0), so
appropriate multicast list update could succeed.

If your programs never worked with this new driver, then it can not be
easily solved without hardware specifications.

I added Jay Cliburn who submitted the driver to Cc list.
quoted
Jose Alberto
The first time i try the kernel driver was with kernel 2.6.21-rc4, and
don't work.  I can help to debug the problem, with some help.

I have a M2V motherboard with built-in Attansic(R) L1 Ethernet Network
Driver and a Athlon 64 X2 Dual Core processor.

Jose Alberto
I found that the original driver has its own ether_crc_le function, that
return the value inverted. The attached patch solve the problem.

Jose Alberto
if yu you want to apply it in the case that you need it:

Signed-off-by: Jose Alberto Reguero <redacted>

Jose Alberto
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help