New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 649741 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Last visit > 30 days ago
Closed: Sep 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug



Sign in to add a comment

servod error for cave

Project Member Reported by dchan@chromium.org, Sep 23 2016

Issue description


Servod error showing up when hooked up to cave device:



$ ssh root@chromeos2-row6-rack3-host12-servo tail /var/log/servod_9999.log
2016-09-23 01:33:14,722 - Servod - ERROR - Unable to determine driver for jtag_vref_sel0
2016-09-23 01:33:14,724 - Servod - ERROR - Problem initializing jtag_vref_sel0 -> off :: 'drv' key not found in params dict
2016-09-23 01:33:14,727 - Servod - ERROR - Unable to determine driver for jtag_vref_sel1
2016-09-23 01:33:14,729 - Servod - ERROR - Problem initializing jtag_vref_sel1 -> off :: 'drv' key not found in params dict
2016-09-23 01:33:14,733 - Servod - ERROR - Problem initializing uart4_en -> on :: [Errno 121] Remote I/O error
2016-09-23 12:01:54,826 - Servod - ERROR - Unable to determine driver for jtag_vref_sel0
2016-09-23 12:01:54,829 - Servod - ERROR - Problem initializing jtag_vref_sel0 -> off :: 'drv' key not found in params dict
2016-09-23 12:01:54,831 - Servod - ERROR - Unable to determine driver for jtag_vref_sel1
2016-09-23 12:01:54,833 - Servod - ERROR - Problem initializing jtag_vref_sel1 -> off :: 'drv' key not found in params dict
2016-09-23 12:01:54,837 - Servod - ERROR - Problem initializing uart4_en -> on :: [Errno 121] Remote I/O error

$ ssh root@chromeos2-row6-rack3-host12-servo grep '^CHROMEOS_RELEASE_DESCRIPTION=' /etc/lsb-release
CHROMEOS_RELEASE_DESCRIPTION=8797.0.0 (Official Build) dev-channel beaglebone_servo test


From Tom:

The servo_glados_overlay.xml only describes the initial value of the jtag_vref_sel1 value. The real driver is defined in servo_v2.xml and servo_v2_r1.xml. However, servo_v3_r0.xml misses it.

These pins seem to be repurposed for UART4. I am not sure if it still works on servo v3.

 

Comment 1 by sbasi@chromium.org, Sep 23 2016

Cc: sbasi@chromium.org
Let me know if we need to update beaglebone.
Cc: tbroch@chromium.org
The cause is:
servo_glados_overlay.xml describes the initial values of the jtag_vref_sel1 and some other fields. The real driver is actually defined in servo_v2.xml and servo_v2_r1.xml. However, servo_v3_r0.xml misses the fields.

So starting servod using servo v2 works fine. But servo v3 is broken.

Initializing the fields is to enable an extra UART which also require hardware rework on servo v2 board. This rework seems not possible for the lab servo v3. As this UART is so far not used in FAFT or in the lab. We may just leave these field untouch and ignore the errors. The base configs servo_v2.xml and servo_v2_r1.xml do set the same initial values. We can remove the redundant initial values in servo_glados_overlay.xml.
Cc: kevcheng@chromium.org abhijee...@samsung.com
Created a CL for it:
  https://chromium-review.googlesource.com/#/c/388917/

dchan@, please help verify if it work.

Comment 5 by dchan@chromium.org, Sep 23 2016

