default chunk size used by ipmi_fru_read() is too large for some SP's
ipmi_fru_read() is failing when used to read the IPMI FRU records on Dell R730 platforms. Looking more closely, we see that the IPMI_CMD_READ_FRU_DATA command is failing with completion code 0xca, which is a generic completion code indicating that the size of data requested is too large (see table 5-2 in the IPMI specification).
The implementation of ipmi_fru_read() uses a 128-byte chunk size and this has always worked in the past, but admittedly, I wrote this code years ago to work on Sun/Oracle ILOM and it's likely never been tested on non-Sun gear.
In contrast, ipmitool uses logic that retries the IPMI_CMD_READ_FRU_DATA command with increasingly smaller chunk sizes and we probably need to implement a similar approach in libipmi.