Virtualizing Around The FCC’s Firmware Modification Rules

Last year, the FCC introduced new regulations requiring router manufacturers to implement software security to limit the power output in specific 5GHz bands. Government regulations follow the laws of unintended consequences, and the immediate fear surrounding this new directive from the FCC was that WiFi router manufacturers would make the easiest engineering decision. These fears came true early this year when it was revealed a large router manufacturer was not following the FCC regulations to the letter by limiting the output of the radio module itself, but instead locking down the entire router.

The FCC’s rules regarding the power output of 5GHz routers was never a serious concern; the FCC is, after all, directed to keep the spectrum clean, and can force manufacturers to limit the power output of the wireless devices. The problem comes from how manufacturers implement this regulation – the easiest solution to prevent users from modifying the output of the radio module will always be preventing users from modifying the entire router. Developers don’t like it, the smart users are horrified, and even the FCC is a little flustered with the unintended consequences of its regulation.

While the easiest solution to preventing the modification of a radio module is to prevent modification to the entire router, there is another way. The folks at Imagination Technologies have come up with a virtualization scheme that allows router manufacturers to lock down the radio module per the FCC directive while still allowing the use of Open Source router firmware like OpenWrt.

A demonstration of the capabilities of this next-generation router comes from the prpl Security Working Group and uses MIPS Warrior CPUs to create multiple trusted environments. The control of the router can be handled by one secure environment, while the rest of the router firmware – OpenWrt included – can be run in an environment more conducive to Open Source firmware.

The demo of a compartmentalized, virtualized router uses a dev kit consisting of a dual-core MIPS P5600 CPU running at 1GHz, and a Realtek RTL8192 WiFi adapter plugged into the USB port. The driver for the WiFi adapter runs under a secure hypervisor, making it secure enough to pass the FCC’s muster.

This build wouldn’t be possible without hardware virtualization in microprocessors and microcontrollers. Imagination Technologies has been working on this for a while, and only a few years ago demonstrated a PIC32 with baked in virtualization.

In the video below, Imagination Technologies demonstrates a MIPS board running three virtual machines. The first machine is running OpenWrt, the second is running a WiFi driver, and the third is running third-party applications. Crashing one machine doesn’t bring down the others, and the WiFi driver is locked away in a secure environment in accordance with the FCC regulations.

While it’s hard to imagine a router based on a MIPS board that would be cheaper than the already inexpensive router SoCs found in today’s routers, this method of secure virtualization is the best way to give consumers what they deserve: an open source option for all their devices.

Continue reading “Virtualizing Around The FCC’s Firmware Modification Rules”

Linux: Assembly Required

Sometimes you might need to use assembly sometime to reach your project objectives. Previously I’ve focused more on embedding assembly within gcc or another compiler. But just like some people want to hunt with a bow, or make bread by hand, or do many other things that are no longer absolutely necessary, some people like writing in assembly language.

In the old days of DOS, it was fairly easy to write in assembly language. Good thing, because on the restricted resources available on those machines it might have been the only way to get things to fit. These days, under Windows or Linux or even on a Raspberry Pi, it is hard to get oriented on how to get an assembly language off the ground.

Continue reading “Linux: Assembly Required”

Disposable Diapers Are A Tribute To Material Science

It’s a really tough problem that has been solved to an amazing level. How do you capture and contain urine from a floppy, curved, and moving human infant? Ah, but the problem is a bit harder than that. You also want to keep that liquid away from the soft skin of the newborn and keep the exterior of your overall system dry too. From an R&D point of view the nice thing is that the customer base is huge — everyone needs some type of diapers. And what we have achieved thus far is a huge accomplishment of material science. [Bill Hammack], The Engineer Guy, takes on the engineering of baby diapers in his latest video.

A diaper uses three inner layers to sweep urine away from baby’s skin. The first layer actually repels water — being injected between skin and this layer, liquid passes through the holes in the material. But the moisture repellent property prevents it from moving in the opposite direction because of the next two layers encountered. The second layer uses capillary action to pull the moisture toward the third (and to act as a one-way moisture valve). The third layer contains a super-absorbent polymer. That layer starts off very thin and swells with absorption.

Bill explores just a bit about how these materials are actually manufactured. The layers are non-woven to form the necessary structures. The absorption layer uses cotton fibers to ensure moisture doesn’t form a dam between polymers. Whether you have a little one in your own household or not, the science behind this solved problem is fascinating and well worth the six minutes you’ll spend on the video below.

