sig.getQuality() returns -1

Not sure if you already solved this, but I had a similar issue with a Boron. The solution, offered by rickkas7, was to put the declaration in the loop rather than in the program header. That worked for me. Here’s a link to the post Getting 0 and -1 from CellularSignal