When the Raspberry Pi came on the scene it was hard to imagine that you could get a fairly complete Linux system for such a low price. The Pi has gotten bigger, of course, but there are still a few things you miss when you try to put one into a project. Wifi, comes to mind, for example. The first thing you usually do is plug a Wifi dongle in, consuming one of the two USB ports.
The Orange Pi is a direct competitor and has a few variants. Originally, the board cost about $30 but sports WiFi, a 1.6 GHz processor, 8 GB of flash, and a SATA interface. There’s now a reduced version of the board for about $15 that deletes the flash and SATA along with the WiFi and one of the original’s 4 USB ports. Still, the Raspberry Pi doesn’t have built-in flash. And the $15 Orange Pi PC has the things you’d expect on a Pi (HDMI and Ethernet) along with other extras like an IR receiver and an on-board microphone. Not bad for $15 considering it has a quad-core processor, a GPU and 1GB of RAM. Continue reading “Orange is the New ($15) Pi”
[Voltagex] was fed up with BSODs on his Windows machine due to a buggy PL2303 USB/serial device driver. The Linux PL2303 driver worked just fine, though. A weakling would simply reboot into Linux. Instead, [Voltagex] went for the obvious workaround: create a tiny Linux distro in a virtual machine, route the USB device over to the VM where the drivers work, and then Netcat the result back to Windows.
OK, not really obvious, but a cool hack. Using Buildroot, a Linux system cross-compilation tool, he got the size of the VM down to a 32Mb memory footprint which runs comfortably on even a small laptop. And everything you need to replicate the VM is posted up on Github.
Is this a ridiculous workaround? Yes indeed. But when you’ve got a string of tools like that, or you just want an excuse to learn them, why not? And who can pass up a novel use for Netcat?
[Daniel] found himself with a need to connect a single USB device to two Linux servers. After searching around, he managed to find an inexpensive USB switch designed to do just that. He noticed that the product description mentioned nothing about Linux support, but he figured it couldn’t be that hard to make it work.
[Daniel] started by plugging the device into a Windows PC for testing. Windows detected the device and installed an HID driver automatically. The next step was to install the control software on the Windows system. This provided [Daniel] with a tray icon and a “switch” function. Clicking this button disconnected the HID device from the Windows PC and connected the actual USB device on the other side of the USB switch. The second computer would now have access to the HID device instead.
[Daniel] fired up a program called SnoopyPro. This software is used to inspect USB traffic. [Daniel] noticed that a single message repeated itself until he pressed the “switch” button. At that time, a final message was sent and the HID device disconnected.
Now it was time to get cracking on Linux. [Daniel] hooked up the switch to a Linux system and configured a udev rule to ensure that it always showed up as /dev/usbswitch. He then wrote a python script to write the captured data to the usbswitch device. It was that simple. The device switched over as expected. So much for having no Linux support!
A few years ago, someone at Lenovo realized they could take an Android tablet, add a keyboard, and sell a cheap netbook that’s slightly more useful than a YouTube and Facebook machine. Since then, Lenovo has stopped making the A10 notebook and has moved on to manufacturing Chromebooks. That doesn’t mean this little Laptop doesn’t have some life left in it: it still has a Cortex A9 Quad core CPU, is reasonably priced on the ‘defective’ market, and can now run a full-blown Linux.
When the A10 notebook was released, there was a statement going around saying it was impossible to install Linux on it. For [Steffen] that was a challenge. He cracked open this netbook and took a look around the Flash chips. There were two tiny pads that could be shorted to put the device in recovery mode, and the entire thing can be booted from a USB stick.
[Steffen] ran into a problem while putting a new kernel on the netbook: there was a null pointer reference in some device during boot. The usual way of diagnosing this problem is to look at the console to see what device failed. This netbook doesn’t have a UART, though, and [Steffen] had to use an FTDI chip and set the console to USB to see why this device failed.
Just about everything on this tiny laptop works right now, with a few problems with WiFi, webcam, and standby mode – all normal stuff for a putting Linux on a random machine. It’s worth it, though: the quad-core ARM is a very good chip, and [Steffen] is running x86 apps with qemu. Not bad for something that can be found very, very cheap.
I’m sure you’ve already heard about C.H.I.P, the $9 Linux computer. It is certainly sexy to say nine-bucks but there should really be an asterisk next to that number. If you want things like VGA or HDMI you need an adapter board which adds cost (natively the board only supports composite video output). I also have questions about MSRP once the Kickstarter is fulfilled. But what’s on my mind isn’t cost; this is still going to be in the realm of extremely-inexpensive no matter what shakes out. Instead, I’d like to look at this being the delivery device for wider Linux acceptance.
The gist of the hardware is a small board with a SoC boasting a 1GHz clock, half a gig of ram, four gigs of flash, one USB, WiFi and Bluetooth. It also has add-ons that make it a handheld and is being promoted as a gaming console. It’s amazing what you get out of these SoC’s for the cost these days, isn’t it?
For at least a decade people have claimed that this is the year of the Linux desktop. That’s not the right way to think. Adults are brand-loyal and business will stick to things that just work. Trying to convert those two examples is a sisyphean effort. But C.H.I.P. is picking up on a movement that started with Raspberry Pi.
These are entry-level computers and a large portion of the user-base will be kids. I haven’t had a hands-on with this new board, but the marketing certainly makes an effort to show how familiar the GUI will be. This is selling Linux and popular packages like LibreOffice without even tell people they’ll be adopting Linux. If the youngest Raspberry Pi users are maturing into their adolescence with C.H.I.P, what will their early adult years look like? At the least, they will not have an ingrained disposition against Open Source Software (unless experiences with Rasbperry Pi, C.H.I.P., and others is negative). At best they’ll fully embrace FOSS, becoming the next generation of code contributors and concept evangelists. Then every year will be the year of the Linux desktop.
On April 1st the Magic Lantern team announced a proof of concept that lets you run Linux on a Canon EOS camera. Because of the date of the post we’ve poured over this one and are confident it’s no joke. The development has huge potential.
The hack was facilitated by a recent discovery that the LCD screen on the camera can be accessed from the bootloader. In case you don’t recognize the name, Magic Lantern is an Open Source project that adds features to these high-end cameras by utilizing the bootloader with binary files on the SD card. It’s long been a way of hacking more features in but has always been complicated by the fact that you must figure out how to play nicely with the existing firmware. Commanding the LCD was the last part of the hardware that had previously not been driven directly from Magic Lantern.
Now that the Linux kernel is in the picture, ground-up features can be built without dealing with the stock firmware in any way (and without overwriting it). We’re excited to see where this one goes. Currently it’s just a proof that you can boot Linux, it’s not actually functional yet. Here’s your chance to polish those kernel porting skills you’ve been holding in reserve.
The BeagleBone Black has a powerful featureset: decent clock speed, analog inputs, multiple UART, SPI and I2C channels and on-board memory, to name a few. One missing feature seems to be the lack of support for the two on-board Programmable Real-time Units (PRU’s). Each of these 32-bit processors run independently of the main processor, but are able to interface with the main processor through the use of shared RAM and some interrupts. Unfortunately, PRU’s are not supported and in the absence of information, difficult to program. Enabling the PRU’s will allow them direct access to external sensors via the GPIO pins, for example. Perhaps most enticing is the idea that the PRU’s add real-time processing capability to the BBB.
[Thomas Freiherr] is working on the libpruio project to allow PRU support on the BBB. It is “designed for easy configuration and data handling at high speed. libpruio software runs on the host (ARM) and in parallel on a Programmable Realtime Unit SubSystem (= PRUSS or just PRU) and controls the subsystems”. Additional information about the project is available on the libpruio wiki, and files can be downloaded from here (German Page).
This paper presented at inter.noise2014 (PDF) a couple of months ago has a nice comparison of various small computer/controller boards and outlines the advantages of the BBB once its PRUs are enabled. If readers come across applications of the BBB with PRUs enabled, let us know in the comments. If you want to work your way into the world of the PRU we highly recommend this tutorial series.
Thanks for sending in the tip, [Patrick]
[Image Source: libpruio stepper motor example]