servod power state issues - loosing connection to the servo_micro

68 views
Skip to first unread message

had...@chromium.org

unread,
Nov 12, 2018, 2:32:42 PM11/12/18
to faft users, Wai-Hong Tam, Ruben Rodriguez Buchillon, Congbin Guo

Context - I am experimenting with running servod in a lxc container on moblab so the version of servod does not have to be tied to the release of the moblab.  This
will make moblab much more useful when running FAFT tests.

I have a lot of things working, I even can pass a couple of faft_bios tests.

When I run firmware_FAFTSetup or similar - ( Using test from build R72-11238.0.0 ) It fails when setting power state to rec.

Questions: 

Are there any known issues with servod and power state at the moment, I do not want to be fighting a known issue.

Does anyone have any ideas what might be going on ?  

Any insight to what servod is expecting during power state changes might help me, is the usb expected to disconnect/reconnect ?   If I can figure out what is going on I might be able to change some settings in the container to get this working.

I have posted logs / version that I can think would be useful below, if more are needed please let me know,

Many thanks

-Keith

 'ec_version': 'cyan_v1.1.3574-547b8de',
 'hwid': 'CYAN D25-D4B-E6A-A3J',
 'os_version': 'cyan-release/R72-11238.0.0',
 'ro_fwid': 'Google_Cyan.7287.57.100',
 'rw_fwid': 'Google_Cyan.7287.57.145',
 'servo_micro_version': 'servo_micro_v1.1.5739-a4ab463',
 'servo_type': 'servo_v4_with_servo_micro',
 'servo_v4_version': 'servo_v4_v2.3.1-1eab95a83',
 'servod_version': ''


servod --version
servod-wrapper: Note: you can update servod to ToT by running /root/.local/standalone-hdctools/servod install
servod.py 0.0.1-f3afdb7



lsusb from the container where servod was running - it seems like 0x18d1:501a is available.

root@servod_base_01:/# lsusb
Bus 002 Device 003: ID 1058:25a2 Western Digital Technologies, Inc. 
Bus 002 Device 002: ID 13b1:0041 Linksys 
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 019: ID 093a:2510 Pixart Imaging, Inc. Optical Mouse
Bus 001 Device 018: ID 10d5:55a4 Uni Class Technology Co., Ltd 
Bus 001 Device 020: ID 046d:c31c Logitech, Inc. Keyboard K120
Bus 001 Device 017: ID 1a40:0101 Terminus Technology Inc. Hub
Bus 001 Device 003: ID 8087:07dc Intel Corp. 
Bus 001 Device 112: ID 18d1:501a Google Inc. 
Bus 001 Device 071: ID 18d1:501b Google Inc. 
Bus 001 Device 070: ID 04b4:6572 Cypress Semiconductor Corp. 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub


firmware_FAFTSetup logs exert

