Archive

Posts Tagged ‘Linux’

LinkSprite O-board Altera Cyclone IV FPGA Development Board Targets OpenRISC Development

May 24th, 2016 1 comment

OpenRISC project‘s goal is to create a free and open processor for embedded system that include  RISC instruction set architecture with DSP features, an open source implementations of the architecture, open source development tools and software, and simulators. You normally need FPGA board to emulate the processor before silicon is made available, so LinkSprite designed the O-board powered by Altera Cyclone IV FPGA to help with OpenRISC development and evaluation.

O-BoardO-board specifications:

  • FPGA – Altera Cyclone IV E with 22K LUT (P/N: EP4CE22F17C8N)
  • System Memory – 32MB SDRAM
  • Storage – 1MB SPI FLASH, micro SD slot
  • Connectivity – 1x Fast Ethernet (RJ45)
  • USB – 1x micro USB for OTG HOST/SLAVE, 1 x micro USB for power supply, configuration, 2x UARTs, 2x JTAG…
  • Expansion connectors – 2x 70-pin headers
  • Power Supply – 5V via miro USB
  • Dimensions – 96 x 40 mm

OpenRISC_FPGA_BoardThe Wiki for the board explained how to get started with development with a Ubuntu image for VirtualBox pre-loaded with all necessary tools and files to program the FPGA and then boot Linux on OpenRISC processor emulated on the FPGA.

O-board is sold for $179 on CuteDigi store and $185 on Amazon US.

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

Star Cloud PCG02U Ubuntu 14.04 TV Stick Review

May 24th, 2016 4 comments

Star Cloud PCG02U is the first Ubuntu product from MeLE. After taking a few pictures of the TV stick and the board, I’ve tested the performance and functionality of the device.

First Boot and Setup

You can either connected the stick directly into an HDMI port, or using the provided female to female adapter via an HDMI cable. I’ve opted to insert the device directly into the AUX port of my Onkyo A/V receiver itself connected to my TV. Since there’s only one USB host port, USB keyboard and mouse are not convenient since it would add a USB hub, so I went with Logitech MK270r wireless mouse & keyboard combo instead. You can either used Ethernet or WiFi for Internet connectivity, and I opted for the latter for most of the review, but WiFi is also working fine.

Star_Cloud_PCG02U_Ubuntu_TV_Stick_AV_ReceiverThe final step is to connect the power supply into the micro USB port, and boot the device which takes around 20 seconds. Power consumption is a low 3.4 watts in idle mode, and 0.4 watts while powered off. The system automatically login to Unity desktop shell with user “pp” without password. But if you do need to perform some administrative tasks as root, pp password is 123456.

PCG02U_User_AccountsSo you’ll probably want to go to “User Accounts” to Unlock the settings, and either add a password to pp, or create a new user.

PCG02U_Time_DateTime is set to New Year by default, so I changed that to match my local, as well as the Clock setting to display the time using a 24-hour clock, instead of the default 12-hour clock.

PCG02U_Software_Update_Server_ConfigThe download server for updates is configured to use servers in China by default. This  will likely be slow in most countries, so you’ll want to select a server for your country, or simply use the “Select Best Server” feature.

Ubuntu_Select_Best_ServerI also disabled “Online search” and removed “Amazon” icon from the dashboard.

Ubuntu_Disable_AmazonI completed the initial setup by installing the latest updates as well as OpenSSH server:

PCG02U System Information

Now that I have a system configured to my taste, let’s check some of the system information from the terminal start with Ubuntu and Linux kernel versions:

It’s not surprising that they went with Linux 3.16 since it was the only option to get HDMI audio until recently. MeLE did use Linuxium image possibly with some modifications.

MeLE also created pp user, but I’m not sure they did other improvements.

I still had 20GB free storage after installing the latest upgrade, with LibreOffice and Firefox pre-installed.

The system reports 1.9GB memory and a 1.9GB swap partition that’s barely used.

You can only see 159 MB free memory, simply because of lot of it is used as buffer/cache, not because Ubuntu is about to run out of memory.

cpuinfo show four cores, but I’m only showing one below.

Finally, I’ve installed hardinfo mostly to confirm the previous findings.

PCG02_hardinfo

Star Cloud PCG02U Benchmarks

Phoronix Benchmark

I’ll first use Phoronix to benchmark the TV stick.

I also installed psensor to monitor the CPU tempetature.

Before running the same benchmarks that was run on several ARM Linux development boards.

You can find the results on openbenchmarking.org, but as the tests were underway, the temperature seemed under control never going above 79 C, and I soon realized that the governor was setup to “Powersave”, so I changed that to “Performance”, and ran the tests again.