Continue reading “Disposable Diapers Are A Tribute To Material Science”

Symmetry For Dummies: Noether’s Theorem

Einstein referred to her as the most important woman in the history of mathematics. Her theorem has been recognized as “one of the most important mathematical theorems ever proved in guiding the development of modern physics.” Yet many people haven’t the slightest clue of who this woman was, or what she did that was so significant to our understanding of how our world works. If you count yourself as one of those who have never heard of Emmy Noether and wish to enlighten yourself, please read on. I can only hope I do her memory justice. Not just by telling you who she was, but by also giving you an understanding of how her insight led to the coming together of symmetry and quantum theory, pointing academia’s arrow toward quantum electrodynamics.

N_01
Emmy Noether

Being a female in Germany in the late 1800s was not easy. She wasn’t allowed to register for math classes. Fortunately, her father happened to be a math professor, which allowed her to sit in on many of his classes. She took one of his final exams in 1904 and did so well that she was granted a bachelors degree. This allowed her to “officially” register in a math graduate program. Three years later, she earned one of the first PhD’s given to a woman in Germany. She was just 25 years old.

1907 was a very exciting time in theoretical physics, as scientists were hot on the heels of figuring out how light and atoms interact with each other. Emmy wanted in on the fun, but being a woman made this difficult. She wasn’t allowed to hold a teaching position, so she worked as an unpaid assistant, surviving on a small inheritance and under-the-table money that she earned sitting in for male professors when they were unable to teach. She was still able to do what professors are supposed to do, however – write papers. In 1916, she would pen the theorem that would have her rubbing shoulders with the other physics and mathematical giants of the era.

Noether’s Theorem – The Basics

Emmy Noether’s Theorem seems simple on the onset, but holds a fundamental truth that explains the fabric of our reality. It goes something like this:

For every symmetry, there is a corresponding conservation law.

We all have heard of laws such as Newton’s first law of motion, which is about the conservation of momentum. And the first law of thermodynamics, which is about the conservation of energy. Noether’s theorem tells us that there must be some type of symmetry that is related to these conservation laws. Before we get into the meaning, we must first understand a little known subject called The Principle of Least Action.

The Universe is Lazy

N_02I would wager a few Raspberry Pi Zeros that many of you already have an intuitive grasp of this principle, even if you’ve never heard of it before now. The principle of least action basically says that the universe has figured out the easiest way possible to get something done. Mathematically, it’s the sum over time of kinetic energy minus potential energy as the action occurs. Let us imagine that you’re trying to program an STM32 Discovery eval board in GCC. After about the 6,000th try, you toss the POS across the room and grab your trusty Uno. The graph depicts the STM32 moving through time and space.

 

The green points represent particular points of how how high the STM32 is at a given point in time. Note that there are no values for height and time – this example is meant to explain a principle. We can say that at these points (and all points along the curve), the SMT32 has both kinetic and potential energies. Let us call the kinetic energy (kt) and the potential energy (pt). The ‘t‘ subscript is for time, as both the energies are functions of time. The action for each point will be called s, and can be calculated as:

s = k_t-p_t

However, action is the total sum of the difference of energies at each point between t1 and t2. If you’ve read my integral post, you will know that we need to integrate in order to calculate the total action.

S = \int_{t_1}^{t_2} (k - p) dt

Now before you get your jumper wires in a bunch, all that is saying is that we’re taking the difference in potential (p) and kinetic (k) energies at each point along the curve between t1 and t2, and we’re adding them together. The elongated S symbol means a sum, and the (dt) means as it changes over time. The path that the STM32 will take will be the path where the action S is at its minimum value. Check out the video in the source section below if you’re confused. It’s only 10 minutes and goes into this concept in easy to follow details.

Noether’s Theorem – The Details

N_03Noether’s theorem is based upon a mathematical proof. It’s not a theory. Her proof can be applied to physics to develop theories, however. Now that we know what the principle of least action is, we can do just this.

Any law of nature can be traced back to a symmetry and the least action principle. Let’s consider two very simple examples – Newton’s first law of motion and the first law of thermodynamics.

Conservation of Momentum

Space has what is known as translational symmetry. That’s just fancy-pants talk for saying that what you do in one point in space is the same as what you do in another point in space. It doesn’t matter what hacker space you throw your STM32, it will act the same at all hacker spaces on earth. Space itself provides the symmetry. And because the principle of least action applies, you have a natural law – the first law of motion.

