Update of our Remotelab equipment
"If it looks like a duck, swims like a duck, and quacks like a duck, then it probably is a duck."
If it looks like an advertising blogpost, reads like an advertising blogpost ... it probably is an advertising blogpost! Nobody likes to read advertisements and we don't like to write them at all, but like all proud parents, we would like to show you the new products that our corporate subsidiary, Linux Automation GmbH, has freshly added to their store. With these new products we, and maybe soon you, will complete (y)our Remotelab infrastructure.
LXA IOBus 4DO-3DI-3AI
Not all projects boot from SD cards, sometimes boards are flashed via USB, boot from an eMMC or even from NAND¹. To switch the active boot mode in this case, you usually just have to short-circuit two pins, or press a button. Since this quickly becomes tiring, especially during constant tests, there is now an elegant technical solution:
The LXA IOBus 4DO-3DI-3AI allows to switch small electrical loads and thus e.g. automatically, where otherwise jumpers would have to be set manually, to switch between different boot modes or to trigger resets, which are otherwise performed by pressing a button. In addition, the 4DO' can be used to read supply voltages or collect digital status feedback and feed it back into the test automation.
In our blog post The LXA IOBus line of lab automation devices we already reported about the ideas to change our lab-internal communication from USB to CAN. A recurring problem with this: a consumer computer cannot do CAN. In our lab servers we usually solve this problem with PCI-Express CAN cards, but for developer laptops these cards are too clunky.
The RJ45-Matrix is another small, but still very fine toy from the LXA-Tools series. The RJ45-Matrix can be used to make connections between all lines of two RJ45 jacks via solder bridges or any 0402 SMD components.
What have we used the RJ45 matrix for so far?
- As a breakout board for RJ45 jacks on 2.54mm pin headers.
- To swap Ethernet pairs between two Ethernet ports.
- To couple two Ethernet devices via 0402 capacitors AC to feed PoE voltages directly.
What other uses could we think of?
- To create loopback connections, e.g. to test very long two-wire links over much shorter eight-wire cables.
- Generating defined cross talk by coupling the different pairs together.
- Inserting e.g. resistive losses into a line.
¹ What kinds of headaches NAND can create as a boot source would be a great topic for another blog post. Until then, perhaps remember: "Avoid if possible!"
Project work with our customers includes the handling of hardware prototypes. Since work is generally done in parallel, on many project for many customers, there is a constant flood of hardware prototypes accumulating on the desks of our developers. These accumulations of loose boards can become a problem. This is especially the case when a number of people work on a prototype. Another common annoyance occurs when a project has not been worked on for a period of time, as this might involve moving the hardware from one desk (or storage location) to another and setting it up again. Right now, in a situation where working from home is more common and relevant than ever, this has become even more of an issue. The distances between desks and storage locations of our developers are now measured in kilometers, rather than meters.
So you went and got yourself one of our fancy rocket-penguin branded CandleLight dongles or, being the die hard hacker you are, went and soldered one up in your toaster oven labeled "not food safe". What's next then? How do you use this thing? Let's answer these question by grabbing a Raspberry Pi and exploring some of the possibilities.
I would like to present to you the LXA IOBus, a CAN-based ecosystem consisting of a protocol, a gateway server and new class of Linux Automation GmbH devices, including the Ethernet-Mux and the 4DO-3DI-3AI input/output board.
About 70,000 patches go into the Linux kernel every year, and many of them are bug fixes. The same applies to most other open source projects that are part of a modern Linux system. In order to benefit from the work in the community, the sensible strategy is to constantly update to the latest software version and keep the system up to date. Of course, with this amount of changes, new bugs can be added or incompatibilities can arise.
A firmware upgrade is due. A newly implemented feature needs to be rolled out, a security issue patched or new hardware support added. The software, while capable, is complex. Pengutronix' strategy to handle this complexity is working on a version- controlled Board Support Package (BSP) with continuous updates and tests on the latest mainline Linux kernel.