I had a firmware upgrade issue - couldn't update from Arducopter 3.5.3 to 3.5.4 (or anything else)
I was using Ubuntu 17.10 for some time and parameters and everything else had been working OK.
I was able to test-fly on AC3.5.3, save parameters to a file, then started trying to update...
Pixfalcon almost seemed bricked except that it was always recognised but just wouldn't update nor boot up into Arducopter.
Tried different versions of QGC (including the latest) and APM-Planner but no luck, couldn't flash any firmware versions at all.
I had to build a new Ubuntu 16.04 (gnome) , installed QGC appimage (and fixes for dial-out group and modemmanager) - was able to flash AC 3.5.4 straight away, parameters intact, quick test flight all OK.
Sidenote: I use virtualbox for a lot and it's quick/easy to set up a new VM with a different O/S or linux version, and the USB passthrough works just fine even for flashing firmware.