Posts Tagged ‘development board’

Getting Started with Beaglebone Green Wireless Development Board

May 21st, 2016 5 comments

SeeedStudio introduced BeagleBone Green Wireless based on BeagleBone Green, but replacing the Ethernet port by a Wilink8 WiFi and Bluetooth module, and providing 4 USB ports in total. I’ve also ready taken some picture of the board, and Grove Base Cape to addition the company’s add-on boards via I2C, UART, analog, or digital interfaces. So today, I’ll report about my experience getting started with the board.

First Boot of BeagleBone Green Wireless

Since the board comes with a Debian image installed on the internal 4GB eMMC flash, checking out the board should be really easy. The Wiki may help, but for a first try to check the board is indeed working, you can simply connect it to a 5V power supply, or the USB port of your computer to port it up.

I’m using a development machine running Ubuntu 14.04 with both Ethernet connected to my router, and a WiFi USB dongle which I used to find and connect to BeagleBoneXXXXXX access point. You’ll get assigned an IP address (e.g., and can access the board using

BeagleBone_Green_Wireless_Access_PointAlternatively, you could use the micro USB to USB cable to connect the board over IP. In Linux, it just works, but in Windows or Mac OS X, you may need to following the instructions to install the drivers.

You should see a new ethX device in your computer in 192.168.7.x subnet

Now you can start your favorite web browser, and access the board using (WiFi), or (USB Ethernet gadget) to get access to some documentation in the board, and links to tools like Node-RED,  Cloud9 IDE, and BoneScript.

Click to Enlarge

Click to Enlarge

Updating Firmware Image

Now that we’ve made sure we’ve received a working board, it might be a good idea to update the firmware. Bear in mind that the board will officially start shipping on May 30, 2016, and I got an early board, so the final image may differ.

I’ve open a terminal to download, extract, and flash the image to a 16GB micro SD card (4GB or greater required):

Replace sdX in the command line above, your own SD card device which you can check with lsblk.

This is an installer image designed to install Debian in the internal storage of the board. While the board is turned off, insert the micro SD card, hold the USER button (on board or Cape), connect the power supply, release the button, and the installation should start. The instructions mention that all 4 USRx LEDs will be lit solid when the update is complete and that it may take up to 45 minutes. So I went for dinner, and when I came back over one hour later, I did not see the LEDs were on, so I waited a little longer. But eventually, I decided to turn off the board, remove the micro SD card, and boot the board again.

After connecting to the BeagleBone SSID, I access the board with SSH successfully:

The date was 2016/05/16, so the update was successful.

BeagleBone Green Wireless Network Configuration

So far, everything went rather smoothly, but setting up networking was more of a challenge.

Since I now had two network interfaces on my computer with Ethernet to my router and WiFi to BeagleBone Green Wireless (BBGW), Internet traffic was routed to both, and since BBGW had no network connection I often had problems accessing the net to browse the web or send emails. So I had two options: change the routing table or connect the board to my router. I tried the routing table method first, which looked as follows initially:

After my attempt at changing metric to a high value did not work as expected, I changed the route from “link” to “host” for WiFi so that only the local traffic is routed there.

This did not work that well either, so I went with plan B to connect the board to my router. Network connections in BBGW:

So we wan t to configure wlan0 to connect to my router. Remember that only 2.4 GHz can work,  as the board does not support 5 GHz.

So I edited /etc/network/interfaces with vi, and added the following four line at the end of the file:

I save the done, and brought down and up the interface:

Awesome! Only problem is that after reboot, wlan0 would not acquire an IP address, and I had to run ifdown and ifup manually again.

I switched to static IP address configuration:

But the same problem occurred, so I asked on the beta group mailing list, and was informed that I could configure that using my smartphone. Simply connect BBGW AP, go to the sign-in page (, click the select SSID, and enter password. That method is also mention in the system reference manual.

Click to Enlarge

Click to Enlarge

That’s supposed to be so easy, but sadly it did not work at all for me the first time as none of the ESSID were detected, but I tried the day after, and it eventually worked… I just don’t know why…

Click to Enlarge

Click to Enlarge

I could connect to on my local network, even after a reboot. Good.

Node-RED in BeagleBone Green Wireless

Node-RED is a tool for wiring together hardware devices, APIs and online services in new and interesting ways, and it’s one of the tools available in BBGW web interface. The link is actually hardcoded to http:, which is a bug, but you can easily access the page using your own IP and 1880 port. I found one example for BeagleBone Black to turn on and off user LEDs, which I imported into Node-RED, and Deployed to the board.

BeagleBone_Green_Wireless_Node-REDClick on the square on the left of the “on” / “off” injector with turn on or off LED 2 or 3. You can change settings of one block by double-clicking  on it, and I’ve done so for bbb-discrete-out: USR2. You can see it will let you select whatever output pin supported by the board, change the name, invert values and so on.

The Blue gray “injectors” will either “0” or “1” string to the bbb-discrete-out nodes to change the GPIO status.

One interesting part of the BeagleBone Green boards are Grove connectors for add-on modules with the same name.

Click to Enlarge

Click to Enlarge

I’ve connected Grove LED strip (Digital I/O), Grove Button (Digital I/O), and a digital light sensor (I2C), but Node-RED does not list the LED strip , and only shows the analog Grove light sensor, so I was left with the Grove Button connected to GPIO 51 as marked on the silkscreen of the Grove connector on the cape. So I dragged and dropped Grove Button in Node-RED, and configured it to poll for GPIO_51 every 500 ms.

BeagleBone_Green_Node-RED_Button_ConfigurationI planned to turn on and off some user LEDs, but connecting directly to bbb-discrete-out node for USR2 LED did not work. The problem is that I could not find documentation for this, except something about GrovePi, which explains that the Grove Button sends a JSON object containing a ‘state’ key:

So I probably would have to use another block to convert that JSON objects into “0” or “1” strings to controlled the LED/GPIOs. I’m not quite familiar enough with Node-RED, so I switched to testing Cloud9 IDE. [Update: There’s a tutorial using Node-RED, WioLink and BBGW, but it currently lacks in details]

Cloud9 IDE on BeagleBone Green Wireless

Cloud9 is a cloud based development environment that you can access using http://<IP_address>:3000.

Click to Enlarge

Click to Enlarge

The first neat thing I noticed is that you have access to the console as root from within the web browser, so SSH is not even needed with the board. I quickly checked the OS version (Debian GNU Linux 8) and kernel version (Linux 4.4.9-ti-r25) to test it out. We’ll also find several Python examples for BBG and Grove modules in the left panel.

Click to Enlarge

Click to Enlarge

I’ve open demo program.

Access the terminal in the board to install the missing module

Another error:

So I’ve checked the I2C interfaces in the board:

There’s no i2c-1, so I changed the code to try with I2C-2 used with the Grove connector on BBGW:

And it went a little further:

I stopped there as it’s clear the sample have not been ported to the board, and to compound the issue Seeed Studio Wiki is currently down.

So I’ve had my share of issues with BeagleBone Green Wireless, but remember that the board is not shipping yet, so they still have time to improve the firmware and especially documentation. Yet I was expecting an easier experience considering the board leverages code and documentation from BeagleBone Black (software compatible), and there’s only about 10 days left before the retail boards ship.

If you are interested in the board, you can purchase BeagleBone Green Wireless for $44.50, the Grove Base Cape for $9.90, and various Grove modules on Seeed Studio website.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

$35 NanoPi M3 Octa Core 64-bit ARM Development Board is Powered by Samsung S5P6818 Processor

May 20th, 2016 24 comments

A few weeks after introducing NanoPC-T3 single board computer based on Samsung S5P6818 octa-core Cortex A53 processor, FriendlyARM is now launching a cost-down version called NanoPi M3 for just $35 with 1GB RAM, and booting from a micro SD card.


NanoPi M3 board specifications:

  • SoC – Samsung S5P6818 octa core Cortex A53 processor @ up to 1.4GHz with Mali-400MP GPU
  • System Memory – 1 GB 32-bit DDR3
  • Storage – 1x micro SD card slot
  • Connectivity – Gigabit Ethernet (RTL8211E), 802.11 b/g/n WiFi and Bluetooth LE 4.0 (Ampak AP6212) with on-board chip antenna and IPX antenna connector
  • Video Output / Display I/F – HDMI 1.4a up to 1080p60, LVDS, parallel RGB LCD
  • Audio I/O – HDMI, 3.5mm audio jack, 7-pin I2S header
  • Camera – 1x DVP interface
  • USB – 2x USB 2.0 type A host ports; 1x micro USB 2.0 client port; 2x USB 2.0 host ports via 8-pin header
  • Expansions Headers – 40-pin header
  • Debugging – 4-pin header for serial console
  • Misc – Power & reset buttons; power status LEDs.
  • Power Supply – 5V/2A via micro USB port; AXP228 PMIC
  • Dimension – 64 x 60 mm (6-layer PCB)

Cheap_Octa_Core_BoardThe board supports Android and Debian running on top of Linux 3.4. More technical details can be found in the Wiki. Samsung S5P processors are actually made by Nexell, and not supported at all in mainline Linux, so don’t expect support for a more recent kernel. Arnd Bergmann, one of Linux ARM SoC maintainers, even referred the code to as “awful“:

Source code is available but awful.

Specifically, this is a Linux-3.4 kernel that looks more like a Linux-2.6.28 platform port that was forward-ported.

Nevertheless, at $35 plus shipping ($10 in my case),  NanoPi-M3 must be the cheapest octa-core board available on the market so far. Visit the product page for more details and/or purchase the board.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

STAR OTTO Arduino Board is Based on STMicro STM32 32-bit Cortex-M4 MCU & ESP8266 WiFi SoC

May 20th, 2016 6 comments

Thanks to STMDuino32 community, there was already support for the Arduino IDE on board based on STMicro STM32 ARM Cortex-M micro-controllers, but  STMicroelectronics and Arduino Srl have introduced the STAR program to bring official support, and unveiled their first board with STAR OTTO Arduino board powered by STM32F469 Cortex M4 MCU at Maker Faire Bay Area 2016.

STM32_Arduino_BoardKey features of STAR OTTO board (ARD-OTTO-STM32):

  • MCU – STMicro STM32F469BIT6 ARM Cortex-M4 MCU @ 180 MHz with 2 MB Flash memory, 384 KB SRAM, Chrom-ART graphics accelerator
  • System Memory – 16 MB SDRAM
  • Storage – 128 KB EEPROM, microSD slot
  • Connectivity – Wi-Fi 802.11b/g/n @ 2.4 GHz via Espressif ESP8266
  • Display I/F – MIPI DSI display interface
  • Camera – Camera connector
  • Audio – 2x MEMS digital microphones, headphone and speaker output
  • USB – 1x micro USB host interface
  • Expansion – Arduino Uno, Due, Mega connectors including 8x ADC, 2x DAC, 32 digital I/Os, and 12 PWM outputs; 25ma max current per I/O pins
  • Power Supply – 6-12V input
  • Dimensions – 101.5 x 53.3 mm
  • Weight – 34 grams

So that’s the third board in 2 weeks by Arduino S.r.l to feature Espressif ESP826, after Arduino UNO WiFi, and Arduino Primo.

STAR_OTTOThe board is also quite powerful, and the company will provide Arduino STAR LCD shield and an NFC shield for the board in Q2 2012, with a separate sensor shields planned for H2 2016. The board can be programmed via either the Arduino IDE or Arduino Studio online IDE (which I can find info on).

Pricing has not been disclosed, but for reference the MCU itself is about $10 per unit for 10k orders. More details can be found on or

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

Arduino Primo Board Supports WiFi, Bluetooth LE, and NFC

May 19th, 2016 7 comments

A couple of weeks after unveiling Arduino UNO WiFi with ESP8266 and Atmel AVR, Arduino Srl has introduced Arduino PRIMO board with Nordic Semi nRF52 MCU with Bluetooth Smart and NFC, ESP8266 for WiFi, and STM32 to handle GPIOs and USB UART during May Faire Bay Area 2016.


Arduino Primo board (A000135) specifications:

    • Service Micro-controller
      • STMicro STM32F103R8T6 ARM Cortex-M3 MCU @ 72 MHz with 64KB flash, 20KB SRAM
      • USB/Uart converter & CMSIS-DAP
      • GPIO expander, IrDA
      • Board power management
      • Operating Voltage – 2.0 to 3.6 V
    • Arduino Micro-controller
      • Nordic nRF52832 ARM Cortex-M4F MCU @ 64 MHz with 512 KB flash, 64KB SRAM
      • Analog I/O Pins – 6 + 1 DAC
      • DC Current per I/O Pins – 7 mA
      • Bluetooth Smart – Up to +4 dBm output power, -96 dBm sensitivity
      • Other features – PDM interface, AES HW enc, NFC tag
    • WiFi Micro-controller
      • Espressif ESP8266 Tensilica Xtensa LX106 WiSoC @ 80 MHz with 8MB RAM for instructions, 12MB for data
      • Storage – 4MB SPI flash
      • WiFi 802.11 b/g/n 2.4 GHz
      • Wake up time – < 2 ms
      • Operating Voltage – 3.3 V
    • Common Specs
      • Digital I/O – 20 pins
      • PWM Output – 3
      • Misc – On-board button, LED
      • Input Voltage – 5V
      • Power Consumption – 87 mA @ 5V typ.
      • Dimensions – 68.5 x 53 mm
      • Weight – 34 grams


The board is not yet available, and documentation is limited to what’s on the product page. But we can safely assume that the board will be programmable via the Arduino IDE, and Nordic also mentioned that professional developers and Makers will also be able to use any Nordic nRF52 Series-compatible Software Development Kit (SDK) or programming tools, for example to develop IPv6 over Bluetooth low energy applications.


Arduino Srl and Nordic Semi are also working on a coin-cell powered Arduino Primo Core module with nRF58232 chip and motion and environmental sensors.

Considering the recent legal history between Arduino Srl and Arduino LLC, I’m a little surprised they went with Arduino Primo, as Arduino LLC is also selling a toy designed to teach programming logic to young children, also called Primo.

AFAIK, no information about the launch date and pricing have been released so far.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

“BluePill” is a $2 Arduino Compatible Development Board Based on STMicro STM32 MCU

May 17th, 2016 31 comments

I’m amazed that if your budget for a board was just $5 for one MCU board, you now have so many options for your electronics projects: ESP8266 boards, a few STM8 boards, One Dollar Board project, and many more… Other options are “BluePill” or “RedPill” boards based on STM32 or GD32 32-bit ARM Cortex M3 micro-controllers that go for about $2 shipped, and can be programmed with the Arduino IDE thanks to STM32Duino project.


BluePill board specifications:

  • MCU – STMicro STM32F103C8T6 ARM Cortex-M3 MCU @ 72 MHz with 64KB flash memory, 20KB SRAM.
  • USB – 1x micro USB port for power and programming
  • Debugging – 4x pin SWD header or micro USB port
  • Expansion – 2x 20-pin with power signals, I2C, SPI, GPIOs, ADC inputs, etc…
  • Misc – Reset button, two jumpers (for boot mode), power and user LEDs.
  • Power – 5V via USB, 2.0-3.6V power via 3.3V pin on SWD header.
  • Dimensions – 5.3cm x 2.2cm.

I specifically wrote about “BluePill” board instead of “RedPill”, because one thread on STM32duino forums mention the former is a bit better. You can find documentation on wiki (Italian only) and STM32duino wiki. Most instructions use a USB to serial (TTL) board to program connected to PA9 and PA10 pins to program the board, but I understand that USB programming if possible by replacing the 10kΩ pull up resistor on PA12 (USB D+) by a 1.5kΩ resistor.

The video below shows how to use the STM32 board with a serial debug board, and the Arduino IDE.

One interesting fact about the $2 price tag for the board (remember it also includes shipping) is that STM32F103C8T6 MCU itself is supposed to sell for $2.056 in 10k quantities, until you are looking for actual pricing in China, where it is sold for less than one dollar (6 RMB).

Beside Aliexpress, you can also find the board on eBay. Few sellers call it BluePill, and instead they are often called “STM32 Minimum System Development Board”, but a search for “STM32F103C8T6″ on your favorite resellers should also list the board.

Thank you Zoobab!

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

$44.90 BeagleBone Green Wireless Board Adds 802.11n WiFi & Bluetooth 4.1 LE and More USB Ports

May 16th, 2016 2 comments

After BeagleBone Air, there’s now another BeagleBone Black derived board with WiFi and Bluetooth, as BeagleBone Green gets a wireless version with WiFi 802.11n, Bluetooth 4.1 LE, and four USB ports.

BeagleBone Green Wireless Specifications

Click to Enlarge

Click to Enlarge

The Ethernet port is also gone, but most of the other specifications remain the same as seen from the comparison table below.

BeagleBone Black BeagleBone Green BeagleBone Green Wireless
SoC Texas Instruments Sitara AM3358 ARM Cortex-A8 processor @ 1GHz with NEON, PowerVR SGX530 GPU, PRU…
System Memory 512MB DDR3 RAM
Storage 4GB eMMC flash + micro SD slot
USB 1x USB client, 1x USB 2.0 host 1 USB client, 4x USB 2.0 host ports
Network Connectivity 10/100M Ethernet Wi-Fi 802.11 b/g/n & Bluetooth 4.1 LE
Video Output HDMI N/A
Expansion Headers 2×46 pin headers 2×46-pin headers and 2x Grove connectors
Debugging 6-pin serial header and unpopulated 20-pin JTAG header
Dimensions 86.3 x 53.4 cm
Price $55.00 $39.00 $44.90

BeagleBone Green Wireless (BBGW) and Grove Base Cape for Beaglebone v2.0

The board is designed and manufactured by Seeed Studio, and the company send me an early sample for evaluation together with Grove Base Cape for Beaglebone v2.0 that supports up to 12 extra Grove modules. I’ve not had time to review both yet, so I’ll show what I’ve received first.

BeagleBone_Green_Wireless_PackageI got two unbranded packages for each board, but I understand BBGW board will be send in a retail package with two WiFi antennas, and a micro USB to USB cable for power.

BeagleBone Green Wireless with Antennas (Click to Enlarge)

BeagleBone Green Wireless with Antennas (Click to Enlarge)

I got the two antennas, but not the USB cable. There are two u.FL connectors where you can insert the antennas. The wireless module is Texas Instruments WiLink8 (model WG78V0) that supports WiFI 802.11 b/g/n @ 2.4 GHz 2×2 MIMO and Bluetooth 4.1 LE. The four USB ports are on the left, and two Grove connectors (I2C & UART) on the right.

Click to Enlarge

Click to Enlarge

The bottom of the board has the micro SD slot, micro USB port for power, and unpopulated 20-pin JTAG solder pads. The board can run Debian, Android, Ubuntu, Cloud9 IDE on Node, and all other operating systems supported by BeagleBone Black. The wireless module support AP+STA mode, as well as A2DP & MRAA Libraries. The board is shipped with a Debian based firmware, and you can easily access it by accessing from your computer web browser to get some documentation. Resources for the board can be found on the BeagleBone Green Wireless Wiki.

Click to Enlarge

Click to Enlarge

Grove Base Cape for Beaglebone v2.0 has 4x digital I/O headers, 2x analog input headers, 4x I2C headers, and 2x UART headers, as well as a I/O voltage selector (3.3V or 5V), a Cape address switch, and a user button. More details about the grove base cape can be found in the Wiki.

Click to Enlarge

Click to Enlarge

I plan to write test the board, and the cape with some of the Grove module I got in Wio Link Starter Kit in the next few days.

BeagleBone Green Wireless pre-sells for $44.90 on Seeed Studio with shipping scheduled for May 21, 2016, while Grove Base Cape for Beaglebone v2.0 goes for $9.90.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

Linux 4.6 Release – Main Changes, ARM and MIPS Architectures

May 16th, 2016 2 comments

Linus Torvalds released Linux Kernel 4.6 earlier today:

It’s just as well I didn’t cut the rc cycle short, since the last week ended up getting a few more fixes than expected, but nothing in there feels all that odd or out of line. So 4.6 is out there at the normal schedule, and that obviously also means that I’ll start doing merge window pull requests for 4.7 starting tomorrow.

Since rc7, there’s been small noise all over, with driver fixes being the bulk of it, but there is minor noise all over (perf tooling, networking, filesystems,  documentation, some small arch fixes..)

The appended shortlog will give you a feel for what’s been going on during the last week. The 4.6 kernel on the whole was a fairly big release – more commits than we’ve had in a while. But it all felt fairly calm despite that.

Linux 4.5 added support for GCC’s Undefined Behavior Sanitizer flag (-fsanitize=undefined) which should make the Linux kernel even more secure,an implementation of the next generation media controller, some performance improvements for file systems, etc…

Linux 4.6 brings many changes including:

  • USB 3.1 SuperSpeedPlus (10Gbps) support  – This release adds support for the USB 3.1 SuperSpeedPlus 10 Gbps speeds for usb core and xHCI host controller, meaning that a USB 3.1 mass storage connected to a USB 3.1 capable xHCI host should work with 10Gbps speeds.
  • Improve the reliability of the Out Of Memory task killer – The OOM killer kills tasks in order to free memory, but some tasks may take a long time before freeing up the memory, for example if it is stuck into an uninterruptible state. Linux 4.6 kernel adds oom_reaper thread that tries to reclaim memory by preemptively reaping the anonymous or swapped out memory owned by the OOM victim.
  • OrangeFS, a new distributed file system – OrangeFS is an LGPL scale-out parallel storage system used in applications such as HPC, BigData, Streaming Video, Genomics, Bioinformatics. You can read The OrangeFS distributed filesystem LWN article for more details.
  • 802.1AE MAC-level encryption (MACsec)MACsec standard provides encryption for all traffic over Ethernet using GCM-AES-128.
  • BATMAN V protocol – B.A.T.M.A.N. (Better Approach To Mobile Adhoc Networking) adds support for the V protocol, which does not rely on packet loss anymore, but the estimated throughput.

ARM architecture improvements and new features:

  • Allwinner:
    • Allwinner A83T support – Initial bringup; timer, watchdog and reboot
    • Allwinner H3 – R_PIO support
    • Allwinner A64 – Initial support
    •  NAND – ECC layout definition rework (partially) and randomizer support. Note: For devices that use eMMC, old device trees may no longer work with this version (i.e. you have to rebuild your .dtb files). Expect eMMC I/O errors otherwise.
    • ASoC – A10/A20 SPDIF driver
    • AXP223 PMIC support
    • Added board – Allwinner A83TDevBoard, Cubietruck Plus, Itead Ibox, Lamobo R1
  • Rockchip:
    • Rockchip rk3399 support for the rockchip-io-domain adaptive voltage scaling (AVS) driver
    • Rockchip rk3368 gains power domain support
    • Add Rockchip mailbox drive
    • pl330 updates to support DMAFLUSHP for Rockchip platforms
    • SPI controller bug fixes
    • Add driver for rockchip Display Port PHY
    • Add driver for the Rockchip SoC internal eMMC PHY
    • Add usb-uart functionality in rockchip-usb
  • Amlogic
    • Support for Amlogic S905 SoC and Tronsmart  Vega S95 boxes
    • Enable Amlogic Meson GXBaby platform
  • Samsung
    • Samsung exynos5433 updates for clk id errors, HDMI support, suspend/resume simplifications
    • Enable Samsung MFD and related configs
    • Fix for the Samsung I2S driver locking
    • Samsung Exynos ARM64 improvements – Remove separate ARCH_EXYNOS7 symbol and consolidate it into one ARCH_EXYNOS
    • Samsung Exynos (and older platforms) improvements
      • Split out Exynos PMU driver implementation from arm/mach-exynos to the drivers/soc/samsung which will allow re-use of it on ARM64.
      • Use generic DT cpufreq driver on Exynos542x/5800.
      • Minor cleanups.
    • Device tree updates
      • Split common reboot/poweroff node to separate DTSI
      • Don’t overheat Odroid XU3 by cooling CPU with cpufreq
      • Add SROM controller device nodes.
      • Add Ethernet chip as child of SROM controller on SMDK5410.
      • Allow simultaneous usage exynos-rng and s5p-sss drivers on Exynos5.
      • Cleanup CPU configuration on Exynos542x/5800.
      • Add necessary nodes for cpufreq-dt driver on Exynos542x/5800 (OPPs, regulator supplies) which allows frequency and voltage scaling of this SoC.
      • Minor cleanups
  • Qualcomm
    • ARM64 – Added support for Qualcomm MSM8996 SoC support, updates & cleanups for Qualcomm APQ8064, MSM8974, MSM8916, and others
    • Revert of patches for the Qualcomm BAM, these need to be reworked for 4.7 to avoid breaking boards other than the one they were intended for
    • Add Qualcomm NAND controller driver
    • ASoC capture support for Qualcomm drivers
    • Add Qualcomm Technologies HIDMA channel & HIDMA management drivers
    • Qualcomm IPQ4019 support in pinctrl
    • Qualcomm ARM Based Device Tree Updates:
      • Add documentation for Kryo
      • Add RPMCC node for APQ8064
      • Updates for MSM8974
      • Add board clocks
      • Add support for Nexus7 device
      • Fixup pmic reg properties
      • Various updates/cleanups for APQ8064 based boards
  • Mediatek
    • Added support for  Mediatek MT7623 SoC
    • SMP support for Mediatek mt2701
    • Revert part of the power domain initialization changes that broke mt8173-evb
    • Introduce Mediatek thermal driver
    • New Mediatek IOMMU driver
    • ASoC – New machine driver for Mediatek systems with RT5650 CODECs
    •  Add Mediatek MT8173 EFUSE driver
  • Texas Instruments
    • Improved support for Nokia N900 and other OMAP machines
    •  DaVinci & OMAP now uses the new DMA engine dma_slave_map
  • Other new ARM hardware or SoCs – 96Boards Husky board, AMD Overdrive board, Annapurna Labs Alpine family and development board, Broadcom Vulcan servers, Broadcom Northstar 2 SoC, Marvell Armada 3700 family and development board,   Axis Artpec-6 SoC, TI Keystone K2G SoC, ST Microelectronics stm32f469, ARM Juno R2,  Buffalo Linkstation LS-QVL and LS-GL, D-Link DIR-885L, ARM RealView PB1176 and PB11MPCore,  Google Nexus 7, Homlet v2,  LG Optimus Black, Logicpd DM3730, Raspberry Pi Model A, NXP i.MX6QP

MIPS pull request included the following changes:

  • Fix spelling mistakes all over arch/mips
  • Provide __bswapsi2 so XZ kernel compression will build with older GCC
  • ATH79 clock fixes.
  • Fix clock-rated copy-paste erros in ATH79 DTS.
  • Fix gisb-arb compatible string for 7435 BMIPS
  • Enable NAND and UBIFS support in CI20.
  • Fix BUG() assertion caused by inapropriate smp_processor_id() use.
  • Fix exception handling issues for the sake of debuggers
  • Fix the last remaining instance of irq_to_gpio in the db1xxx_ss PCMCIA code
  • Fix MSA unaligned load failures
  • Panic if kernel is configured for a not TLB-supported page size
  • Bail out on unsupported relocs in modules.
  • Partial fix for Qemu breakage after recent IPI rewrite
  • Wire up the preadv2 and pwrite2 syscalls
  • Fix the ar724x clock calculation

I’ve generated Linux 4.6 changelog with comments only using git log v4.5..v4.6 --stat, but you might as well as just read the changelog on which is also detailed and includes links to relevant articles.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

Allwinner News – Root Exploit in Linux and Fake Pine A64 Boards

May 13th, 2016 13 comments

There’s been a lot of buzz about a root exploit in Linux 3.4 kernel for Allwinner H3/H83T SoCs found by linux-sunxi & armbian developers in the last few days. Since the kernel for H3 / H83T is stuck to 3.4, and not always updated on the vast majority of hardware platforms, it’s quite likely there are many ways to breach into such systems, and even the majority of Android devices are not secure, not only the ones powered by Allwinner. So I did not really pay attention at first, but it went viral with  stories reporting a hidden backdoor, and hitting to ill-intent. But is that really the case? That’s the code from github, now removed from the master branch, but still in A83T branch.

allwinner_rootmydeviceIt’s now super easy to gain root access by simply running one command which works for any users:

That’s obviously pretty bad, but is that a hidden backdoor? Considering Allwinner released the source code, and the kernel log would show “now you are root” each time the method would be used, that would be very stupid backdoor, and it’s not hidden since the code was there for everyone to see. A developer most probably added the code to sunxi_debug in order to ease debugging, and did not realize there was a security issue. I’ve been told the exploit only affect Allwinner H3 & A83T processors, so if you have devices with one of those, you’d better check if the exploit works, and if it does, get an updated firmware, or kernel. Using proper code review procedures, or going Linux mainline,  would avoid such PR disasters. Speaking of which, Allwinner issued the following statement in response:

Allwinner Technology committed to resolving Linux Kernel software issue

Zhuhai, China – Allwinner Technology.Co.Ltd (SHE: CN:300458) is working with its device manufacturers to fix a current software issue. We are aware that code, which was supplied to device manufacturers for the purpose of developing products, should have been removed prior to shipping. We recommend that anyone who is concerned about this issue should contact the relevant device manufacturer.

In relation to the source code on Github, it is released for the open source community only and not for shipping certain devices. Since a debugging function is not needed it has subsequently been removed.

Allwinner is committed to producing quality SoCs with security a key priority. We are currently working hard to address this issue and revising our current processes so we can continue to evolve our range of SoCs in the future.

In other news, one of Pine64 managers informed me that fake/copy versions of Pine A64 development board, based Allwinner H64 SoC, had started selling on Taobao.

Fake_Pine_A64It’s unclear if those are exact copies, but to be safe, you should probably avoid purchasing Pine A64 on Taobao, or Taobao forwarding services.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter