diff options
author | Steve Czabaniuk <steve.czabaniuk@ni.com> | 2020-06-29 15:43:28 -0500 |
---|---|---|
committer | Aaron Rossetto <aaron.rossetto@ni.com> | 2020-07-31 14:32:54 -0500 |
commit | 5e0cebdc19eecad0cceac2d81bee0405a89cfe5a (patch) | |
tree | 5e1d1e84a184e3349be09c90be426407088455e5 /mpm/python | |
parent | a68e7101167a4b5bf7b60ed90d963982aae735b8 (diff) | |
download | uhd-5e0cebdc19eecad0cceac2d81bee0405a89cfe5a.tar.gz uhd-5e0cebdc19eecad0cceac2d81bee0405a89cfe5a.tar.bz2 uhd-5e0cebdc19eecad0cceac2d81bee0405a89cfe5a.zip |
mpm: n3xx: bist: Read mboard and dboard eeprom to determine product
The routine to identify products currently only reads the motherboard
EEPROM. The N310 and N320/N321 use the same motherboard so these devices
can't be distinguished using the motherboard EEPROM alone. This change
makes get_product_id() read both the motherboard and daughterboard
EEPROM in order to determine which N3xx it actually is.
Diffstat (limited to 'mpm/python')
-rwxr-xr-x | mpm/python/n3xx_bist | 14 | ||||
-rw-r--r-- | mpm/python/usrp_mpm/bist.py | 5 |
2 files changed, 14 insertions, 5 deletions
diff --git a/mpm/python/n3xx_bist b/mpm/python/n3xx_bist index 1202fe121..c125ac1ae 100755 --- a/mpm/python/n3xx_bist +++ b/mpm/python/n3xx_bist @@ -111,7 +111,17 @@ class N3XXBIST(bist.UsrpBIST): def get_product_id(self): """Return the mboard product ID (n310 or n300):""" - return bist.get_product_id_from_eeprom(valid_ids=['n300', 'n310', 'n320']) + product_map = { + #(mboard, dboard): product + ('n300', 'magnesium'): 'n300', + ('n300', ''): 'n300', # n300 mboard with no dboard + ('n310', 'magnesium'): 'n310', + ('n310', ''): 'n310', # n310 mboard with no dboard + ('n310', 'rhodium'): 'n320', + } + mb_id = bist.get_product_id_from_eeprom(valid_ids=['n300', 'n310'], cmd='eeprom-id') + db_id = bist.get_product_id_from_eeprom(valid_ids=['magnesium', 'rhodium', ''], cmd='db-id') + return product_map[(mb_id, db_id)] ############################################################################# # BISTS @@ -154,7 +164,7 @@ class N3XXBIST(bist.UsrpBIST): self.get_product_id(), ) except Exception as ex: - return { + return False, { 'throughput': 0, 'error_msg': "Failed to load AA image: {}".format(str(ex)), } diff --git a/mpm/python/usrp_mpm/bist.py b/mpm/python/usrp_mpm/bist.py index b20020e1f..2287d79ab 100644 --- a/mpm/python/usrp_mpm/bist.py +++ b/mpm/python/usrp_mpm/bist.py @@ -216,14 +216,13 @@ def filter_results_for_lv(results, lv_compat_format): } return results -def get_product_id_from_eeprom(valid_ids): +def get_product_id_from_eeprom(valid_ids, cmd='eeprom-id'): """Return the mboard product ID Returns something like n300, n310, e320... """ - cmd = ['eeprom-id'] output = subprocess.check_output( - cmd, + [cmd], stderr=subprocess.STDOUT, shell=True, ).decode('utf-8') |