Archive

Posts Tagged ‘sinovoip’

Banana Pi BPI-R2’s U-boot & Linux 4.4 Source Code & MediaTek MT7623N Datasheet Released

June 28th, 2017 39 comments

Banana Pi BPI-R2 is a multimedia router board powered by MediaTek MT7623N quad core processor with 2GB RAM, 5 Gigabit Ethernet ports, up to two SATA ports, two USB 3.0 ports, HDMI output, and I/O headers. The board is not for sale yet, but the company has recently released the source code with U-boot and Linux 4.4.70, as well as a datasheet for MediaTek MT7623N processor.

The source code can be found on Github, so let’s see if we can build it:

After a couple of minutes, the build would end with:

For the very last step, it asks you to login as root / sudoer, which it should not do… But we end up with the images, so at least it builds:

MediaTek has also been active by committing patchsets for MT7623 to the Linux Kernel Mailing List, so mainline Linux is an eventual possibility for BPI-R2 board. We just don’t have a clear view of what works and what doesn’t with mainline.

Mediatek MT7623N PCIe Subsystem Block Diagram

The datasheet is a 1,235-page document, but the name “MT7623N Datasheet for Development Board” implies that it may actually be a subset of another larger and more complete datasheet. Nevertheless, it looks to have enough information to control peripherals like GPIOs, I2C, PWM, UART, timers, GMAC, USB, etc… You’ll also find BPI-R2 schematics (PDF only) in the board’s Wiki.

Banana Pi BPI-M2 Berry Allwinner V40 Development Board, Allwinner Business Units & SDK/Software Management

May 29th, 2017 52 comments

SinoVoIP has unveiled yet another new board with Banana Pi BPI-M2 Berry this week-end. It’s actually quite similar to Banana Pi BPI-M2 Ultra board, by they replaced Allwinner R40 with Allwinner V40 processor, removed some features, and use Raspberry Pi 3 form factor. If we look at Allwinner V40 product brief we can see the specifications look almost identical, with V40 potentially exposing an extra CAN bus. The company’s announcement was very confusing since they show Banana Pi BPI-M2 Berry board with Allwinner R40 instead of Allwinner V40.

Banana Pi BPI-M2 Berry specifications:

  • SoC – Allwinner V40 quad Core ARM Cortex A7 processor with ARM Mali-400MP2 GPU
  • System Memory – 1G DDR3 SDRAM
  • Storage – micro SD slot, SATA interface
  • Connectivity – 1x Gigabit Ethernet port, 802.11 b/g/n WiFi and Bluetooth 4.0 (AP6212 module)
  • Video Output – HDMI 1.4 port up to 1080p60, 4-lane MIPI DSI display connector
  • Audio I/O – HDMI, 3.5mm headphone jack, built-in microphone
  • USB – 4x USB 2.0 host ports, 1x micro USB OTG port
  • Camera – CSI camera connector
  • Expansion – 40-pin Raspberry Pi compatible header with GPIOs, I2C, SPI, UART, ID EEPROM, 5V, 3.3V, GND signals.
  • Debugging – 3-pin UART for serial console
  • Misc – Reset, power, and u-boot buttons
  • Power Supply – 5V via micro USB port; AXP221s PMIC
  • Dimensions – 85mm x 56mm

The Wiki is also shared for BPI-M 2 Ultra/Berry boards. The company also showed a picture of BPI-M2 Ultra with Allwinner V40 confirming both processors are  pin-to-pin-compatible.

BPI-M2 Ultra Board with Allwinner V40 Processor

So why bother doing different processors since they are so similar? Last time, we were told Allwinner A64 and R18 had different SDKs, so it should be the same for R40 and V40. Allwinner has different family of processors dedicated to different market segments: A-series are application processors, H-series are for home entertainment, R-series for the IoT, and V-Series for video camera applications. In some ways, it makes sense to have different business units that specialize in specific market segments. If you customer wants to make an action camera redirect him to the V-series guys, a TV box that’s for H-series, and so on.

There’s been a long-ish discussion about Allwinner business units on CNX Software. What has apparently been happening is that some processors can be used across market segments, so they have duplicates (or close to it) with for example Allwinner A64/R18 that’s just the same chip but assigned to a different business unit. Each business unit work and release their own SDK, and based on different Linux and Android version for different SDK, there does not seem common work across business units, and they appear to have separate software teams.  The processors are differentiated by “CHIP ID”, and by default you can’t run firmware generated by R18 SDK on A64, and vice-versa, since the bootloader will detect the ID and prevent the software to run.  That also looks like a bad idea, since for example a software bug fixed on Allwinner R18 SDK, may go unnoticed on Allwinner A64 for years etc… So ideally all business units should get their software from a single team taking care of low level software (bootloader/kernel/drivers), middleware (Android/rootfs), while software developers’ part of a given business unit may work on the market specific software.

