public static function read_amd_pcsdb($attribute)
 {
     // Read AMD's AMDPCSDB, AMD Persistent Configuration Store Database
     static $try_aticonfig = true;
     static $is_first_read = true;
     $ati_info = null;
     if ($try_aticonfig) {
         if ($amdconfig = self::find_amdconfig()) {
             $info = shell_exec($amdconfig . ' --get-pcs-key=' . $attribute . ' 2>&1');
             if ($is_first_read && strpos($info, 'No supported adapters') != false) {
                 $try_aticonfig = false;
             } else {
                 if (($pos = strpos($info, ':')) > 0 && strpos($info, 'Error') === false) {
                     $ati_info = substr($info, $pos + 2);
                     $ati_info = substr($ati_info, 0, strpos($ati_info, ' '));
                 }
             }
         } else {
             $try_aticonfig = false;
         }
         $is_first_read = false;
     }
     if ($ati_info == null && is_file('/etc/ati/amdpcsdb')) {
         // Using aticonfig --get-pcs-key failed, switch to the PTS direct parser of AMDPCSDB
         $ati_info = phodevi_linux_parser::read_amd_pcsdb_direct_parser($attribute);
     }
     return $ati_info;
 }