Owner: waihong@chromium.org
Status: Assigned (was: Available)
patch did not work, I have a local beaglebone 100.96.48.243
I remount "mount -o remount,rw /" and edit /usr/lib/python2.7/site-packages/servo/data/servo_glados_overlay.xml to your CL.
$ sudo servod --board=cave
2016-09-23 22:22:18,021 - servod - INFO - Start
2016-09-23 22:22:18,626 - servod - INFO - Found servo, vid: 0x18d1 pid: 0x5004 sid: 907479-00051
2016-09-23 22:22:18,635 - servod - INFO - Found XML overlay for board cave
2016-09-23 22:22:18,639 - SystemConfig - INFO - Loading XML config servo_v3_r0.xml
2016-09-23 22:22:18,842 - SystemConfig - INFO - Loading XML config common.xml
2016-09-23 22:22:18,909 - SystemConfig - INFO - Loading XML config keyboard.xml
2016-09-23 22:22:19,261 - SystemConfig - INFO - Loading XML config servo_cave_overlay.xml
2016-09-23 22:22:19,269 - SystemConfig - INFO - Loading XML config servo_glados_overlay.xml
2016-09-23 22:22:19,321 - SystemConfig - INFO - Loading XML config servoflex_v2_r0_p50.xml
2016-09-23 22:22:19,347 - SystemConfig - INFO - Loading XML config x86_ec_common.xml
2016-09-23 22:22:19,395 - SystemConfig - INFO - Loading XML config ec_common.xml
Traceback (most recent call last):
  File "/usr/lib/python-exec/python2.7/servod", line 9, in <module>
    load_entry_point('servo===0.0.1-3931cbc', 'console_scripts', 'servod')()
  File "/usr/lib/python2.7/site-packages/servo/servod.py", line 515, in main
    main_function()
  File "/usr/lib/python2.7/site-packages/servo/servod.py", line 465, in main_function
    scfg.add_cfg_file(cfg_file)
  File "/usr/lib/python2.7/site-packages/servo/system_config.py", line 161, in add_cfg_file
    self.add_cfg_file(element.find('name').text)
  File "/usr/lib/python2.7/site-packages/servo/system_config.py", line 219, in add_cfg_file
    % (tag, name, len(params_list), element_str))
servo.system_config.SystemConfigError: control jtag_vref_sel0 has illegal number of params 0
<control>
    <name>jtag_vref_sel0</name>
    <doc>usbpd_uart_vref_sel0</doc>
  </control>


I try to replace your deleted line with <params></params>, and servod starts:
# cat /var/log/servod_9999.log
2016-09-23 22:23:59,824 - servod - INFO - Start
2016-09-23 22:24:00,464 - servod - INFO - Found servo, vid: 0x18d1 pid: 0x5004 sid: 907479-00051
2016-09-23 22:24:00,473 - servod - INFO - Found XML overlay for board cave
2016-09-23 22:24:00,477 - SystemConfig - INFO - Loading XML config /usr/lib/python2.7/site-packages/servo/data/servo_v3_r0.xml
2016-09-23 22:24:00,680 - SystemConfig - INFO - Loading XML config /usr/lib/python2.7/site-packages/servo/data/common.xml
2016-09-23 22:24:00,749 - SystemConfig - INFO - Loading XML config /usr/lib/python2.7/site-packages/servo/data/keyboard.xml
2016-09-23 22:24:01,117 - SystemConfig - INFO - Loading XML config /usr/lib/python2.7/site-packages/servo/data/servo_cave_overlay.xml
2016-09-23 22:24:01,125 - SystemConfig - INFO - Loading XML config /usr/lib/python2.7/site-packages/servo/data/servo_glados_overlay.xml
2016-09-23 22:24:01,202 - SystemConfig - INFO - Loading XML config /usr/lib/python2.7/site-packages/servo/data/servoflex_v2_r0_p50.xml
2016-09-23 22:24:01,230 - SystemConfig - INFO - Loading XML config /usr/lib/python2.7/site-packages/servo/data/x86_ec_common.xml
2016-09-23 22:24:01,284 - SystemConfig - INFO - Loading XML config /usr/lib/python2.7/site-packages/servo/data/ec_common.xml
2016-09-23 22:24:01,491 - Servod - INFO - Initializing interface 1 to bb_gpio
2016-09-23 22:24:01,495 - Servod - INFO - Initializing interface 2 to dev_i2c
2016-09-23 22:24:01,498 - Servod - INFO - Initializing interface 3 to bb_uart
2016-09-23 22:24:01,541 - Servod - INFO - Initializing interface 4 to dev_i2c
2016-09-23 22:24:01,544 - Servod - INFO - Changing to next FTDI part @ pid = 0x5005
2016-09-23 22:24:01,547 - Servod - INFO - Initializing interface 5 to bb_adc
2016-09-23 22:24:01,557 - Servod - INFO - Initializing interface 7 to bb_uart
2016-09-23 22:24:01,599 - Servod - INFO - Initializing interface 8 to bb_uart
2016-09-23 22:24:01,643 - Servod - INFO - Initializing interface 9 to ec3po_uart
2016-09-23 22:24:01,788 - Servod - INFO - Initializing interface 10 to ec3po_uart
2016-09-23 22:24:01,904 - EC3PO Interface - INFO - /dev/pts/0
2016-09-23 22:24:01,916 - Servod - INFO - Initializing interface 11 to bb_uart
2016-09-23 22:24:01,965 - EC3PO.Console - INFO - /dev/pts/0 - EC Console is being served on /dev/pts/0.
2016-09-23 22:24:02,016 - Servod - INFO - Initialized pch_disable to off
2016-09-23 22:24:02,040 - Servod - INFO - Initialized jtag_buf_on_flex_en to off
2016-09-23 22:24:02,050 - Servod - INFO - Initialized cold_reset to off
2016-09-23 22:24:02,069 - Servod - INFO - Initialized warm_reset to off
2016-09-23 22:24:02,090 - Servod - INFO - Initialized spi1_buf_on_flex_en to off
2016-09-23 22:24:02,101 - Servod - INFO - Initialized pwr_button to release
2016-09-23 22:24:02,112 - Servod - INFO - Initialized lid_open to yes
2016-09-23 22:24:02,133 - Servod - INFO - Initialized spi2_buf_on_flex_en to off
2016-09-23 22:24:02,152 - Servod - INFO - Initialized rec_mode to off
2016-09-23 22:24:02,170 - Servod - INFO - Initialized fw_up to off
2016-09-23 22:24:02,181 - Servod - INFO - Initialized jtag_vref to off
2016-09-23 22:24:02,191 - Servod - INFO - Initialized spi1_vref to off
2016-09-23 22:24:02,201 - Servod - INFO - Initialized uart3_vref_33 to off
2016-09-23 22:24:02,212 - Servod - INFO - Initialized uart3_vref_25 to off
2016-09-23 22:24:02,223 - Servod - INFO - Initialized uart3_vref_18 to off
2016-09-23 22:24:02,233 - Servod - INFO - Initialized spi2_vref to off
2016-09-23 22:24:02,243 - Servod - INFO - Initialized sd_vref to off
2016-09-23 22:24:02,254 - Servod - INFO - Initialized uart1_en to on
2016-09-23 22:24:02,263 - Servod - INFO - Initialized uart2_en to on
2016-09-23 22:24:02,273 - Servod - INFO - Initialized uart3_en to on
2016-09-23 22:24:02,284 - Servod - INFO - Initialized dut_hub1_rst1 to off
2016-09-23 22:24:02,294 - Servod - INFO - Initialized dut_hub_on to yes
2016-09-23 22:24:02,304 - Servod - INFO - Initialized dut_hub_sel to dut_sees_hub
2016-09-23 22:24:02,314 - Servod - INFO - Initialized dut_hub_pwren to on
2016-09-23 22:24:02,324 - Servod - INFO - Initialized prtctl4_pwren to on
2016-09-23 22:24:02,334 - Servod - INFO - Initialized usb_mux_oe1 to on
2016-09-23 22:24:02,344 - Servod - INFO - Initialized usb_mux_sel1 to servo_sees_usbkey
2016-09-23 22:24:02,353 - Servod - INFO - Initialized prtctl2_pwren to on
2016-09-23 22:24:02,363 - Servod - INFO - Initialized usb_mux_oe3 to on
2016-09-23 22:24:02,373 - Servod - INFO - Initialized usb_mux_sel3 to servo_sees_usbkey
2016-09-23 22:24:02,383 - Servod - INFO - Initialized prtctl3_pwren to on
2016-09-23 22:24:02,395 - Servod - INFO - Initialized usb_mux_oe4 to on
2016-09-23 22:24:02,405 - Servod - INFO - Initialized dut_usb2_prtctl to off
2016-09-23 22:24:02,415 - Servod - INFO - Initialized usb_mux_oe2 to on
2016-09-23 22:24:02,425 - Servod - INFO - Initialized spi1_buf_en to off
2016-09-23 22:24:02,435 - Servod - INFO - Initialized spi2_buf_en to off
2016-09-23 22:24:02,445 - Servod - INFO - Initialized ec_spi to off
2016-09-23 22:24:02,455 - Servod - INFO - Initialized atmega_rst to off
2016-09-23 22:24:02,465 - Servod - INFO - Initialized at_hwb to off
2016-09-23 22:24:02,485 - Servod - INFO - Initialized jtag_buf_en to off
2016-09-23 22:24:02,508 - Servod - INFO - Initialized fw_wp_en to off
2016-09-23 22:24:02,520 - Servod - INFO - Initialized bb_kbd_m1_c2_r1 to off
2016-09-23 22:24:02,531 - Servod - INFO - Initialized bb_kbd_m1_c2_r2 to off
2016-09-23 22:24:02,542 - Servod - INFO - Initialized bb_kbd_m1_c2_r3 to off
2016-09-23 22:24:02,554 - Servod - INFO - Initialized bb_kbd_m2_c1_r1 to off
2016-09-23 22:24:02,565 - Servod - INFO - Initialized bb_kbd_m2_c1_r2 to off
2016-09-23 22:24:02,575 - Servod - INFO - Initialized bb_kbd_m2_c1_r3 to off
2016-09-23 22:24:02,587 - Servod - INFO - Initialized ec_ec3po_interp_connect to on
2016-09-23 22:24:02,602 - Servod - INFO - Initialized usbpd_ec3po_interp_connect to on
2016-09-23 22:24:02,611 - Servod - ERROR - Problem initializing uart4_en -> on :: [Errno 121] Remote I/O error
2016-09-23 22:24:02,623 - Servod - INFO - Initialized uart4_on_flex_en to on
2016-09-23 22:24:02,626 - servod - INFO - Listening on 0.0.0.0 port 9999


please check the changes and upload a new CL.


Comment 6 by dchan@chromium.org, Sep 23 2016

o please also fix the 
2016-09-23 22:24:02,611 - Servod - ERROR - Problem initializing uart4_en -> on :: [Errno 121] Remote I/O error


not sure if they are related, feel free to check it at 100.96.48.243
Probably the driver of uart4_en is not correct on servo v3. I will check again.
The driver param of uart4_en was redefined only for servo v2. A fix is not to redefine the param, reuse the existing jtag_buf_en param, and just change its init value. Servo v2 and v3 can have different implementations for jtag_buf_en.

Danny, let try the following CL to fix the uart4_en issue.
  https://chromium-review.googlesource.com/389672

Comment 9 by dchan@chromium.org, Sep 27 2016

LGTM to 388917

uart4_en error still there. Feel free to play with beaglebone 100.96.48.243
Checked the CL 389672 work, updated the overlay file on 100.96.48.243.

Now the name uart4_en is removed as only one alias can be assigned. You can use the name usbpd_uart_en or jtag_buf_en.

Comment 11 by dchan@chromium.org, Sep 27 2016

Labels: Proj-Moblab M-53

Comment 12 by dchan@chromium.org, Sep 27 2016

Status: Fixed (was: Assigned)
I mark this as fix so we can CP this to the next moblab candidate.
Project Member

Comment 13 by bugdroid1@chromium.org, Sep 28 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/hdctools/+/b0f8ceceb4d084bb4c1923d835085980aa5cd7ec

commit b0f8ceceb4d084bb4c1923d835085980aa5cd7ec
Author: Wai-Hong Tam <waihong@google.com>
Date: Fri Sep 23 18:12:29 2016

Glados: Remove the init values of jtag_vref_sel0 and jtag_vref_sel1

The init values are already set in the base configs, like servo_v2.xml.
Servo v3 board doesn't work. Better to skip setting init values on
the board overlay, like servo_glados_overlay.xml.

BUG= chromium:649741 
TEST=None

Change-Id: I3dbfb794c74124cf8c6f0b98d400c4dd4474d9cc
Reviewed-on: https://chromium-review.googlesource.com/388917
Commit-Ready: Wai-Hong Tam <waihong@google.com>
Tested-by: Wai-Hong Tam <waihong@google.com>
Reviewed-by: danny chan <dchan@chromium.org>

