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

Issue 827487 link

Starred by 1 user

Issue metadata

Status: Assigned
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 1
Type: Bug



Sign in to add a comment

servod: servo.system_config.SystemConfigError: Duplicate control usbpd_uart_routing without 'clobber_ok' key

Project Member Reported by drinkcat@chromium.org, Mar 30 2018

Issue description

servod on commit:
a93605fc190e0b7b5c5520404edd7ce9999796fd

# sudo servod -b poppy -s C1612060643
...
2018-03-30 14:44:27,141 - SystemConfig - INFO - Loading XML config (/usr/lib64/python2.7/site-packages/servo/data/uart_common.xml, None, 0)
Traceback (most recent call last):
  File "/usr/lib/python-exec/python2.7/servod", line 9, in <module>
    load_entry_point('servo===0.0.1-a93605f', 'console_scripts', 'servod')()
  File "/usr/lib64/python2.7/site-packages/servo/servod.py", line 531, in main
    main_function()
  File "/usr/lib64/python2.7/site-packages/servo/servod.py", line 519, in main_function
    version=board_version, usbkm232=options.usbkm232)
  File "/usr/lib64/python2.7/site-packages/servo/servo_server.py", line 192, in __init__
    servo_postinit.post_init(self)
  File "/usr/lib64/python2.7/site-packages/servo/servo_postinit.py", line 381, in post_init
    post_init_class(servod).post_init()
  File "/usr/lib64/python2.7/site-packages/servo/servo_postinit.py", line 359, in post_init
    self.prepend_config(self.CCD_CFG)
  File "/usr/lib64/python2.7/site-packages/servo/servo_postinit.py", line 224, in prepend_config
    new_syscfg.add_cfg_file(*cfg_file)
  File "/usr/lib64/python2.7/site-packages/servo/system_config.py", line 260, in add_cfg_file
    element_str))
servo.system_config.SystemConfigError: Duplicate control usbpd_uart_routing without 'clobber_ok' key
<control>
    <name>usbpd_uart_routing</name>
    <doc>enable pd uart routing</doc>
    <params drv="na" interface="servo" map="na" subtype="not_applicable" />
  </control>

 
Owner: tbroch@chromium.org
Status: Assigned (was: Untriaged)
f87bdc944ab8b4b437c415a3003b6d3b517b45cd is the first bad commit
commit f87bdc944ab8b4b437c415a3003b6d3b517b45cd
Author: Todd Broch <tbroch@chromium.org>
Date:   Thu Mar 22 16:41:12 2018 -0700

    cr50: Do not initialize ccd_testlab & usbpd_uart_routing by default.
    
    BUG=none
    TEST=manual
    start servod on device that doesn't support ccd testlab facilities and
    no longer see
    
    ERROR - Unable to determine driver for usbpd_uart_routing
    ERROR - Problem initializing cr50_testlab -> open :: Timeout waiting
    for response.
    
    Change-Id: Ib7fb5cd80d7d5821408be3ff25403677072868dd
    Reviewed-on: https://chromium-review.googlesource.com/977026
    Commit-Ready: Todd Broch <tbroch@chromium.org>
    Tested-by: Todd Broch <tbroch@chromium.org>
    Reviewed-by: Mary Ruthven <mruthven@chromium.org>

:040000 040000 9f7ec5f9d840ca2f31a8f37f8caee5f4f4e3bef3 a2f4dd8542f3b6fc8802901b76989e1d1da58a0e M	servo

Is there a reason why just removing the init tag wouldn't solve this, why does the clobber_ok also need to be removed?

Comment 3 by tbroch@chromium.org, Mar 30 2018

I failed to see the other declarations of usbpd_uart_routing hence why I removed it.  I'll remedy by just removing init in after revert.
Ccd_testlab must be initialized for CCD to work. Looks like that control should be in ccd_cr50.xml rather than cr50.xml

Pd uart routing isn't part of CCD so it should probably be in the board specific config overlay
Project Member

Comment 5 by bugdroid1@chromium.org, Mar 30 2018

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

commit 1d9e62da2b54225d23b07fb49adda9cf203c7149
Author: Nicolas Boichat <drinkcat@chromium.org>
Date: Fri Mar 30 16:32:14 2018

Revert "cr50: Do not initialize ccd_testlab & usbpd_uart_routing by default."

This reverts commit f87bdc944ab8b4b437c415a3003b6d3b517b45cd.

BUG=chromium:827487
TEST=sudo servod -b poppy -s C1612060643 actually works (but the warning below re-appears)

Original change's description:
> cr50: Do not initialize ccd_testlab & usbpd_uart_routing by default.
>
> BUG=none
> TEST=manual
> start servod on device that doesn't support ccd testlab facilities and
> no longer see
>
> ERROR - Unable to determine driver for usbpd_uart_routing
> ERROR - Problem initializing cr50_testlab -> open :: Timeout waiting
> for response.
>
> Change-Id: Ib7fb5cd80d7d5821408be3ff25403677072868dd
> Reviewed-on: https://chromium-review.googlesource.com/977026
> Commit-Ready: Todd Broch <tbroch@chromium.org>
> Tested-by: Todd Broch <tbroch@chromium.org>
> Reviewed-by: Mary Ruthven <mruthven@chromium.org>

Change-Id: Ic79e451941a7a3c2047409375741445d8bf37c1e
Reviewed-on: https://chromium-review.googlesource.com/987732
Commit-Ready: Nicolas Boichat <drinkcat@chromium.org>
Tested-by: Nicolas Boichat <drinkcat@chromium.org>
Reviewed-by: Todd Broch <tbroch@chromium.org>

[modify] https://crrev.com/1d9e62da2b54225d23b07fb49adda9cf203c7149/servo/data/ccd_cr50.xml
[modify] https://crrev.com/1d9e62da2b54225d23b07fb49adda9cf203c7149/servo/data/cr50.xml

Cc: mruthven@chromium.org
Cc: haoweiw@chromium.org johndhong@chromium.org englab-sys-cros@google.com

Sign in to add a comment