I have a USB-connected UPS and both sysutils/nut and a simple client that I wrote are reporting "no device" (LIBUSB_ERROR_NO_DEVICE via libusb) after talking to it for some (variable) time. If I restart my client it again works for a while before dying the same way. I'm using FreeBSD 8-stable/amd64 (r237444).
As an example, my client sends "Q1\r" every second and expects a status message (chopped into 8-byte chunks) back. The following is a usbdump showing the last successful poll and failure. Any suggestions on where this problem exists? 11:12:53.547070 usbus1.3 SUBM-CTRL-EP=00000000,SPD=LOW,NFR=2,SLEN=16,IVAL=0 frame[0] WRITE 8 bytes 0000 21 09 00 02 00 00 08 00 -- -- -- -- -- -- -- -- |!....... | frame[1] WRITE 8 bytes 0000 51 31 0D 00 00 00 00 00 -- -- -- -- -- -- -- -- |Q1...... | 11:12:53.548918 usbus1.3 DONE-CTRL-EP=00000000,SPD=LOW,NFR=2,SLEN=0,IVAL=0,ERR=0 frame[0] WRITE 8 bytes frame[1] WRITE 8 bytes 11:12:53.548963 usbus1.3 SUBM-INTR-EP=00000081,SPD=LOW,NFR=1,SLEN=0,IVAL=32 frame[0] READ 8 bytes 11:12:53.601930 usbus1.3 DONE-INTR-EP=00000081,SPD=LOW,NFR=1,SLEN=8,IVAL=32,ERR=0 frame[0] READ 8 bytes 0000 28 32 34 30 2E 38 20 32 -- -- -- -- -- -- -- -- |(240.8 2 | 11:12:53.602018 usbus1.3 SUBM-INTR-EP=00000081,SPD=LOW,NFR=1,SLEN=0,IVAL=32 frame[0] READ 8 bytes 11:12:53.633918 usbus1.3 DONE-INTR-EP=00000081,SPD=LOW,NFR=1,SLEN=8,IVAL=32,ERR=0 frame[0] READ 8 bytes 0000 34 30 2E 34 20 32 34 31 -- -- -- -- -- -- -- -- |40.4 241 | 11:12:53.633979 usbus1.3 SUBM-INTR-EP=00000081,SPD=LOW,NFR=1,SLEN=0,IVAL=32 frame[0] READ 8 bytes 11:12:53.697920 usbus1.3 DONE-INTR-EP=00000081,SPD=LOW,NFR=1,SLEN=8,IVAL=32,ERR=0 frame[0] READ 8 bytes 0000 2E 33 20 30 32 30 20 35 -- -- -- -- -- -- -- -- |.3 020 5 | 11:12:53.697995 usbus1.3 SUBM-INTR-EP=00000081,SPD=LOW,NFR=1,SLEN=0,IVAL=32 frame[0] READ 8 bytes 11:12:53.729919 usbus1.3 DONE-INTR-EP=00000081,SPD=LOW,NFR=1,SLEN=8,IVAL=32,ERR=0 frame[0] READ 8 bytes 0000 30 2E 32 20 31 33 2E 36 -- -- -- -- -- -- -- -- |0.2 13.6 | 11:12:53.729999 usbus1.3 SUBM-INTR-EP=00000081,SPD=LOW,NFR=1,SLEN=0,IVAL=32 frame[0] READ 8 bytes 11:12:53.761916 usbus1.3 DONE-INTR-EP=00000081,SPD=LOW,NFR=1,SLEN=8,IVAL=32,ERR=0 frame[0] READ 8 bytes 0000 20 32 35 2E 30 20 30 30 -- -- -- -- -- -- -- -- | 25.0 00 | 11:12:53.761976 usbus1.3 SUBM-INTR-EP=00000081,SPD=LOW,NFR=1,SLEN=0,IVAL=32 frame[0] READ 8 bytes 11:12:53.793925 usbus1.3 DONE-INTR-EP=00000081,SPD=LOW,NFR=1,SLEN=8,IVAL=32,ERR=0 frame[0] READ 8 bytes 0000 30 30 31 30 30 31 0D 00 -- -- -- -- -- -- -- -- |001001.. | 11:12:54.795036 usbus1.3 SUBM-CTRL-EP=00000000,SPD=LOW,NFR=2,SLEN=16,IVAL=0 frame[0] WRITE 8 bytes 0000 21 09 00 02 00 00 08 00 -- -- -- -- -- -- -- -- |!....... | frame[1] WRITE 8 bytes 0000 51 31 0D 00 00 00 00 00 -- -- -- -- -- -- -- -- |Q1...... | 11:12:59.679800 usbus1.3 DONE-CTRL-EP=00000000,SPD=LOW,NFR=0,SLEN=0,IVAL=0,ERR=TIMEOUT -- Peter Jeremy
pgpB9hb0diMnv.pgp
Description: PGP signature