Cubietech Cubietruck

From linux-sunxi.org
(Redirected from Cubietruck)
Jump to: navigation, search
Cubietech Cubietruck
Cubietruck-7 Frontside RevA.JPG
Manufacturer Cubietech, Cubieboard
Dimensions 110mmx80mmx??mm
Release Date October 2013
Website Cubietruck Product Page
Specifications
SoC A20 @ 1Ghz
DRAM 2GiB DDR3 @ 480MHz
NAND 8GB
Power DC 5 V @ 2 A (3A with SATA drive), Battery connector
Features
Video HDMI (Type A - full), VGA
Audio 3.5 mm headphone plug, HDMI, SPDIF
Network WiFi 802.11 b/g/n (Ampak AP6210), 10/100/1000Mbps Ethernet (Realtek RTL8211E)
Storage µSD, SATA 2.0
USB 2 USB 2.0 Host, 1 USB2.0 OTG
Other Bluetooth (Ampak AP6210), IRDA, RTC
Headers UART, I2S, I2C, SPI, CVBS, LRADC (2x),UART, PS2, PWM (2x), TS/CSI, IRDA, LINE-IN, FM-IN, MIC-IN, TV-IN (4x), ...

Cubietruck is the third generation of the famous Cubieboard, and is the most full-featured board to date.

Contents

Identification

The board helpfully states "CUBIETRUCK".

There are two revisions of the A20. Since Feb 2014 it is RevB. The Rev state is not printed on the board and is not retrievable from the SoC. There is also no information regarding the differences of these revisions. There is evidence of different behavior and boot problems with older kernel on RevB cubietrucks.

Sunxi support

Current status

Mostly supported. See Tips, Tricks, Caveats below for more details.

Images

HW-Pack

BSP

Manual build

  • For building u-boot, use the "Cubietruck" target.
  • The .fex file can be found in sunxi-boards as cubietruck.fex

Everything else is the same as the manual build howto.

Mainline kernel

Use the sun7i-a20-cubietruck.dtb device-tree file for the mainline kernel.

Tips, Tricks, Caveats

Fel mode

There is a button marked 'FEL' next to the full-size usb ports, which triggers FEL mode.

VGA

The Cubietruck is the only board to date that has a properly implemented VGA connector with DDC. Load-detection is also reliable. In future kernel versions (with sunxi-kms), VGA and the attached monitor will be detected properly and will require no intervention.

For now though, you need to edit the FEX file still.

There is one issue with VGA though. Due to bad PCB placement, there is some crosstalk between Wifi and VGA in certain videomodes.

DRAM frequency

<tomee^> arokux: 432MHz. that's the speed at which my board runs with sunxi bootloader, too. but look here:http://dl.cubieboard.org/software/a20-cubietruck/common/ct-v101_sys_config.fex
<tomee^> arokux: I simply do not know why 432MHz if the hardware can do 480... they downclocked it for security purposes in the first batch?
<arokux> tomee^: sorry, I have no idea.
<tomee^> arokux: I've heard somewhere that someone complained about overheating of the prototype
<arokux> tomee^: Turl may know.
<Turl> dunno, we should ask benn

See this conversation on memory frequency problems.

Wifi

There is an AMPAK AP6210 Wifi+BT chip on board with PCB antenna, but it is not clear what exactly is inside:

  • Broadcom BCM43362 + BCM20710
  • Broadcom BCM4330 / BCM40183 Based Chipset
  • Cubietech says it is BCM4329/BCM40181

If your're using the Cubietech's kernel, you can enable the module with

   modprobe bcmdhd

There is a parameter op_mode, which allows you to enable AP mode, for example

   modprobe bcmdhd op_mode=2

For the linux-sunxi's 3.4 kernel, you will need a special driver, instructions to integrate and compile the AMPAK AP6210 Wifi and Bluetooth driver with the sunxi-3.4 source code are avalable.

Networkmanager

The Lubuntu Desktop images has NetworkManager running. It spawns its own wpa_supplicant, which is respawned once you kill it. This wpa_supplicant will also interfere with yours, if you want to configure WLAN Adapter by yourself. I have removed NetworkManager and was able to successfully configure WiFi.

   wpa_supplicant -D nl80211 -B -i wlan0 -c <(wpa_passphrase YOUR_SSID YOUR_PASSWORD)

Bluetooth

This is a new or differently wired chip, status UNKNOWN, please test it!

Huang Benn said here (the cubietruck chipset AMPAK) ap6210 is a combo of wifi(bcm40181) and bt(bcm20710). the firmwares can be found here: wifi/bluetooth driver