11/12 10:28:37.621 INFO |             servo:0530| Setting power_state to 'off'
11/12 10:28:56.875 INFO |             servo:0530| Setting power_state to 'rec'
11/12 10:28:56.932 DEBUG|              test:0410| Test failed due to Setting 'power_state' to 'rec' :: [Errno 19] No such device (it may have been disconnected). Exception log follows the after_iteration_hooks.
11/12 10:28:56.932 DEBUG|              test:0415| Starting after_iteration_hooks for firmware_FAFTSetup
11/12 10:28:56.934 DEBUG|              test:0420| after_iteration_hooks completed
11/12 10:28:56.934 WARNI|              test:0637| The test failed with the following exception
Traceback (most recent call last):
  File "/usr/local/autotest/client/common_lib/test.py", line 631, in _exec
    _call_test_function(self.execute, *p_args, **p_dargs)
  File "/usr/local/autotest/client/common_lib/test.py", line 831, in _call_test_function
    return func(*args, **dargs)
  File "/usr/local/autotest/client/common_lib/test.py", line 495, in execute
    dargs)
  File "/usr/local/autotest/client/common_lib/test.py", line 362, in _call_run_once_with_retry
    postprocess_profiled_run, args, dargs)
  File "/usr/local/autotest/client/common_lib/test.py", line 400, in _call_run_once
    self.run_once(*args, **dargs)
  File "/usr/local/autotest/server/site_tests/firmware_FAFTSetup/firmware_FAFTSetup.py", line 79, in run_once
    self.switcher.reboot_to_mode(to_mode='rec')
  File "/usr/local/autotest/server/cros/faft/utils/mode_switcher.py", line 470, in reboot_to_mode
    self._enable_rec_mode_and_reboot(usb_state='dut')
  File "/usr/local/autotest/server/cros/faft/utils/mode_switcher.py", line 596, in _enable_rec_mode_and_reboot
    psc.power_on(psc.REC_ON)
  File "/usr/local/autotest/server/cros/servo/servo.py", line 109, in power_on
    self._servo.set_nocheck('power_state', rec_mode)
  File "/usr/local/autotest/server/cros/servo/servo.py", line 536, in set_nocheck
    raise error.TestFail(err_msg)
TestFail: Setting 'power_state' to 'rec' :: [Errno 19] No such device (it may have been disconnected)0x18d1:501a


The relevant exert from servod log ( with -d on )

