Better ask SimCom, by sending email to support at simcom dot com, with subject say "Why SIM7600EI-H returns +CREG:0,6 when sending AT+CREG?"
Their
Questions Related to Network page already explains the same for "+CREG:0,3", you see. The aforementioned email subject is likely to get routed correctly, so hopefully you'll get an answer.
I personally currently use a similar modem, Huawei ME909s-120, on both a Mikrotik RBM33G, as well as using a simple USB WWAN adapter I call my FrankenModem. (Took a few iterations to find one whose regulator/switcher does not get too hot off eBay.) Works fine in OpenWRT and Linux. The SIM7600 series support is in
ModemManager (GitHub tree for SimTech MM plugins), but the code relies heavily on
glib abstractions (providing object and introspection support, making bindings to other languages easy via
gir or gobject introspection) so you might have to familiarize yourself with that before delving into ModemManager. When dealing with 3G/4G/LTE modems, ModemManager currently does support the widest variety of devices (and is used in Linux and OpenWRT), so it is an useful resource to investigate how to support such modems in general in ones own devices. Because I use the modem via ModemManager myself, I have not, and I do not need to, delve into the exact details; ModemManager does all the low-level work for me.