Click to Enlarge

Click to Enlarge



So finally we have the results for both lowpower and performance governors, and the results are not that much different. Let’s see some of the results compared to  ARM boards. Please note that “MeUbuntu 14.04.3” is actually the test for PCG02U in powersave mode.

Click to Enlarge

Click to Enlarge

First Star Cloud PCG02 is faster than ARM boards in some, but not all of the tests.

PCG02U_John_The_Ripper

John the ripper multi-threaded password cracker still works best on Banana Pi M3 octa-core ARM Cortex A7 board.

PCG02U_Himeno_Benchmark_3.0But Himeno benchmark is way much faster on Intel than ARM. Himeno page mentions that version 1.2.0 “use AVX2 by default if available”, so while the test still used version 1.10, and I did not find x86 optimization in the source code, it’s quite possible the compiler makes use a SIMD instruction on Intel, but not on ARM, or that ARM NEON is not quite as good as SSE2, AVX… instructions on Intel processors.

PCG02_FLAC_Audio_EncodingFLAC audio encoding is also confirming the better performance of the Intel platform here, although the gap to ODROID-XU4 is not as wide as for Himeno benchmark. Audio encoding would also benefit from SIMD instructions so that may explain it.

Network Performance

I tested both Ethernet and WiFi with iperf.

Full duplex transfer with Fast Ethernet shows very good performance:

I repeated the test with WiFi in one direction only, and the connection seems pretty good too:

Storage performance

I install IOZone to benchmark the internal flash.

I used the command line armbian community uses to test random read and write speed initially:

Random read @ 121 MB/s and write at 70MB/s is not too bad, but I can’t explain why they are random I/O are faster than sequential ones, so I repeated the test again with basically the same results.

I did two more runs with a larger file to test sequential read and write speed more accurately.

75MB/s sequential write speed and 125 MB/s sequential read speed are rather typical values for low cost Intel platforms.

Star Cloud PCG02U Usability Testing

In the final part of the review, I’ve test some common apps including:

  • Chrome web browser
    • Multitab browser
    • Adobe flash with Candy Crush Saga game
    • YouTube playing at 1080p
  • Libreoffice with text files, spreadsheet and presentations
  • Kodi 16.1 playing 1080p60 H.264 and 1080p24 H.265 videos
  • SuperTuxKart 3D games

You can watch the user’s experience in the video below.

Basically, I’m very happy with the performance of the device for desktop tasks, as everything worked smoothly. Video playback in YouTube and Kodi 16.1 ws not 100% perfect though, but still watchable, and finally SuperTuxKart ran pretty well at around 25 fps.

Overall, I’ve very satisfied with MeLE PCG02U TV stick, especially considering the $70 price tag, and you’ve got a fully working Ubuntu device suitable for desktop tasks, although multi-tasking should probably be limited due to the 2GB RAM. I’d like to thank MeLE for providing the sample, but we should also thank Linuxium for his work on the Ubuntu for Intel Atom Z3735F devices. You can currently purchase Star Cloud PCG02U for $69.76 including shipping, except for resident of the United Stated, Canada and Mexico, because MeLE has an agreement with another reseller targeting business consumers.

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

Popcorn Hour A500 4K Linux Media Player Specifications, Unboxing, and Teardown

May 23rd, 2016 15 comments

CloudMedia introduced Popcorn Hour A500 Pro last summer on Kickstarter, and as the company is about the ship rewards to backers, they has now recently introduced a lower cost version, called Popcorn Hour A500, based on the same processor but overall lower specs to bring the price down to $269. The company has  sent me a review sample, so I’ll start by listing the hardware specifications, and post pictures of the device and its internals, before testing media playback capabilities later on.

Popcorn Hour A500 Specifications