2018-11-12 18:28:48,673 - Servod - DEBUG - servo_server.py:813:set - name(image_usbkey_pwr) wr_val(off)
2018-11-12 18:28:48,674 - Servod - DEBUG - servo_server.py:550:_get_param_drv - 
2018-11-12 18:28:48,676 - SystemConfig - DEBUG - system_config.py:358:_lookup - lookup of map onoff
2018-11-12 18:28:48,677 - tca6416 - DEBUG - tca6416.py:99:set - 
2018-11-12 18:28:48,678 - I2cReg - DEBUG - i2c_reg.py:94:_read_reg - 
2018-11-12 18:28:48,679 - I2cReg - DEBUG - i2c_reg.py:166:_wr_rd - 
2018-11-12 18:28:48,679 - Si2c - DEBUG - stm32i2c.py:96:_raw_wr_rd - Si2c.wr_rd(port=0, slave_address=0x20, write_list=[2], read_count=1)
2018-11-12 18:28:48,685 - Si2c - DEBUG - stm32i2c.py:130:_raw_wr_rd - Si2c.wr_rd result 0x0000, read array('B', [160])
2018-11-12 18:28:48,687 - I2cReg - DEBUG - i2c_reg.py:108:_write_reg - 
2018-11-12 18:28:48,688 - I2cReg - DEBUG - i2c_reg.py:166:_wr_rd - 
2018-11-12 18:28:48,689 - Si2c - DEBUG - stm32i2c.py:96:_raw_wr_rd - Si2c.wr_rd(port=0, slave_address=0x20, write_list=[2, 128], read_count=1)
2018-11-12 18:28:48,696 - Si2c - DEBUG - stm32i2c.py:130:_raw_wr_rd - Si2c.wr_rd result 0x0000, read array('B', [0])
2018-11-12 18:28:48,697 - I2cReg - DEBUG - i2c_reg.py:94:_read_reg - 
2018-11-12 18:28:48,698 - I2cReg - DEBUG - i2c_reg.py:166:_wr_rd - 
2018-11-12 18:28:48,700 - Si2c - DEBUG - stm32i2c.py:96:_raw_wr_rd - Si2c.wr_rd(port=0, slave_address=0x20, write_list=[6], read_count=1)
2018-11-12 18:28:48,707 - Si2c - DEBUG - stm32i2c.py:130:_raw_wr_rd - Si2c.wr_rd result 0x0000, read array('B', [0])
2018-11-12 18:28:50,713 - Servod - DEBUG - servo_server.py:813:set - name(image_usbkey_direction) wr_val(dut_sees_usbkey)
2018-11-12 18:28:50,714 - Servod - DEBUG - servo_server.py:550:_get_param_drv - 
2018-11-12 18:28:50,716 - SystemConfig - DEBUG - system_config.py:358:_lookup - lookup of map usbkey
2018-11-12 18:28:50,719 - usbImageManager - DEBUG - hw_driver.py:93:set - logical_value = 1
2018-11-12 18:28:50,721 - Servod - DEBUG - servo_server.py:813:set - name(image_usbkey_pwr) wr_val(off)
2018-11-12 18:28:50,721 - Servod - DEBUG - servo_server.py:550:_get_param_drv - 
2018-11-12 18:28:50,724 - SystemConfig - DEBUG - system_config.py:358:_lookup - lookup of map onoff
2018-11-12 18:28:50,726 - tca6416 - DEBUG - tca6416.py:99:set - 
2018-11-12 18:28:50,727 - I2cReg - DEBUG - i2c_reg.py:94:_read_reg - 
2018-11-12 18:28:50,728 - I2cReg - DEBUG - i2c_reg.py:166:_wr_rd - 
2018-11-12 18:28:50,731 - Si2c - DEBUG - stm32i2c.py:96:_raw_wr_rd - Si2c.wr_rd(port=0, slave_address=0x20, write_list=[2], read_count=1)
2018-11-12 18:28:50,739 - Si2c - DEBUG - stm32i2c.py:130:_raw_wr_rd - Si2c.wr_rd result 0x0000, read array('B', [128])
2018-11-12 18:28:50,740 - I2cReg - DEBUG - i2c_reg.py:94:_read_reg - 0x18d1:501a
2018-11-12 18:28:50,741 - I2cReg - DEBUG - i2c_reg.py:166:_wr_rd - 
2018-11-12 18:28:50,745 - Si2c - DEBUG - stm32i2c.py:96:_raw_wr_rd - Si2c.wr_rd(port=0, slave_address=0x20, write_list=[6], read_count=1)
2018-11-12 18:28:50,750 - Si2c - DEBUG - stm32i2c.py:130:_raw_wr_rd - Si2c.wr_rd result 0x0000, read array('B', [0])
2018-11-12 18:28:52,753 - Servod - DEBUG - servo_server.py:813:set - name(image_usbkey_mux) wr_val(1)
2018-11-12 18:28:52,753 - Servod - DEBUG - servo_server.py:550:_get_param_drv - 
2018-11-12 18:28:52,754 - SystemConfig - DEBUG - system_config.py:358:_lookup - lookup of map usbkey
2018-11-12 18:28:52,755 - tca6416 - DEBUG - tca6416.py:99:set - 
2018-11-12 18:28:52,756 - I2cReg - DEBUG - i2c_reg.py:94:_read_reg - 
2018-11-12 18:28:52,757 - I2cReg - DEBUG - i2c_reg.py:166:_wr_rd - 
2018-11-12 18:28:52,758 - Si2c - DEBUG - stm32i2c.py:96:_raw_wr_rd - Si2c.wr_rd(port=0, slave_address=0x20, write_list=[2], read_count=1)
2018-11-12 18:28:52,762 - Si2c - DEBUG - stm32i2c.py:130:_raw_wr_rd - Si2c.wr_rd result 0x0000, read array('B', [128])
2018-11-12 18:28:52,764 - I2cReg - DEBUG - i2c_reg.py:108:_write_reg - 
2018-11-12 18:28:52,765 - I2cReg - DEBUG - i2c_reg.py:166:_wr_rd - 
2018-11-12 18:28:52,765 - Si2c - DEBUG - stm32i2c.py:96:_raw_wr_rd - Si2c.wr_rd(port=0, slave_address=0x20, write_list=[2, 136], read_count=1)
2018-11-12 18:28:52,772 - Si2c - DEBUG - stm32i2c.py:130:_raw_wr_rd - Si2c.wr_rd result 0x0000, read array('B', [0])
2018-11-12 18:28:52,773 - I2cReg - DEBUG - i2c_reg.py:94:_read_reg - 
2018-11-12 18:28:52,774 - I2cReg - DEBUG - i2c_reg.py:166:_wr_rd - 
2018-11-12 18:28:52,776 - Si2c - DEBUG - stm32i2c.py:96:_raw_wr_rd - Si2c.wr_rd(port=0, slave_address=0x20, write_list=[6], read_count=1)
2018-11-12 18:28:52,785 - Si2c - DEBUG - stm32i2c.py:130:_raw_wr_rd - Si2c.wr_rd result 0x0000, read array('B', [0])
2018-11-12 18:28:54,788 - Servod - DEBUG - servo_server.py:813:set - name(image_usbkey_pwr) wr_val(on)
2018-11-12 18:28:54,790 - Servod - DEBUG - servo_server.py:550:_get_param_drv - 
2018-11-12 18:28:54,791 - SystemConfig - DEBUG - system_config.py:358:_lookup - lookup of map onoff
2018-11-12 18:28:54,793 - tca6416 - DEBUG - tca6416.py:99:set - 
2018-11-12 18:28:54,793 - I2cReg - DEBUG - i2c_reg.py:94:_read_reg - 
2018-11-12 18:28:54,794 - I2cReg - DEBUG - i2c_reg.py:166:_wr_rd - 
2018-11-12 18:28:54,795 - Si2c - DEBUG - stm32i2c.py:96:_raw_wr_rd - Si2c.wr_rd(port=0, slave_address=0x20, write_list=[2], read_count=1)
2018-11-12 18:28:54,800 - Si2c - DEBUG - stm32i2c.py:130:_raw_wr_rd - Si2c.wr_rd result 0x0000, read array('B', [136])
2018-11-12 18:28:54,801 - I2cReg - DEBUG - i2c_reg.py:108:_write_reg - 
2018-11-12 18:28:54,802 - I2cReg - DEBUG - i2c_reg.py:166:_wr_rd - 
2018-11-12 18:28:54,802 - Si2c - DEBUG - stm32i2c.py:96:_raw_wr_rd - Si2c.wr_rd(port=0, slave_address=0x20, write_list=[2, 168], read_count=1)
2018-11-12 18:28:54,808 - Si2c - DEBUG - stm32i2c.py:130:_raw_wr_rd - Si2c.wr_rd result 0x0000, read array('B', [0])
2018-11-12 18:28:54,811 - I2cReg - DEBUG - i2c_reg.py:94:_read_reg - 
2018-11-12 18:28:54,814 - I2cReg - DEBUG - i2c_reg.py:166:_wr_rd - 
2018-11-12 18:28:54,815 - Si2c - DEBUG - stm32i2c.py:96:_raw_wr_rd - Si2c.wr_rd(port=0, slave_address=0x20, write_list=[6], read_count=1)
2018-11-12 18:28:54,824 - Si2c - DEBUG - stm32i2c.py:130:_raw_wr_rd - Si2c.wr_rd result 0x0000, read array('B', [0])
2018-11-12 18:28:54,826 - Servod - DEBUG - servo_server.py:754:get - name(image_usbkey_mux)
2018-11-12 18:28:54,826 - Servod - DEBUG - servo_server.py:550:_get_param_drv - 
2018-11-12 18:28:54,827 - tca6416 - DEBUG - tca6416.py:77:get - 
2018-11-12 18:28:54,829 - I2cReg - DEBUG - i2c_reg.py:94:_read_reg - 
2018-11-12 18:28:54,830 - I2cReg - DEBUG - i2c_reg.py:166:_wr_rd - 
2018-11-12 18:28:54,831 - Si2c - DEBUG - stm32i2c.py:96:_raw_wr_rd - Si2c.wr_rd(port=0, slave_address=0x20, write_list=[0], read_count=1)
2018-11-12 18:28:54,838 - Si2c - DEBUG - stm32i2c.py:130:_raw_wr_rd - Si2c.wr_rd result 0x0000, read array('B', [168])
2018-11-12 18:28:54,839 - SystemConfig - DEBUG - system_config.py:358:_lookup - lookup of map usbkey
2018-11-12 18:28:54,840 - Servod - DEBUG - servo_server.py:766:get - image_usbkey_mux = dut_sees_usbkey
2018-11-12 18:28:56,848 - Servod - DEBUG - servo_server.py:813:set - name(image_usbkey_pwr) wr_val(on)
2018-11-12 18:28:56,849 - Servod - DEBUG - servo_server.py:550:_get_param_drv - 
2018-11-12 18:28:56,851 - SystemConfig - DEBUG - system_config.py:358:_lookup - lookup of map onoff
2018-11-12 18:28:56,852 - tca6416 - DEBUG - tca6416.py:99:set - 
2018-11-12 18:28:56,852 - I2cReg - DEBUG - i2c_reg.py:94:_read_reg - 
2018-11-12 18:28:56,854 - I2cReg - DEBUG - i2c_reg.py:166:_wr_rd - 
2018-11-12 18:28:56,854 - Si2c - DEBUG - stm32i2c.py:96:_raw_wr_rd - Si2c.wr_rd(port=0, slave_address=0x20, write_list=[2], read_count=1)
2018-11-12 18:28:56,861 - Si2c - DEBUG - stm32i2c.py:130:_raw_wr_rd - Si2c.wr_rd result 0x0000, read array('B', [168])
2018-11-12 18:28:56,862 - I2cReg - DEBUG - i2c_reg.py:94:_read_reg - 
2018-11-12 18:28:56,863 - I2cReg - DEBUG - i2c_reg.py:166:_wr_rd - 
2018-11-12 18:28:56,865 - Si2c - DEBUG - stm32i2c.py:96:_raw_wr_rd - Si2c.wr_rd(port=0, slave_address=0x20, write_list=[6], read_count=1)
2018-11-12 18:28:56,872 - Si2c - DEBUG - stm32i2c.py:130:_raw_wr_rd - Si2c.wr_rd result 0x0000, read array('B', [0])
2018-11-12 18:28:56,880 - Servod - DEBUG - servo_server.py:813:set - name(power_state) wr_val(rec)
2018-11-12 18:28:56,881 - Servod - DEBUG - servo_server.py:550:_get_param_drv - 
)018-11-12 18:28:56,881 - Servod - DEBUG - servo_server.py:813:set - name(ec_uart_cmd) wr_val(
2018-11-12 18:28:56,883 - Servod - DEBUG - servo_server.py:550:_get_param_drv - 
2018-11-12 18:28:56,885 - uart - DEBUG - hw_driver.py:93:set - logical_value = 
2018-11-12 18:28:56,885 - EC3PO Interface - DEBUG - ec3po_interface.py:216:get_command_lock - acquire lock for /dev/pts/18: True
2018-11-12 18:28:56,890 - EC3PO.Console - DEBUG - console.py:904:StartLoop - /dev/pts/17 - Input from interface: , locked:True
2018-11-12 18:28:56,895 - EC3PO.Interpreter - DEBUG - interpreter.py:320:SendCmdToEC - /dev/pts/13 - Removing EC UART from writers.
2018-11-12 18:28:56,900 - EC3PO.Console - DEBUG - console.py:904:StartLoop - /dev/pts/17 - Input from interface: , locked:True
2018-11-12 18:28:56,905 - Suart - DEBUG - stm32uart.py:240:get_pty - 
2018-11-12 18:28:56,906 - Suart - DEBUG - stm32uart.py:124:run_tx_thread - tx /dev/pts/13: [Errno 19] No such device (it may have been disconnected)
2018-11-12 18:28:56,907 - Suart - ERROR - stm32uart.py:127:run_tx_thread - USB disconnected 0x18d1:501a, servod failed.
2018-11-12 18:28:56,911 - uart - DEBUG - pty_driver.py:188:_issue_cmd_get_results - Sent cmds: 
2018-11-12 18:28:56,912 - EC3PO.Interpreter - DEBUG - interpreter.py:320:SendCmdToEC - /dev/pts/13 - Removing EC UART from writers.
2018-11-12 18:28:56,912 - EC3PO Interface - DEBUG - ec3po_interface.py:221:release_command_lock - release lock for /dev/pts/18: False
2018-11-12 18:28:56,915 - Servod - DEBUG - servo_server.py:813:set - name(warm_reset) wr_val(on)
2018-11-12 18:28:56,915 - Servod - DEBUG - servo_server.py:550:_get_param_drv - 
2018-11-12 18:28:56,916 - SystemConfig - DEBUG - system_config.py:358:_lookup - lookup of map onoff_i
2018-11-12 18:28:56,918 - tca6416 - DEBUG - tca6416.py:99:set - 
2018-11-12 18:28:56,919 - I2cReg - DEBUG - i2c_reg.py:94:_read_reg - 
2018-11-12 18:28:56,921 - I2cReg - DEBUG - i2c_reg.py:166:_wr_rd - 
2018-11-12 18:28:56,922 - Si2c - DEBUG - stm32i2c.py:96:_raw_wr_rd - Si2c.wr_rd(port=0, slave_address=0x20, write_list=[2], read_count=1)
2018-11-12 18:28:56,929 - Si2c - ERROR - stm32i2c.py:117:_raw_wr_rd - USB disconnected 0x18d1:501a, servod failed.
Exception in thread Thread-16:
Traceback (most recent call last):
  File "/usr/lib/python2.7/threading.py", line 801, in __bootstrap_inner
    self.run()
  File "/usr/lib/python2.7/threading.py", line 754, in run
    self.__target(*self.__args, **self.__kwargs)
  File "/root/.local/hdctools/build/servo/stm32uart.py", line 121, in run_tx_thread
    self._susb._write_ep.write(r, self._susb.TIMEOUT_MS)
  File "/root/.local/hdctools/lib/python2.7/site-packages/usb/core.py", line 287, in write
    return self.device.write(self.bEndpointAddress, data, self.interface, timeout)
  File "/root/.local/hdctools/lib/python2.7/site-packages/usb/core.py", line 633, in write
    self.__get_timeout(timeout)
  File "/root/.local/hdctools/lib/python2.7/site-packages/usb/backend/libusb1.py", line 771, in bulk_write
    timeout)
  File "/root/.local/hdctools/lib/python2.7/site-packages/usb/backend/libusb1.py", line 872, in __write
    _check(retval)
  File "/root/.local/hdctools/lib/python2.7/site-packages/usb/backend/libusb1.py", line 571, in _check
    raise USBError(_str_error[ret], ret, _libusb_errno[ret])
