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

Issue 665140 link

Starred by 1 user

Issue metadata

Status: Available
Owner: ----
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Bug

Blocked on: View detail
issue 705080
issue 705081



Sign in to add a comment

servo v4: SD card issues during deployment

Project Member Reported by dchan@chromium.org, Nov 14 2016

Issue description



Test failed to see SD card as recovery media

/tmp/test_that_results_38GRpV/results-1-firmware_FAFTSetup                    [  FAILED  ]
/tmp/test_that_results_38GRpV/results-1-firmware_FAFTSetup                      ERROR: An USB disk should be plugged in the servo board.
/tmp/test_that_results_38GRpV/results-1-firmware_FAFTSetup/firmware_FAFTSetup [  FAILED  ]
/tmp/test_that_results_38GRpV/results-1-firmware_FAFTSetup/firmware_FAFTSetup   ERROR: An USB disk should be plugged in the servo board.


log snippet
09/07 13:37:54.719 INFO | test_runner_utils:0198| autoserv| Check test image is on USB stick and run recovery boot
09/07 13:37:54.720 INFO | test_runner_utils:0198| autoserv| Setting prtctl4_pwren to off
09/07 13:37:56.734 INFO | test_runner_utils:0198| autoserv| Setting usb_mux_sel1 to servo_sees_usbkey
09/07 13:37:58.745 INFO | test_runner_utils:0198| autoserv| Setting prtctl4_pwren to on
09/07 13:38:08.768 INFO | test_runner_utils:0198| autoserv| Setting prtctl4_pwren to off
09/07 13:38:10.795 INFO | test_runner_utils:0198| autoserv| Setting prtctl4_pwren to off
09/07 13:38:12.809 INFO | test_runner_utils:0198| autoserv| Setting usb_mux_sel1 to servo_sees_usbkey
09/07 13:38:14.826 INFO | test_runner_utils:0198| autoserv| Setting prtctl4_pwren to on
09/07 13:38:24.864 INFO | test_runner_utils:0198| autoserv| Autotest caught exception when running test:
09/07 13:38:24.864 INFO | test_runner_utils:0198| autoserv| Traceback (most recent call last):
09/07 13:38:24.864 INFO | test_runner_utils:0198| autoserv| File "/mnt/host/source/src/third_party/autotest/files/client/common_lib/test.py", line 600, in _exec
09/07 13:38:24.865 INFO | test_runner_utils:0198| autoserv| _call_test_function(self.execute, *p_args, **p_dargs)
09/07 13:38:24.865 INFO | test_runner_utils:0198| autoserv| File "/mnt/host/source/src/third_party/autotest/files/client/common_lib/test.py", line 804, in _call_test_function
09/07 13:38:24.865 INFO | test_runner_utils:0198| autoserv| return func(*args, **dargs)
09/07 13:38:24.866 INFO | test_runner_utils:0198| autoserv| File "/mnt/host/source/src/third_party/autotest/files/client/common_lib/test.py", line 461, in execute
09/07 13:38:24.867 INFO | test_runner_utils:0198| autoserv| dargs)
09/07 13:38:24.868 INFO | test_runner_utils:0198| autoserv| File "/mnt/host/source/src/third_party/autotest/files/client/common_lib/test.py", line 347, in _call_run_once_with_retry
09/07 13:38:24.868 INFO | test_runner_utils:0198| autoserv| postprocess_profiled_run, args, dargs)
09/07 13:38:24.868 INFO | test_runner_utils:0198| autoserv| File "/mnt/host/source/src/third_party/autotest/files/client/common_lib/test.py", line 376, in _call_run_once
09/07 13:38:24.869 INFO | test_runner_utils:0198| autoserv| self.run_once(*args, **dargs)
09/07 13:38:24.869 INFO | test_runner_utils:0198| autoserv| File "/mnt/host/source/src/third_party/autotest/files/server/site_tests/firmware_FAFTSetup/firmware_FAFTSetup.py", line 84, in run_once
09/07 13:38:24.869 INFO | test_runner_utils:0198| autoserv| self.assert_test_image_in_usb_disk()
09/07 13:38:24.870 INFO | test_runner_utils:0198| autoserv| File "/mnt/host/source/src/third_party/autotest/files/server/cros/faft/firmware_test.py", line 367, in assert_test_image_in_usb_disk
09/07 13:38:24.870 INFO | test_runner_utils:0198| autoserv| 'An USB disk should be plugged in the servo board.')
09/07 13:38:24.870 INFO | test_runner_utils:0198| autoserv| TestError: An USB disk should be plugged in the servo board.


