Skip to contentSkip to conversation

Is it possible to issue device reset to PMC PM8388 expander using sg3_utils or smp_utils?

DISCUSSION Jeff Johnson 3 participants 4 messages Dec 9, 2010 SCSI

lore
Share & tools
lore
#0 lore raw

Greetings,

Is it possible to issue a low level device reset to a PMC-Sierra PM8388 24x3G SAS expander using either sg3_utils or smp_utils?

I am able to enumerate and read the status of the phys on the PM8388, read end device information, etc. I tried sg_reset and it does a bus reset but not an expander reset.

Technical documentation on the PM8388 is not readily available so I do not know if it has a mode select bit or other special method to get the expander to reset itself.

I am looking for an inband method to reset the expander to clear a condition where some phys in a wide connection fail to link. A power cycle clears the condition and I am looking to mimic a power cycle by bouncing the expander at the lowest level possible via the SAS host connection.

Thank you.

--Jeff

#1 lore raw
Quoted 13 lines · Jeff Johnson

Greetings,

Is it possible to issue a low level device reset to a PMC-Sierra PM8388 24x3G SAS expander using either sg3_utils or smp_utils?

I am able to enumerate and read the status of the phys on the PM8388, read end device information, etc. I tried sg_reset and it does a bus reset but not an expander reset.

Technical documentation on the PM8388 is not readily available so I do not know if it has a mode select bit or other special method to get the expander to reset itself.

Quoted 5 lines

I am looking for an inband method to reset the expander to clear a condition where some phys in a wide connection fail to link. A power cycle clears the condition and I am looking to mimic a power cycle by bouncing the expander at the lowest level possible via the SAS host connection.

There's no protocol defined way to reset an expander using SMP functions, so it's not really possible to do it in-band. It's sort of like asking if there's an ethernet packet you can send to a switch to cause it to reset.

If the wide port isn't forming, you could try doing a hard reset of all the phys in the port.

James

#2 lore raw
Quoted 19 lines · James Bottomley
Quoted 13 lines · Jeff Johnson

Greetings,

Is it possible to issue a low level device reset to a PMC-Sierra PM8388 24x3G SAS expander using either sg3_utils or smp_utils?

I am able to enumerate and read the status of the phys on the PM8388, read end device information, etc. I tried sg_reset and it does a bus reset but not an expander reset.

Technical documentation on the PM8388 is not readily available so I do not know if it has a mode select bit or other special method to get the expander to reset itself.

Quoted 5 lines

I am looking for an inband method to reset the expander to clear a condition where some phys in a wide connection fail to link. A power cycle clears the condition and I am looking to mimic a power cycle by bouncing the expander at the lowest level possible via the SAS host connection.

Quoted 4 lines

There's no protocol defined way to reset an expander using SMP functions, so it's not really possible to do it in-band. It's sort of like asking if there's an ethernet packet you can send to a switch to cause it to reset.

Now that would be fun.... =)

Quoted 2 lines

If the wide port isn't forming, you could try doing a hard reset of all the phys in the port.

I have tried that from the hba side using lsiutil and it did not clear the condition. I will try the expander phys and see if the result is any better.

When the wide port fails to form the error I see on the three phys that fail to link (from the PM8388 exp side) is "sspl reg trigger error"

--Jeff

#3 lore raw
Quoted 27 lines · Jeff Johnson
Quoted 19 lines · James Bottomley
Quoted 13 lines · Jeff Johnson

Greetings,

Is it possible to issue a low level device reset to a PMC-Sierra PM8388 24x3G SAS expander using either sg3_utils or smp_utils?

I am able to enumerate and read the status of the phys on the PM8388, read end device information, etc. I tried sg_reset and it does a bus reset but not an expander reset.

Technical documentation on the PM8388 is not readily available so I do not know if it has a mode select bit or other special method to get the expander to reset itself.

Quoted 5 lines

I am looking for an inband method to reset the expander to clear a condition where some phys in a wide connection fail to link. A power cycle clears the condition and I am looking to mimic a power cycle by bouncing the expander at the lowest level possible via the SAS host connection.

Quoted 4 lines

There's no protocol defined way to reset an expander using SMP functions, so it's not really possible to do it in-band. It's sort of like asking if there's an ethernet packet you can send to a switch to cause it to reset.

Now that would be fun.... =)

Quoted 8 lines
Quoted 2 lines

If the wide port isn't forming, you could try doing a hard reset of all the phys in the port.

I have tried that from the hba side using lsiutil and it did not clear the condition. I will try the expander phys and see if the result is any better.

When the wide port fails to form the error I see on the three phys that fail to link (from the PM8388 exp side) is "sspl reg trigger error"

You might be able to (link or hard) reset some or all of the phys (hence what they are attached to) in the expander with smp_phy_control.

First you need to work out how you can talk to the expander (using SMP). smp_rep_manufacturer and smp_rep_general may be useful for sorting that out.

Doug Gilbert