The “non-PRO” version has less RAM, dropped the XLR connectors, and  uses a cheaper audio DAC:

  • SoC – Sigma Designs SMP8758 dual core ARM Cortex A9 processor @ 1.2 GHz with ARM Mali-400 GPU and VXP image processing engine
  • System Memory – 1GB  DDR3
  • Storage – 512 MB SLC NAND Flash for firmware, 1x SD card reader, internal SATA bay for 2.5″ and 3.5″ hard drives
  • Video Output – HDMI 1.4a up to 3840×2160 @ 30 Hz, RCA connectors for component and composite video
  • Audio Output
    • Digital – HDMI, optical S/PDIF, and coaxial S/PDIF up to 192 kHz sampling rate
    • Analog – Stereo RCA jacks
    • Audio DAC – ESS SABRE Audio DAC ES9023P
  • Video Containers – M1V, M2V, M4V, M2P, MPG,VOB TS, TP, TRP, M2T, [email protected], MTS, AVI, ASF, WMV, MKV, 3DMKV, MOV, MP4, RMP4
  • Video Codecs – HEVC, VP9, H.264, MPEG-4.2-ASP, SMPTE 421M, AVS, H.261
  • Audio
    • Formats – AAC, M4A, MPEG audio, WAV, WMA, FLAC, OGG, APE, TTA, DSD
    • Decoders – DTS, WMA, WMA Pro, MPEG-1 (Layer 1,2,3), MPEG-4 AAC-LC, MPEG-4 HE-AAC, LPCM, FLAC, Vorbix
    • Gapless playback – DSD (DSF & DFF), SACD ISO, MP3, WAV and FLAC
  • Connectivity – Gigabit Ethernet; optional 802.11ac WiFI via  BL-WDN600 USB dongle; optional 802.11 b/g/n via WN-150 or WN-160 USB dongle
  • USB – 2x USB 2.0 host, 1x USB 3.0 slave
  • Misc – IR receiver, IR extender port, power and network LEDs
  • Power Supply – 12V/3A
  • Dimensions – 182 x 158 x 56 mm (Aluminum enclosure)

It’s also an update compared to Popcorn Hour VTEN that features a single core Cortex A9 processor, and no internal SATA bay. The media player runs Linux with NMJ (Networked Media Jukebox) navigator user interface, and you can also control the device with Android or iOS Mobile NMJ navigator app.

Popcorn Hour A500 Unboxing

The package is massive (and heavy) compared to the Android TV boxes I’m used to receive.

Popcorn_Hour_A500_PackageThe accessories also highlights some of the feature of the device with for example a USB 3.0 slave cable to use the box as an external hardware, and the screws and key for 2.5 ” and 3.5″ SATA support.

Click to Enlarge

Click to Enlarge

Other items include a HDMI cable, a 12V/3.33A power supply and power cord, the remote control and two AAA batteries, a quick start guide, and a warranty card explaining the device comes with one year warranty. The yellow sticker on the top of the device confirm it is a fanless design with an aluminum case that may get rather hot during use.

Click to Enlarge

Click to Enlarge

The media player itself feels of very good quality with its metallic enclosure. The front panel has a window for the IR receiver and LEDs, one of the side feature the SATA bay, an SD card slot, as well as a USB 2.0 port, while the rear panel has plenty of connectors: IR extension hack, USB 3.0 salve port, Gigabit Ethernet, another USB 2.0 host port, HDMI 1.4 output, composite and component RCA connectors, stereo audio RCA connectors, optical and S/PDIF RCA connector, the DC jack and finally a power switch.

Popcorn_Hour_A500_Hard_Drive_SATA_BayI unlocked the SATA bay with the provided key to connect a 3.5″ hard drive. The four holes on the bottom are for 2.5″ HDD and are meant to be used with the four small screws.

Popcorn_Hour_A500_HDD_InstallationBut for a 3.5″ HDD, you’ll use the larger screws and the opening on the side of the SATA slot. Then push the slot back into the case to insert the drive into the SATA connector.

Popcorn Hour A500 Teardown

Let’s open the thing. You can leave the four feet alone, and loosen the four other screws on the bottom, the two screws on the top corner of the rear panel and remove the SATA bay to open the device.

Click to Enlarge

Click to Enlarge

The case has been made by SilverStone, a company that appears to be popular for PC chassis. By the way, while the case is of very good quality, the key to lock / unlock the SATA is made of plastic, and was unusable when I tried to unlock of SATA bay, as its edges were damaged. I spent around 15 minutes to find alternative tools to unlock it, and retrieve my hard drive. So when the teardown was complete, and I put everything back together, I’ve not locked the SATA bay. We’ll see how it goes.

Click to Enlarge

Click to Enlarge

There’s no much to see on the top of the board, but I still took another picture with a different angle to show the SATA connector.

Click to Enlarge

Click to Enlarge

I loosen four more screws to have a look at the other side of the board.

Click to Enlarge

Click to Enlarge

There’s a thermal pad attached to the metal case, with some thermal past to dissipate heat from the Sigma Designs SMP8758 processor. That’s the only point I could see where heat from components is actually conducted to the metal case. Other components include SKhynix H27U4G8F2DTR NAND flash (8GB), and two SKhynix H5TQ4G63CFR DDR3 chips (1GB RAM in total), and Atheros AR8035-A Gigabit Ethernet transceiver.

Cloud Media sells Popcorn Hour A500 directly on their website for $269 plus shipping, and through resellers.

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

Getting Started with Beaglebone Green Wireless Development Board

