libUSB synchronous bulk transfer timeout

Thanks to help on this forum, I have my libUSB declare classes work now with a digital signal generator on macOS. Only: It just works sometimes, and all hints I could find didn’t help to resolve the issue.
I can send commands to the device with bulk_transfer(2) and use bulk_transfer(130) to read the device’s response – “ok” or “err” usually (with trailing Windows.EndOFLine). 2 and 130 being in and out bulk addresses.

At other times, input will still work with the transferred count being equal to the input data size, but a following read will always result in a libUSB timeout. Although data has been sent, the device will not react.

I tried resetting the device, clear_halt on the out address, but this will not change anything. Even a Mac and device reset will change nothing.
Any ideas what I could do to make this function work reliably?