servod error for cave |
||||||||
Issue descriptionServod 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. 
,
Sep 23 2016
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.
,
Sep 23 2016
,
Sep 23 2016
Created a CL for it: https://chromium-review.googlesource.com/#/c/388917/ dchan@, please help verify if it work.
,
Sep 23 2016
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.
,
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
,
Sep 26 2016
Probably the driver of uart4_en is not correct on servo v3. I will check again.
,
Sep 26 2016
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
,
Sep 27 2016
LGTM to 388917 uart4_en error still there. Feel free to play with beaglebone 100.96.48.243
,
Sep 27 2016
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.
,
Sep 27 2016
,
Sep 27 2016
I mark this as fix so we can CP this to the next moblab candidate.
,
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
,
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
,
Sep 30 2016
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
,
Sep 30 2016
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 |
||||||||
Comment 1 by sbasi@chromium.org
, Sep 23 2016