+
    Û1jÍ  ã                   ó>   € ^ RI t ^ RIt^ RIHtHt  ! R R]]4      tR# )é    N)ÚPluginÚIndependentPluginc                   óF   a € ] tR t^t o RtRtR	tR
tRtR t	R t
R tRtV tR# )ÚMellanoxFirmwarez&Nvidia(Mellanox) firmware tools outputÚmellanox_firmwarezMellanox Technologiesc                óx   € V P                  R4      pVR,          ^ 8H  ;'       d    V P                  VR,          9   # )z…
Checks if this plugin should be executed at all.
We will only enable the plugin if there is a
Mellanox Technologies network adapter
úlspci -D -d 15b3::0200ÚstatusÚoutput)Úexec_cmdÚMLNX_STRING)ÚselfÚlspcis   & ÚF/usr/lib/python3/dist-packages/sos/report/plugins/mellanox_firmware.pyÚcheck_enabledÚMellanoxFirmware.check_enabled   s9   € ð —‘Ð6Ó7ˆØ�X� !Ñ#×KÐK¨×(8Ñ(8¸EÀ(½OÑ(KÐKó    c                óV  € V P                  R 4      '       g   V P                  R4       R# V P                  R4      pVR,          ^ 8w  d   R# V P                  R4      pVR,          ^ 8w  d   R# V P                  R4       V P                  R^
R7       V P                  R	^
R7       \        P
                  ! R
4      p. pV F  pRV9   g   K  VP                  V4       K  	  V F1  pV P                  RV R2^
R7       V P                  RV R2^
R7       K3  	  V P                  RRR7       R# )Úallow_system_changesztSkipping mst/mlx cable commands as system changeswould be made. Use --allow-system-changes toenable this collection.Núflint --versionr
   z	mst startzmst cable addzmst status -v©ÚtimeoutÚ	mlxcablesz/dev/mstÚcablezmlxcables -d z --DDMz --dumpzmst stopT)Úchanges)Ú
get_optionÚ	_log_infor   Úcollect_cmd_outputÚosÚlistdirÚappend)r   Úcoutr   ÚdeviceÚmlxcables   &    r   ÚcollectÚMellanoxFirmware.collect#   s1  € Ø�‰Ð5×6Ò6Ø�N‰Nð 5ô 6ñ ð �}‰}Ð.Ó/ˆØ��>˜QÔÙà×&Ñ& {Ó3ˆØ��>˜QÔÙà×Ñ Ô0Ø×Ñ ¸ÐÔ<Ø×Ñ °RÐÔ8Ü�zŠz˜*Ó%ˆØˆ	ÛˆFØ˜&Ö Ø× Ñ  Ö(ñ ó "ˆHØ×#Ñ# m°H°:¸VÐ$DØ,.ð $ô 0à×#Ñ# m°H°:¸WÐ$EØ,.ð $ö 0ñ "ð
 	×Ñ 
°DÐÖ9r   c           
     ó^  € . pV P                  R 4      pVR,          ^ 8w  d   R# VR,          P                  4        F"  pVP                  VR,          R,           4       K$  	  \        V4      p. pV P	                  R4      pVR,          ^ 8w  d   RR.R	R
.R	R.RR.RR..pMRR.RR.RR
.RR.RR.RR.RR..pV Fq  pV F,  pV P                  V^ ,           RV RV^,           2^R7       K.  	  \        ^4       F-  pV P                  RV 24       \        P                  ! ^4       K/  	  Ks  	  R# )r	   r
   Nr   :r   é   Nz00.0r   zmstconfig -d z -e qzmstflint -d z dcz qz
mstreg -d z --reg_name ROCE_ACCL --getzmstlink -d Ú zmlxdump -d z pcie_uc --allz	flint -d z
mlxreg -d zmlxlink -d zfwtrace -d z -i all --tracer_mode FIFOÚ r   zmstdump )	r   Ú
splitlinesr!   Úsetr   Úadd_cmd_outputÚrangeÚtimeÚsleep)	r   ÚdevicesÚdevice_listÚlineÚcommandsr"   r#   ÚcommandÚ_s	   &        r   ÚsetupÚMellanoxFirmware.setupC   sy  € àˆØ×-Ñ-Ð.FÓGˆð �xÕ  AÔ%áà Õ)×4Ñ4Ö6ˆDð
 �N‰N˜4 �9 VÕ+Ö,ñ 7ô �g“,ˆð ˆð �}‰}Ð.Ó/ˆØ��>˜QÔð ! 'Ð*Ø Ð'Ø Ð&ØÐ<Ð=Ø Ð#ð‰Hð Ð 0Ð1Ø  'Ð*Ø˜eÐ$Ø˜dÐ#ØÐ<Ð=Ø Ð#ØÐ <Ð=ðˆHó ˆFÛ#�Ø×#Ñ# w¨q¥z l°!°F°8¸1Ø'.¨q¥z lð%4Ø=?ð $ö Añ $ô ˜1–X�Ø×#Ñ# h¨v¨hÐ$7Ô8Ü—
’
˜1–ó ó r   © N)ÚhardwareÚsystem)ÚmstÚmstflint)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú
short_descÚplugin_nameÚprofilesÚpackagesr   r   r%   r7   Ú__static_attributes__Ú__classdictcell__)Ú__classdict__s   @r   r   r      s4   ø‡ € à9€Jà%€KØ%€HØ"€Hà)€KòLò:÷@9ð 9r   r   )r   r/   Úsos.report.pluginsr   r   r   r9   r   r   Ú<module>rJ      s!   ðó 
Û ß 8ôl�vÐ0ö lr   