On Wednesday, January 18, 2017 at 4:24:16 PM UTC-8, David Morgan wrote: > > >> > The barometric pressure is way wrong on the console, and there is some > disagreement between the console and the WeeWx display. I am curious if > anyone knows yet what sensors are used. I have resisted peeking so far, > but that may change. > I did take the console apart last night to see what parts were used. I found the ICs were covered over with a hard black coating so you cannot identify what is there. I did not find anything that looked like pressure sensor. I did find what is probably the temp sensor.
I am finding that with my laptop, connecting to the console is not consistent. Once connected, it seems to do OK. I am not a programmer, so understanding the python code is not so easy for me. Makes it hard to understand just where things are not working. Wireshark is showing the system is having trouble initiating the transfer of data from the console to the host, even though it has already read the initialization data from the console. Below is a dump from wireshark. Frame 595, the host issues a USB SET INTERFACE Request Frame 596, the console responds, USB SET INTERFACE Response :: URB status: Protocol error (-EPROTO) (-71) Frame 597, the host issues a USBHID GET_REPORT Request Frame 598, the console responds, USBHID GET_REPORT Response :: URB status: Success (0) Console responded with 10 data bytes. All following messages were successful. So why did it just start working? And why was the data request successful when the set interface request failed? Is it not necessary for the USB interface to be set before a USBHID request? Who sent the USB request? Was it Python or the linux kernel? These are things I have not figured out. 595 690.183528 host 5.14.0 USB 64 SET INTERFACE Request Frame 595: 64 bytes on wire (512 bits), 64 bytes captured (512 bits) on interface 0 USB URB [Source: host] [Destination: 5.14.0] URB id: 0xffff88011c951300 *URB type: URB_SUBMIT ('S')* URB transfer type: URB_CONTROL (0x02) Endpoint: 0x00, Direction: OUT Device: 14 URB bus id: 5 Device setup request: relevant (0) Data: present (0) URB sec: 1484814928 URB usec: 977890 URB status: Operation now in progress (-EINPROGRESS) (-115) URB length [bytes]: 0 Data length [bytes]: 0 [Response in: 596] Interval: 0 Start frame: 0 Copy of Transfer Flags: 0x00000000 Number of ISO descriptors: 0 URB setup 0000 00 13 95 1c 01 88 ff ff *53* 02 00 0e 05 00 00 00 ........*S*....... Submit 0010 50 7a 80 58 00 00 00 00 e2 eb 0e 00 8d ff ff ff Pz.X............ 0020 00 00 00 00 00 00 00 00 01 0b 00 00 00 00 00 00 ................ 0030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 596 690.187517 5.14.0 host USB 64 SET INTERFACE Response Frame 596: 64 bytes on wire (512 bits), 64 bytes captured (512 bits) on interface 0 USB URB * [Source: 5.14.0]* * [Destination: host]* URB id: 0xffff88011c951300 URB type: URB_COMPLETE ('C') URB transfer type: URB_CONTROL (0x02) Endpoint: 0x00, Direction: OUT Device: 14 URB bus id: 5 Device setup request: not relevant ('-') Data: not present ('>') URB sec: 1484814928 URB usec: 981879 * URB status: Protocol error (-EPROTO) (-71)* URB length [bytes]: 0 Data length [bytes]: 0 [Request in: 595] [*Time from request: 0.003989000 seconds*] Unused Setup Header Interval: 0 Start frame: 0 Copy of Transfer Flags: 0x00000000 Number of ISO descriptors: 0 0000 00 13 95 1c 01 88 ff ff 43 02 00 *0e 05 00* 2d 3e ........C.....-> From 14 05, the console bus address 0010 50 7a 80 58 00 00 00 00 77 fb 0e 00 *b9 ff ff ff* Pz.X....w....... Bold means protocol error 0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 0030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 597 690.187738 host 5.14.0 USBHID 64 GET_REPORT Request Frame 597: 64 bytes on wire (512 bits), 64 bytes captured (512 bits) on interface 0 USB URB *[Source: host]* * [Destination: 5.14.0]* URB id: 0xffff88011c951300 *URB type: URB_SUBMIT ('S')* URB transfer type: URB_CONTROL (0x02) Endpoint: 0x80, Direction: IN Device: 14 URB bus id: 5 Device setup request: relevant (0) Data: not present ('<') URB sec: 1484814928 URB usec: 982100 URB status: Operation now in progress (-EINPROGRESS) (-115) URB length [bytes]: 10 Data length [bytes]: 0 [Response in: 598] Interval: 0 Start frame: 0 Copy of Transfer Flags: 0x00000200 Number of ISO descriptors: 0 [bInterfaceClass: HID (0x03)] URB setup bRequest: GET_REPORT (0x01) wValue: 0x0101 wIndex: 0 wLength: 10 0000 00 13 95 1c 01 88 ff ff *53* 02 80 0e 05 00 00 3c ........*S*......< Submit 0010 50 7a 80 58 00 00 00 00 54 fc 0e 00 8d ff ff ff Pz.X....T....... 0020 0a 00 00 00 00 00 00 00 a1 01 01 01 00 00 0a 00 ................ 0030 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 ................ 598 690.194500 5.14.0 host USBHID 74 GET_REPORT Response Frame 598: 74 bytes on wire (592 bits), 74 bytes captured (592 bits) on interface 0 USB URB * [Source: 5.14.0]* * [Destination: host]* URB id: 0xffff88011c951300 *URB type: URB_COMPLETE ('C')* URB transfer type: URB_CONTROL (0x02) Endpoint: 0x80, Direction: IN Device: 14 URB bus id: 5 Device setup request: not relevant ('-') Data: present (0) URB sec: 1484814928 URB usec: 988862 * URB status: Success (0)* URB length [bytes]: 10 * Data length [bytes]: 10* [Request in: 597] * [Time from request: 0.006762000 seconds]* Unused Setup Header Interval: 0 Start frame: 0 Copy of Transfer Flags: 0x00000200 Number of ISO descriptors: 0 [bInterfaceClass: HID (0x03)] 0000 00 13 95 1c 01 88 ff ff 43 02 80 0e 05 00 2d 00 ........C.....-. 0010 50 7a 80 58 00 00 00 00 be 16 0f 00 00 00 00 00 Pz.X............ 0020 0a 00 00 00 0a 00 00 00 00 00 00 00 00 00 00 00 ................ 0030 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 ................ 0040 *01 cb 57 78 00 45 64 5f 03 ff* ..Wx.Ed_.. *Data!* So who determines that the protocol error exists? Did it come from the console, or from the linux kernel? Was the console flagging that it got a bad message? I have observed that when the request for data fails, the console responds in 3.5 to 4 mSec. When it works, it is typically 4.8 mSec for an R1 message. The first one here took longer, maybe needed to do some housekeeping for the first message. So when it fails, the console seems to know it is not going to respond, does not try and collect data, and responds more quickly. -- 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 weewx-user+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.