Quantcast
Channel: Developers » Visit CNX Software
Viewing all 2336 articles
Browse latest View live

Google Releases Guetzli Open Source JPEG Encoder Generating 20 to 35% Smaller Files Compared to Libjpeg

$
0
0

Google has been working one several front to make data and images smaller, hence faster to load from the Internet, with project such as Zopfli algorithm producing smalled PNG & gzip files, or WebP image compression algorithm that provides better lossless compression compare to PNG, and better lossy compression compared to JPEG, but requires updated support from clients such as web browsers. Google has now released Guetzli algorithm that improve on the latter, as it can create JPEG files that are 20 to 35% smaller compared to libjpeg with similar quality, and still compatible with the JPEG format.

The image above shows a close up on a phone line with the original picture, the JPEG picture compressed with libjpeg with the artifacts around the line, and a smaller JPEG picture compressed with Guetzli with less artifacts.

You can find out more about the algorithm in the paper entitled “Guetzli: Perceptually Guided JPEG Encoder“, or read the abstract below:

Guetzli is a new JPEG encoder that aims to produce visually indistinguishable images at a lower bit-rate than other common JPEG encoders. It optimizes both the JPEG global quantization tables and the DCT coefficient values in each JPEG block using a closed-loop optimizer. Guetzli uses Butteraugli, our perceptual distance metric, as the source of feedback in its optimization process. We reach a 29-45% reduction in data size for a given perceptual distance, according to Butteraugli, in comparison to other compressors we tried. Guetzli’s computation is currently extremely slow, which limits its applicability to compressing static content and serving as a proof- of-concept that we can achieve significant reductions in size by combining advanced psychovisual models with lossy compression techniques.

The compression is quite slower than with libjpeg or libjpeg-turbo, but considering that on the Internet a file is usually compressed once, and decompressed many times by visitors, this does not matter so much. Another limitation is that it does not support progressive JPEG encoding.

You can try Guetzli by yourserlf as the code was released on github. It did the following to build the tool on Ubuntu 16.04:

sudo apt install libpng-dev libgflags-dev git build-essential

git clone https://github.com/google/guetzli/

cd guetzli

make

You’ll the executable in bin/release directory, and you can run it to list all options:

Flags from /build/gflags-YYnfS9/gflags-2.1.2/src/gflags.cc:
-flagfile (load flags from file) type: string default: “”
-fromenv (set flags from the environment [use ‘export FLAGS_flag1=value’])
type: string default: “”
-tryfromenv (set flags from the environment if present) type: string
default: “”
-undefok (comma-separated list of flag names that it is okay to specify on
the command line even if the program does not define a flag with that
name. IMPORTANT: flags in this list that have arguments MUST use the
flag=value format) type: string default: “”

Flags from /build/gflags-YYnfS9/gflags-2.1.2/src/gflags_completions.cc:
-tab_completion_columns (Number of columns to use in output for tab
completion) type: int32 default: 80
-tab_completion_word (If non-empty, HandleCommandLineCompletions() will
hijack the process and attempt to do bash-style command line flag
completion on this value.) type: string default: “”

Flags from /build/gflags-YYnfS9/gflags-2.1.2/src/gflags_reporting.cc:
-help (show help on all flags [tip: all flags can have two dashes])
type: bool default: false
-helpfull (show help on all flags — same as -help) type: bool
default: false
-helpmatch (show help on modules whose name contains the specified substr)
type: string default: “”
-helpon (show help on the modules named by this flag value) type: string
default: “”
-helppackage (show help on all modules in the main package) type: bool
default: false
-helpshort (show help on only the main module for this program) type: bool
default: false
-helpxml (produce an xml version of help) type: bool default: false
-version (show version and build info and exit) type: bool default: false

Flags from guetzli/guetzli.cc:
-quality (Visual quality to aim for, expressed as a JPEG quality value.)
type: double default: 95
-verbose (Print a verbose trace of all attempts to standard output.)
type: bool default: false

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

./bin/Release/guetzli

guetzli: Guetzli JPEG compressor. Usage:

guetzli [flags] input_filename output_filename

  Flags from /build/gflags-YYnfS9/gflags-2.1.2/src/gflags.cc:

    -flagfile (load flags from file) type: string default: “”

    -fromenv (set flags from the environment [use ‘export FLAGS_flag1=value’])

      type: string default: “”

    -tryfromenv (set flags from the environment if present) type: string

      default: “”

    -undefok (comma-separated list of flag names that it is okay to specify on

      the command line even if the program does not define a flag with that

      name.  IMPORTANT: flags in this list that have arguments MUST use the

      flag=value format) type: string default: “”

  Flags from /build/gflags-YYnfS9/gflags-2.1.2/src/gflags_completions.cc:

    -tab_completion_columns (Number of columns to use in output for tab

      completion) type: int32 default: 80

    -tab_completion_word (If non-empty, HandleCommandLineCompletions() will

      hijack the process and attempt to do bash-style command line flag

      completion on this value.) type: string default: “”

  Flags from /build/gflags-YYnfS9/gflags-2.1.2/src/gflags_reporting.cc:

    -help (show help on all flags [tip: all flags can have two dashes])

      type: bool default: false

    -helpfull (show help on all flags same as -help) type: bool

      default: false

    -helpmatch (show help on modules whose name contains the specified substr)

      type: string default: “”

    -helpon (show help on the modules named by this flag value) type: string

      default: “”

    -helppackage (show help on all modules in the main package) type: bool

      default: false

    -helpshort (show help on only the main module for this program) type: bool

      default: false

    -helpxml (produce an xml version of help) type: bool default: false

    -version (show version and build info and exit) type: bool default: false

  Flags from guetzli/guetzli.cc:

    -quality (Visual quality to aim for, expressed as a JPEG quality value.)

      type: double default: 95

    -verbose (Print a verbose trace of all attempts to standard output.)

      type: bool default: false

Ideally you should have a raw or losslesly compressed image, but I tried a photo taken from my camera first:

./bin/Release/guetzli IMG_4354.JPG IMG_4354-Guetzli.JPG

Invalid input JPEG file

Guetzli processing failed

But it reported my JPEG file was invalid, so I tried another file (1920×1080 PNG file):

real 2m58.594s
user 2m55.840s
sys 0m2.616s

1

2

3

4

5

6

time ./bin/Release/guetzli MINIX-Launcher3.png MINIX-Launcher3-guetzli.jpg

real    2m58.594s

user    2m55.840s

sys    0m2.616s

It’s a single threaded process, and it takes an awful lot of time (about 3 minutes on an AMD FX8350 processor), at least with the current implementation. You may want to run it with “verbose” option to make sure it’s not dead.

I repeated the test with convert using quality 95, as it is the default option in Guetzli:

real 0m0.128s
user 0m0.112s
sys 0m0.012s

time convert -quality 95 MINIX-Launcher3.png MINIX-Launcher3-convert.jpg

real    0m0.128s

user    0m0.112s

sys    0m0.012s

The file compressed with Guetzli is indeed about 15% smaller, and should have similar quality:

ls -lh MINIX-Launcher3*

-rw-rw-r 1 jaufranc jaufranc 534K Mar 17 11:45 MINIX-Launcher3-convert.jpg

-rw-rw-r 1 jaufranc jaufranc 453K Mar 17 11:41 MINIX-Launcher3-Guetzli.jpg

-rw-rw-r 1 jaufranc jaufranc 1.5M Mar 17 11:35 MINIX-Launcher3.png

It’s just currently about 1,400 times slower on my machine.

Tweet Google has been working one several front to make data and images smaller, hence faster to load from the Internet, with project such as Zopfli algorithm producing smalled PNG…


Dell Edge Gateway 3000 Series Are Powered by Intel Bay Trail-I SoCs for Automation, Transportation, and Digital Signage

$
0
0

Dell has recently introduced Edge Gateway 3000 series with three models powered by Intel Bay Trail-I processor, running Ubuntu Core 16 or Windows 10 IoT, with each model targeting respectively general-purpose automation, transportation & logistics, and digital signage and retail.

The specifications for the three models can be found in the table below.

Dell Edge Gateway 3001
Model for General-Purpose Automation
Dell Edge Gateway 3002
Model for Transportation & Logistics
Dell Edge Gateway 3003
Model for Media & Retail Kiosks
SoC Intel Atom E3805 dual core processor  @ 1.33 GHz (3W TDP) Intel Atom E3815 single core processor @ 1.46 GHz with GPU @ 400 MHz (5W TDP)
System Memory 2 GB DDR3L-1066
Storage 8 or 32 GB eMMC flash
Industrial-grade Micro-SD card: 8GB / 16GB / 32 GB / 64 GB
Connectivity 1 x 10/100 Fast Ethernet (RJ-45)
with PoE (15.4W)
WiFi 802.11 b/g/n
Bluetooth 4.0 LE
Optional ZigBee module.
2x 10/100 Fast Ethernet (RJ-45), main port supports PoE (15.4W)
WiFi 802.11 b/g/n
Bluetooth 4.0 LE
Integrated Zigbee/802.15.4 module for mesh
networking.
2 x 10/100 Fast Ethernet (RJ-45).
Main port supports PoE (15.4W)
WiFi 802.11 b/g/n
Bluetooth 4.0 LE
Optional ZigBee module
Cellular Connectivity 3G or 4G LTE for select countries, US/Canada 4G LTE with AT&T or Verizon
Video & Audio DisplayPort 1.1 up to 2560×[email protected]
3.5mm Line Out/Line
In; RealTek codec
Serial Interfaces 2x RS-232/422/485.
GPIOs 8x channel, independently
programmable, DAC, ADC.
CAN Bus CAN2.0 A/B/FD 1Mbps (CAN2.0), 5Mbps (CAN-FD)
USB 1x USB 2.0, 1x USB 3.0
GNSS Integrated GPS
Sensors Accelerometer, Pressure, Temperature and Humidity
Power Supply 12V-57V wide DC input;
PoE compliant with IEEE 802.3.af standard up to 15.4 W, 48 V over existing Ethernet infrastructure, no
modifications required.
Dimensions 125 mm x 125 mm x 51 mm
Weight Around 1.1 kg

While all three models can run Ubuntu Core 16 and Windows 10 IoT Enterprise LTSB 2016, the latter requires a 32GB eMMC flash. Each gateway also comes with a Trusted Platform Module (TPM) 2.0, secure boot, BIOS password and I/O port disablement, and a fleet of gateway can be managed via Dell Edge Device Manager (EDM) cloud-based manageability suite (sold separately).

Gateway 30001 used for Mining Operations – Click to Enlarge

The gateway can be used for all sort of applications from mining management systems as shown above, to 18-wheelers, and revenue generating city fountains.

Dell Edge Gateway 3000 series will start selling this May for $399 and up. More details can be found on Dell website.

Tweet Dell has recently introduced Edge Gateway 3000 series with three models powered by Intel Bay Trail-I processor, running Ubuntu Core 16 or Windows 10 IoT, with each model targeting…

$18.9 Orange Pi Zero Plus 2 Board: Allwinner H3, WiFi + Bluetooth LE, HDMI and 8GB eMMC Flash

$
0
0

When will they ever stop? Shenzhen Xunlong has launched yet another Allwinner H3 board called Orange Pi Zero Plus 2, that has not that much in common with Orange Pi Zero, since it uses a different processor (H3 vs H2+), adds HDMI, and implements  WiFi and BLE via an Ampak AP6212 module.Orange Pi Zero Plus 2:

  • SoC – Allwinner H3 quad core Cortex A7 processor @ 1.2 GHz with Mali-400MP2 GPU @ 600 MHz
  • System Memory – 512 MB DDR3 SDRAM
  • Storage – 8GB eMMC flash + micro SD card slot
  • Video Output – HDMI port with CEC support
  • Connectivity – 802.11 b/g/n WiFi + Bluetooth 4.0 LE (Ampak AP6212) with u.FL antenna connector and external antenna
  • USB – 1x micro USB OTG port
  • Camera – MIPI CSI port
  • Expansion headers – Unpopulated 26-pin “Raspberry Pi B+” header + 13-pin header with headphone, 2x USB 2.0, TV out, microphone and IR receiver signals
  • Debugging – 3-pin serial console header
  • Misc – 2x LEDs for power and status
  • Power Supply – 5V via micro USB port
  • Dimensions – 48 x 46 mm
  • Weight – 20 grams

So the board is slightly smaller than Orange Pi Zero, and won’t have some of the WiFi issues with Orange Pi Zero with many re-transmit packets leading to a lower throughput. It still works through contrary to what some people claim. Software support for Orange Pi Zero Plus 2 should be the same as with other H3 boards including Android, Ubuntu, and Armbian builds.

Orange Pi Zero Plus 2 has started selling for $18.90 + shipping on Aliexpress.

Thanks to Aleksey for the tip.

Tweet When will they ever stop? Shenzhen Xunlong has launched yet another Allwinner H3 board called Orange Pi Zero Plus 2, that has not that much in common with Orange…

UP Core is a Low Cost & Compact Intel Maker Board Powered by an Atom x5-Z8350 SoC (Crowdfunding)

$
0
0

The UP community has already launched Intel Cherry Trail and Apollo Lake boards in the past with UP Board and UP2 (squared) boards, and they are now about to launch a cheaper and smaller board called UP Core powered by Intel Atom x5-Z8350 processor with to 1 to 4GB memory, up to 64GB eMMC flash, HDMI, USB 3.0, … and I/O expansion connectors.

Click to Enlarge

UP Core specifications:

  • SoC – Intel Atom x5-Z8350 “Cherry Trail” quad core processor @ 1.44 GHz / 1.92 GHz (Burst frequency) with Intel HD 400 graphics @ 200 / 500 MHz
  • System Memory –  1, 2 or 4 GB DDR3L-1600 (soldered on board)
  • Storage – 16, 32, or 64 GB eMMC flash, SPI flash ROM
  • Video Output / Display – HDMI 1.4 port, full eDP (embedded DisplayPort) connector
  • Audio I/O – Via HDMI, and I2S
  • Connectivity – 802.11 b/g/n WiFi  @ 2.4 GHz, Bluetooth 4.0 LE (AP614A)
  • USB – 1x USB 3.0 host port, 2x USB 2.0 via header
  • Camera I/F – 1x 2-lane MIPI CSI, 1x 4-lane MIPI CSI
  • Expansion
    • 100-pin docking connector with power signals, GPIOs, UART, SPI, I2C, PWM, SDIO, I2S, HDMI SMBUS, PMC signals, 2x USB HSIC, CSI, and PCIe Gen 2
    • 10-pin connector with 2x USB 2.0, 1x UART
  • Misc – Power & reset buttons, RTC battery header, fan connector, BIOS reflash connector
  • Power Supply – 5V/4A via 5.5/2.1mm power barrel
  • Dimensions – 66 x 56.50 mm
  • Temperature Range – Operating: 0 to 60 °C

