Forum Discussion
Altera_Forum
Honored Contributor
20 years ago --- Quote Start --- originally posted by tuck@Feb 16 2006, 01:39 PM i saw the same thing; however, i never got around to debugging it. unfortunately web is low on the dev priority now. if i get around to it and figure it out i will post details. if you figure it out please post details of the fix/workaround/config as i would be interested.
good luck.
tuck
<div align='right'><{post_snapback}> (index.php?act=findpost&pid=12749)
--- quote end ---
--- Quote End --- Tuck: Here is what I have so far..... I turned on the eCos asserts and tracing: Anyway...enabling asserts in eCos unmasks the following assert: ASSERT FAIL: <3> if_lan91cxx(868)lan91cxx_send() odd length Breaking and examining the code shows that there are four buffers in the driver that contains the packet. Their lengths are 54, 71, 63, and 27. Accorfing to the assert, only the last one can be of an odd length. Because the device interface is 16 bits, the driver load two bytes at a time and increments the counter by two. If the packet is of an odd length, a flag is set and the odd byte is written to complete the packet. At each of the odd buffers, the last (odd) character is my missing '\n' and explains why the server is not delivering my pages as I would expect. Now that I know the source of the failure, I will determine the root cause and propose a solution. I think by writing even chunks from the ring buffer to the device is the solution. Perhaps a new routine to only write an odd length at the end of a packet. Right now I am developing under windows to get XML-RPC and XMLHttpResponse support up and running. I will port more as I learn more. Thanks for your reply. Graham....