compatible with older devread 32-bit byte_offset