Conservation of Energy

Time has the same translational symmetry as space does. If I toss the STM32 now, and toss it tomorrow, it will act the same. It doesn’t matter what point in time I toss it, the results will always be the same. Thus energy is conserved between different points in time. Time is our symmetry, and the 1st law of thermodynamics is the result.

Now, I realize these examples might seem a bit useless. But when you dig a bit deeper, things get interesting. Electrical charge is also conserved. Noether says there must then be some type of symmetry involved. What do you suppose that symmetry might be? Keep following that rabbit hole, and you’ll end up face to face with QED. We’ll get there in a future article, so for now just keep Noether’s Theorem in mind.

Sources

Physics Helps, The principle of least action, video link.

Ransom Stephens, Ph.D., Emmy Noether and The Fabric of Reality, video link

Vise Quick-Release Locks Down Your Parts For Good

If you’ve ever used a drill press, you too may be familiar with the dreaded airborne parts. Just a bit farther to drill and then–kachunk–a siezed drill bit sends your part spinning, or worse, hurling across the garage. We quickly learn to clamp down our parts in a vise. Unfortunately, even a vise wont prevent the drill bit from skipping around and drilling wherever it wants.

Fortunately [djpolymath] has a fix. From spare bicycle quick-releases, he’s cobbled together a vise clamp that’s both dead simple and dead clever. On a bicycle, the quick-release is a painless mechanism for taking off the wheels in a pinch without using fancy tools. [djpolymath] has simply relocated a few spares onto a vise. With a few washers for spacing them out correctly, he’s set–and so is the vise.

Now that things are getting a bit safer in the garage shop, why not try a few other tool modifications, like this jigsaw table.

Continue reading “Vise Quick-Release Locks Down Your Parts For Good”

Ikea Projection Lamp Makeover Adds LED Matrix And Raspberry Pi Zero

If you’re like us, it’s hard to walk through an Ikea without mentally hacking everything there into something else. The salad bowl? Parabolic antenna. Drawer slides? Linear motion rails. Storage containers? Etching tank. We admit that we still haven’t figured out what to do with that 1,000-pack of tea lights.

[Alain Mauer] pulled off an Ikea hack that we’ve always dreamed about. In particular, he took the Sprida projector lamp and wedged an 8×8 LED matrix and Raspberry Pi Zero into it.

The lamp in question is essentially a slide projector for kids. Before [Alain] got to it, it had an LED in the back, a mount for a slide in the middle, and a focusing lens on the front. His mod is simplicity itself: remove the LED and transparency, and place the LED matrix in the focal plane where the slide used to be. Reverse images on the LED in software to compensate for the lens, and you’re done.

The video says “Raspberry Pi Zero with WiFi” and the project title promises “IoT”, but we don’t see the WiFi in the build. We’re guessing that [Alain] will get around to it — it’s easily doable. (Doh! There’s a tiny USB WiFi dongle providing the obligatory wireless connection.) Anyway, the point is the projection, and we love it, and we’d be lying if we said it didn’t make us think about RGB matrices.

Continue reading “Ikea Projection Lamp Makeover Adds LED Matrix And Raspberry Pi Zero”

Hackaday Prize Entry: Project Man-Cam

With cameras, robotics, VR-headsets, and wireless broadband becoming commodities, the ultimate, mobile telepresence system – “Surrogates” if you will – is just one footstep away. And this technology may one day solve a very severe problem for many disabled people: Mobility. [chris jones] sees great potential in remote experiences for disabled people who happen to not be able to just walk outside. His Hackaday Prize Entry Project Man-Cam, a clever implementation of “the second self”, is already indistinguishable from real humans.

Instead of relying on Boston Dynamic’s wonky hydraulics or buzzing FPV drones, [chris] figured that he could just strap a pan and tiltable camera to a real person’s chest or – for his prototyping setup shown above – onto a utility cart. This Man-Cam-Unit (MCU) then captures the live-experience and sends it back home for the disabled person to enjoy through a VR headset in real time. A text-based chat would allow the communication between the borrowed body’s owner and the borrower while movements of the head are mapped onto the pan and tilt mechanism of the camera.

Right now, [chris] is still working on getting everything just right, and even if telepresence robots are already there, it’s charming to see how available technology lets one borrow the abilities of the other.

The HackadayPrize2016 is Sponsored by: