New issue
Advanced search Search tips

Issue 891937 link

Starred by 1 user

Issue metadata

Status: WontFix
Owner: ----
Closed: Oct 4
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug



Sign in to add a comment

servo v4:ERROR - Problem initializing servo_v4_role -> src :: object of type 'NoneType' has no len()

Project Member Reported by tbroch@chromium.org, Oct 3

Issue description

w/ hdctools ToT and a single servo V4 connected (green PCB running servo_v4_v1.1.5740-5add44b) I'm seeing


sudo servod -b nocturne
...
2018-10-03 16:27:01,728 - Servod - ERROR - Problem initializing servo_v4_role -> src :: object of type 'NoneType' has no len()

and similarly when I query  via dut-control
 
Summary: servo v4:ERROR - Problem initializing servo_v4_role -> src :: object of type 'NoneType' has no len() (was: servo v4: )
with debugging turned on dut-control servo_v4_role yields,

2018-10-03 16:38:27,760 - Servod - DEBUG - servo_server.py:737:get - name(servo_v4_role)
2018-10-03 16:38:27,760 - Servod - DEBUG - servo_server.py:518:_get_param_drv - 
2018-10-03 16:38:27,760 - ec3poServoV4 - DEBUG - hw_driver.py:119:get - 
2018-10-03 16:38:27,760 - EC3PO Interface - DEBUG - ec3po_interface.py:138:get_command_lock - acquire lock for /dev/pts/13: True
2018-10-03 16:38:27,763 - EC3PO.Console - DEBUG - console.py:876:StartLoop - /dev/pts/12 - Input from interface: , locked:True
2018-10-03 16:38:27,764 - EC3PO.Interpreter - DEBUG - interpreter.py:318:SendCmdToEC - /dev/pts/9 - Removing EC UART from writers.
2018-10-03 16:38:27,764 - EC3PO.Console - DEBUG - console.py:901:StartLoop - /dev/pts/12 - |DBG|-i->''
2018-10-03 16:38:27,765 - EC3PO.Console - DEBUG - console.py:901:StartLoop - /dev/pts/12 - |DBG|-i->'>'
2018-10-03 16:38:27,777 - EC3PO.Console - DEBUG - console.py:876:StartLoop - /dev/pts/12 - Input from interface: chan save, locked:True
2018-10-03 16:38:27,778 - EC3PO.Interpreter - DEBUG - interpreter.py:318:SendCmdToEC - /dev/pts/9 - Removing EC UART from writers.
2018-10-03 16:38:27,778 - EC3PO.Console - DEBUG - console.py:876:StartLoop - /dev/pts/12 - Input from interface: , locked:True
2018-10-03 16:38:27,778 - EC3PO.Interpreter - DEBUG - interpreter.py:318:SendCmdToEC - /dev/pts/9 - Removing EC UART from writers.
2018-10-03 16:38:27,780 - EC3PO.Console - DEBUG - console.py:901:StartLoop - /dev/pts/12 - |DBG|-i->''
2018-10-03 16:38:27,780 - EC3PO.Console - DEBUG - console.py:901:StartLoop - /dev/pts/12 - |DBG|-i->'>'
2018-10-03 16:38:27,788 - ec3poServoV4 - DEBUG - pty_driver.py:188:_issue_cmd_get_results - Sent cmds: chan save
2018-10-03 16:38:27,788 - EC3PO Interface - DEBUG - ec3po_interface.py:143:release_command_lock - release lock for /dev/pts/13: False
2018-10-03 16:38:27,789 - EC3PO Interface - DEBUG - ec3po_interface.py:138:get_command_lock - acquire lock for /dev/pts/13: True
2018-10-03 16:38:27,791 - EC3PO.Console - DEBUG - console.py:876:StartLoop - /dev/pts/12 - Input from interface: , locked:True
2018-10-03 16:38:27,791 - EC3PO.Interpreter - DEBUG - interpreter.py:318:SendCmdToEC - /dev/pts/9 - Removing EC UART from writers.
2018-10-03 16:38:27,792 - EC3PO.Console - DEBUG - console.py:901:StartLoop - /dev/pts/12 - |DBG|-i->''
2018-10-03 16:38:27,793 - EC3PO.Console - DEBUG - console.py:901:StartLoop - /dev/pts/12 - |DBG|-i->'>'
2018-10-03 16:38:27,804 - EC3PO.Console - DEBUG - console.py:876:StartLoop - /dev/pts/12 - Input from interface: chan 1, locked:True
2018-10-03 16:38:27,805 - EC3PO.Interpreter - DEBUG - interpreter.py:318:SendCmdToEC - /dev/pts/9 - Removing EC UART from writers.
2018-10-03 16:38:27,806 - EC3PO.Console - DEBUG - console.py:876:StartLoop - /dev/pts/12 - Input from interface: , locked:True
2018-10-03 16:38:27,806 - EC3PO.Interpreter - DEBUG - interpreter.py:318:SendCmdToEC - /dev/pts/9 - Removing EC UART from writers.
2018-10-03 16:38:27,807 - EC3PO.Console - DEBUG - console.py:901:StartLoop - /dev/pts/12 - |DBG|-i->''
2018-10-03 16:38:27,807 - EC3PO.Console - DEBUG - console.py:901:StartLoop - /dev/pts/12 - |DBG|-i->'>'
2018-10-03 16:38:27,816 - ec3poServoV4 - DEBUG - pty_driver.py:188:_issue_cmd_get_results - Sent cmds: chan 1
2018-10-03 16:38:27,816 - EC3PO Interface - DEBUG - ec3po_interface.py:143:release_command_lock - release lock for /dev/pts/13: False
2018-10-03 16:38:27,816 - EC3PO Interface - DEBUG - ec3po_interface.py:138:get_command_lock - acquire lock for /dev/pts/13: True
2018-10-03 16:38:27,819 - EC3PO.Console - DEBUG - console.py:876:StartLoop - /dev/pts/12 - Input from interface: , locked:True
2018-10-03 16:38:27,819 - EC3PO.Interpreter - DEBUG - interpreter.py:318:SendCmdToEC - /dev/pts/9 - Removing EC UART from writers.
2018-10-03 16:38:27,820 - EC3PO.Console - DEBUG - console.py:901:StartLoop - /dev/pts/12 - |DBG|-i->''
2018-10-03 16:38:27,820 - EC3PO.Console - DEBUG - console.py:901:StartLoop - /dev/pts/12 - |DBG|-i->'>'
2018-10-03 16:38:27,832 - EC3PO.Console - DEBUG - console.py:876:StartLoop - /dev/pts/12 - Input from interface: cc, locked:True
2018-10-03 16:38:27,832 - EC3PO.Interpreter - DEBUG - interpreter.py:318:SendCmdToEC - /dev/pts/9 - Removing EC UART from writers.
2018-10-03 16:38:27,833 - EC3PO.Console - DEBUG - console.py:876:StartLoop - /dev/pts/12 - Input from interface: , locked:True
2018-10-03 16:38:27,834 - EC3PO.Interpreter - DEBUG - interpreter.py:318:SendCmdToEC - /dev/pts/9 - Removing EC UART from writers.
2018-10-03 16:38:27,834 - EC3PO.Console - DEBUG - console.py:901:StartLoop - /dev/pts/12 - |DBG|-i->''
2018-10-03 16:38:27,834 - EC3PO.Console - DEBUG - console.py:901:StartLoop - /dev/pts/12 - |DBG|-i->'Command 'cc' not found or ambiguous.'
2018-10-03 16:38:27,835 - EC3PO.Console - DEBUG - console.py:901:StartLoop - /dev/pts/12 - |DBG|-i->'>'
2018-10-03 16:38:27,843 - ec3poServoV4 - DEBUG - pty_driver.py:188:_issue_cmd_get_results - Sent cmds: cc
2018-10-03 16:38:30,847 - ec3poServoV4 - DEBUG - pty_driver.py:200:_issue_cmd_get_results - Before: ^cc
Command 'cc' not found or ambiguous.
> ^
2018-10-03 16:38:30,847 - ec3poServoV4 - DEBUG - pty_driver.py:201:_issue_cmd_get_results - After: ^<class 'pexpect.TIMEOUT'>^
2018-10-03 16:38:30,847 - EC3PO Interface - DEBUG - ec3po_interface.py:143:release_command_lock - release lock for /dev/pts/13: False
2018-10-03 16:38:30,848 - EC3PO Interface - DEBUG - ec3po_interface.py:138:get_command_lock - acquire lock for /dev/pts/13: True
2018-10-03 16:38:30,850 - EC3PO.Console - DEBUG - console.py:876:StartLoop - /dev/pts/12 - Input from interface: , locked:True
2018-10-03 16:38:30,851 - EC3PO.Interpreter - DEBUG - interpreter.py:318:SendCmdToEC - /dev/pts/9 - Removing EC UART from writers.
2018-10-03 16:38:30,852 - EC3PO.Console - DEBUG - console.py:901:StartLoop - /dev/pts/12 - |DBG|-i->''
2018-10-03 16:38:30,852 - EC3PO.Console - DEBUG - console.py:901:StartLoop - /dev/pts/12 - |DBG|-i->'>'
2018-10-03 16:38:30,864 - EC3PO.Console - DEBUG - console.py:876:StartLoop - /dev/pts/12 - Input from interface: chan restore, locked:True
2018-10-03 16:38:30,865 - EC3PO.Console - DEBUG - console.py:876:StartLoop - /dev/pts/12 - Input from interface: , locked:True
2018-10-03 16:38:30,865 - EC3PO.Interpreter - DEBUG - interpreter.py:318:SendCmdToEC - /dev/pts/9 - Removing EC UART from writers.
2018-10-03 16:38:30,866 - EC3PO.Interpreter - DEBUG - interpreter.py:318:SendCmdToEC - /dev/pts/9 - Removing EC UART from writers.
2018-10-03 16:38:30,868 - EC3PO.Console - DEBUG - console.py:901:StartLoop - /dev/pts/12 - |DBG|-i->''
2018-10-03 16:38:30,868 - EC3PO.Console - DEBUG - console.py:901:StartLoop - /dev/pts/12 - |DBG|-i->'>'
2018-10-03 16:38:30,875 - ec3poServoV4 - DEBUG - pty_driver.py:188:_issue_cmd_get_results - Sent cmds: chan restore
2018-10-03 16:38:30,876 - EC3PO Interface - DEBUG - ec3po_interface.py:143:release_command_lock - release lock for /dev/pts/13: False
Problem with ['servo_v4_role'] :: object of type 'NoneType' has no len()


Connecting directly to the servo v4 console it certainly seems as if the 'cc' command is missing

miniterm.py `dut-control servo_v4_console_pty|cut -d: -f2` 115200--- Miniterm on /dev/pts/12: 115200,8,N,1 ---
--- Quit: Ctrl+]  |  Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H ---

> cc
Command 'cc' not found or ambiguous.
> help
Known commands:
  adc            flashwp        i2cscan        rw             tcpc          
  chan           gettime        i2cxfer        serialno       timerinfo     
  chgoverride    gpioget        keepalive      shmem          usart_info    
  chgsup         gpioset        md             sysinfo        version       
  crash          help           panicinfo      sysjump        waitms        
  dts            hibernate      pd             syslock       
  flashinfo      history        reboot         taskinfo      
> version
Chip:    stm stm32f07x 
Board:   3
RO:      servo_v4_v1.1.5740-5add44b
RW:      servo_v4_v1.1.5740-5add44b
Build:   servo_v4_v1.1.5740-5add44b
         2018-05-14 19:37:24 @cros-beefy535-c2


Concern is this is the current shipping servo V4 FW as pushed by,

chroot $ sudo servo_updater -b servo_v4

Could have sworn I already tried ToT FW but will revisit that now.

Old FW for servo V4 was the culprit as expected.

And newly released FW to fix,

318c8b9	by nsanders@chromium.org on 2018-09-21 22:25 (local) servo-firmware: update to R70-11011.0.0


So after updating my chromiumos-overlay and

sudo emerge servo-firmware

I've got the latest released bits.

FWIW, I wasn't able to get 'sudo servo_updater -b servo_v4' to work reliably ever so I resorted to using a OTG cable and

chroot $ cd ~/trunk/src/platform/ec
chroot $ util/flash_ec --board=servo_v4 --image=/usr/share/servo_updater/firmware/servo_v4-*.bin

I also didn't have any luck running servod w/ ToT servo v4 FW

Status: WontFix (was: Untriaged)

Sign in to add a comment