To my knowledge, the modem figures out the addressing for a given data connection and Openwrt pulls it. The data connection is invalidated at the whims of the provider (20h with one of my providers and 4 hours with another).
The qmi script I'm proposing checks whether this has happened every minute and refreshes only the addresses - if it's able to establish a new data connection. Otherwise, the main interface goes down and restarts network registration.
This is enough to bring me up:
config interface 'rm502q'
option proto 'wwan'
option ifname 'wwan-rm502q'
option apn 'sipgate'
option bus '2-1' # only required with more than one modem
I've rebased my changes on the release tag. zip/branch.
The same is possible with the commit of aleksander0m.
All this is assuming you build Openwrt.
I've built images for your router with a vanilla config + screen in case you haven't got a build system set up (expires in two weeks).