The board will support Microsoft Windows 10, Windows 10 IoT Core, Linux including Ubilinux, Ubuntu, and the Yocto Project, as well as Android 6.0 Marshmallow.

Block Diagram – Click to Enlarge

If you look at the bottom right connector of the diagram above, we can see an extension HAT for the 100-pin docking port will be offered, as well as an IO board, both of which should be compatible with Raspberry Pi HATs with 40-pin connectors. But so far, I could not find details about the extension HAT, nor the IO board.

The UP core is coming soon to Kickstarter with price starting at 69 Euros with 1GB RAM, 16GB eMMC flash, and WiFi and Bluetooth. Other part of the documentation show a $89 price for the 1GB/16GB board, so maybe it’s the expected retail price out of the crowdfunding campaign. You’ll find a few more information on UP Core page, but we’ll probably have to wait for the Kickstarter campaign to launch to get the full details, especially with regards to add-on boards, and pricing for various options.

Thanks to Freire for the tip.

Tweet The UP community has already launched Intel Cherry Trail and Apollo Lake boards in the past with UP Board and UP2 (squared) boards, and they are now about to…

Mecool KM8 P Amlogic S912 TV Box Runs Android 7.1 Nougat, Sells for $39 and Up

$
0
0

We’ve already written about Android 7.1 on Amlogic earlier with week with an overview of the system and SDK from a developer, and there were some issues and user interface inconsistencies. However, I’ve just seen GeekBuying is now taking order for Amlogic S912 powered Mecool KM8 P TV box running Android 7.1 for $38.99 and up.

Mecool KM8 P specifications:

  • SoC – Amlogic S912 octa-core ARM Cortex A53 processor @ up to 1.5 GHz with ARM Mali-820MP3
  • System Memory – 1 or 2GB DDR3
  • Storage – 8 or 16GB eMMC flash and micro SD slot up to 32GB
  • Video & Audio Output – HDMI 2.0a up to 4K @ 60Hz with CEC and HDR support, and 3.5mm AV port (composite + stereo audio)
  • Connectivity – 10/100M Ethernet, WiFi 802.11 b/g/n
  • USB – 2x USB 2.0 ports
  • Misc – IR receiver, status and network LEDs
  • Power Supply – 5V/2A
  • Dimensions – 97 x 97 x 10 mm

The box ships with an IR remote control, a power adapter, a HDMI cable, and a user’s manual. It’s running Android 7.1 with Kodi 17.

I’m not convinced it will work as well as Android 6.0 right now, but OTA firmware updates may fix some of the bugs. The 1GB/8GB version is sold for $38.99, but if you prefer the system with 2GB RAM, you’ll have to spend $49.99, and for extra storage (16GB) with 2GB RAM, the price is $54.99. GeekBuying also offers bundles with  various air mice.

Tweet We’ve already written about Android 7.1 on Amlogic earlier with week with an overview of the system and SDK from a developer, and there were some issues and user…

NanoPi NEO 2 Board Benchmarks with Ubuntu 16.04.2 using Linux 3.10 and Linux 4.10

$
0
0

NOTICE:  BL3-1: v1.0(debug):3ffd944                                            

NOTICE:  BL3-1: Built : 11:09:10, Aug 30 2016                                  

NOTICE:  BL3-1 commit: 3ffd9442d4769d7fc0002770e3b69b55150a288e                

                                                                                

INFO:    BL3-1: Initializing runtime services                                  

ERROR:   Error initializing runtime service tspd_fast                          

INFO:    BL3-1: Preparing for EL3 exit to normal world                          

INFO:    BL3-1: Next image address = 0x4a000000                                

INFO:    BL3-1: Next image spsr = 0x1d3                                        

                                                                                

                                                                                

U-Boot 2014.07 (Mar 29 2017 - 09:47:44) Allwinner Technology                    

                                                                                

uboot commit : 7c8cc7f37ec0391e13186d04c698d6e48ff3f861                        

                                                                                

secure enable bit: 0                                                            

i2c: secure monitor exist                                                      

[      0.752]pmbus:   ready                                                    

u0:48105000                                                                    

[      0.755][ARISC] :arisc initialize                                          

[      0.898][ARISC] :arisc_dvfs_cfg_vf_table: support only one vf_table        

[      0.961][ARISC] :arisc para ok                                            

[SCP] :sunxi-arisc driver begin startup 2                                      

[SCP] :arisc version: [sun8iw5_v0.03.00-244-gb750b8e]                          

[SCP] :sunxi-arisc driver v1.20 is starting                                    

[      0.976][ARISC] :sunxi-arisc driver startup succeeded                      

axp: get node[charger0] error                                                  

[SCP ERROR] :message process error                                              

[SCP ERROR] :message addr   : 48105080                                          

[SCP ERROR] :message state  : 5                                                

[SCP ERROR] :message attr   : 2                                                

[SCP ERROR] :message type   : 80                                                

[SCP ERROR] :message result : f3                                                

[SCP WARING] :callback not install                                              

[SCP ERROR] :arisc twi read pmu reg 0x3 err                                    

probe axp806 failed                                                            

axp_probe error                                                                

[      1.011]PMU: cpux 1008 Mhz,AXI=336 Mhz                                    

PLL6=600 Mhz,AHB1=200 Mhz, APB1=100Mhz MBus=400Mhz                              

run key detect                                                                  

no key found                                                                    

no uart input                                                                  

DRAM:  512 MiB                                                                  

fdt addr: 0x56e9d320                                                            

Relocation Offset is: 15ef0000                                                  

axp: get node[charger0] error                                                  

In:    serial                                                                  

Out:   serial                                                                  

Err:   serial                                                                  

gic: sec monitor mode                                                          

[box standby] read rtc = 0x0                                                    

[box standby] start_type = 0x1                                                  

[box standby] to kernel                                                        

boot_init_gpio used                                                            

ir boot recovery not used                                                      

workmode = 0,storage type = 1                                                  

[      1.266]MMC:        0                                                      

[mmc]: mmc driver ver 2016-05-20 17:18:00-test0                                

[mmc]: get card2_boot_para:sdc_ex_dly_used 0                                    

[mmc]: no mmc-hs400-1_8v!                                                      

[mmc]: no mmc-hs200-1_8v!                                                      

[mmc]: no mmc-ddr-1_8v!                                                        

[mmc]: delete max-frequency from dtb                                            

SUNXI SD/MMC: 0                                                                

[mmc]: 50 MHz...                                                                

[mmc]: sample: 63 - 158(ps)                                                    

[mmc]: 100 MHz...                                                              

[mmc]: sample: 32 - 156(ps)                                                    

[mmc]: 200 MHz...                                                              

[mmc]: sample: 15 - 166(ps)                                                    

[mmc]: media type 0x0                                                          

[mmc]: Wrong media type 0x0                                                    

[mmc]: ************Try SD card 0************                                    

[mmc]: host caps: 0x27                                                          

[mmc]: MID 03 PSN 49731d8a                                                      

[mmc]: PNM SL08G 0x53-4c-30-38-47                                            

[mmc]: PRV 8.0                                                                  

[mmc]: MDT m-6 y-2016                                                          

[mmc]: speed mode     : HSSDR52/SDR25                                          

[mmc]: clock          : 50000000 Hz                                            

[mmc]: bus_width      : 4 bit                                                  

[mmc]: user capacity  : 7580 MB                                                

[mmc]: ************SD/MMC 0 init OK!!!************                              

[mmc]: erase_grp_size      : 0x1WrBlk*0x200=0x200 Byte                          

[mmc]: secure_feature      : 0x0                                                

[mmc]: secure_removal_type : 0x0                                                

[      1.494]sunxi flash init ok                                                

mmc0 is current device                                                          

[      1.513]start                                                              

drv_disp_init                                                                  

tv_init:                                                                        

tv_probe:000                                                                    

no report hpd work,you need support the switch class!                          

screen 0 dont support TV!                                                      

tv_init:                                                                        

fetch tv1 err.                                                                  

drv_disp_init finish                                                            

hdcp is closed by sys config.                                                  

no the part:Reserve0                                                            

hpd_dev_num=2, id of def_output_dev is 0                                        

hdmi hpd out, force open?                                                      

fdt_setprop_u32 disp.init_disp(0x20b0404) code:                      

fb_id=0, size=3686400, gd->ram_size=536870912, SUNXI_DISPLAY_FRAME_BUFFER_SIZE=6

[      2.127]end                                                                

PowerBus = 0( 2:vBus 3:acBus other: not exist)                                  

no battery, limit to dc                                                        

no battery exist                                                                

sunxi_bmp_logo_display                                                          

[boot disp] can not find the partition Reserve0                                

bmp_name=bootlogo.bmp                                                          

reading bootlogo.bmp                                                            

3686454 bytes read in 160 ms (22 MiB/s)                                        

fdt_setprop_string disp.boot_fb0(5f000000,500,2d0,20,1400,0,0,500,2d0). ret-cod>

try to read logic blk 0 without env partition                                  

*** Warning - bad CRC, using default environment                                

                                                                                

fastboot partitions                                            

mbr not exist                                                                  

base bootcmd=run setargs_mmc boot_normal                                        

bootcmd set setargs_mmc                                                        

no misc partition is found                                                      

to be run cmd=run setargs_mmc boot_normal                                      

read item0 copy0                                                                

Item0 (Map) magic is bad                                                        

the secure storage item0 copy0 is bad                                          

read item0 copy1                                                                

Item0 (Map) magic is bad                                                        

the secure storage item0 copy0 == copy1, the data is good                      

the secure storage map is empty                                                

no item name selinux in the map                                                

sunxi storage read fail                                                        

no item name fsck.repair in the map                                            

sunxi storage read fail                                                        

check user data form private                                                    

the private part isnt exist                                                    

update_fdt_para_for_kernel                                                      

update dtb dram start                                                          

update dtb dram  end                                                            

serial is: 34005035c2003c2a074c                                                

[      2.533]inter uboot shell                                                  

Hit any key to stop autoboot:  0                                                

reading boot.img                                                                

17256448 bytes read in 738 ms (22.3 MiB/s)                                      

Androids image name: sun50i_arm64                                              

Kernel load addr 0x40080000 size 12302 KiB                                      

RAM disk load addr 0x41000000 size 4548 KiB                                    

[      4.424]ready to boot                                                      

prepare for kernel                                                              

[mmc]: MMC Device 2 not found                                                  

[mmc]: mmc 2 not find, so not exit                                              

                                                                                

Starting kernel ...                                                            

                                                                                

INFO:    BL3-1: Next image address = 0x40080000                                

INFO:    BL3-1: Next image spsr = 0x3c5                                        

[    0.000000] Initializing cgroup subsys cpuset                                

[    0.000000] Initializing cgroup subsys cpu                                  

[    0.000000] Initializing cgroup subsys cpuacct                              