USBError: [Errno 19] No such device (it may have been disconnected)

kmsh...@chromium.org

unread,
Nov 12, 2018, 11:04:00 PM11/12/18
to faft users, wai...@chromium.org, coconu...@chromium.org, gu...@chromium.org


On Monday, November 12, 2018 at 11:32:42 AM UTC-8, had...@chromium.org wrote:

Context - I am experimenting with running servod in a lxc container on moblab so the version of servod does not have to be tied to the release of the moblab.  This
will make moblab much more useful when running FAFT tests.

I have a lot of things working, I even can pass a couple of faft_bios tests.

When I run firmware_FAFTSetup or similar - ( Using test from build R72-11238.0.0 ) It fails when setting power state to rec.

Questions: 

Are there any known issues with servod and power state at the moment, I do not want to be fighting a known issue.

Does anyone have any ideas what might be going on ?  

Any insight to what servod is expecting during power state changes might help me, is the usb expected to disconnect/reconnect ?   If I can figure out what is going on I might be able to change some settings in the container to get this working.

I have posted logs / version that I can think would be useful below, if more are needed please let me know,

Many thanks

-Keith

 'ec_version': 'cyan_v1.1.3574-547b8de',
 'hwid': 'CYAN D25-D4B-E6A-A3J',
 'os_version': 'cyan-release/R72-11238.0.0',
 'ro_fwid': 'Google_Cyan.7287.57.100',
 'rw_fwid': 'Google_Cyan.7287.57.145',
 'servo_micro_version': 'servo_micro_v1.1.5739-a4ab463',
 'servo_type': 'servo_v4_with_servo_micro',
 'servo_v4_version': 'servo_v4_v2.3.1-1eab95a83',
 'servod_version': ''