test execute from desktip using
test_that --autotest_dir ~/trunk/src/third_party/autotest/files/ --board=terra 100.96.48.79 f:.*firmware_FAFTSetup/control


#1 dchan@google.com
+waihong

servo v4 has SD card and USB 
We would like to use either one for recovery image, I am not sure if servo_sees_usbkey need to do something different in order to check SD card also.
Cc: waihong@chromium.org 

#2 dchan@google.com
test:
- dut-control usb_mux_sel1:dut_sees_usbkey
- ssh to dut and ls -l /dev/sd* (according to https://cs.corp.google.com/chromeos_public/src/third_party/autotest/files/server/cros/servo/servo.py?q=probe_host_usb_dev&sq=package:%5Echromeos_public$&l=554)


I see /dev/sd* when I connect the USB stick but nothing when I connect the SD card.

Then I tried:
- dut-control sd_mux_sel:dut_sees_usbkey
- from DUT ls -l /dev/sd* return nothing 

#3 waihong@google.com
2 issues:
* The name of usb_mux_sel1 probably changed, sd_mux_sel?
* On servo v4, there are 2 extra USB mux's (names?):
    Mux to select [SD card] or [USB stick]
    Mux to select [uServo] or [DUT Type-C]
  Have to modify the switch_usbkey() method in servo.py to set the correct values for these mux's.
Cc: tbroch@google.com 


#4 nsanders@google.com
To enable SD on host: 
dut-control sd_en:on sd_pwr_en:on sd_mux_sel:host host_sd_usb_mux_en:on host_sd_usb_mux_sel:sd

To enable SD on DUT:
dut-control sd_en:on sd_pwr_en:on sd_mux_sel:dut


I believe Kevin was working on appropriate defaults and aliases that could make it work transparently.


The above was from https://code.google.com/p/chrome-os-partner/issues/detail?id=57116

 
Components: -Infra>Labs
dchan@ Please do not use Infra>Labs component anymore.
Components: Infra>Client>ChromeOS
Labels: Hotlist-Fixit
Status: Started (was: Assigned)
Cc: haoweiw@chromium.org
https://chromium-review.googlesource.com/434998 has the switchover.

I'm able to successfully deploy 1 dut with this config change consistently, but when I do > 1, then the labstation will reboot during the deployment process and I don't see anything suspicious in dmesg/vlm when it happens.  I need some more time to determine what's going on.
Can you check
/dev/pstore/console-ramoops
after reboot? It should contain crash info.

Summary: servo v4: SD card issues during deployment (was: servo v4: SD card failed recovery)
so I've hit 2 issues that I'll split into their own bug so the debug doesn't get mixed up together:

1. switching > 7 (need to double check this) sd cards to the servo host (labstation) causes craziness in the dmesg/vlm logs and I see the /dev/sd* devices in iostat disappear and reappear over and over and over.  Not sure what's going on but will file bug to follow up.

2. copying a file to the device (using python shutil.copyfile) causes the labstation to reboot during the copy. I finally caught a stack trace in dmesg but there was no last_kmsg in /proc.  Will open up bug to follow up on this.

Let's continue the discussion on the bugs I open up.
Blockedon: 705080
Blockedon: 705081
Components: -Infra>Client>ChromeOS Infra>Client>ChromeOS>Test
What's the status of this and its blockers?
No progress since last update and will probably not support due to blocking bugs.
Owner: akes...@chromium.org
Bulk-edit, reassigning to Aviv to assign to someone.
Owner: ----
Gathered onto a servo v4 hotlist, removing self as owner.
Status: Available (was: Started)
This issue has been marked as started, but has no owner. Making available.

Sign in to add a comment