[modify] https://crrev.com/b0f8ceceb4d084bb4c1923d835085980aa5cd7ec/servo/data/servo_glados_overlay.xml

Project Member

Comment 14 by bugdroid1@chromium.org, Sep 28 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/hdctools/+/58e14b901eaa7199f1ce7e62cbed81a39514445f

commit 58e14b901eaa7199f1ce7e62cbed81a39514445f
Author: Wai-Hong Tam <waihong@google.com>
Date: Mon Sep 26 21:04:28 2016

Glados: Don't redefine the v2 driver param for jtag_buf_en

On servo v2, we repurpose the JTAG interface for USB PD UART. The driver
param was redefined on the glados overlay; however, it only works on
servo v2, not servo v3.

We should not refine the param, should reuse the existing jtag_buf_en
param, and just set its init value.

BUG= chromium:649741 
TEST=None

Change-Id: Ie6e5997b5a6d0f25ce42a6be74af8652bb0e6517
Reviewed-on: https://chromium-review.googlesource.com/389672
Commit-Ready: Wai-Hong Tam <waihong@google.com>
Tested-by: Wai-Hong Tam <waihong@google.com>
Reviewed-by: danny chan <dchan@chromium.org>

[modify] https://crrev.com/58e14b901eaa7199f1ce7e62cbed81a39514445f/servo/data/servo_glados_overlay.xml

Project Member

Comment 15 by bugdroid1@chromium.org, Sep 30 2016

Labels: merge-merged-release-R54-8743.B
The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/hdctools/+/43fd53734ec016efe740662c13644f04b5e63d68

commit 43fd53734ec016efe740662c13644f04b5e63d68
Author: Wai-Hong Tam <waihong@google.com>
Date: Fri Sep 23 18:12:29 2016

Glados: Remove the init values of jtag_vref_sel0 and jtag_vref_sel1

The init values are already set in the base configs, like servo_v2.xml.
Servo v3 board doesn't work. Better to skip setting init values on
the board overlay, like servo_glados_overlay.xml.

BUG= chromium:649741 
TEST=None

Change-Id: I3dbfb794c74124cf8c6f0b98d400c4dd4474d9cc
Reviewed-on: https://chromium-review.googlesource.com/388917
Commit-Ready: Wai-Hong Tam <waihong@google.com>
Tested-by: Wai-Hong Tam <waihong@google.com>
Reviewed-by: danny chan <dchan@chromium.org>
(cherry picked from commit b0f8ceceb4d084bb4c1923d835085980aa5cd7ec)
Reviewed-on: https://chromium-review.googlesource.com/391238
Reviewed-by: Michael Tang <ntang@chromium.org>
Commit-Queue: Mohan Konduri <krk@chromium.org>
Tested-by: Mohan Konduri <krk@chromium.org>

[modify] https://crrev.com/43fd53734ec016efe740662c13644f04b5e63d68/servo/data/servo_glados_overlay.xml

Project Member

Comment 16 by bugdroid1@chromium.org, Sep 30 2016

Labels: merge-merged-release-R53-8530.B
The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/hdctools/+/84a588d34aadd00642eeeed94c38b0ed7956809f

commit 84a588d34aadd00642eeeed94c38b0ed7956809f
Author: Wai-Hong Tam <waihong@google.com>
Date: Mon Sep 26 21:04:28 2016

Glados: Don't redefine the v2 driver param for jtag_buf_en

On servo v2, we repurpose the JTAG interface for USB PD UART. The driver
param was redefined on the glados overlay; however, it only works on
servo v2, not servo v3.

We should not refine the param, should reuse the existing jtag_buf_en
param, and just set its init value.

BUG= chromium:649741 
TEST=None

Change-Id: Ie6e5997b5a6d0f25ce42a6be74af8652bb0e6517
Reviewed-on: https://chromium-review.googlesource.com/390356
Reviewed-by: Michael Tang <ntang@chromium.org>
Commit-Queue: Mohan Konduri <krk@chromium.org>
Tested-by: Mohan Konduri <krk@chromium.org>

[modify] https://crrev.com/84a588d34aadd00642eeeed94c38b0ed7956809f/servo/data/servo_glados_overlay.xml

Sign in to add a comment