Jon had more insights on this business organization:

The R group is releasing a different SDK for the R18. They are not using the A64 one. That strongly suggests to me two sets of software people. A single software group would have simply added the R18 extras into the A64 SDK.

You want a centralized Linux and Android group. Then inside that group you develop specialists. For example the DMA person, the UART person, the Ethernet person, etc. That person is responsible for driver support over all of the CPUs Allwinner makes. They become experts on this piece of the SOC. The output of this group is a single SDK that supports all Allwinner processors. Like what mainline Linux is doing for Allwinner SOC currently. Not the single CPU kernels that AW keeps releasing.

Then you can give this central software group two instructions:
1) Add a new SOC to the existing base. Each specialist will extend their existing driver to add support for the new SOC. Not cut and paste then edit to make a new driver! That happens with separate groups.
2) Add support for a new kernel or Android release. Everyone in the group works together to bring all of the SOC support up to this new release. This is not that hard now since each expert in their niche will know exactly what the issues are.

The central group allows these vertical specialists to exist. Having the chip groups do it results in a lot of copy/paste/edit (which we see in spades) and many bugs because the work is having to be done by generalist assigned to the group. When the programmers belong to the hardware groups Allwinner is creating “port and forget” specialists.

and also mentioned it’s been tried before, and failed:

This awful management style was practiced by most of the US semiconductor industry in the 1990’s. Most have discovered that it was a really bad way to do things and have reorganized.

This management style occurs when chip people end up in top management at these SOC companies. They treat everything like a chip and software is definitely not a chip. But these “chip heads” don’t know much about software so they can’t see how bad this organization design is for long term support. You can’t blame the “chip heads” for acting this way, it is the only area they have worked in. What they are doing is the correct model for making chips.

Now I don’t have detailed internal org charts for Allwinner. But I used to work for US companies that had this exact management structure before realizing how messed up it was. Only after a couple of very expensive failed launches of new chips because the software supporting them didn’t work did management change.

Another not-directly related complain is that Allwinner will also release the source code as tarballs, and they don’t have a git (or other revision control system) repository accessible to customers, for example like Amlogic or Rockchip already do. Instead they release those large tarballs, and then linux-sunxi community may import the u-boot/Linux kernel part to github, and work on them, although those days, they may prefer to focus on mainline rather than on Allwinner SDK releases.

Banana Pi BPI-M64 Board Gets Allwinner R18 Processor with Google Cloud IoT Core Support

May 18th, 2017 30 comments

Banana Pi BPI-M64 board was launched with Allwinner A64 processor, but a few days ago, I noticed the board got an option for Allwinner R18. Both processors are likely very similar since they are pin-to-pin compatible, and Pine64 was first seen with Allwinner R18, so I did not really feel it was newsworthy. But today, Google announced Google Cloud IoT Core cloud service working with a few app partners such as Helium and Losant, as well as several device partners including ARM, Marvell, Microchip, Mongoose OS, NXP… and Allwinner, having just announced the release of an Allwinner R18 SDK with libraries supporting Google Cloud IoT Core.

Let’s go through the board specifications first which are exactly the same as for the original BPI-M64 board, except for the processor:

  • SoC – Allwinner R18 quad core ARM Cortex A53 processor with Mali-400MP2 GPU
  • System Memory – 2GB DDR3
  • Storage – 8GB eMMC flash (16, 32 and 64GB options), micro SD slot up to 256 GB
  • Video Output / Display interface – HDMI 1.4 up to 4K resolution @ 30 Hz, MIPI DSI interface
  • Audio – HDMI, 3.5 mm headphone jack, built-in microphone
  • Connectivity – Gigabit Ethernet + 802.11 b/g/n WiFi & Bluetooth 4.0 (AP6212)
  • USB – 2x USB 2.0 host ports, 1x micro USB OTG port
  • Camera – MIPI CSI interface (which I guess you support parallel cameras via some kind of bridge)
  • Security – Hardware security enables ARM TrustZone, Digital Rights Management (DRM), information encryption/decryption, secure boot, secure JTAG and secure efuse
  • Expansion – 40-pin Raspberry Pi 2 somewhat-compatible header
  • Debugging – 3-pin UART header
  • Misc – IR receiver; U-boot, reset and power buttons;
  • Power – 5V via power barrel; 3.7V Lithium battery header; AXP803 PMIC

