I have added the default value setting of m_DownloadEstimation in indi_toupbase.cpp
from line 2063 you shoud find this code
HRESULT rc = FP(put_Roi(m_CameraHandle, x, y, w, h));
if (FAILED(rc))
{
LOGF_ERROR("Error setting camera ROI: %d", rc);
return false;
}
I have added this line.
m_DownloadEstimation = 10000.0; // set Download Estimation to default value --> this value will be adapted when the next frame was downloaded
I built all from latest git sources today. The modified handling of m_DownloadEstimation works for me (as did Max' workaround before). No timeouts after setting small ROIs and resetting to fullframe.
10" F5 Newton and 130mm F7 Apo on EQ6-R, ZWO EAF focusers, DeepSkyPro 2600c, ASI183MM, RPi4b 8GB