Difference between revisions of "Board Farm"
(→multi-function: add BCU/2) |
(→multi-function: Add Geert's bcu2) |
||
Line 124: | Line 124: | ||
* [[BCU/2 board]] - Open Hardware design by Geert Uytterhoeven for multi-function DUT controller(serial, power, buttons, gpio, i2c, etc.) | * [[BCU/2 board]] - Open Hardware design by Geert Uytterhoeven for multi-function DUT controller(serial, power, buttons, gpio, i2c, etc.) | ||
** uses a teensy board | ** uses a teensy board | ||
− | ** connection to host = USB | + | ** It's a small board to control and monitor the operation of two development boards. |
+ | ** hardware files: https://github.com/geertu/pcb-bcu2 | ||
+ | ** software files: https://github.com/geertu/teensy3-bcu2 | ||
+ | ** connection to host = USB | ||
== USB mega-ports == | == USB mega-ports == |
Revision as of 14:37, 18 February 2020
Here is some information about board farms.
Contents
Community
At the Embedded Linux Conference Europe 2017 Andrew Murray held a BoF session titled Farming Together. The purpose of this BoF was to bring together people that are actively working on board farms to create a community, to knowledge share and to start a collaborative effort.
Add your name and contact information if you would like to be notified when an e-mail list is created, or are generally interested in this topic:
- Andrew Murray - <amurray (at) witekio.com> *
- Tim Bird - <tim.bird (at) sony.com> *
- Robert Schwebel <r.schwebel (at) pengutronix.de> *
- Arnout Vandecappelle - <arnout at mind dot be> -- doesn't have a board farm but is interested
- Mirza Krak - <mirza.krak (at) endian.se> *
- Alan Bennett - <alan (at) opensourcefoundries.com>
- Geert Uytterhoeven - <geert (at) linux-m68k.org> *
- Andrea Scian - <andrea.scian (at) dave.eu>
- Kieran Bingham - <kbingham (at) kernel.org> *
- Jan Lübbe - <j.luebbe (at) pengutronix.de> *
- Marco Cavallini - <m.cavallini (at) koansoftware.com>
- Kevin Hilman - <khilman (at) baylibre.com>
- Bill Mills - <wmills (at) ti.com>
- Tom Gall - <tom.gall (at) linaro.org>
- Stephano Cetola - <stephano.cetola (at) linux.intel.com>
- Mike Holmes - <mike.holmes (at) linaro.org>
- Matteo Vit - <matteo.vit (at) dev.starwaredesign.com>
- Attie Grande - <attie.grande (at) argentum-systems.co.uk>
- Roland Hieber <r <dot> hieber <at> pengutronix <dot> de>
- Tim Orling <ticotimo (at) gmail (dot) com>
- Ryan Arnold <ryan <dot> arnold <at> linaro <dot> org>
- Behan Webster <behanw (at) converseincode (dot) com> *
- Michal Simek <monstr (at) monstr (dot) eu>
- Krzysztof Kozlowski <krzk (at) kernel (dot) org>
- Jagan Teki <jagan (at) openedev (dot) com>
- Heiko Schocher <hs (at) denx (dot) de>
- Khiem Nguyen <khiem.nguyen.xt (at) renesas.com>
- Amit Kucheria <amit.kucheria (at) verdurent.com>
* = have seen this person on the e-mail list, or already subscribed.
Mailing list
Discussions on this topic have started at on the "Automated Testing" mailing list of the Yocto Project
Next meeting
To be determined.
Maybe at Plumbers 2018, Connect, or ELCE 2018
Actions
- define API between test framework and DUT controller layer?
- pduclient?
- labgrid?
- ebfarm?
- ttypersist: provides an application a fake socket for misbehaving ttys
- ttc
- libvirt
- r4d
- survey of existing tools, hardware, practices
- create a definition for an "automated testing" stack - see Automated Testing Stack
- start with definitions from SLAV?
- identify different areas of test automation operation
Presentations
If you know of a presentation on this topic, please add it below:
- "Test Standards - Can Fuego, Lava and others agree?" by Tim Bird at Linaro Connect SFO 2017
- "Herd Your Boards, Become a Farmer" by Geert Uytterhoeven at ELCE2016
- "Automation beyond Testing and Embedded System Validation" by Jan Luebbe (Pengutronix) at ELCE2017
- Introduction to kernelCI.org
- Blog Article and Video
- Piece of cake - testing remote embedded devices made easy with MuxPi by Paweł Wieczorek at FOSDEM 2018
Best Practices
Issues/Requirements
Misc / Tools
- New horizontally scalable CI system built with Containers and container orchestration technologies in mind - https://github.com/OpenSourceFoundries/jobserv / http://connect.linaro.org/resource/sfo17/sfo17-217/
Hardware
SD muxers
- USB-SD-Mux by Pengutronix, now available
- SD-MUX by Tizen (deprecated - see MuxPi)
- MuxPi by Tizen (MuxPi is the successor to SD-MUX)
Kevin Hilman mentioned (at ELCE 2017) wifi SDCards as a way to handle the SD mux problem. Was he referring to something like these? http://techpp.com/2015/04/28/wifi-sd-cards-camera/
power control
- usb board with switchable power
- ykush - 3 port USB power switcher - https://www.yepkit.com/products/ykush
- Web Power Switch by Digital Loggers
- control program by Tim Bird: File:Powerswitch-set.sh
- Energenie Power Management System (USB controlled 4-way power switch +2 always on) (UK)
- uhubctl USB hub per-port power control
relays/buttons
- 8-Channel Opto-Isolator Board for Board Farm Control
- DIN Relay IV by Digital Loggers
- This uses the same control protocol as the Web Power Switch mentioned above
- KMTronic 8-channel IP relay controller
- Raspberry Pi relay board
- Relays over ethernet
multi-function
- BayLibre ACME cape - power and temperature measurement with different probes (USB, Jack power cable, HE10)
- Sony_Debug_Assist_board - Open Hardware design by Sony for multi-function DUT controller (USB, serial, power, buttons)
- connection to host = USB serial
- elinux page about v2 of the board (how to use) is here: Sony_Debug_Assist_board
- github page with source code, schematics, gerber files, etc. is at: https://github.com/sonyxperiadev/CDB-Assist
- schematics here: https://github.com/sonyxperiadev/CDB-Assist/blob/master/Hardware/CDBAssist-v3.1-Schematics.pdf
- MuxPi by Tizen Open Hardware design by Samsung for multi-function DUT controller (serial, power, buttons, network?)
- connection to host = network
- Remote Testing Environment - Open Hardware design by 3mdeb for multi-function DUT controller (power, programmer, serial)
- connection to host = network
- github page for RTE schematics (rev 1.0.0)
- github page with meta-rte layer based on Yocto Project
- github page for RTE REST API controller (beta)
- BCU/2 board - Open Hardware design by Geert Uytterhoeven for multi-function DUT controller(serial, power, buttons, gpio, i2c, etc.)
- uses a teensy board
- It's a small board to control and monitor the operation of two development boards.
- hardware files: https://github.com/geertu/pcb-bcu2
- software files: https://github.com/geertu/teensy3-bcu2
- connection to host = USB
USB mega-ports
A few people are using these:
USB switchers
- LAVA-LMP USB - allows switching USB connections to a DUT
- Extron USB Switcher
- 2101 USB Connection Exerciser
gpio controllers
HDMI testing
unsorted LAVA hardware helpers
See https://lava.coreboot.org/static/docs/v1/lmp_test_guide.html
Possibly https://github.com/GlasgowEmbedded/glasgow to control various buses (via FPGA).
Software
- Labgrid : http://labgrid.readthedocs.io - http://labgrid.org
- CI-RT : https://ci-rt.linutronix.de
- R4D : https://github.com/ci-rt/r4d - https://github.com/ci-rt/libr4d
- Libvirt : https://github.com/ci-rt/libvirt-debian
- Jenkins plugin : https://github.com/ci-rt/libvirt-slave-plugin
- ttc : https://github.com/tbird20d/ttc - documentation at: Ttc_Program_Usage_Guide
- tbot : https://github.com/hsdenx/tbot - http://www.tbot.tools/main.html
- SLAV stack : ??? (Pawel's thing - see Media:Piece_of_cake.pdf
Services
- TimeSys Board Farm Cloud: See https://www.timesys.com/pdf/Timesys-On-Premises-Board-Farm-Cloud.pdf
Notes
- spend money on USB serial adapter cables - cheap adapters sometimes drop connections and are a pain to debug
- FTDI cables seem to work well.
Farm Survey
Tim Bird is conducting a survey of Farm hardware (DUT controllers). See this page: Board Farm Survey