In SmcCmd ‘-d’ function is to select the decive to communicate.
./SmcCmd -d #51FF-6E06-7086-5349-5832-1167
the code above gives me the error
Error: No actions specified.
So, how exactly do we select controllers via smccmd
I am sorry you are having trouble using the SmcCmd command-line utility. The command string you posted is selecting the simple motor controller (SMC) that matches the given serial number, but you also need to specify the action(s) for that device. For example, ./SmcCmd -d 51FF-6E06-7086-5349-5832-1167 --resume --speed 3200. If you do not already know (and for others following this discussion), you can run smccmd with no arguments to see a listing of all the different options. To get an in-depth understanding of how the SmcCmd works, you can look at its source code and comments in the SimpleMotorController/SmcCmd folder of the Pololu USB Software Development Kit.
./SmcCmd -d 51FF-6E06-7086-5349-5832-1167 --resume --speed 3200