May 21st, 2016 3 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. 192.168.8.138), and can access the board using 192.168.8.1.

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.
BeagleBone_Green_Wireless_USB_Ethernet

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 http://192.168.8.1 (WiFi), or http://192.168.7.2 (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 (http://192.168.8.1/login), 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 192.168.0.111 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:192.168.7.2:1880, 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.

BeagleBone_Green_Wireless_Node-RED_GPIO_Selection
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 grove_i2x_digital_light_sensor.py 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 DotNetKicks.com
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

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 DotNetKicks.com
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 http://192.168.8.1 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 DotNetKicks.com
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 kernelnewbies.org 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 DotNetKicks.com
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

Star Cloud PCG02U Ubuntu TV Stick Unboxing and Teardown

May 14th, 2016 11 comments

Star Cloud PCG02U is one of the rare device selling pre-loaded with Ubuntu 14.04, and MeLE, who owns Start Cloud brand, sent me one sample for review. While many Android & Windows devices can be “hacked” to run Linux distributions such as Ubuntu, Star Cloud PCG02U is the first device that I’ve ever received that’s actually shipped with Ubuntu 14.04. So it will be very interesting to find out how it performs, but today, I’ll check the device and its accessories, as well as the hardware design.

Star Cloud PCG02 Unboxing

The TV stick ships  in a Ubuntu orange retail packaging with Star Cloud branding, and mention of Ubuntu and Intel.
Star_Cloud_PCG02U_PackageI had already published the specifications in my first post, a confirmation on the package is always good.

Click to Enlarge

Click to Enlarge

The TV stick ships with a 5V/2A power adapter and multi-country plug adapters, a female to female HDMI adapter, a Quick Start Guide in English, and a notice reading “Caution Hot” that warns you the thing may get hot. It’s not really reassuring, but the case is made of metal used to dissipate heat from the processor, so that’s probably why.

Click to Enlarge

Click to Enlarge

The stick has two levels of thickness due to the Ethernet port on one of the ends.

Click to Enlarge

Click to Enlarge

Other ports include an HDMI 1.4 male port, a Kensington lock, a full size USB port, a micro USB port for power only, the power button, and a micro SD slot. There’s also an external WiFi antenna.

Mele_PCG01_Star_Cloud_PCG02Finally, I’ve taken a picture with MeLE PCG01 TV stick to show PCG02 is both longer and thicker due to the Ethernet port.

Star Cloud PCG02U Teardown

You’ll need some sharp tool, preferably in plastic, to take out the metal cover on the bottom.
PCG02U_Teardown
They’ve installed a thermal pad to conduct heat to the enclosure.

PCG02U_thermal_pad
Removing it reveals Realtek RTL8723BS 802.11 b/g/n WiFi (2.4 GHz only) and Bluetooth 4.0 module, and the RTC battery seen through cuts out of a metal shield. I’m not sure Bluetooth is supported by the included driver, as MeLE did not list this feature in their specs.

Click to Enlarge

Click to Enlarge

After removing the shield we can see FORESEE NCEMBSF9-32GB eMMC flash (32GB), and two Samsung K4B4G1646Q-HYK0 DDR3 ram chips (2 x 512 MB). The next step is to loosen the three screws to take out the mainboard from the case. Be careful not to damage the Wifi antenna wire, or the wires connected to the Ethernet daughter board during this step.

Star_Cloud_PCG02U_CoolingThere’s also a metal shield on that part of the PCB, and more thermal pads and various metal plates for cooling the fanless stick. Three or four bit of the shield go through the board, and a folded to open it in place. So first I had to straightnen out those, and I could remove the shield.

Click to Enlarge

Click to Enlarge

One that side, we’ve got Intel Atom Z3735F Bay Trail processor,  two more Samsung RAM chip that brings the total to 2GB, and AXP288D PMIC. I’ve finally removed one more bock with a metal sheet, a metal plate, and a thermal pad to uncover the Ethernet “daughter board”.

Click to Enlarge

Click to Enlarge

Ethernet is implemented with AXIS AX8872CLF USB 2.0 to Fast Ethernet controller, M-TEK H16107SEG 10/100M Ethernet transformer, as well as what should an EEPROM to store the MAC address. One more thermal pad and metal sheet have been installed to make sure the device cools properly. At least, they’ve made some serious efforts working on the thermal design, but we’ll have to see how well it works.

I’d like to Thanks MeLE for sending Star Cloud PCG02U Bay Trail Ubuntu TV stick for review, and if you are interested you can purchase it on Aliexpress for $69.74 including shipping. Please note that MeLE PCG02U will not ship to North America (US, Canada, Mexico), as distribution will be handled by a yet-to-be disclosed third party.

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