"[Tuesday] we brought him out and it's a real bummer because he keeps getting to the final step," Lynch said. "And the final step is actually playing NFL football, particularly at his position where you have got to make hard cuts. You've got to put your foot in the ground. And we did it a month ago. We got to that step and he kind of regressed, and I would say [Tuesday] we had a similar situation.
"So we're trying to get to, 'OK, what's really the root cause of the problems that he's having?' [Tuesday] was not encouraging from that standpoint for Jet. What that means, we're not sure yet. We're working hard to find that out."
McKinnon suffered a torn ACL on Sept. 1, 2018, during a team workout. He was placed on injured reserve two days later, ending his season.
After a lengthy rehab process, McKinnon hoped to return for the start of this year's training camp. Lynch said the 27-year-old tailback had a "flare-up" about two weeks before camp, which led to him being placed on the physically unable to perform list.
The 49ers activated McKinnon from the PUP list on Aug. 6 before knee soreness forced him to sit out again. He received a platelet rich plasma injection and was sidelined for three weeks before returning Tuesday.
McKinnon signed a four-year, $30 million contract with the 49ers in March 2018, but he has yet to play a snap for the franchise. Tevin Coleman, Matt Breida and Raheem Mostert have handled duties in the backfield in McKinnon's absence.
San Francisco plays the Tampa Bay Buccaneers on Sept. 8 in its regular-season opener.