Have you tried seeing if it works on the latest kernel (v5.3) versus seeing if it works on the LTS kernel instead? Both are in the Software Center, just search "linux-lts" for the LTS kernel and try booting into that and see if it may work better.
Now in order to boot into different kernels you need to run these two commands one at a time:
sudo clr-boot-manager set-timeout 5
sudo clr-boot-manager update
This will allow you to choose which kernel to boot into before your system starts up. I'd suggest installed the linux-lts kernel, running those commands, rebooting, choosing the 4.9 kernel, and then see what the outcome of that is. It may or may not work, but it's worth a try and good luck!