speedometer sometimes work
Pull the cluster out and re seat the connector, sounds like that may be the issue, if that don't fix it the cluster will need to be sent out for repair, the signal for both the speedo and odom are provided by the same sensor. If one is getting the signal and not the other intermittently then it may be a bad connection.
.
.