Here is some info on how to get the bcmdhd compiled with workarounds / ideas how to overcome problems
<tomee^> arokux:   CC [M]  drivers/net/wireless/bcmdhd/dhd_linux.o drivers/net/wireless/bcmdhd/dhd_linux.c: In function ‘dhd_os_prealloc’: drivers/net/wireless/bcmdhd/dhd_linux.c:5192:2: error: implicit declaration of function ‘wl_android_prealloc’ [-Werror=implicit-function-declaration]
<tomee^> arokux: I guess you should ifdef the DHD_OS_PREALLOC option for non-android builds... or I did something wrong
<tomee^> arokux: it comes from the bcmdhd driver compilation
<tomee^> arokux: when I disabled buffer preallocation for it, it went through
<tomee^> arokux: CONFIG_DHD_USE_STATIC_BUF=y broke the compilation. CONFIG_DHD_USE_STATIC_BUF=n made it work. maybe this flag should depend on android or some other build environment

Battery

Tha battery backups the power supply. It alows an uninterruptible operation. Depending on the battery capacity sveral hours of operation are possible.

The battery will be charged during operation. A 3.7 Volt Lithium polymer battery is needed. The connector is near the ethernet port (see frontside board pictures).

For kernel 3.4:

  • The battery capacity in mA has to be set in the fex file.
  • The current voltage can be read here /sys/class/power_supply/battery/voltage_now
  • The current status charging/discharging can be read here /sys/class/power_supply/battery/status

Cubietech Kernel source

There are kernels developed by Cubietech, they are supposed to have all features workin.

Reportedly AP mode does not work with the WiFi driver in this kernel.

This kernel is abandoned by Cubietech, but can still have something interesting, such as: https://github.com/cubieboard2/linux-sunxi/tree/sunxi-3.4-ct-dev/drivers/net/ethernet/allwinner/gmac

Expansion Ports

The cubietruck exposes 2 2.0 mm pitch connectors with lots of expansion possibilities.

CN8 (Near Ethernet connector)
2x15 Header
1 GND 2 3.3V
3 AVCC 4 RESET#
5 PC19 (SPI2-CS0/EINT12) 6 PC21 (SPI2-MOSI/EINT14)
7 PC20 (SPI2-CLK/EINT13) 8 PC22 (SPI2-MISO/EINT15)
9 PB14 (SPI2-CS0/JTAG_MS0) 10 PB16 (SPI2-MOSI/JTAG_DO0)
11 PB15 (SPI2-CLK/JTAG_CK0) 12 PB17 (SPI2-MISO/JTAG_DI0)
13 GND 14 GND
15 PI20 (FMIN-L/PS2SCLK0/UART7-TX/HSCL) 16 PI14 (PS2SCLK1/EINT26)
17 PI21 (FMIN-R/PS2SDA0/UART7-RX/HSDA) 18 PI15 (PS2SDA1/EINT27)
19 PI3 (PWM1) 20 PB3 (IR0-TX)
21 PB2 (PWM0) 22 PB4 (IR0-RX)
23 PB18 (TWI1-SCK) 24 LINEIN-L
25 PB19 (TWI1-SDA) 26 LINEIN-R
27 CVBS 28 LRADC0
29 VCC-5V 30 LRADC1
CN9 (Near USB Ports)
CSI1/TS/TP/TVIN
1 3.3V 2 3.3V
3 PG0 (TS1_CLK/CSI1-PCLK) 4 PG3 (TS1_ERR/CSI1-VSYNC)
5 PG2 (TS1_SYNC/CSI1-HSYNC) 6 PG1 (TS1_DVLD/CSI1-MCLK)
7 PG4 (TS1_D0/CSI1-D0) 8 PG5 (TS1_D1/CSI1-D1)
9 PG6 (TS1_D2/CSI1-D2/UART3-TX) 10 PG7 (TS1_D3/CSI1-D3/UART3-RX)
11 PG8 (TS1_D4/CSI1-D4/UART3-RTS) 12 PG9 (TS1_D5/CSI1-D5/UART3-CTS)
13 PG10 (TS1_D6/CSI1-D6/UART4-TX) 14 PG11 (TS1_D7/CSI1-D7/UART4-RX)
15 GND 16 GND
Analog
17 XP-I2SDO1 18 TVIN0-I2SMCLK
19 XN-I2SDO2 20 TVIN1-BTPCMCLK
21 YP-I2SDO3 22 TVIN2-BTPCMSYNC
23 XN-BTPCMIN 24 TVIN3-BTPCMOUT

Adding a serial port

UART pins in green circle

There is a nice 0.1" connector behind the USB ports, just plug in your UART adapter.

Pictures

Also known as

The cubieboards are a well known brandname nowadays and there are no rebadgers.

See also

Vendor images

Personal tools
Namespaces

Variants
Actions
Navigation
Tools