So from hardware perspective, there’s no advantage of getting the board with the new R18 processor. But the SDKs are somehow different, and based on Allwinner’s press release, only R18 processor gets Google Cloud IoT Core support.

Cloud IoT Core Overview

Some of the key benefits of Cloud IoT Core include:

  • End-to-end security – Enable end-to-end security using certificate-based authentication and TLS; devices running Android Things or ones supporting the Cloud IoT Core security requirements can deliver full stack security.
  • Out-of-box data Insights – Use downstream analytic systems by integrating with Google Big Data Analytics and ML services.
  • Serverless infrastructure: Scale instantly without limits using horizontal scaling on Google’s serverless platform.
  • Role-level data control – Apply IAM roles to devices to control access to devices and data.
  • Automatic device deployment – Use REST APIs to automatically manage the registration, deployment and operation of devices at scale.

Both Foxconn/SinoVoIP and Pine64 can offer Allwinner R18 platforms compatible with Google Cloud IoT Core via their Banana Pi BPI-M64 and Pine A64+ boards respectively.

SinoVoIP Releases $35 Banana Pi BPI-M2+ Board with Allwinner H2+ Processor

May 4th, 2017 10 comments

Banana Pi BPI M2+ board was first released with Allwinner H3 processor, but the same PCB can also be used with Allwinner H2+ and H5 processors since the processors are pin-to-pin compatible, and SinoVoIP intends to release three version of the board, and just launched BPI M2+ (aka BPI H2+) with Allwinner H2+ processor for $34.50 + shipping, $1.5 cheaper than the H3 version also listed on Aliexpress. If you shop around, and don’t order on the official SinoVoIP store, you may find cheaper price for the boards. As expected, the specifications have not changed apart from the processor:

  • SoC – Allwinner H2+ quad core Cortex A7 @ 1.2 GHz with an ARM Mali-400MP2 GPU up to 600 MHz
  • System Memory – 1GB DDR3
  • Storage – 8GB eMMC flash, micro SD card slot up to 64GB,
  • Video & Audio Output – HDMI with CEC support
  • Connectivity – Gigabit Ethernet, 802.11 b/g/n WiFi + Bluetooth 4.0 (AP6212)
  • USB – 2x USB 2.0 host ports, 1x micro USB OTG port
  • Camera – CSI Interface for 8-bit YUV42 CMOS sensor up to 1080p30
  • Expansions – 40-pin Raspberry Pi compatible header
  • Debugging – 3-pin UART header for serial console
  • Misc – Power, recovery, and u-boot buttons; Power and status LEDs, IR receiver
  • Power Supply – 5V/2A via power barrel (micro USB OTG port does not support power input)
  • Dimensions – 65mm × 65mm
  • Weight – 48 grams

The processors are not that different either, with Allwinner H3 supporting 4K video decoding and output up to 30 Hz, while H2+ is limited to 1080p60. The rest of the features look exactly the same. The company’s BPI M2+ page is all about the H3 version but most parts should be identical for the new boards. Supported operating systems include Android 4.4, Ubuntu 16.04 (Mate), Kano, Raspbian, Debian 8 and more according to the Download page, but none of them are likely to be working perfectly, and I’m not 100% sure they are working on the new H2+ board since they were all released last year, except Android 4.4 (Jan 2017). It might just be a case of updating the Device Tree (DTB) file however. [Update: I forgot the images are based on an ancient Linux 3.4 kernel, so not device tree here].

You may also wonder why Orange Pi Zero board with the same H2 processor sells for $7, while that new board goes for about $35… One of the reasons is that Banana Pi boards are  generally more expensive, but the price gap is mostly due to vastly different hardware specifications: 256 to 512MB DDR3, no eMMC flash, no HDMI output, Fast Ethernet, no camera support, smaller board, etc…

Banana Pi BPI-M2 Magic is an Allwinner R16 Development Board with LCD and Camera Interfaces

February 22nd, 2017 5 comments

Allwinner R16 is a quad core Cortex A7 processor found in Nintendo NES Classic Mini game console, but so far there was no development board based on the processor apart from Allwinner Parrot board that does not appear to be for sale. But Banana Pi has designed their own R16 development board, and released some information about BPI-M2 Magic board.

