Given a matrix $M$, I want to find a nontrivial vector in the kernel of $M$ that also lies in the first orthant, if such a vector exists. That is, I want to simultaneously solve

$$Mx = 0$$ $$x \geq 0$$ $$x \neq 0$$

I'm having trouble phrasing this problem in a way that can be efficiently solved numerically. One approach I've tried is to solve

$$\min_x \|Mx\|^2\quad s.t. \quad x\geq 0, x_i = 1$$

using nonnegative least squares for every $i$, and looking for solutions whose minimum is 0. If the minimum is positive for every $i$, the original problem had no solution. Unfortunately, in addition to being inefficient (I have to do $\dim x$ solves), standard least squares packages are having great difficulty converging for this approach.

Is there a better way to solve this problem?