[    0.000000] Linux version 3.10.65 (root@wwd) (gcc version 4.9.3 20150113 (pr7

[    0.000000] CPU: AArch64 Processor [410fd034] revision 4                    

[    0.000000] Machine: sun50iw2                                                

[    0.000000] cma: CMA: reserved 16 MiB at 5f000000                            

[    0.000000] On node 0 totalpages: 131072                                    

[    0.000000]   DMA zone: 1792 pages used for memmap                          

[    0.000000]   DMA zone: 0 pages reserved                                    

[    0.000000]   DMA zone: 131072 pages, LIFO batch:31                          

[    0.000000] psci: probing for conduit method from DT.                        

[    0.000000] psci: PSCIv0.2 detected in firmware.                            

[    0.000000] psci: Using standard PSCI v0.2 function IDs                      

[    0.000000] PERCPU: Embedded 12 pages/cpu @ffffffc01ef98000 s20224 r8192 d202

[    0.000000] pcpu-alloc: s20224 r8192 d20736 u49152 alloc=12*4096            

[    0.000000] pcpu-alloc: [0] 0 [0] 1 [0] 2 [0] 3                              

[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pa0

[    0.000000] Kernel command line: console=ttyS0,115200 root=/dev/mmcblk0p2 in1

[    0.000000] PID hash table entries: 2048 (order: 2, 16384 bytes)            

[    0.000000] Dentry cache hash table entries: 65536 (order: 7, 524288 bytes)  

[    0.000000] Inode-cache hash table entries: 32768 (order: 6, 262144 bytes)  

[    0.000000] Memory: 512MB = 512MB total                                      

[    0.000000] Memory: 457840k/457840k available, 66448k reserved              

[    0.000000] Virtual kernel memory layout:                                    

[    0.000000]     vmalloc : 0xffffff8000000000 - 0xffffffbbffff0000   (245759 )

[    0.000000]     vmemmap : 0xffffffbc00e00000 - 0xffffffbc01500000   (     7 )

[    0.000000]     modules : 0xffffffbffc000000 - 0xffffffc000000000   (    64 )

[    0.000000]     memory  : 0xffffffc000000000 - 0xffffffc020000000   (   512 )

[    0.000000]       .init : 0xffffffc000b28000 - 0xffffffc000bb7f00   (   576 )

[    0.000000]       .text : 0xffffffc000080000 - 0xffffffc000b27754   ( 10910 )

[    0.000000]       .data : 0xffffffc000bb8000 - 0xffffffc000c83490   (   814 )

[    0.000000] Preemptible hierarchical RCU implementation.                    

[    0.000000] NR_IRQS:64 nr_irqs:64 0                                          

[    0.000000] Architected cp15 timer(s) running at 24.00MHz (virt).            

[    0.000000] Console: colour dummy device 80×25                              

[    4.535949] Calibrating delay loop (skipped), value calculated using timer f)

[    4.535959] pid_max: default: 32768 minimum: 301                            

[    4.536435] Security Framework initialized                                  

[    4.536452] SELinux:  Disabled at boot.                                      

[    4.536742] Mount-cache hash table entries: 256                              

[    4.538709] Initializing cgroup subsys debug                                

[    4.538722] Initializing cgroup subsys freezer                              

[    4.538926] ftrace: allocating 29140 entries in 114 pages                    

[    4.576571] CPU0: update cpu_power 1024                                      

[    4.576591] hw perfevents: enabled with arm/armv8-pmuv3 PMU driver, 7 countee

[    4.578398] virtual base = 0xffffff800000a000.                              

[    4.578412] gicd_base = 0xffffff800000c000.                                  

[    4.578417] gicc_base = 0xffffff800000e000.                                  

[    4.580317] CPU1: Booted secondary processor                                

[    4.580344] CPU1: update cpu_power 1024                                      

[    4.582087] CPU2: Booted secondary processor                                

[    4.582101] CPU2: update cpu_power 1024                                      

[    4.583798] CPU3: Booted secondary processor                                

[    4.583810] CPU3: update cpu_power 1024                                      

[    4.583897] Brought up 4 CPUs                                                

[    4.583922] SMP: Total of 4 processors activated (192.00 BogoMIPS).          

[    4.585236] devtmpfs: initialized                                            

[    4.616168] atomic64 test passed                                            

[    4.616181] pinctrl core: initialized pinctrl subsystem                      

[    4.619093] NET: Registered protocol family 16                              

[    4.621823] dump_class_init,839, success                                    

[    4.623034] vdso: 2 pages (1 code, 1 data) at base ffffffc000bc1000          

[    4.623060] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers.    

[    4.625380] software IO TLB [mem 0x5d000000-0x5d400000] (4MB) mapped at [fff]

[    4.626678] DMA: preallocated 256 KiB pool for atomic allocations            

[    4.627367] pll_audio-set_default_rate=24576000 success!                    

[    4.627398] pll_video-set_default_rate=297000000 success!                    

[    4.627436] pll_ve-set_default_rate=420000000 success!                      

[    4.627553] pll_de-set_default_rate=864000000 success!                      

[    4.627860] ahb1-set_default_rate=200000000 success!                        

[    4.628727] de-set_default_source=pll_de success!                            

[    4.628734] de-set_default_rate=432000000 success!                          

[    4.628793] tcon0-set_default_source=pll_video success!                      

[    4.628872] tve-set_default_source=pll_de success!                          

[    4.629174] hdmi-set_default_source=pll_video success!                      

[    4.633126] sun50iw2p1-r-pinctrl 1f02c00.pinctrl: initialized sunXi PIO drivr

[    4.636298] sun50iw2p1-pinctrl 1c20800.pinctrl: initialized sunXi PIO driver

[    4.638340] sunxi hwspinlock vbase:0xffffff800005c000                        

[    4.720108] bio: create slab  at 0                                    

[    4.721153] pwm module init!                                                

[    4.727391] SCSI subsystem initialized                                      

[    4.729661] usbcore: registered new interface driver usbfs                  

[    4.729964] usbcore: registered new interface driver hub                    

[    4.730245] usbcore: registered new device driver usb                        

[    4.732598] Linux video capture interface: v2.00                            

[    4.739218] [ARISC] :sunxi-arisc driver v1.20                                

[    4.740164] [ARISC] :sunxi-arisc driver v1.20 startup succeeded              

[    4.740847] Advanced Linux Sound Architecture Driver Initialized.            

[    4.742280] Bluetooth: Core ver 2.16                                        

[    4.742482] NET: Registered protocol family 31                              

[    4.742488] Bluetooth: HCI device and connection manager initialized        

[    4.742520] Bluetooth: HCI socket layer initialized                          

[    4.742549] Bluetooth: L2CAP socket layer initialized                        

[    4.742605] Bluetooth: SCO socket layer initialized                          

[    4.743519] cfg80211: Calling CRDA to update world regulatory domain        

[    4.744631] [pm]aw_pm_init!                                                  

[    4.744742] np name = /soc@01c00000/rtc@01f00000.                            

[    4.744749] base = ffffff800006c100, len = 4.                                

[    4.744755] pmu name: pmic0 .                                                

[    4.744840] Warning: can not find np for pmic0.                              

[    4.744845] pmu name: pmic1 .                                                

[    4.744868] Warning: can not find np for pmic1.                              

[    4.744951] add_sys_pwr_dm: get ldo name  for id: vcc-lpddr failed          

[    4.744959] add_sys_pwr_dm: get ldo name  for id: vcc-pl failed              

[    4.744966] add_sys_pwr_dm: axpdummy_ldo6 ldo already alwayson.              

[    4.744988] add_sys_pwr_dm: vcc-pc not sys id.                              

[    4.744993] after inited: sys_mask config = 0x4855.                          

[    4.745016] Warning: can not find np for dynamic_standby_para.              

[    4.745149] [pm]valid                                                        

[    4.745153] [pm]valid                                                        

[    4.745159] Notice: sun9i & sun8iw5 & sun50i not need support normal standby.

[    4.745184] [DISP]disp_module_init                                          

[    4.746052] [DISP] init_disp:0x20b0404                                      

[    4.746062] [DISP] boot_disp:0x0                                            

[    4.746596] [DISP] fb_base:0x0                                              

[    4.762460] [DISP]disp_module_init finish                                    

[    4.763663] sunxi budget cooling probe start !                              

[    4.763689] CPU freq cooling register Success                                

[    4.763715] CPU hotplug cooling register Success                            

[    4.764059] CPU budget cooling register Success                              

[    4.765806] input: sunxi-ths as /devices/virtual/input/input0                

[    4.765861] thermal thermal_zone0: failed to read out thermal zone 0        

[    4.766411] Switching to clocksource arch_sys_counter                        

[    4.812086] FS-Cache: Loaded                                                

[    4.812682] CacheFiles: Loaded                                              

[    4.839252] NET: Registered protocol family 2                                

[    4.840770] TCP established hash table entries: 4096 (order: 4, 65536 bytes)

[    4.840871] TCP bind hash table entries: 4096 (order: 4, 65536 bytes)        

[    4.840957] TCP: Hash tables configured (established 4096 bind 4096)        

[    4.841608] TCP: reno registered                                            

[    4.841620] UDP hash table entries: 256 (order: 1, 8192 bytes)              

[    4.841639] UDP-Lite hash table entries: 256 (order: 1, 8192 bytes)          

[    4.842359] NET: Registered protocol family 1                                

[    4.843376] RPC: Registered named UNIX socket transport module.              

[    4.843382] RPC: Registered udp transport module.                            

[    4.843387] RPC: Registered tcp transport module.                            

[    4.843392] RPC: Registered tcp NFSv4.1 backchannel transport module.        

[    4.844340] Unpacking initramfs...                                          

[    5.107382] Freeing initrd memory: 4544K (ffffffc001000000 - ffffffc00147000)

[    5.108609] lock super standby defaultly!                                    

[    5.108625] lookup_scene_lock_name: new scene lock super_standby            

[    5.108631] scene_lock_init name=super_standby                              

[    5.108639] scene_lock: super_standby, type 5, count 1                      

[    5.109896] audit: initializing netlink socket (disabled)                    

[    5.109973] type=2000 audit(0.560:1): initialized                            

[    5.114977] FS-Cache: Netfs ‘nfs’ registered for caching                    

[    5.116236] FS-Cache: Netfs ‘cifs’ registered for caching                    

[    5.117153] NTFS driver 2.1.30 [Flags: R/W].                                

[    5.117880] fuse init (API version 7.22)                                    

[    5.118886] msgmni has been set to 935                                      

[    5.120486] io scheduler noop registered                                    

[    5.120494] io scheduler deadline registered                                

[    5.120612] io scheduler cfq registered (default)                            

[    5.122155] sunxi_bootup_extend_probe: bootup extend state 1                

[    5.122163] bootup extend probe ok                                          

[    5.123647] uart0: ttyS0 at MMIO 0x1c28000 (irq = 32) is a SUNXI            

[    5.123671] sw_console_setup()1268 - console setup baud 115200 parity n bitsn

[    6.022122] console [ttyS0] enabled                                          

[    6.026908] uart1: ttyS1 at MMIO 0x1c28400 (irq = 33) is a SUNXI            

[    6.034086] uart2: ttyS2 at MMIO 0x1c28800 (irq = 34) is a SUNXI            

[    6.041326] uart3: ttyS3 at MMIO 0x1c28c00 (irq = 35) is a SUNXI            

[    6.049888] misc dump reg init                                              

[    6.061293] loop: module loaded                                              

[    6.064781] Boot type 1                                                      

[    6.072098] tun: Universal TUN/TAP device driver, 1.6                        

[    6.077644] tun: (C) 1999-2004 Max Krasnyansky <maxk@qualcomm.com>          

[    6.087208] PPP generic driver version 2.4.2                                

[    6.092423] PPP BSD Compression module registered                            

[    6.097575] PPP Deflate Compression module registered                        

[    6.103100] PPP MPPE Compression module registered                          

[    6.108344] NET: Registered protocol family 24                              

[    6.113248] PPTP driver version 0.8.5                                        

[    6.117605] hso: drivers/net/usb/hso.c: Option Wireless                      

[    6.123946] usbcore: registered new interface driver hso                    

[    6.129969] usbcore: registered new interface driver asix                    

[    6.136084] usbcore: registered new interface driver ax88179_178a            

[    6.142942] usbcore: registered new interface driver cdc_ether              

[    6.149511] usbcore: registered new interface driver net1080                

[    6.155893] usbcore: registered new interface driver cdc_subset              

[    6.162548] usbcore: registered new interface driver zaurus                  

[    6.168881] usbcore: registered new interface driver cdc_ncm                

[    6.175073] ehci_hcd: USB 2.0 ‘Enhanced’ Host Controller (EHCI) Driver      

[    6.182528] get ehci0-controller, regulator_io is no nocare                  

[    6.188721] [sunxi-ehci0]: probe, pdev->name: 1c1a000.ehci0-controller, sunx8

[    6.202019] sunxi-ehci 1c1a000.ehci0-controller: SW USB2.0 ‘Enhanced’ Host Cr

[    6.211944] sunxi-ehci 1c1a000.ehci0-controller: new USB bus registered, ass1

[    6.221988] sunxi-ehci 1c1a000.ehci0-controller: irq 104, io mem 0xffffffc008

[    6.242474] sunxi-ehci 1c1a000.ehci0-controller: USB 0.0 started, EHCI 1.00  

[    6.250221] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002    

[    6.257651] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber1

[    6.265552] usb usb1: Product: SW USB2.0 ‘Enhanced’ Host Controller (EHCI) Dr

[    6.273738] usb usb1: Manufacturer: Linux 3.10.65 ehci_hcd                  

[    6.279730] usb usb1: SerialNumber: sunxi-ehci                              

[    6.285591] hub 1-0:1.0: USB hub found                                      

[    6.289710] hub 1-0:1.0: 1 port detected                                    

[    6.294437] get drv_vbus is fail, 84                                        

[    6.298339] get ehci1-controller, regulator_io is no nocare                  

[    6.304501] [sunxi-ehci1]: probe, pdev->name: 1c1b000.ehci1-controller, sunxa

[    6.317788] sunxi-ehci 1c1b000.ehci1-controller: SW USB2.0 ‘Enhanced’ Host Cr

[    6.327710] sunxi-ehci 1c1b000.ehci1-controller: new USB bus registered, ass2

[    6.337597] sunxi-ehci 1c1b000.ehci1-controller: irq 106, io mem 0xffffffc008

[    6.360552] sunxi-ehci 1c1b000.ehci1-controller: USB 0.0 started, EHCI 1.00  

[    6.368275] usb usb2: New USB device found, idVendor=1d6b, idProduct=0002    

[    6.375705] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber1

[    6.383606] usb usb2: Product: SW USB2.0 ‘Enhanced’ Host Controller (EHCI) Dr

[    6.391825] usb usb2: Manufacturer: Linux 3.10.65 ehci_hcd                  

[    6.397818] usb usb2: SerialNumber: sunxi-ehci                              

[    6.403611] hub 2-0:1.0: USB hub found                                      

[    6.407734] hub 2-0:1.0: 1 port detected                                    

[    6.412448] get drv_vbus is fail, 84                                        

[    6.416350] get ehci2-controller, regulator_io is no nocare                  

[    6.422445] sunxi ehci2-controller is no enable                              

[    6.427394] sunxi-ehci 1c1c000.ehci2-controller: init_sunxi_hci is fail      

[    6.434685] get drv_vbus is fail, 84                                        

[    6.438586] get ehci3-controller, regulator_io is no nocare                  

[    6.444744] [sunxi-ehci3]: probe, pdev->name: 1c1d000.ehci3-controller, sunxe

[    6.458028] sunxi-ehci 1c1d000.ehci3-controller: SW USB2.0 ‘Enhanced’ Host Cr

[    6.467949] sunxi-ehci 1c1d000.ehci3-controller: new USB bus registered, ass3

[    6.477828] sunxi-ehci 1c1d000.ehci3-controller: irq 110, io mem 0xffffffc008

[    6.498313] sunxi-ehci 1c1d000.ehci3-controller: USB 0.0 started, EHCI 1.00  

[    6.506058] usb usb3: New USB device found, idVendor=1d6b, idProduct=0002    

[    6.513519] usb usb3: New USB device strings: Mfr=3, Product=2, SerialNumber1

[    6.521426] usb usb3: Product: SW USB2.0 ‘Enhanced’ Host Controller (EHCI) Dr

[    6.529613] usb usb3: Manufacturer: Linux 3.10.65 ehci_hcd                  

[    6.535605] usb usb3: SerialNumber: sunxi-ehci                              

[    6.541562] hub 3-0:1.0: USB hub found                                      

[    6.545678] hub 3-0:1.0: 1 port detected                                    

[    6.550892] ohci_hcd: USB 1.1 ‘Open’ Host Controller (OHCI) Driver          

[    6.557922] get ohci0-controller, regulator_io is no nocare                  

[    6.564071] hci: request ohci0-controller gpio:354                          

[    6.569316] ohci0-controller get usb clk_usbohci12m clk failed.              

[    6.575782] ohci0-controller get usb clk_hoscx2 clk failed.                  

[    6.581881] ohci0-controller get usb clk_hosc failed.                        

[    6.587407] ohci0-controller get usb clk_losc clk failed.                    

[    6.593305] [sunxi-ohci0]: probe, pdev->name: 1c1a000.ohci0-controller, sunx0

[    6.603550] sunxi-ohci 1c1a000.ohci0-controller: SW USB2.0 ‘Open’ Host Contrr

[    6.613088] sunxi-ohci 1c1a000.ohci0-controller: new USB bus registered, ass4

[    6.622578] sunxi-ohci 1c1a000.ohci0-controller: irq 105, io mem 0x6b6c632060

[    6.689319] usb usb4: New USB device found, idVendor=1d6b, idProduct=0001    

[    6.696749] usb usb4: New USB device strings: Mfr=3, Product=2, SerialNumber1

[    6.704641] usb usb4: Product: SW USB2.0 ‘Open’ Host Controller (OHCI) Driver

[    6.712448] usb usb4: Manufacturer: Linux 3.10.65 ohci_hcd                  

[    6.718450] usb usb4: SerialNumber: sunxi-ohci                              

[    6.724167] hub 4-0:1.0: USB hub found                                      

[    6.728300] hub 4-0:1.0: 1 port detected                                    

[    6.732955] get drv_vbus is fail, 84                                        

[    6.736869] get ohci1-controller, regulator_io is no nocare                  

[    6.743010] ohci1-controller get usb clk_usbohci12m clk failed.              

[    6.749487] ohci1-controller get usb clk_hoscx2 clk failed.                  

[    6.755582] ohci1-controller get usb clk_hosc failed.                        

[    6.761098] ohci1-controller get usb clk_losc clk failed.                    

[    6.767005] [sunxi-ohci1]: probe, pdev->name: 1c1b000.ohci1-controller, sunx0

[    6.777241] sunxi-ohci 1c1b000.ohci1-controller: SW USB2.0 ‘Open’ Host Contrr

[    6.786774] sunxi-ohci 1c1b000.ohci1-controller: new USB bus registered, ass5

[    6.796262] sunxi-ohci 1c1b000.ohci1-controller: irq 107, io mem 0x736f6c5f60

[    6.866441] usb usb5: New USB device found, idVendor=1d6b, idProduct=0001    

[    6.873872] usb usb5: New USB device strings: Mfr=3, Product=2, SerialNumber1

[    6.881764] usb usb5: Product: SW USB2.0 ‘Open’ Host Controller (OHCI) Driver

[    6.889570] usb usb5: Manufacturer: Linux 3.10.65 ohci_hcd                  

[    6.895572] usb usb5: SerialNumber: sunxi-ohci                              

[    6.901282] hub 5-0:1.0: USB hub found                                      

[    6.905409] hub 5-0:1.0: 1 port detected                                    

[    6.910074] get drv_vbus is fail, 84                                        

[    6.913987] get ohci2-controller, regulator_io is no nocare                  

[    6.920072] sunxi ohci2-controller is no enable                              

[    6.925032] ohci2-controller get usb clk_usbohci12m clk failed.              

[    6.931507] ohci2-controller get usb clk_hoscx2 clk failed.                  

[    6.937593] ohci2-controller get usb clk_hosc failed.                        

[    6.943119] ohci2-controller get usb clk_losc clk failed.                    

[    6.949014] hci: ERR: sunxi_ohci is null                                    

[    6.953302] hci: ERR: sunxi_ohci_hcd_probe, sunxi_ohci is null              

[    6.959682] sunxi-ohci: probe of 1c1c000.ohci2-controller failed with error 1

[    6.967636] get drv_vbus is fail, 84                                        

[    6.971548] get ohci3-controller, regulator_io is no nocare                  

[    6.977684] ohci3-controller get usb clk_usbohci12m clk failed.              

[    6.984161] ohci3-controller get usb clk_hoscx2 clk failed.                  

[    6.990248] ohci3-controller get usb clk_hosc failed.                        

[    6.995772] ohci3-controller get usb clk_losc clk failed.                    

[    7.001710] [sunxi-ohci3]: probe, pdev->name: 1c1d000.ohci3-controller, sunx0

[    7.011950] sunxi-ohci 1c1d000.ohci3-controller: SW USB2.0 ‘Open’ Host Contrr

[    7.021485] sunxi-ohci 1c1d000.ohci3-controller: new USB bus registered, ass6

[    7.030972] sunxi-ohci 1c1d000.ohci3-controller: irq 111, io mem 0x6c6320637f

[    7.092752] usb usb6: New USB device found, idVendor=1d6b, idProduct=0001    

[    7.100182] usb usb6: New USB device strings: Mfr=3, Product=2, SerialNumber1

[    7.108075] usb usb6: Product: SW USB2.0 ‘Open’ Host Controller (OHCI) Driver

[    7.115881] usb usb6: Manufacturer: Linux 3.10.65 ohci_hcd                  

[    7.121887] usb usb6: SerialNumber: sunxi-ohci                              

[    7.127595] hub 6-0:1.0: USB hub found                                      

[    7.131729] hub 6-0:1.0: 1 port detected                                    

[    7.137047] usbcore: registered new interface driver usb-storage            

[    7.143835] usbcore: registered new interface driver ums-alauda              

[    7.150518] usbcore: registered new interface driver ums-cypress            

[    7.157274] usbcore: registered new interface driver ums-datafab            

[    7.164035] usbcore: registered new interface driver ums_eneub6250          

[    7.170994] usbcore: registered new interface driver ums-freecom            

[    7.177757] usbcore: registered new interface driver ums-isd200              

[    7.184410] usbcore: registered new interface driver ums-jumpshot            

[    7.191265] usbcore: registered new interface driver ums-karma              

[    7.197848] usbcore: registered new interface driver ums-onetouch            

[    7.204714] usbcore: registered new interface driver ums-realtek            

[    7.211478] usbcore: registered new interface driver ums-sddr09              

[    7.218144] usbcore: registered new interface driver ums-sddr55              

[    7.224801] usbcore: registered new interface driver ums-usbat              

[    7.232028] usbcore: registered new interface driver usbserial              

[    7.238613] usbcore: registered new interface driver option                  

[    7.244881] usbserial: USB Serial support registered for GSM modem (1-port)  

[    7.253968] mousedev: PS/2 mouse device common for all mice                  

[    7.260883] usbcore: registered new interface driver xpad                    

[    7.266996] usbcore: registered new interface driver usb_acecad              

[    7.273668] usbcore: registered new interface driver aiptek                  

[    7.279964] usbcore: registered new interface driver gtco                    

[    7.286071] usbcore: registered new interface driver hanwang                

[    7.292448] usbcore: registered new interface driver kbtab                  

[    7.298676] usbcore: registered new interface driver wacom                  

[    7.306840] sunxi-rtc 1f00000.rtc: rtc core: registered sunxi-rtc as rtc0    

[    7.314304] sunxi-rtc 1f00000.rtc: RTC enabled                              

[    7.319889] IR NEC protocol handler initialized                              

[    7.324836] IR RC5(x) protocol handler initialized                          

[    7.330079] IR RC6 protocol handler initialized                              

[    7.335033] IR JVC protocol handler initialized                              

[    7.339978] IR Sony protocol handler initialized                            

[    7.345026] IR RC5 (streamzap) protocol handler initialized                  

[    7.351111] IR SANYO protocol handler initialized                            

[    7.356256] IR MCE Keyboard/mouse protocol handler initialized              

[    7.362625] sunxi cedar version 0.1                                          

[    7.366646] [cedar]: install start!!!                                        

[    7.370751] cedar_ve: cedar-ve the get irq is 90                            

[    7.376452] [cedar]: install end!!!                                          

[    7.392629] sunxi gpu cooling probe start !                                  

[    7.397234] CPU gpu cooling register Success                                

[    7.402310] device-mapper: uevent: version 1.0.3                            

[    7.407858] device-mapper: ioctl: 4.24.0-ioctl (2013-01-15) initialised: dm-m

[    7.417297] Bluetooth: HCI UART driver ver 2.2                              

[    7.422150] Bluetooth: HCI H4 protocol initialized                          

[    7.427392] Bluetooth: HCI Realtek H5 protocol initialized                  

[    7.433655] [BT_LPM] bluesleep_init: BlueSleep Mode Driver Ver 1.2          

[    7.441759] cpuidle: using governor ladder                                  

[    7.446885] cpuidle: using governor menu                                    

[    7.453307] sunxi-mmc 1c0f000.sdmmc: SD/MMC/SDIO Host Controller Driver(v0.51

[    7.466357] sunxi-mmc 1c0f000.sdmmc: regulator prop vmmc,str vcc-sdcv        

[    7.473438] sunxi-mmc 1c0f000.sdmmc: regulator prop vqmmc,str vcc-sdcvq33    

[    7.480858] sunxi-mmc 1c0f000.sdmmc: regulator prop vdmmc,str vcc-sdcvd      

[    7.488113] sunxi-mmc 1c0f000.sdmmc: No vmmc regulator found                

[    7.494324] sunxi-mmc 1c0f000.sdmmc: No vqmmc regulator found                

[    7.500600] sunxi-mmc 1c0f000.sdmmc: No vdmmc regulator found                

[    7.507612] sunxi-mmc 1c0f000.sdmmc: Got CD GPIO #166.                      

[    7.513639] sunxi-mmc 1c0f000.sdmmc: sdc set ios: clk 0Hz bm PP pm UP vdd 21B

[    7.541349] sunxi-mmc 1c0f000.sdmmc: sdc set ios: clk 400000Hz bm PP pm ON vB

[    7.571267] sunxi-mmc 1c0f000.sdmmc: base:0xffffff8000e64000 irq:92          

[    7.572887] sunxi-mmc 1c0f000.sdmmc: sdc set ios: clk 400000Hz bm PP pm ON vB

[    7.575270] sunxi-mmc 1c0f000.sdmmc: sdc set ios: clk 400000Hz bm PP pm ON vB

[    7.580467] sunxi-mmc 1c0f000.sdmmc: sdc set ios: clk 400000Hz bm PP pm ON vB

[    7.580511] sunxi-mmc 1c0f000.sdmmc: sdc set ios: clk 400000Hz bm PP pm ON vB

[    7.582890] sunxi-mmc 1c0f000.sdmmc: sdc set ios: clk 400000Hz bm PP pm ON vB

[    7.636616] leds-gpio leds-gpio: pins are not configured from the driver    

[    7.644740] ledtrig-cpu: registered to indicate activity on CPUs            

[    7.652053] hidraw: raw HID events driver (C) Jiri Kosina                    

[    7.658301] mmc0: host does not support reading read-only switch. assuming w.

[    7.670918] sunxi-mmc 1c0f000.sdmmc: sdc set ios: clk 400000Hz bm PP pm ON vB

[    7.671382] usbcore: registered new interface driver usbhid                  

[    7.671384] usbhid: USB HID core driver                                      

[    7.672344] zram: Created 1 device(s) ...                                    

[    7.697080] sunxi-mmc 1c0f000.sdmmc: sdc set ios: clk 50000000Hz bm PP pm ONB

[    7.709323] sunxi-mmc 1c0f000.sdmmc: sdc set ios: clk 50000000Hz bm PP pm ONB

[    7.709405] ashmem: initialized                                              

[    7.712634] AUDIO :get regulator name failed .                              

[    7.712681] failed to get gpio-spk gpio from dts,spk_gpio:-2                

[    7.735692] mmc0: new high speed SDHC card at address aaaa                  

[    7.742143] sunxi-codec-machine sound.6:  sun50iw2codec  1c22c00.cpudai0-k

[    7.752909] mmcblk0: mmc0:aaaa SL08G 7.40 GiB                                

[    7.758596] sndhdmi sound.7:  sndhdmi  1c22800.daudio mapping ok          

[    7.766356]  mmcblk0: p1 p2                                                  

[    7.771068] sndspdif sound.8:  spdif-hifi  1c21000.spdif-controller mappik

[    7.781679] u32 classifier                                                  

[    7.784640]     Actions configured                                          

[    7.788384] Netfilter messages via NETLINK v0.30.                            

[    7.793641] nf_conntrack version 0.5.0 (3740 buckets, 14960 max)            

[    7.800729] ctnetlink v0.93: registering with nfnetlink.                    

[    7.808892] NF_TPROXY: Transparent proxy support initialized, version 4.1.0  

[    7.816501] NF_TPROXY: Copyright (c) 2006-2007 BalaBit IT Ltd.              

[    7.824261] xt_time: kernel timezone is -0000                                

[    7.829178] ipip: IPv4 over IPv4 tunneling driver                            

[    7.835454] gre: GRE over IPv4 demultiplexor driver                          

[    7.840796] ip_gre: GRE over IPv4 tunneling driver                          

[    7.848811] ip_tables: (C) 2000-2006 Netfilter Core Team                    

[    7.855097] arp_tables: (C) 2002 David S. Miller                            

[    7.860279] TCP: bic registered                                              

[    7.863706] TCP: cubic registered                                            

[    7.867340] TCP: westwood registered                                        

[    7.871241] TCP: htcp registered                                            

[    7.874761] Initializing XFRM netlink socket                                

[    7.879803] NET: Registered protocol family 10                              

[    7.887509] mip6: Mobile IPv6                                                

[    7.890831] ip6_tables: (C) 2000-2006 Netfilter Core Team                    

[    7.897290] sit: IPv6 over IPv4 tunneling driver                            

[    7.903798] NET: Registered protocol family 17                              

[    7.908756] NET: Registered protocol family 15                              

[    7.914173] Bluetooth: RFCOMM TTY layer initialized                          

[    7.919557] Bluetooth: RFCOMM socket layer initialized                      

[    7.925187] Bluetooth: RFCOMM ver 1.11                                      

[    7.929279] Bluetooth: BNEP (Ethernet Emulation) ver 1.3                    

[    7.935088] Bluetooth: BNEP filters: protocol multicast                      

[    7.940819] Bluetooth: BNEP socket layer initialized                        

[    7.946262] Bluetooth: HIDP (Human Interface Emulation) ver 1.2              

[    7.952754] Bluetooth: HIDP socket layer initialized                        

[    7.958898] Registering SWP/SWPB emulation handler                          

[    7.967225] there is no tve dac(0) offset value.                            

[    7.972278] [DISP] boot_disp:0x0                                            

[    7.975959] [DISP] disp_init_tv,line:641:screen 0 dont support TV!          

[    7.983399] usb_serial_number:20080411                                      

[    7.988254] file system registered                                          

[    7.995923] android_usb gadget: Mass Storage Function, version: 2009/09/11  

[    8.003442] android_usb gadget: Number of LUNs=3                            

[    8.008548]  lun0: LUN: removable file: (no medium)                          

[    8.013895]  lun1: LUN: removable file: (no medium)                          

[    8.019222]  lun2: LUN: removable file: (no medium)                          

[    8.025420] android_usb gadget: android_usb ready                            

[    8.030790] sunxi-rtc 1f00000.rtc: setting system clock to 2017-01-01 00:01:)

[    8.048165] ALSA device list:                                                

[    8.051420]   #0: audiocodec                                                

[    8.054582]   #1: sndhdmi                                                    

[    8.057438]   #2: sndspdif                                                  

[    8.060905] Freeing unused kernel memory: 572K (ffffffc000b28000 - ffffffc00)

Loading, please wait...                                                        

starting version 229                                                            

Begin: Loading essential drivers ... done.                                      

Begin: Running /scripts/init-premount ... done.                                

Begin: Mounting root file system ... Begin: Running /scripts/local-top ... done.

Begin: Running /scripts/local-premount ... done.                                

Begin: Will now check root file system ... fsck from util-linux 2.27.1          

[/sbin/fsck.ext4 (1) /dev/mmcblk0p2] fsck.ext4 -y -C0 /dev/mmcblk0p2        

e2fsck 1.42.13 (17-May-2015)                                                    

rootfs: recovering journal                                                      

Superblock last mount time is in the future.                                    

        (by less than a day, probably due to the hardware clock being incorrect)

Setting free inodes count to 437685 (was 437714)                                

Setting free blocks count to 1633110 (was 1633138)                              

rootfs: clean, 34315/472000 files, 275626/1908736 blocks                        

done.                                                                          

[    9.119813] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. )

[    9.138875] EXT4-fs (mmcblk0p2): re-mounted. Opts: data=ordered              

done.                                                                          

Begin: Running /scripts/local-bottom ... done.                                  

Begin: Running /scripts/init-bottom ... done.                                  

[    9.514796] systemd[1]: systemd 229 running in system mode. (+PAM +AUDIT +SE)

[    9.535340] systemd[1]: Detected architecture arm64.                        

                                                                                

Welcome to Ubuntu core 16.04 LTS!                                              

                                                                                

[    9.559310] systemd[1]: Set hostname to .                      

[    9.858420] systemd[1]: Listening on udev Kernel Socket.                    

[  OK  ] Listening on udev Kernel Socket.                                      

[    9.884072] systemd[1]: Started Dispatch Password Requests to Console Direct.

[  OK  ] Started Dispatch Password Requests to Console Directory Watch.        

[    9.913444] systemd[1]: Started Forward Password Requests to Wall Directory .

[  OK  ] Started Forward Password Requests to Wall Directory Watch.            

[    9.942719] systemd[1]: Listening on udev Control Socket.                    

[  OK  ] Listening on udev Control Socket.                                      

[    9.972021] systemd[1]: Reached target Encrypted Volumes.                    

[  OK  ] Reached target Encrypted Volumes.                                      

[   10.002288] systemd[1]: Listening on Journal Socket (/dev/log).              

[  OK  ] Listening on Journal Socket (/dev/log).                                

[   10.031569] systemd[1]: Listening on Journal Socket.                        

[  OK  ] Listening on Journal Socket.                                          

[   10.051988] systemd[1]: Reached target Paths.                                

[  OK  ] Reached target Paths.                                                  

[   10.072395] systemd[1]: Created slice User and Session Slice.                

[  OK  ] Created slice User and Session Slice.                                  

[   10.100148] systemd[1]: Reached target Swap.                                

[  OK  ] Reached target Swap.                                                  

[   10.121591] systemd[1]: Listening on /dev/initctl Compatibility Named Pipe.  

[  OK  ] Listening on /dev/initctl Compatibility Named Pipe.                    

[   10.150525] systemd[1]: Created slice System Slice.                          

[  OK  ] Created slice System Slice.                                            

[   10.179226] systemd[1]: Mounting Debug File System...                        

         Mounting Debug File System...                                          

[   10.207403] systemd[1]: Starting Journal Service...                          

         Starting Journal Service...                                            

[   10.228309] systemd[1]: Reached target Slices.                              

[  OK  ] Reached target Slices.                                                

[   10.267208] systemd[1]: Starting Load Kernel Modules...                      

         Starting Load Kernel Modules...                                        

[   10.300115] systemd[1]: Starting Set console keymap...                      

         Starting Set console keymap...                                        

[   10.328896] systemd[1]: Starting Remount Root and Kernel File Systems...    

         Starting Remount Root and Kernel File Systems...                      

[   10.359156] systemd[1]: Starting Create list of required static device nodes.

         Starting Create list of required st... nodes for the current kernel...

[   10.395675] systemd[1]: Created slice system-serialx2dgetty.slice.          

[  OK  ] Created slice system-serialx2dgetty.slice.                            

[   10.424789] systemd[1]: Reached target Remote File Systems (Pre).            

[  OK  ] Reached target Remote File Systems (Pre).                              

[   10.454371] systemd[1]: Reached target Remote File Systems.                  

[  OK  ] Reached target Remote File Systems.                                    

[   10.498611] systemd[1]: Mounted Debug File System.                          

[  OK  ] Mounted Debug File System.                                            

[   10.523661] systemd[1]: Started Journal Service.                            

[  OK  ] Started Journal Service.                                              

[  OK  ] Started Load Kernel Modules.                                          

[  OK  ] Started Remount Root and Kernel File Systems.                          

[  OK  ] Started Create list of required sta...ce nodes for the current kernel.

[  OK  ] Started Set console keymap.                                            

         Starting Create Static Device Nodes in /dev...                        

         Starting udev Coldplug all Devices...                                  

         Starting Load/Save Random Seed...                                      

         Mounting Configuration File System...                                  

         Mounting FUSE Control File System...                                  

         Starting Apply Kernel Variables...                                    

         Starting Flush Journal to Persistent Storage...                        

[  OK  ] Mounted Configuration File System.                                    

[  OK  ] Mounted FUSE Control File System.                                      

[  OK  ] Started Create Static Device Nodes in /dev.                            

[  OK  ] Started Load/Save Random Seed.                                        

[  OK  ] Started Apply Kernel Variables.                                        

[  OK  ] Reached target Local File Systems (Pre).                              

         Starting udev Kernel Device Manager...                                

[  OK  ] Started Flush Journal to Persistent Storage.                          

[  OK  ] Started udev Kernel Device Manager.                                    

[  OK  ] Started udev Coldplug all Devices.                                    

[  OK  ] Found device /dev/ttyS0.                                              

[   11.534840] node ir_addr_code16 get failed!                                  

[   11.542660] sunxi_ir_startup: cir get supply err                            

[  OK  ] Reached target Sound Card.                                            

[  OK  ] Found device /dev/mmcblk0p1.                                          

[  OK  ] Listening on Load/Save RF Kill Switch Status /dev/rfkill Watch.        

         Mounting /boot...                                                      

[  OK  ] Found device /sys/subsystem/net/devices/eth0.                          

[  OK  ] Mounted /boot.                                                        

[  OK  ] Reached target Local File Systems.                                    

         Starting Raise network interfaces...                                  

         Starting Create Volatile Files and Directories...                      

         Starting Set console font and keymap...                                

[  OK  ] Started ifup for eth0.                                                

[  OK  ] Started Create Volatile Files and Directories.                        

         Starting Update UTMP about System Boot/Shutdown...                    

         Starting Network Time Synchronization...                              

[  OK  ] Started Update UTMP about System Boot/Shutdown.                        

[  OK  ] Started Network Time Synchronization.                                  

[  OK  ] Reached target System Time Synchronized.                              

[  OK  ] Reached target System Initialization.                                  

[  OK  ] Listening on D-Bus System Message Bus Socket.                          

[  OK  ] Reached target Sockets.                                                

[  OK  ] Started Daily Cleanup of Temporary Directories.                        

[  OK  ] Reached target Basic System.                                          

         Starting Login Service...                                              

         Starting dnsmasq - A lightweight DHCP and caching DNS server...        

         Starting Permit User Sessions...                                      

         Starting LSB: Start busybox udhcpd at boot time...                    

         Starting Restore /etc/resolv.conf i...re the ppp link was shut down...

         Starting Save/Restore Sound Card State...                              

         Starting LSB: Set the CPU Frequency Scaling governor to “ondemand”...  

         Starting brcm_patchram_plus...                                        

[  OK  ] Started Daily apt activities.                                          

[  OK  ] Reached target Timers.                                                

[  OK  ] Started D-Bus System Message Bus.                                      

[  OK  ] Started Set console font and keymap.                                  

[  OK  ] Started Permit User Sessions.                                          

[  OK  ] Started Restore /etc/resolv.conf if...fore the ppp link was shut down.

[  OK  ] Started brcm_patchram_plus.                                            

[  OK  ] Started LSB: Start busybox udhcpd at boot time.                        

[  OK  ] Started LSB: Set the CPU Frequency Scaling governor to “ondemand”.    

[  OK  ] Started Raise network interfaces.                                      

[  OK  ] Started Login Service.                                                

[  OK  ] Started dnsmasq - A lightweight DHCP and caching DNS server.          

[  OK  ] Started Save/Restore Sound Card State.                                

[  OK  ] Reached target Host and Network Name Lookups.                          

[  OK  ] Reached target Network.                                                

[  OK  ] Reached target Network is Online.                                      

         Starting LSB: Advanced IEEE 802.11 management daemon...                

         Starting LSB: disk temperature monitoring daemon...                    

         Starting OpenBSD Secure Shell server...                                

         Starting /etc/rc.local Compatibility...                                

         Starting Set console scheme...                                        

[  OK  ] Created slice system-getty.slice.                                      

[  OK  ] Started /etc/rc.local Compatibility.                                  

[  OK  ] Started Set console scheme.                                            

[  OK  ] Started LSB: disk temperature monitoring daemon.                      

[  OK  ] Started Serial Getty on ttyS0.                                        

[    9.164386] rc.local[1455]: QtE-Demo: no process found                      

[  OK  ] Started Getty on tty2.                                                

[  OK  ] Reached target Login Prompts.                                          

[  OK  ] Started OpenBSD Secure Shell server.                                  

[  OK  ] Started LSB: Advanced IEEE 802.11 management daemon.                  

[  OK  ] Reached target Multi-User System.                                      

[  OK  ] Reached target Graphical Interface.                                    

         Starting Update UTMP about System Runlevel Changes...                  

[  OK  ] Started Update UTMP about System Runlevel Changes.                    

                                                                                

Ubuntu 16.04.2 LTS NanoPi-NEO2 ttyS0                                            

                                                                                

NanoPi-NEO2 login: pi (automatic login)                                        

                                                                                

Last login: Thu Mar 23 09:19:32 UTC 2017 on ttyS0                              

_____     _                _ _       _____ _     _____ ____                    

|  ___| __(_) ___ _ __   __| | |_   _| ____| |   | ____/ ___|                  

| |_ | ‘__| |/ _ ‘_ / _` | | | | |  _| | |   |  _|| |                      

|  _|| |  | |  __/ | | | (_| | | |_| | |___| |___| |__| |___                    

|_|  |_|  |_|___|_| |_|__,_|_|__, |_____|_____|_________|                  

                                |___/                                          

                                                                                

Welcome to Ubuntu core 16.04 LTS 3.10.65                                        

System load:   0.16             Up time:       10 sec                          

Memory usage:  7 % of 468Mb     IP:                                            

CPU temp:      48�ʰC                                                            

Usage of /:    13% of 7.2G                                                      

                                                                                

* Documentation: http://wiki.friendlyarm.com/                                  

* Forum: http://www.friendlyarm.com/Forum/                                    

                                                                                

To run a command as administrator (user “root”), use “sudo <command>”.          

See “man sudo_root” for details.                                                

                                                                                

pi@NanoPi-NEO2:~$ </command>

Open Source ARM Compute Library Released with NEON and OpenCL Accelerated Functions for Computer Vision, Machine Learning

$
0
0

GPU compute promises to deliver much better performance compared to CPU compute for application such a computer vision and machine learning, but the problem is that many developers may not have the right skills or time to leverage APIs such as OpenCL. So ARM decided to write their own ARM Compute library and has now released it under an MIT license.

The functions found in the library include:

  • Basic arithmetic, mathematical, and binary operator functions
  • Color manipulation (conversion, channel extraction, and more)
  • Convolution filters (Sobel, Gaussian, and more)
  • Canny Edge, Harris corners, optical flow, and more
  • Pyramids (such as Laplacians)
  • HOG (Histogram of Oriented Gradients)
  • SVM (Support Vector Machines)
  • H/SGEMM (Half and Single precision General Matrix Multiply)
  • Convolutional Neural Networks building blocks (Activation, Convolution, Fully connected, Locally connected, Normalization, Pooling, Soft-max)

The library works on Linux, Android or bare metal on armv7a (32bit) or arm64-v8a (64bit) architecture, and makes use of  NEON, OpenCL, or  NEON + OpenCL. You’ll need an OpenCL capable GPU, so all Mali-4xx GPUs won’t be fully supported, and you need an SoC with Mali-T6xx, T-7xx, T-8xx, or G71 GPU to make use of the library, except for NEON only functions.

In order to showcase their new library, ARM compared its performance to OpenCV library on Huawei Mate 9 smartphone with HiSilicon Kirin 960 processor with an ARM Mali G71MP8  GPU.

ARM Compute Library vs OpenCV, single-threaded, CPU (NEON)

Even with some NEON acceleration in OpenCV, Convolutions and SGEMM functions are around 15 times faster with the ARM Compute library. Note that ARM selected a hardware platform with one of their best GPU, so while it should still be faster on other OpenCL capable ARM GPUs the difference will be lower, but should still be significantly, i.e. several times faster.

ARM Compute Library vs OpenCV, single-threaded, CPU (NEON)

The performance boost in other function is not quite as impressive, but the compute library is still 2x to 4x faster than OpenCV.

While the open source release was just about three weeks ago, the ARM Compute library has already been utilized by several embedded, consumer and mobile silicon vendors and OEMs better it was open sourced, for applications such as 360-degree camera panoramic stitching, computational camera, virtual and augmented reality, segmentation of images, feature detection and extraction, image processing, tracking, stereo and depth calculation, and several machine learning based algorithms.

Tweet GPU compute promises to deliver much better performance compared to CPU compute for application such a computer vision and machine learning, but the problem is that many developers may…

Clarity Android Speaker with Touchscreen Display Supports Both Alexa and Google Assistant (Crowdfunding)

$
0
0

Android speakers with a touchscreen display has been around for a while,  but Clarify speaker adds support for both Amazon Alexa and Google Assistant’s “OK Google”. The 5W stereo speaker also comes with a quad core processor coupled with 16GB storage and 1GB RAM, a 7″ touchscreen display, and a battery.

Clarity specifications:

  • SoC – Unnamed Quad core processor
  • System Memory – You wish you knew
  • Storage – 16GB flash + micro SD slot
  • Display – 7″ touchscreen display with 1280×800 resolution
  • Video Output – HDMI output (added with $250,000 stretch goal)
  • Audio – 2x 5W speaker, built-in microphone, AUX port
  • Connectivity – Dual band WiFi, Bluetooth 4.0
  • Camera – 2MP front-facing camera
  • USB – 1x mini USB port
  • Misc – Control buttons
  • Power Supply
    • 12V/1.5A via power barrel
    • 1.600 mAh / 7.4V LiPo battery good for 6 hours of music playback or 2.5 hours of video playback.
  • Dimensions – 326 x 110 x 160 mm
  • Weight – Around 1 kg

The system will run Android 5.1, although Android 6.0 is also mentioned, and what makes it stand apart from previous similar models, is that the company added support for Alexa and Google Assistant’s “OK Google” to control the device with voice commands like you would on your phone.

Claritry speaker’s project has been running on Indiegogo for about a month, and it has surprisingly been successful having raised $230,000 so far. All “very early bird” rewards are gone, but you could still pledge $149 to get Clarity speaker with a charging cable, a user manual, and one year warranty. Shipping is free to the US, and $15 to the rest of the world with delivery scheduled for June 2017.

Via Liliputing

Tweet Android speakers with a touchscreen display has been around for a while,  but Clarify speaker adds support for both Amazon Alexa and Google Assistant’s “OK Google”. The 5W stereo…


Sen5 Dual Tuner Android Set-top Box Review – Part 1: Unboxing and Teardown

$
0
0

There are only a few companies manufacturing Android TV boxes with tuners with names like VideoStrong and WeTek coming to mind. Shenzhen Sen5 Technology is another one, and the company sent me one of their DVB combo Android TV boxes for review without providing that many details. So let’s have a look at what I received.

Sen5 Android Combo STB Unboxing

The product might be not ready for retail just yet, as I received it in an old carton box.

Once I remove all the bubble wraps, I ended up with the device, an IR remote control, and a 12V/1.5A power supply. Once the product is actually launched I’d expect you’d receive a retail package and a user’s manual too.

Click to Enlarge

The box itself is made of plastic with plenty of randomly arranged (ventilation) holes on the top. The front panel comes with an IR window and a “Standby button”, one of the side includes a “mirco” SD slot, two USB host ports, and the other a Smart Card slot named CA for Conditional Access. The rear panel comes with a coaxial connector where we’ll plug the TV aerial antenna, and a F type connector for the satellite dish, as well as Ethernet, HDMI and the power jack.

Click to Enlarge

The bottom of the case show it can be wall-mounted, and the recovery pinhole is easily accessible. We can also some information aboit product including the model name: SH6B7FA.

Click to Enlarge

Sen5 SH6B7FA TV Box Teardown

After removing the four rubber pads, and loosening four screws, I could remove the top cover to have a closer look at the board.

Click to Enlarge

The processor is covered by an heatsink, so I had to start the box to find out it’s an Amlogic quad core ARM Cortex A53 processor with a Mali-450MP GPU, so probably  Amlogic S905D since we have two demodulators on the board with Availink AVL6211LAX DVB-S2/DVB-S channel receiver IC,  and Availink AVL6762TA DVB-T2/T/C demodulator, which should mean each tuner is independent, and you should be able record live TV on DVB-S2, while watching a channel on DVB-T2.

We have two 4 Gbit Samsung K4B4G1646E-BCMA DDR3 chip (1 GB RAM) on this side of the board, and an 8GB Samsung KLM8G1WEPD-B031 eMMC flash. That’s the lowest Samsung eMMC 5.0 flash available with theorethical 140/8MB/s R/W sequential speed, and 5K/0.6K R/W IOPS. Performance in Android may not always be optimal. Since the box is now only for distributors/resellers, it’s possible some will update to a faster model.

Networking is achieved with Ampak AP6212A module for 802.11 b/g/n WiFi (2.4 GHz only) and Bluetooth 4.0 LE, as well as Realtek RTL8211F transceiver and TNK QT24A03 transformer for Gigabit Ethernet.

The serial console should be accessible via CN7 or CN4 both of which are 4-pin headers. The board name is SMB.150.01 manufactured on February 2017, so it’s pretty new.

Click to Enlarge

It took out the shield on top of the circuitry for the coaxial connector, and it’s using Rafael Micro R836 digital TV tuner for DVB-T/T2/C, ISDB-T/C, DTMB, ATSC, J.83B. I could not easily remove the other shield so I skipped it.

Click to Enlarge

I still removed the board completely from the enclosure, and we can see a thermal pad placed right under the processor connects to a thick metal plate for cooling, There’s also tow more RAM chips bringing the total memory to 2GB, a micro SD slot and the recovery button.

So to summarize, Sen5 SH6B7FA set-top box must be powered by Amlogic S905D processor with 2GB RAM, and 8 GB flash + micro SD slot, supports HDMI 2.0a output, Gigabit Ethernet, 802.11 b/g/n WiFi + Bluetooth 4.0 (likely upgradeable), and comes with three USB ports (but only two exposed by the case, why?), independent DVB-T2/T and DVB-S2/S tuners, and a smart card reader for conditional access/premium content.

I also booted it to check the processor, but I also quickly had a look at the software, and it’s running Android 6.0.1 with Kodi 17 pre-installed, and a separate TV app is used to watch live TV.

Click for Original Size

NesTV launcher looks quite prettier than many of the other launcher I’ve used. But we’ll find out more about the software and how the box performs in the second part of the review which I’ll probably publish sometimes in May.

I don’t have pricing, nor availability information yet, and beside their HKTDC page, the company also has its  own website, but it has not been updated for a while…

Tweet There are only a few companies manufacturing Android TV boxes with tuners with names like VideoStrong and WeTek coming to mind. Shenzhen Sen5 Technology is another one, and the…

FriendlyELEC Introduces $12.99 1-bay NAS Dock Kit for NanoPi NEO Board

$
0
0

NanoPi NEO is a tiny board with Fast Ethernet and USB 2.0 interface, so in theory it could make a nice low-end NAS as long as you don’t need the best performance. As always the problem is that there was no case for it, but FriendlyELEC changes that as they just launched a 1-bay NAS Dock Kit for NanoPi NEO board selling for just $12.99 (promotional price at launch).

The kit comes with the following:

  • 1-bay NAS Dock expansion board with
    • JMicron JM20329 USB to SATA bridge
    • SATA connector for 2.5″ HDD drive
    • Extra USB host port
    • On/off switch, and dual color status LED
    • Header to connect NanoPi NEO board
    • 12V DC power input
    • Dimensions – 151 x 89.7 mm
  • NS-120 aluminum enclosure (154 x 100 x 47.5 mm, 4141 grams)
  • Heatsink set for NanoPI NEO
  • M3 6mm screws, M2.5 6 mm screws
  • Four rubber pads
  • Front and back covers

The company provides an OpenMediaVault image and all instructions on the Wiki. NanoPi NEO 2 board would be much better for such NAS kit, but the low profile Ethernet jack requires a different side cover, and the company also told me the software is not ready, but a NanoPi NEO 2 NAS kit is coming later this month. Talking about performance, FriendELEC gave me a comparison table showing USB to SATA performance for NanoPi NEO (512MB), Raspberry Pi 3 board, and Synology DS916+ NAS.

The USB to SATA speed is actually pretty much as expected considered data is going through a USB 2.0 interface, and somewhat comparable to the values I get doing USB storage tests on Android TV boxes. We can also see the performance on Raspberry Pi 3 is about the same as with NanoPi NEO + NAS Dock, but ovbiously not matching actual NAS with a native SATA interface. Nevertheless, all this does not matter that, as once the 32 MB/s get down to the Fast Ethernet port it has to drop to around 10 MB/s, which is why NanoPi NEO 2 will be a better choice.

Tkaiser of Armbian community also had a look at the hardware and software, and one complain was the lack of UASP support on Jmicron JM20329 chip which would  yield slightly better performance, and the OpenMediaVault image relies on Linux 3.4.39 which lacks many security updates (the latest available version is 3.4.113). If you prefer having a recent Linux kernel, it’s always possible to install Armbian, plus whatever NAS software you’d like to use.

Nevertheless, it’s difficult to beat the price as with $12.99 for the NAS board and enclosure, $9.99 for NanoPi NEO 512MB RAM, and a few extra dollars for shipping you get a complete NAS solution with limited performance, but that should still work as well as current Raspberry Pi NAS solutions on the market. Just add a micro SD card with the operating systems of your choice, and a 2.5″ hard drive or SSD and you’re done.

Tweet NanoPi NEO is a tiny board with Fast Ethernet and USB 2.0 interface, so in theory it could make a nice low-end NAS as long as you don’t need…

Creality CR-10 3D Printer Review – Part 1: Unboxing, Setup, and First Prints

$
0
0

Today we are going to take a first look at the Creality CR-10 3D printer. This is a multipart series with the first part being unboxing and initial setup. I have no experience with 3D printing, and when I found out I would be doing this review I was ecstatic. It took a while to get shipped because of the wild popularity at Gearbest. I believe supply has caught up with demand. While waiting I read as much as I could about 3D printing. and I am glad I did.

Creality CR-10 3D Printer Specifications

  • 300 x 300 x 400mm build volume
  • Nozzle diameter: 0.4mm
  • Memory card offline print: SD card
  • Prints up to 80mm/s (but slower is better)
  • File format: G-code, JPG, OBJ, STL (I have only done g-code)
  • 1.75mm
  • Software – Cura; octoprint compatible

CR-10 3D Printer Unboxing and Setup

Click to Enlarge

Click to Enlarge

Click to Enlarge

I had the CR-10 assembled and printing in about an hour. I had a completed successful cat a couple hours later. There is one file of a cat on the sdcard pre-sliced. It was just a handful of bolts and some electrical connections. I read a couple other reviews and some beds were loose and wobbly. I didn’t have that issue. I did go over and tighten them after a week when I noticed a couple were not making good contact.The printed instructions were not complete but detailed instructions were on the sdcard. I loaded the assembly instructions on my cell phone and worked off of it. All the tools to work on the printer are included including some extra parts. Really the only thing I had to do is level the bed. To do this, I turned on the unit and told the printer to “autohome”. X and Y were good but Z wasn’t. Z was not triggering its limit switch, which I installed. I turned the controller off and adjusted the Z limit switch. Then told it to home again. In the settings, I disabled the stepper motors and took a regular sheet of paper and I leveled the bed. This is done by moving the print head around to the 4 corners and turning the thumb wheels until friction is felt. I went around 4 times to make sure it was level and I felt the same friction at each point.

I don’t have a good place to print that is ventilated. I do want to try abs so a warm ventilated box is necessary, so I built this box and is the final resting place for the CR-10.

Click to Enlarge

Inside the Control Box

It’s neat and orderly inside the control box. Wires seemed adequately sized. I read reviews of some lower cost printers not using proper gauge wire and rated connectors and wires charring. These pictures are after 2 weeks and I didn’t notice any visual indication of issues. There is also a mosfet included which was one of the upgrades on the more intense DIY kits.

Click to Enlarge

Click to Enlarge

Click to Enlarge

Click to Enlarge

First prints on CR-10 3D Printer

The supplied cat already sliced and ready to print was perfect. The next night I loaded I wanted to get my kids involved so I pulled in Thingiverse. Thingiverse is a website where people upload 3D files that you can download for free. I had my kids each pick out something to print. Daughter picked out an owl. Son picked a pirate ship. So one print down I was confident to start slicing my own. Loaded latest Cura from their website, because it was newer than the one supplied on the SD card. Cura has profiles to tweak settings and I found a profile on the Facebook user group page. Loaded it sliced the owl first and started printing. It was looking good so I went to bed. The next morning I woke up to a mess. About a quarter of the way up broke loose, and first failed print. I didn’t think too much about it. Started again and it kept on coming loose. I tried new tape that was provided. No go. During my research I read hair spray works. It didn’t for me. Then I found a purple glue stick from kids stash which I read works. Boom stuck hard. Works the best and every time for me. I only use a very light and sticks very well. I also didn’t want to use hairspray because it is messy. I was afraid it would gum up the printer with over spray. I could take the bed off bet then have to level every time.

After getting sticking issue resolved I went on to print to print everything successfully​ with the supplied filament.

Click to Enlarge

Slicer

When you have a 3D object that you want to print it needs to be sliced. Slicing takes the 3D object and puts it in a file format the printer uses called Gcode. There are many slicers out there. The printer comes with an older version of Cura. I opted for a newer version to get more features. More features is better? There are a ton of tweaks you can change to adjust the print quality as well as dialing in filament. Not all filament is the same. I will go more in depth later.

Facebook Group

Although I wish it was a real forum I have found the CR-10 Facebook group helpful. I really recommend joining and reading through the posts. It helps to see what other people are doing. As of the last couple days, the firmware is starting to be modded to the latest. This is a really good sign. It’s a pretty large group with 1,800 members and overall I found it very helpful. It is kinda hard to tame all the variables in the slicers.

Final Thoughts

I have some red, black, and wood filament I have been printing with for a couple days now. I am sticking with small prints to gain confidence and conserve filament. I have run into some blobs and zits on the filament that I purchased. I will go more in depth when I find out how to overcome this. I will also go deeper into the slicer and settings and troubleshooting once I figure it out. I know it can print well with this white PLA provided. I feel like 3D printing is an art form and need to be able to tame these settings. I have been watching it print trying to become one with the printer.

So far I am really happy with the results. I am calling these prints with the white PLA perfect . The printer is extremely easy to use. Big build volume. Unlike some other kits where it takes 8-9 hours to put together and you have to print some modifications to print good quality prints. This one is pretty much plug and play so far.

I would like to thank GearBest for sending the CR-10 3D printer to review, and if you are interested in the printer you could purchase it from their website for $405.99 plus shipping.

Tweet Today we are going to take a first look at the Creality CR-10 3D printer. This is a multipart series with the first part being unboxing and initial setup….

Shenzhen Xunlong Releases Two Orange Pi Boards with 64-Bit ARM Processor, 2GB RAM

$
0
0

Shenzhen Xunlong has already been selling 64-bit ARM development board with their Orange Pi PC 2 & Orange Pi Zero Plus 2 H5 boards based on Allwinner H5, as well as Orange Pi Win board powered by Allwinner A64 processor. However, so far none of them are equipped with much memory, with the only options being 512MB or 1GB RAM. The company has recently launched  two new boards with 2GB RAM, namely Orange Pi Win Plus featuring Allwinner A64 SoC, and Orange Pi Prime equipped with Allwinner H5 SoC.

Orange Pi Win Plus

That board is just an update to Orange Pi Win board with the only difference I could find being the 2GB RAM:

  • SoC – Allwinner A64 quad core ARM Cortex A53 processor @ 1.2 GHz with Mali-400MP2 GPU
  • System Memory – 2GB DDR3
  • Storage – 2MB SPI flash, micro SD slot up to 64GB, footprint for optional eMMC flash
  • Video Output / Display interface – HDMI 1.4 up to 4K @ 30 Hz with CEC, 3D and HDCP; MIPI LCD interface
  • Audio – HDMI, 3.5 mm headphone jack, built-in microphone
  • Connectivity – Gigabit Ethernet + 802.11 b/g/n WiFi & Bluetooth 4.2 (AP6212)
  • USB – 4x USB 2.0 host ports, 1x micro USB OTG port
  • Camera – MIPI CSI interface up to 5MP camera, up to [email protected] fps video capture
  • Expansion – 40-pin Raspberry Pi somewhat-compatible header
  • Debugging – 3-pin UART header
  • Misc – IR receiver; reset and power buttons; power and status LEDs;
  • Power
    • 5V via power barrel or micro USB port
    • Lithium battery header
    • Power selection jumper (4-pin header)
    • AXP803 PMIC
  • Dimensions – 93 x 60 mm
  • Weight – 48 grams

The company has released Android, Ubuntu 16.04 “Xenial” Server & Desktop, and Debian Jessie Server & Desktop images for the board on the resources page. Windows 10 IoT support is coming later thanks to a partnership between Allwinner and Microsoft. It’s also possible community images will also become available.

Orange Pi Prime

Orange Pi Prime required a new PCB layout, but it still shares many of the features found in Orange Pi PC 2 (changes highlighted in bold):

  • SoC – Allwinner H5 quad core Cortex A53 processor with an ARM Mali-450MP4 GPU
  • System Memory – 2GB DDR3
  • Storage – micro SD card slot up to 64GB, optional 8Mbit SPI NOR flash
  • Video Output – HDMI 1.4 with CEC support, AV port
  • Audio I/O – HDMI, AV port, on-board microphone
  • Connectivity – Gigabit Ethernet, 802.11 b/g/n WiFi + Bluetooth 4.0 with u.FL antenna
  • USB – 3x USB 2.0 host ports, 1x micro USB OTG port
  • Camera – MIPI CSI Interface for up to 5 MP camera sensor
  • Expansions – 40-pin Raspberry Pi compatible header
  • Debugging – 3-pin UART header for serial console
  • Misc – IR receiver; Power & reset buttons; Power and status LEDs
  • Power Supply – 5V/2A via barrel jack or micro USB port
  • Dimensions – 98 x 60 mm (Orange Pi PC 2 was 85 x 55 mm)
  • Weight – 48 grams (38 grams for Orange Pi PC 2)

Click to Enlarge

Xunlong has released four OS images on their resources page: Android, Ubuntu Desktop, Arch Desktop, and Debian Desktop. Since the board is so similar to Orange Pi PC 2, except for the extra memory, wireless module, and reset button!, and Orange Pi PC 2’s Armbian Ubuntu Xenial server & desktop nightly build images with Linux 4.10 are available, I’d expect an Orange Pi Prime build soonish. Note that while Armbian image with mainline Linux may have improved security and potentially better performance, a few things like GPIOs may not be working yet.

Orange Pi Win Plus is sold on Aliexpress for $29.99 shipping, and Orange Pi Prime for the exact same price.

Tweet Shenzhen Xunlong has already been selling 64-bit ARM development board with their Orange Pi PC 2 & Orange Pi Zero Plus 2 H5 boards based on Allwinner H5, as…

New Espressif ESP32 Single and Dual Core Processors in 5x5mm Package, Optional Embedded Flash Coming Soon

$
0
0

Espressif ESP32 was launched last year as a dual core Tensila processor with WiFi and Bluetooth connectivity, relying on external flash for storage, and packaged into a QFN48 6x6mm package. Espressif recently updated ESP32 datasheet, and the guys at ESP32net noticed three new versions of the processor with a QFN48 5x5mm package, one version including 2 MBytes embedded flash, and another version with a single core.

The three new versions of ESP32 all come with the same WiFi 802.11b/g/n ad Bluetooth 4.0 LE connectivity and a QFN 5×5:

  • ESP32-D0WD dual core processor without embedded flash
  • ESP32-D2WD dual core processor with 16 Mbit embedded flash
  • ESP32-S0WD single core processor without embedded flash

ESP32-D0WD different with ESP32-D0WDQ6 is only the smaller package, while ESP32-D2WD brings 2MB embedded flash too possibly lowering the price of current solution with external flash, and ESP32-S0WD might be closer to ESP8266 price thanks to its single core, while still offering Bluetooth Smart support on top of WiFi.

Other interesting – but so far unused – parts of the nomenclature are that future ESP32 version may support 802.11a (AFAIK no that commonly used), as well as 802.11ac for higher WiFi throughput, which would also mean a dual band (2.4 / 5GHz) ESP32 processor (ESP32-D0CD or ESP32-D2CD) might be manufactured in the future.

Thanks to Nanik for the tip.

Tweet Espressif ESP32 was launched last year as a dual core Tensila processor with WiFi and Bluetooth connectivity, relying on external flash for storage, and packaged into a QFN48 6x6mm…

Solar Powered CAREUD U800WF Monitoring System Checks Your Car’s Tires Pressure

$
0
0

Every few months, we inflate (or deflate) our car tires at the gas station to match the pressures for front and rear tires given by the manufacturer. But if you want to make sure the pressures are always at their optimal levels, or close to it CAREUD U800WF pressure monitoring system might be a useful little gadget.

The monitor that you can place on your dashboard comes with the following specifications:

  • Display showing pressure with +/- 1.5 PSI accuracy and temperature with +/- 3 °C accuracy for all four tires; data updated every 3 seconds.
  • Connectivity – 433.92 MHz RF
  • Power Supply
    • Solar Panel
    • 5V via micro USB port
    • 900 mAh Li-ion Battery
  • Temperature Range – Storage: -30 to 85 °C; operating: -20 to 80 °C
  • IP Rating – IP5K4K (The “K” in the ingress protection rating means it complies with ISO 20653:2013 Road Vehicles-Degrees of protection)
  • Dimensions – 76 x 50 x 62 (depth) mm
  • Weight – 72 grams

The monitor is only part of the solution as the kit comes with four sensors to connect to your tires, four anti-theft screws, a sensor wrench, a spanner, a charging cable, as well as a user guide, an installation manual, and a warranty card.

The system will alert you by flashing icon and emitting a beep when the pressure is too high or too low, or when the temperature is too high (> 70 °C). It’s also capable of detecting air leakage, and report is the sensors’ battery level is low.

I first found CAREUD U800WF on GeekBuying where it is sold for $79.99 shipped, but you’ll also find it on eBay and Amazon US. I could not find that exact model on Aliexpress, but if you look for CAREUD, you’ll find other models, including some specifically designed for trucks with 6 wheels.

Tweet Every few months, we inflate (or deflate) our car tires at the gas station to match the pressures for front and rear tires given by the manufacturer. But if…

Alcatel Flash Android Smartphone Comes with 4 Cameras (Dual front, Dual rear Cameras)

$
0
0
Home > Android, Hardware > Alcatel Flash Android Smartphone Comes with 4 Cameras (Dual front, Dual rear Cameras)

Alcatel Flash Android Smartphone Comes with 4 Cameras (Dual front, Dual rear Cameras)

In recent years, we’ve seen smartphones with dual camera systems most of the time placed on the rear side of the phone, but Alcatel Flash smartphone features both  a dual front-facing camera for better selfies, and a dual rear camera, both coming with one color and one monochrome sensors.

Alcatel Flash specifications:

  • SoC – Mediatek Helipo X20 (MT6797) deca-core processor with 2x Cortex-A72 @ 2.3 GHz, 4x Cortex-A53 @ 1.9 GHz, 4x Cortex-A53 @ 1.4 GHz
  • System Memory – 3GB RAM
  • Storage – 32GB flash, micro SD slot up to 128 GB
  • Display – 5.5” IPS display; 1920×1080 resolution; Dragontrail Glass; fingerprint-resistant Oleophobic coating
  • Cellular Connectivity
    • GPRS/EDGE –  850/900/1800/1900 MHz
    • UMTS/HSPA+/DC-HSDPA –  850/900/1900/2100 MHz 34/39 band
    • LTE – FDD: B1/3/5/7/8/20; TDD: 38/39/40/41
    • Dual Nano SIM Dual Standby
  • Wireless Connectivity – Wi-Fi 802.11/b/g/n, Bluetooth 4.1, FM radio, GPS with A-GPS/Glonass/Beidou
  • Cameras
    • Dual rear cameras
      • Dual 13MP Mono+RGB, Sony IMX258
      • 1/3.06 sensor size; 1.12μm pixel size
      • F2.0 (RGB) / F2.0 (Mono) aperture size
      • PDAF 0.15s focus speed; manual focus mode available
      • 6P lens optics with sapphire crystal lens cover
      • Dual color LED flash
      • Video recording: [email protected], [email protected]
    • Dual front-facing cameras
      • 8MP + 5MP
      • 6P Lens optic
      • Dual F2.0; Dual Tone Flash
      • Close Loop With PDAF
  • USB – 1x USB type C OTG port
  • Sensors – Fingerprint sensor, Accelerometer (G sensor), proximity Sensor, Light Sensor, e-Compass, Gyro, Hall Switch, Handsfree, vibrator
  • Misc – Volume and power buttons, fingerprint scanner
  • Battery – Non-removable 3,100 mAh battery good for 5.3hrs to 20hrs (3G) of talk time, 415 to 466 hours (4G) in standby
  • Dimensions – 152.6 x 75.4 x 8.7mm
  • Weight – 155g

The phone runs Android 6.0 Marshmallow. The dual cameras will allow you to create effects between background and foreground parts of the photos.

You’ll find more details on Alcatel Saudi Arabia Flash product page. I could not find any pricing info yet, but it looks like it might be already sold in some shops in the Middle East.

Via Liliputing and Gizchina

Tweet In recent years, we’ve seen smartphones with dual camera systems most of the time placed on the rear side of the phone, but Alcatel Flash smartphone features both  a…


Embedded Systems Conference 2017 Schedule – May 3-4

$
0
0

The Embedded Systems Conference 2017 will take place over two days in Boston, US on May 3-4, and the organizers have published the schedule of the event. Even if you’re not going to attend, you’ll often learn something or find new information by just checking out the talks and abstracts, so I’ve created my own virtual schedule with some of the most interesting sessions.

Wednesday, May 3rd

  • 08:00 – 08:45 – Combining OpenCV and High Level Synthesis to Accelerate your FPGA / SoC EV Application by Adam Taylor, Adiuvo Engineering & Training Ltd

This session will demonstrate how you can combine commonly used Open source frameworks such as OpenCV with High Level Synthesis to generate a embedded vision system using FPGA / SoC. The combination of OpenCV and HLS allows for a much faster algorithm development time and consequently a faster time to market for the end application.

  • 09:00 – 09:45 – Understanding the ARM Processor Roadmap by Bob Boys,   Product Manager, ARM

In 2008, the ARM processor ranged from the 32-bit ARM7 to the Cortex-A9. There were only three Cortex-M processors. Today the roadmap has extended up to the huge 64-bit Cortex-A72, down to the tiny Cortex-M0 and out to include in the winter 2016, the new Trustzone for ARMv8-M.

The ARM roadmap, in order to effectively service many markets, has grown rather complicated. This presentation will explain the ARM roadmap and offer insights into its features. Questions answered include where processors should be used and sometimes where it makes more sense to use a different processor as well as different instruction and core feature sets.

This will start at ARM 7 TDMI and how and why ARM turned into the Cortex family. Each of the three components: Application (Cortex-A), Real-Time (Cortex-R) and Microcontroller (Cortex-M) will be explained in turn.

  • 10:00 – 10:45 – Mixed Signal Analysis: digital, analog and RF by Mike Borsch,  Application Engineer, Rohde & Schwarz

Embedded systems increasingly employ both digital, analog and RF signals. Debugging and analyzing these systems can be challenging in that one needs to measure a number of different signals in one or more domains simultaneously and with tight time synchronization. This session will discuss how a digital oscilloscope can be used to effectively debug these systems, and some of the instrumentation challenges that go along with this.

  • 11:00 – 11:45 – Panel Discussion: The Extinction of the Human Worker? – The Future Role of Collaborative Robots in Smart Manufacturing
  • 12:00 – 12:45 – How Will MedTech Fare in our New Public Policy Environment by Scott Whittaker, President & Chief Executive Officer, Advanced Medical Technology Association (AdvaMed)
  • 13:00 – 13:45 – Embedded Systems Safety & Security: Dangerous Flaws in Safety-Critical Device Design by Michael Barr, Co-founder and CTO, Barr Group

When safety-critical devices come online, it is imperative that the devices are not only safe but also secure. Considering the many security concerns that exist in the IoT landscape, attacks on connected safety-critical devices are to be expected and the results could be deadly. By failing to design security into dangerous devices, too many engineers are placing life and limb at risk. Join us for a look at related industry trends and a discussion of how we can work together to put future embedded systems on a more secure path.

  • 14:00 – 14:45 – Intel EPID: An IoT ID Standard for Device Authentication & Privacy by Jennifer Gilburg, Director IoT Identity, Intel Platform Security Division

Approved as a TCG & ISO direct anonymous attestation method and open sourced by Intel—EPID (Enhanced Privacy ID) is a proven solution that has been shipped in over 2.5 billion processors since 2008. EPID authenticates platform identity through remote attestation using asymmetric cryptography with security operations protected in the processors isolated trusted execution environment. With EPID, a single public key can have multiple private keys (typically millions). Verifiers authenticate the device as an anonymous member of the larger group, which protects the privacy of the user and prevents attack maps that can be created from traditional PKI authentication. Learn how to utilize or embed EPID in a device and discover the wide range of use cases EPID enables for IoT including 0 touch secure onboarding to IoT control platforms.

  • 15:00 – 15:45 – Building A Brain With Raspberry Pi and Zulu Embedded JVM by Simon Ritter, Deputy CTO, Azul Systems

Machine and deep learning are very hot topics in the world of IT at the moment with many projects focusing on analyzing big data to make ‘intelligent’ decisions.

In this session, we’ll use a cluster of Raspberry Pis running Azul’s Zulu embedded JVM to build our very own brain. This will use a variety of programming techniques and open source libraries to emulate a brain in learning and adapting to data that is provided to it to solve problems. Since the Raspberry Pi makes connecting sensors straightforward we’ll include some of these to provide external stimulus to our artificial brain.

We’ll conclude with a demonstration of our brain in action learning and adapting to a variety of input data.

  • 16:00 – 16:45 – Vulnerabilities in IoT: Insecure Design Patterns and Steps to Improving Device Security by M. Carlton, VP of Research, Senrio

This talk will explore vulnerabilities resulting from insecure design patterns in internet-connected embedded devices using real-world examples. In the course of our research, we have observed a pattern of vendors incorporating remote configuration services, neglecting tamper proofing, and rampantly re-using code. We will explore how these design flaws resulted in vulnerabilities in a remote power supply, a web camera, and a router. This talk is intended for a wide audience, as these insecure design patterns exist across industries and market segments. Attendees will get an inside view into how attackers operate and walk away with an understanding of what must be done to improve the security of embedded devices.

Thursday, May 4th

  • 08:00 – 08:45 – Heterogeneous Software Architecture with OpenAMP by Shaun Purvis, Embedded Systems Specialist, Hardent

Single, high-performance embedded processors are often not adequate to meet today’s system-on-chip (SoC) demands for sustained high-performance and efficiency. As a result, chips increasingly feature multiple processor types to deliver flexible compute power, real-time features and energy conservation requirements. These so called heterogeneous multiprocessor devices yield an extremely robust SoC, but also require a more complex software architecture capable of orchestrating multiple dissimilar processors.

This technical session introduces the OpenAMP software framework designed to facilitate asynchronous multiprocessing (AMP) in a vendor agnostic manner. OpenAMP can be leveraged to run different software platforms concurrently, such as Linux and an RTOS, on different processors within the same SoC whether homogeneous (multi-core), or heterogeneous (multi-processor), or a combination of both.

  • 09:00 – 09:45 – How to Build Products Using Open Platform Firmware by Brian Richardson,  Technical Evangelist, Intel Corporation

Open hardware platforms are great reference designs, but they’re often not considered “product ready” due to debug features built into the firmware… but a few firmware changes can turn an open hardware board into a production-quality platform.

This session demonstrates how to optimize firmware for product delivery, using the MinnowBoard Max as a practical example, by disabling debug interfaces and optimizing the platform for an embedded software payload. Examples are also given for enabling signed firmware updates and secure firmware recovery, based on industry standard UEFI firmware.

  • 10:00 – 10:45 – Understanding Modern Flash Memory Systems by Thomas McCormick, Chief Engineer/Technologist, Swissbit

This session presents an in-depth look at the internals of modern flash memory systems. Specific focus is given to technologies that enable current generations of flash memory, both SLC and MLC, using < 30 nm process technologies to provide reliable code and data storage in embedded computer applications.

  • 11:00 – 11:45 – Implementing Secure Software Systems on ARMv8-M Microcontrollers by Chris Shore,  Director, Technical Marketing, ARM

Microcontrollers incorporating ARM TrustZone technology for ARMv8-M are here!. Now, software engineers developing on ARM Cortex-M processors have access to a level of hardware security which has not been available before. These features that a clear separation between secure and non-secure code, secure and non-secure data.

This presentation shows how software developers can write secure code which takes advantage of new hardware features in the architecture, drastically reducing the attack surface. Writing software carefully builds on those hardware features, avoiding bugs and/or holes which could compromise the system.

  • 12:00 – 12:30 – Keynote: State of the Medical Device Industry by Frost & Sullivan
  • 13:00 – 13:45 – Enabling the Next Era of Human Space Exploration by Jason Crusan, Director of the Advanced Exploration Systems Division within the Human Exploration and Operations Mission Directorate, NASA

Humankind is making plans to extend its reach further into the solar system than ever before. As human spaceflight moves beyond low Earth orbit NASA’s Advanced Exploration Systems is developing innovative tools to driving these new efforts and address the challenges that arise. Innovative technologies, simulations and software platforms related to crew and robotic autonomous operations, logistics management, vehicle systems automation, and life support systems management are being developed. This talk will outline the pioneering approaches that AES is using to develop prototype systems, advance key capabilities, and validate operational concepts for future human missions beyond Earth orbit.

  • 14:00 – 14:45 – Common Mistakes by Embedded System Designers: What They Are and How to Fix Them by Craig Hillman, CEO, DfR Solutions

Embedded system design is a multilevel engineering exercise. It requires synergy between software, electrical and mechanical engineers with the goal to create a system that meets customer requirements while remaining within budget and on time.

The propagation of embedded systems has been extremely successful. Many appliances today contain embedded systems. As an example, many fuel pumps contain single board computers whose sole purpose is credit transactions. Some companies doing positive train control (PTC) use ARM/RISC and ATOM based computer modules. And embedded systems are currently dominating the Internet of Things (IoT) space (ex. mobile gateways).

However, all of this success can tend to mask the challenges of designing a successful embedded system. These challenges are expected to increase dramatically with the integration of embedded systems into IoT applications, where environments can be much more severe than standard home / office installations.

This course presents the fundamentals of designing a reliable embedded device and the most common pitfalls encountered by the system designer.

  • 15:00 – 15:45 – Porting to 64-bit on ARM by Chris Shore, Director, Technical Marketing, ARM

The ARMv8-A architecture introduces 64-bit capability to the most widely used embedded architecture in the world today. Products built to this architecture are now mainstream and widely available. While they are capable of running legacy 32-bit software without recompilation, clearly developers will want to make maximum use of the increased and expanded capability offered by these processors.

This presentation examines the steps necessary in porting current 32-bit ARM software to the new 64-bit execution state. I will cover C porting, assembly language porting and implementation of hand-coded SIMD routines.


If you want to attend ESC ’17, you’ll need to register. The EXPO pass is free if you book in advance, and gives you access to the design and manufacturing suppliers booths, but won’t allow you to attend most of the talks (except sponsored ones), while the conference pass gives you access to all sessions including workshops and tutorials, as well as complimentary lunch vouchers.

CONFERENCE PASS EXPO PASS
SUPER EARLY BIRD
(Ends March 31st, 2017)
$949 FREE
STANDARD
(Ends May 2nd, 2017)
$1,149 FREE
REGULAR/ONSITE $1,299 $75

Tweet The Embedded Systems Conference 2017 will take place over two days in Boston, US on May 3-4, and the organizers have published the schedule of the event. Even if…

Microsoft is Working with Mediatek on Project Sopris Secure WiFi MCU

$
0
0

There are serious security issues with the Internet of Things at all levels: hardware, software, network, and end-users. Microsoft Research NExT Operating Systems Technologies Group has been tasked with “exploring the goal of securing the vast number of low cost Internet connected devices coming online” with Project Sopris. They have shared their first technical report that identifies “seven properties of highly secure devices”, and describes their experiments towards designing microcontroller based prototype devices adapted from Mediatek MT7687 MIPS microcontroller, and exhibiting those seven properties.

Experimental Sopris Developer Board

The seven properties identifies by Microsoft team include:

  • Hardware-based Root of Trust – Unforgeable cryptographic keys generated and protected by hardware. Physical countermeasures resist side-channel attacks.
  • Small Trusted Computing Base – Private keys stored in a hardware-protected vault, inaccessible to software. Division of software into self-protecting layers.
  • Defense in Depth – Multiple mitigations applied against each threat. Countermeasures mitigate the consequences of a successful attack on any one vector.
  • Compartmentalization – Hardware-enforced barriers between software components prevent a breach in one from propagating to others.
  • Certificate-based Authentication – Signed certificate, proven by unforgeable cryptographic key, proves the device identity and authenticity.
  • Renewable Security – Renewal brings the device forward to a secure state and revokes compromised assets for known vulnerabilities or security breaches.
  • Failure Reporting – A software failure, such as a buffer overrun induced by an attacker probing security, is reported to cloud-based failure analysis system.

After noticing that most traditional MCUs lacks all of those 7 properties,  they decided to modify Mediatek MT7687 whose block diagram is shown below…

… and replaced the crypto engines and hardware RNG with what Microsoft calls “Pluton security subsystem”, added a memory management unit (MMU) to the CPU, as well as more on-die SRAM. One this was done, they integrated in the prototype picture in the picture at the top of this post.

Sopris WiFI MCU Block Diagram

So now we have a highly secure WiFi-enabled MCU. Since we are talking about security and WiFi, as a quick side node, it’s now possible to exploit Broadcom WiFi SoC security weaknesses to access the host operating systems in Android devices. This won’t affect Sopris MCU however.

Sopris development board is said to support the seven properties:

  • Hardware-based root of trust – device secrets are protected in the Pluton security subsystem.
  • Small trusted computing base – for most operations, the TCB for Sopris is isolated to the Pluton security subsystem.
  • Defense in depth – between the upgraded CPU and the Pluton security system up to seven layers of defense are supported in Sopris.
  • Compartmentalization – for example, separate compartments can be implemented using isolated address spaces enabled by the upgraded CPU.
  • Certificate-based authentication –  for example, private keys stored in the Pluton security subsystem can form the basis of a secure per-device certificate chain.
  • Renewable security – for example, a software stack running on Sopris can use the multiple layers of hardware-protected defense in depth to implement renewable
    security.
  • Failure reporting – for example, failure handling code that runs on the Sopris can collect data about failures and relay that information to a failure analysis service through Wi-Fi.

Going forward, Microsoft researchers plans to package Sopris into a simple device board design with software that can be shared with researchers and security experts across academia and industry.

Via EENews Europe

Tweet There are serious security issues with the Internet of Things at all levels: hardware, software, network, and end-users. Microsoft Research NExT Operating Systems Technologies Group has been tasked with…

Canonical Refocuses Ubuntu Development Efforts on Cloud and IoT, Drops Convergence and Mobile

$
0
0

Mark Shuttleworth has published a new blog post in Ubuntu Insights, and this is not all good news, as the title “Growing Ubuntu for Cloud and IoT, rather than Phone and convergence” implies. Canonical has decided to drop Unity8, and replace it with Gnome in Ubuntu 18.04, and by extension stop any investment in Ubuntu phone and convergence.

The main reasons given for the drop were that few commercial partners were interested in the project, preferring to stick with the most popular mobile operating systems like Android, and the community did not see the work as innovation, but instead fragmentation, probably referring to the Mir vs Wayland saga.

On the better news, Canonical is still committed to work on Ubuntu desktop, and will focus on the Cloud and IoT applications such as automotive, robotics, networking, and machine learning, for which the company has gone well so far with multiple commercial partners.

The video below shows the work done so far on Unity8. Sadly it will never be used in a meaningful way.

[embedded content]

Tweet Mark Shuttleworth has published a new blog post in Ubuntu Insights, and this is not all good news, as the title “Growing Ubuntu for Cloud and IoT, rather than…

Xiaomi Mi Pad 3 Tablet Launched with Mediatek MT8176 Hexa-Core Processor, 7.9″ Display

$
0
0

Xiaomi Mi Pad 2 was powered by an Intel Cherry Trail, but the Chinese company has decided to go back to ARM for the third iteration of their MiPad tablet as they used Mediatek MT8719 hexa-core Cortex A72/A52 processor with 4GB RAM, 64GB flash, and the same 7.9″ display with 2048 x 1536 resolution.

Xiaomi Mi Pad 3 specifications:

  • SoC – Mediatek MT8176 hexa-core processor with 2x ARM Cortex A72 cores @ 2.1 GHz, 4x ARM Cortex A53 cores @ 1.7 GHz, and Imagination PowerVR GX6250 GPU
  • System Memory – 4GB LPDDR3
  • Storage – 64GB eMMC flash, no micro SD slot
  • Display – 7.9″ capacitive touch screen IPS LCD display with 2048 x 1536 resolution
  • Audio – 3.5mm headphone jack,
  • Connectivity – Dual band 802.11 b/g/n/ac WiFi, Bluetooth 4.2 LE
  • Camera – 5MP front-facing camera, 13 MP rear camera with auto-focus, dual LED flash
  • USB – 1x USB type C port
  • Battery – Non-removable 6,600 mAh LiPo battery good for 12 hours of typical use
  • Power Supply – 5V/2A
  • Dimensions – 200.0 x 132.6 x 6.95 mm
  • Weight – 328 grams

The new MiPad will run MIUI 8 based on Android (not sure Marshmallow or Nougat). Beside the new processor, Mi Pad 3 is quite similar to Mi Pad 2, but other changes include a bump from Bluetooth 4.1 to Bluetooth 4.2, and a larger battery (6,600 vs 6,190 mAh). Weight is about the same at 328 grams against 322 grams.

Price in China starts at ¥1499 (~$218), but GeekBuying has already started taking pre-orders for $299.99, and expects to ship in about a month. More details may be available on the product page (in Chinese only).

Tweet Xiaomi Mi Pad 2 was powered by an Intel Cherry Trail, but the Chinese company has decided to go back to ARM for the third iteration of their MiPad…

That USB Stick Looks Suspicious! Camera, Microphone and Battery Included.

$
0
0
Home > Hardware > That USB Stick Looks Suspicious! Camera, Microphone and Battery Included.

That USB Stick Looks Suspicious! Camera, Microphone and Battery Included.

I had previously read about USB flash drives dropped on the parking with some malware, so that if you pick it up and use it it infects your computer in order to spy on your activity. But I browser new arrivals on DealExtreme, I found another nefarious use case thanks to U8 Mini USB drive / spy camera sold for around $10 shipped. If we look the picture below, it looks just like any other USB flash drives.But once we have a closer look at U8 mini specifications:

  • USB – 1x USB 2.0 male port
  • Storage – micro SD slot up to 32GB (no internal storage)
  • Camera
    • Video up to 720 x 480 @ 25~30fps recording to AVI/M-JPEG
    • Photo up to 1280×1024 in JPG format
  • Audio recording with built-in microphone
  • Misc – Motion detection camera button, power button, picture button, status LED
  • Battery – 300 mAh good for about 60 minutes of… spying.

It’s clear what the purpose is.

It may have just landed in a new arrivals feed, and I had never heard about such device, but it’s been around for at least 5 years, as several people reviewed it in 2012.
[embedded content]
The photo and video quality is poor, and motion detection is not working well (at least in the 2012 model), but apart from that it does the job.

Tweet I had previously read about USB flash drives dropped on the parking with some malware, so that if you pick it up and use it it infects your computer…

Viewing all 2336 articles
Browse latest View live