usually its a diff solenoid issue. But a deeper scanner should tell you exactly what it is

Mine has gone off and on ever since I bought it.