<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def get_nic_capacity(driver_info, ilo_fw):
 """Gets the FRU data to see if it is NIC data Gets the FRU data in loop from 0-255 FRU Ids and check if the returned data is NIC data. Couldn't find any easy way to detect if it is NIC data. We should't be hardcoding the FRU Id. :param driver_info: Contains the access credentials to access the BMC. :param ilo_fw: a tuple containing major and minor versions of firmware :returns: the max capacity supported by the NIC adapter. """

    i = 0x0
    value = None
    ilo_fw_rev = get_ilo_version(ilo_fw) or DEFAULT_FW_REV

    # Note(vmud213): iLO firmware versions >= 2.3 support reading the FRU
    # information in a single call instead of iterating over each FRU id.
    if ilo_fw_rev < MIN_SUGGESTED_FW_REV:
        for i in range(0xff):
            # Note(vmud213): We can discard FRU ID's between 0x6e and 0xee
            # as they don't contain any NIC related information
            if (i < 0x6e) or (i > 0xee):
                cmd = "fru print %s" % hex(i)
                out = _exec_ipmitool(driver_info, cmd)
                if out and 'port' in out and 'Adapter' in out:
                    value = _parse_ipmi_nic_capacity(out)
                    if value is not None:
                        break
            else:
                continue
    else:
        cmd = "fru print"
        out = _exec_ipmitool(driver_info, cmd)
        if out:
            for line in out.split('\n'):
                if line and 'port' in line and 'Adapter' in line:
                    value = _parse_ipmi_nic_capacity(line)
                    if value is not None:
                        break
    return value