TL;DR: Clean up any mobile phone drivers you have and install Samsung's ones.

I wanted to update to the beta UI package. One method is via ADB sideloading, which I prefer compared to SD Card mounting. I started with:

./adb reboot recovery

on my system and everything was nice: I hot my phone in recovery mode. I immediately selected the option to "apply update from ADB". The phone started with:

Now send the package you want to apply
to the device with "adb sideload <filename>"

Now, I started ADB (most recent version too!) on my PC with:

./adb devices -l

an I had the unpleasant surprise to see an empty list:

./adb devices -l
List of devices attached

... and my phone soon timed out:

Timed out waiting for package
Installation aborted #1

After some digging, I found out that you need to install the Samsung drives for Samsung phones, so I went and installed Smart switch from here.

Listing then yielded something like:

./adb devices -l
List of devices attached
1234123412341234       sideload product:starltexx model:SM_G960F device:starlte transport_id:1

Cool!

HTH,