I was able to get FAFTSetup to pass against a cyan with the below (I brought my cyan up to the system image you used; the servo firmware builds come from the latest released labstation image):

19:43:20 INFO | autoserv| {'ec_version': 'cyan_v1.1.3575-c3321a1',
19:43:20 INFO | autoserv| 'hwid': 'CYAN TEST A-A 1829',
19:43:20 INFO | autoserv| 'os_version': 'cyan-release/R72-11238.0.0',
19:43:20 INFO | autoserv| 'ro_fwid': 'Google_Cyan.7287.57.100',
19:43:20 INFO | autoserv| 'rw_fwid': 'Google_Cyan.7287.57.180',
19:43:20 INFO | autoserv| 'servo_micro_version': 'servo_micro_v1.1.9140-27e9ca8e6',
19:43:20 INFO | autoserv| 'servo_type': 'servo_v4_with_servo_micro',
19:43:20 INFO | autoserv| 'servo_v4_version': 'servo_v4_v2.3.1-1eab95a83',
19:43:20 INFO | autoserv| 'servod_version': ''}

There's a delta in AP, EC, and micro versions there.

For micro, the chroot also looks to contain servo_micro_v1.1.9140-27e9ca8e6* (i.e. looks like no micro released since the last labstation release).

So, I recommend trying again after getting the below (could still be some servod issue introduced after the labstation release, or something else):
'servo_micro_version': 'servo_micro_v1.1.9140-27e9ca8e6',
'rw_fwid': 'Google_Cyan.7287.57.180',
'ec_version': 'cyan_v1.1.3575-c3321a1'

