I bought a two-port Intel I350 NIC (vendor says "Generic i350-t2 V2"), and I wish to enable its critical session feature (also known as veto bit, keep PHY link up, and manageability session). However, it is not in a classic server installation, but rather in a simple desktop computer - I have my reasons for this, namely to be able to put the computer in suspend-to-RAM sleep state - which means there is no BMC as far as I know.
From the datasheet, I understand the BMC would send through SMBus a specific command to enable this feature. What I'd want is to send this command from the Linux kernel instead. As of now, I see two SMBus devices in '/dev', which are identified as "igb BB", so I guess they correspond to the two ports of the card, but I have not been able to send the command to either device. As a matter of fact, I cannot detect any slave on each device (using command i2cdetect). My try program results in an error, which code from errno is "ENXIO (6): no such device or address" when I send the command. Opening the device and setting the slave address to 0x49 "works" (in the sense it gives me no error).
So Tl;Dr: I want to send a manageability command through SMBus (or NC-SI if it'd work) without BMC, but rather from my Linux kernel or user-space. Is that even possible? If yes, how do I enable the NIC slave device?
Thanks for your help
What you were trying to do is not possible. In the I350 design checklist, there is a section of data lines that must be used between the BMC and i350, please refer to page 198, the keep_PHY_link_up bit is set by the BMC through the Management Control command (refer to Section 10.5.10.1.5 for SMBus command and Section 10.6.3.10 for NC-SI command) on the sideband interface.
Hope this clarified.
Right, so now I have a system with a BMC. It is a Hewlett-Packard server Proliant DL160 G6, which embeds a BMC powered by Light-Out 100 (their own management technology I'd say) and supports IPMI v2.
How would I activate this critical session now? It there a standard specification of IPMI to send a SMBus command? Or is it something HP should provide with their BMC?