Banana Pi BPI-M2 Magic specifications:

  • SoC – Allwinner R16 quad core ARM Cortex-A7 processor with ARM Mali 400 MP2 GPU
  • System Memory – 512MB DDR3
  • Storage – 8 GB eMMC flash (option: 16, 32 or 64GB) + micro SD slot
  • Display Interface – 4-lane MIPI DSI connector
  • Camera Interface – CSI connector supporting up to 5MP sensor, 1080p30 H.265 video capture
  • Video Decoder – Multi-format FHD video decoding, including Mpeg1/2, Mpeg4, H.263, H.264, etc H.264 high profile [email protected]
  • Audio – On-board microphone
  • Connectivity – Wifi 802.11 b/g/n, Bluetooth 4.0 LE (AP6212)
  • USB – 1x USB 2.0 host, 1x micro USB 2.0 OTG port
  • Expansion – 40-pin header with GPIOs, UART, I2C, SPI, PWM…
  • Misc – Reset & power buttons, RGB LEDs,
  • Power Supply
    • 5V @ 2A via DC power barrel
    • 3.7V Lithium battery support
  • Dimensions – 51 x 51 mm
  • Weight – 40 grams

Allwinner R16 is apparently pin-to-pin compatible with Allwinner A33, as the company also offers the board with the latter. Note that there’s no HDMI port, so it will only be useful for headless application, or if you connect it to an LCD display via the MIPI DSI interface. The board will run Tina IoT Linux, a lightweight Linux distributions optimized for Allwinner R-Series processor.

Serial Console Output for BPI-M2 Magic Board running Tina IoT Linux

You’ll find some extra info on the Wiki, but as of writing, most pages are currently blank or links not setup. SinoVoIP has not announced pricing and availability yet either.

Banana Pi BPI-R2 Router Board Powered by Mediatek MT7623A Quad Core Processor Comes with 5 GbE Ports, SATA, and More

January 3rd, 2017 41 comments

Banana Pi BPI-R1 board was launched in 2014 with 5 Gigabit Ethernet ports, SATA interfaces, and powered by Allwinner A20 board. SinoVoip his now about to launch an updated version – Banana Pi BPI-R2 – powered by Mediatek MT7623A quad core Cortex A7 processor with 2GB RAM, 8GB flash, 5 Gigabit Ethernet ports, up to 2 SATA connectors, mPCIe, USB 3.0, and more.

mediatek-mt7623n-boardBPI-R2 board specifications:

  • SoC – MediaTek MT7623A quad-code ARM Cortex-A7 processor @ up to 1.3 GHz with Mali 450 MP4 GPU
  • System Memory – 2GB DDR3 SDRAM
  • Storage – 8GB eMMC flash (option 16/32/64GB), up to 2x SATA interfaces, micro SD slot up to 256GB expansion
  • Video Output / Display  I/F – HDMI 1.4 up to 1920×1200, MIPI DSI connector
  • Connectivity – 5x 10/100/1000 Mb Ethernet port (via MT7530), Bluetooth 4.1 & dual band 802.11b/g/n WiFi (MT6625L module)
  • USB – 2x USB 3.0 ports, 1x micro USB 2.0 OTG port
  • Expansion – Mini PCIE interface, 40-pin “somewhat Raspberry Pi 3 compatible” GPIO header with UART, I2C, SPI, PWM, I2S…
  • Misc – Power, reset, uboot, and 2x user buttons; LEDs; IR receiver; 5V fan header; debug UART pins
  • Power Supply – 12/2A via power barrel; 6-pin miniJST header for battery + built-in 3.7V Lithium battery charging circuit
  • Dimensions – 148 x 100.5 mm

The company claims the board can run Android 5.1, OpenWrt, Debian, Ubuntu Linux, Raspbian and others operating systems. Some (limited) hardware information is available on the Wiki, but there’s nothing about software right now, apart from a few placeholder links.

banana-pi-bpi-r2-router-boardThere’s no info about availability nor pricing, except the hardware is ready, but the company has been working for the last month or so on operating systems and drivers. It’s not the first board to feature a Mediatek MT762x processor, but previous attempts like FireWrt, MQmaker WiTi board, and Geek Force did not end up being a commercial success. One of the reasons, at least for FireWrt, was the high cost of Mediatek processors in low quantities, but since SinoVoip has a close relationship with Foxconn, they may be able to leverage their purchasing power as the chip should be used in other hardware platforms manufactured by Foxconn.

[Update: Banana Pi BPI-R2 is now sold on Aliexpress for $89.50 + shipping]

Quectel SC20 Smart LTE Modules with WiFi, BLE and GPS Run Android 5.1

December 15th, 2016 1 comment

Google may just have released Android Things operating systems for IoT applications, but its big brother – Android – has already gotten into some other IoT systems such as Quectel SC20 module powered by a Qualcomm processor and supporting LTE, WiFi, Bluetooth LE, and GNSS functions.

