ok, so the problem lies in the reselection algorithm, and more specifically in the Non Access Stratum part, in my opinion.
I’m far from an expert on this topic, but I’ll just entertain you until an expert comes around 🙂
The solution is probably in this document :
I think that when your MSC sends the LU Reject to the MS, this message contains a list of forbidden “things”.
Ie. Forbidden PLMN & Forbidden LAC.
If the forbidden PLMN or forbidden LAC is the same as the 2G LAC or 2G PLMN, then the MS cannot fall back on the 2G network. As a result, it ends up in “SOS” mode.
Even if my explanation is not fully correct, it should give you some investigation ideas. I think you should focus on the MSC parameters, in order to better handle LU req from 2G-only SIM.
At first I wanted to check the radio reselection inter-RAT algorithms, but the solution is not there. Indeed, the radio side cannot distinguish 2G sim and 2G/3G sim. So if you prevent 2G to 3G reselection, then 3G MS will not be able to camp on 3G cell anymore… it could be a temporary workaround though. To do that, just remove all your 2G to 3G adjacency relationships. The 3G MS might still select 3G network, without going through 2G.
Ok, that’s enough for tonight 🙂