[Olsr-dev] olsr strange behaving / nearly no outgoing packets [partly solved]
Thu Aug 9 02:20:16 CEST 2012
(sent to olsr-users before by mistake - sorry!)
returning to an older discussion about lost packets ...
(with a bit of progress)
> it's already "solved" in a way where we can say: it doesn't have to do
> anything with settings or setup, it's more a thing with our friend ... the
> compiler or uclibc. i tried with eglibc today, but i need more time to
Here I have an Asus WL500G (brcm47xx). It shows the same problems that you
After some hours of testing I found two workarounds:
(1) disable space optimization (Advanced configuration options -> Target
options -> Target optimizations; remove "-Os")
(2) apply the attached patch
If you take a closer look at the patch you will notice, that it does not really
do anything useful. To be honest: as soon as you remove the fprintf line the
bug will appear again. I tested this back and forth for several times but the
behaviour stays the same.
The unpatched "olsr_times" function (with default space optimization enabled)
returns values between -1000 and +1000 on brcm47xx (depending on the initial
usec value in "first_tv"). On other platforms it returns the number of
milliseconds passed since startup. The problematic behaviour seems to be
(tv.tv_sec - first_tv.tv_sec) * 1000
This part of the "return" value (last line of "olsr_times") seems to result in
zero for all input values - but only in combination with the rest of the line.
Calculating this value separately returns the expected result.
I guess the next step would be an analysis of the compiler's machine code for
this specific line, or?
Now I don't know how to continue with debugging. Please tell me if you need
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 450 bytes
Desc: not available
More information about the Olsr-dev