*(cr) kmshelton@heisman /usr/share/servo_updater/firmware $ strings servo_micro-R70-11011.0.0.bin | grep micro
servo_micro_v1.1.9140-27e9ca8e6
servo_micro_v1.1.9140-27e9ca8e6 2018-09-07 19:17:20 @cros-beefy534-c2
servo_micro_v1.1.9140-27e9ca8e6
servo_micro_v1.1.9140-27e9ca8e6 2018-09-07 19:17:20 @cros-beefy534-c2
(cr) kmshelton@heisman /usr/share/servo_updater/firmware $
 

Tom Wai-Hong Tam (談偉航)

unread,
Nov 13, 2018, 4:55:21 PM11/13/18
to kmsh...@chromium.org, faft-...@chromium.org, coconu...@chromium.org, gu...@chromium.org
Looks like it failed at talking to the STM32 (the MCU of servo micro) UART. You may check why /dev/pts/13 disappeared in the middle, any clue on /var/log/messages?

2018-11-12 18:28:56,905 - Suart - DEBUG - stm32uart.py:240:get_pty - 
2018-11-12 18:28:56,906 - Suart - DEBUG - stm32uart.py:124:run_tx_thread - tx /dev/pts/13: [Errno 19] No such device (it may have been disconnected)
2018-11-12 18:28:56,907 - Suart - ERROR - stm32uart.py:127:run_tx_thread - USB disconnected 0x18d1:501a, servod failed.
--
You received this message because you are subscribed to the Google Groups "faft users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to faft-users+...@chromium.org.
Reply all
Reply to author
Forward
0 new messages