use MBUS_ERROR instead of fprintf(stderr
use error_str instead of direct console output
error message if secondary address generation fails