Why `fastboot devices` fails in USB debugging mode and Downloading... -mode? I enable developer mode in the phone, usb debugging and smart bootloader. 
I do where successfully boot to bootloader such that I see Android mascot with the text Downloading... target Do not turn off!! but I cannot get any ID from fastboot devices

root@masi:/home/masi# fastboot devices
root@masi:/home/masi# adb reboot bootloader
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
root@masi:/home/masi# fastboot devices
root@masi:/home/masi# fastboot devices


I have successfully completed the stages before in Windows 10, but Ubuntu 16.04 and Debian 8.x cause problems.

Phone: Samsung Galaxy S4 gt-i9506
OS: CyanogenMod Temasek february/2016
Recovery: TWRP 2.8.x     

PC: Asus Zenbook UX303UA
OS: Debian 8.5
The part of the Android bootloader that usually features the fastboot server is called aboot.

As explained in this article, the standard aboot derives from the Little Kernel (LK) project. Almost any phone manufacturer then customized it and created its own bootloader. Follows an excerpt from the abovementioned article:


  All Bootloaders I've checked (including Samsung's and Amazon's) seem
  to derive from LK (in fact printing out the "welcome to lk\n\n" from
  its kmain), though Amazon's take steps to disable fastboot, as does
  Samsung, which then uses their own custom App, called Odin.


In short, there's no way to use fastboot with Samsung devices. Only Odin is recognized (by the Loke component).