[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[microblaze-uclinux] UDP bug in kernel 2.6?
Hi all,
I have trouble using UDP for my microblaze design.
I'm using kernel 2.6 from the Petalinux V0.30 RC1 release on a custom
platform with Virtex5.
It started that I had trouble mounting nfs exports from my development
machine on the microblaze system (mount failed with IO error).
When I use the "proto=tcp" option with the mount command everything
works fine, without any trouble.
Also UDP test with netcat didn't work
(command on microblaze: nc -l -u -p 1234).
After searching the internet I found the following link:
http://forum.niosforum.com/forum/index.php?showtopic=8250
I applied the changes described for nios-specific code (see the link
above) to the file
linux-2.6.x-petalogix/include/asm-microblaze/checksum.h
( changed return value of function csum_fold(unsigned int sum) from type
"unsinged int" to "__sum16" )
(
speedy@linux-ws3:~/work/petalinux-v0.30-rc1/software/linux-2.6.x-petalogix/include/asm-microblaze> diff checksum.h.original checksum.h
61c61
< static inline unsigned int csum_fold(unsigned int sum)
---
> static inline __sum16 csum_fold(unsigned int sum)
)
After recompiling the kernel mounting with UDP worked (no error message
from the mount command), but operations on mounted files is not stable
(e.g. after listing the content of a mounted directory the shell seems
to hang, but the uCLinux system is still running).
Also a test with netcat worked with the kernel modifications.
I'm not a Kernel hacker, but it seems like there is a bug related to
UDP / checksum or whatever.
Has anybody an idea?
Regards
Werner
___________________________
microblaze-uclinux mailing list
microblaze-uclinux@xxxxxxxxxxxxxx
Project Home Page : http://www.itee.uq.edu.au/~jwilliams/mblaze-uclinux
Mailing List Archive : http://www.itee.uq.edu.au/~listarch/microblaze-uclinux/