Perhaps a solution would be a combination of the two. E.g. dongle converts USB protocol to (say) XYZ protocol, and software converts from XYZ protocol to readable filesystem.