both pam_sotp 0.3.1 and 0.3.0 have a bug that prevents the PAM module (pam_sotp.so) from working when the option pw_lifespan is not specified in the service configuration file. There is an easy fix for this: add pw_lifespan=0 (or some other value if you want to enable password lifespan) in the configuration file and pam_sotp should work. pam_sotp 0.3.2 fixes this bug -- Pedro Diaz