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

Issue 859796 link

Starred by 1 user

Issue metadata

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



Sign in to add a comment

Porting Chameleon package from fpga boards to chrome os devices

Project Member Reported by josephsih@chromium.org, Jul 3

Issue description

It is desirable to port chameleon package from fpga boards to generic chrome os boards. As we experienced stability issues of chameleon boards  in the test lab from time to time, this would help stabilize the bluetooth tests.

This would also make test development using chameleon test framework much easier.
 
Cc: -snanda@google.com -rkc@google.com -sonnysasaka@google.com -mcchou@google.com r...@chromium.org sonnysasaka@chromium.org mcchou@chromium.org snanda@chromium.org
Project Member

Comment 2 by bugdroid1@chromium.org, Jul 18

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform/chameleon/+/24a960b975c13f526147f32ed670c4cb6038bc26

commit 24a960b975c13f526147f32ed670c4cb6038bc26
Author: Joseph Hwang <josephsih@chromium.org>
Date: Wed Jul 18 11:08:06 2018

Porting Chameleon package to chrome os devices

This primarily includes the following tasks:
- Deploy a chameleond config file as an upstart service.
  Do not use update-rc.d on chrome os devices.
- Detect if the machine is already in USB host mode.
  No need to enable USB OTG driver in that case.
- In the fpga_tio driver, the instantiation of various devices is
  performed in a lazy manner according to the platform, chromeos
  or fpga.
- The memory singletons are instantiated in a lazy manner too.
  Otherwise, the system may crash due to the incompatibility of
  different platforms.

BUG=chromium:859796
TEST=Perform the following steps.

Install "make" on the chrome os device as "make" is required to
setup the package on the device.
(cr) $ emerge-${BOARD} make
     where ${BOARD} represents the chromeos board replacing
     chameleon board.
(cr) $ cros deploy "$CHROMEOS_IP" make
     where ${CHROMEOS_IP} represents the IP address of the
     chrome os device replacing chameleon board.

Next step is to make a tarball of the chameleon package and
install it on the chrome os device. This will install a few more
packages at the first time, including setuptools, pip, and wheel.
(cr) $ make
(cr) $ make remote-install CHAMELEON_HOST="$CHROMEOS_IP"

Run a bluetooth test to verify that the package is installed properly.
Remember to insert an RN42 kit to the chrome os device.
(cr) test_that --autotest_dir ~/trunk/src/third_party/autotest/files/
     --args "chameleon_host=${CHROMEOS_IP}" "${DUT_IP}"
     bluetooth_AdapterPairing.mouse
where DUT_IP is the chromebook under test.

Also verify that the patch works well on a chameleon board.

Change-Id: Ia5dd9aecf02be1bb2aefe4135311f19e04d86057
Reviewed-on: https://chromium-review.googlesource.com/1125650
Commit-Ready: Shyh-In Hwang <josephsih@chromium.org>
Tested-by: Shyh-In Hwang <josephsih@chromium.org>
Reviewed-by: Wai-Hong Tam <waihong@google.com>

[modify] https://crrev.com/24a960b975c13f526147f32ed670c4cb6038bc26/chameleond/utils/common.py
[add] https://crrev.com/24a960b975c13f526147f32ed670c4cb6038bc26/deploy/init/chameleond.conf
[modify] https://crrev.com/24a960b975c13f526147f32ed670c4cb6038bc26/Makefile
[modify] https://crrev.com/24a960b975c13f526147f32ed670c4cb6038bc26/MANIFEST.in
[modify] https://crrev.com/24a960b975c13f526147f32ed670c4cb6038bc26/chameleond/utils/mem.py
[modify] https://crrev.com/24a960b975c13f526147f32ed670c4cb6038bc26/chameleond/utils/system_tools.py
[modify] https://crrev.com/24a960b975c13f526147f32ed670c4cb6038bc26/chameleond/drivers/fpga_tio.py
[modify] https://crrev.com/24a960b975c13f526147f32ed670c4cb6038bc26/chameleond/devices/bluetooth_hid_flow.py

Cc: shijinabraham@chromium.org

Sign in to add a comment