This is sending me crazy. I have narrowed down the behaviour on the windows system (will post that to the dev forum later) but no matter what I try to do, every write after the first 2 or 3 causes a timeout. Or nearly every one - occasionally one is accepted. This happens whether they are commands or ACK packets. I have Linux packet dumps which make no sense in relation to the timeouts. These seem to show the interrupt-mode transfer handshake, which the windows packet captures do not. Initially I see frames like: 1. write a data packet 2. see a success status packet return 3. send a request for a packet 4. see the read data packet arrive. 6. write a packet 7. after precisely the timeout period, see a failure packet come in, with a URB status: -2 (ENOENT) But what is generating this packet? The wmr300 does not know the timeout period If it was an ENOENT error then why does it not get created immediately? Why is this code not returned as the error code? or why is the error code not the timeout error? Does wireshark have the error codes wrong?
The code is set to ignore lots of timeout exceptions on write, but eventually the console gets sick of not seeing any ACK packets and gives up. So even ignoring the timeouts does not work. The pyusb debug settings do not help much. They do not log any errors at all. -- You received this message because you are subscribed to the Google Groups "weewx-user" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
