title: python subprocess.check_output returns CalledProcessError on some commands
body: <pre><code>&gt;&gt;&gt; import subprocess
  &gt;&gt;&gt; subprocess.check_output("smartctl -d ata -a /dev/sda", shell=True)
  "output of above command prints normally"
  &gt;&gt;&gt; subprocess.check_output("smartctl -d ata -a /dev/sdb", shell=True)
  Traceback (most recent call last):
      File "&lt;stdin&gt;", line 1, in &lt;module&gt;
      File "/usr/lib/python2.7/subprocess.py", line 544, in check_output
         raise CalledProcessError(retcode, cmd, output=output)
  subprocess.CalledProcessError: Command 'smartctl -d ata -a /dev/sdb' returned non-zero exit status 64
  </code></pre>
  
  <p>Can anyone explain to me why the above command with sda works fine but returns an error with sdb? sdc works too, for the record. Also, I am aware of the risk of using shell=True. I am learning python and ran into this problem while writing a test script. </p>