Good to see a second developer here. Thanks for the info mbm, though I still don't understand why the sdram_ncdl timing values would be different for the same router, model and revision. Also why doesn't one just set it to zero to be safe?
Perhaps I was unclear -- you can set the value to 0 to for automatic calibration, but it doesn't stay at 0; the value gets overwritten by the new calibration.
Is the /etc/init.d/S05nvram you mentioned any different from nbd's nvram-fixup.sh? Cause the latter actually makes no difference on one of my production boxes, in fact it now seems to reboot more often than before (I've since reverted to my previous config of course), though it only touched the pa0b<n> and pa0maxpwr variables.
They're variations on the same concept; nbd's above post was to determine if we need to add more to the S05nvram script in the next release. The pa0 variables control the wifi power levels.
I do use standard configuration images that were created on one specific router and then applied to a whole lot of others (makes installation and configuration a hell of a lot easier), but scanning through them in a hex editor yields no reference to the sdram_* and pa0* parameters so I think this is unlikely to be the problem. Or am I mistaken?
I'm not talking about the firmware image (kernel, filesystem), I mean the actual nvram content should not be copied from one device to another since as pointed out above, some values are unique to that exact device.