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.

Reply via email to