quectel-sc20Quectel SC20 comes in different flavors to cater for various markets, but all module share most of the same specifications:

  • SoC – Unnamed Qualcomm processor
  • System Memory – TBD
  • Storage – 8GB flash
  • Cellular Connectivity – FDD LTE, TDD LTE, TD-SCDMA, EVDO/DCMA, WCDMA, and GSM; antenna: MIMO 2×2, supports Rx-diversity
  • Other Wireless Connectivity
    • WiFi – 2.4GHz 802.11b/g/n (SC20-CE/-W); Dual band 802.11a/b/g/n/ac (SC20-E/-A/-AU/-J)
    • Bluetooth 2.1+EDR/3.0/4.1 LE
    • GNSS – GPS, GLONASS, and BeiDou
  • Interfaces
    • LCD – 4x lanes MIPI-DSI, 1.5Gbps each, HD (720p) @ 60fps
    • Camera – MIPI-CSI, up to 1.5Gbps per lane, supports two cameras
      • 2-lane MIPI_CSI for rear camera, up to 8MP
      • 1-lane MIPI_CSI for front camera, up to 2MP
    • Touch Panel Capacitive-screen
    • USB 2.0 Device High Speed, 480Mbps
    • 2x USIM 1.8V/3V
    • 25x GPIO, 3x I2C, 2x high-speed UARTs
    • SDIO – 1x SDIO 3.0, 4bit SDIO
    • PWRKEY
    • 4 pads for antennas: main, diversity, GNSS, Wi-Fi/BT
    • 3x ADC (BAT_SNS, BAT_THERM, ADC)
  • Audio – MP3, AAC, AAC+, eAAC, AMR-NB, – WB, G.711, WMA 9/10 Pro
  • Video
    • Encode – 30fps 720p (H.264), 30fps WVGA (MPEG-4/VP8)
    • Decode – 30fps 720p (H.264/MPEG-4/VP8/H.265 DivX4/5/6), 30fps WVGA (H.263)
  • Dimensions – 40.5 x 40.5 x 2.8mm
  • Weight – ~9.6 grams
  • Temperature Range – Operating: -40°C ~ +85°C
  • Compliance – CCC/CE/FCC/GCF/PTCRB/AT&T/ACMA RCM/Verizon (Many still work-in-progress)

I first found about the module, as SinoVoip showcased some pictures of their next BPI-SC20 board using Quectel SC20-CE, but they did not provide other details.

banana-pi-bpi-sc20Nevertheless it was easy enough to find Quectel SC20 product page listing all the specs above, plus details about LTE, WCDMA, etc… bands, Rx/Tx power levels, and more. Six models of the module will be available: SC20-W with WiFi and BLE only, as well as country or zone specific variants: SC20-CE, SC20-J,  SC20-AU, SC20-A, and SC20-E with different supported cellular bands and standards.

The company is also said to have an evaluation board with a display and two cameras, with the processor used part of – or similar to – Qualcomm Snapdragon 200 series.

Banana Pi BPI-M64 & BPI-M2 Ultra Boards PDF Schematics Published

December 13th, 2016 14 comments

SinoVoip has recently released PDF schematics for both of their Banana Pi boards, namely BPI-M64 board powered by Allwinner A64 processor, and BPI-M2 Ultra board based on the latest Allwinner R40 SoC with an on-chip SATA interface.

banana-pi-bpi-m2-ultra-schematicsFor most boards on the market, this should not be news, but SinoVoip does not always release schematics in a timely manner, so you may want to be noticed when it happens:

The clear benefit of BPI-M2 Ultra is the presence of a SATA connector NOT implemented via a slow USB 2.0 to SATA bridge, but instead directly through the SATA interface of the R40 quad core processor. As for BPI-M64 ($46), it can be compared to Pine64+ with 2GB RAM and a WiFi module ($39), and despite the higher price it does come with some benefits like adb over OTG working, it is equipped with an 8GB eMMC flash instead of just a micro SD card slot, and it’s powered by a separate power connector. Pine64+ comes with DDR3 memory, while BPI-M64 is fitted with LPDDR3, which should consume less power (Update: BPI-M64 comes with DDR3 memory too , the specs on Banana Pi website are wrong).

One the other side, there have been several instances – not to say many – where SinoVoip did  not take inputs from the community in order to fix bugs, and they’ve made some interesting decisions including using a 6-pin battery header on BPI-M2 Ultra, and are now unable to explain one of their customers where to source such type of battery or even just the connector [Update: Banana Pi will sell the connector soon]

Thanks to Jon and Thomas for the info.