First of all, let me say something about the terminology. After searching for hours how the SOF handling in VUSB can actually work, i've found that there are actually no SOF packets for low speed devices. (It puzzled me how a SOF packet is recognized by only looking at the sync field, because SOF packets have the very same sync fields as all other packets.) Instead there are only keep alive pulses (low speed EOPs), details can be found in the USB specification by searching for keep alive strobes.
@obdevs: please consider updating the documentation/header/source code, because IMHO the term SOF is very misleading.
But now on the topic

But maybe i get something very wrong

-michael