Thanks for the solution, seems to be working for me now too.
To summarize what I did.
I first (before thread solved) tried enabling the proposed updates and applied them all in case there was a fix in there, didnt fix it. I dont know if that had any effect on the final positive outcome? (try the edit first).
edit file /lib/udev/rules.d/61-option-modem-modeswitch.rules
add
Code:
ATTRS{idVendor}=="12d1", ATTRS{idProduct}=="1003", RUN+="modem-modeswitch -v 0x%s{idVendor} -p 0x%s{idProduct} -t option-zerocd"
To the last line before the comments at the bottom. Save.
Reboot. Works now.
Or at least seems to, it would work on the rare occasion previously, it has successfully detected for 3 reboots and a couple of unplugs while logged in.