The reason was gcc optimization bug.
Here is the instructions to fix it from scratch.
Prerequisites are Buffalo Linkstation e.g. LS-QVL like mine, install optware and gcc 4.2.3 for it from optware repo. Then follow this.
Download latest package from here with e.g. lynx directly to buffalo or transfer via other methods.
tar -xvf smartmontools-6.5.tar.gz cd smartmontools-6.5 ./configure Edit Makefile and replace all -O2 optimization flags with -O0 make
Ok, so now you have working smartctl which you can run from your compile directory with e.g ./smartctl –all -d marvell /dev/sda and it will work. Just copy it e.g. over the non working 5.4 or so.
Hope this helps.