====== Release Note of Android (v3.4) =====
----
===== Summary =====
| Release Date | Feb/23/2017 KST |
| Release Type | Regular release |
| Release Files| [[http://dn.odroid.com/S905/Android/ODROID-C2/selfinstall-odroidc2-eng-s905_5.1.1_master-293-v3.4.img.xz|Self-installation Image]] (MD5SUM: 6c4d4ca7d3b2431d2a87e3ed5475ac53)|
File name : selfinstall-odroidc2-eng-s905_5.1.1_master-293-v3.4.img
Official **Mirrors** by mdrjr\\
In US\\
[[http://www.odroid.in/mirror/dn.odroid.com/S905/Android/ODROID-C2]]
\\
In Germany\\
[[http://de.eu.odroid.in/?directory=.%2Fmirror%2Fdn.odroid.com%2FS905%2FAndroid%2FODROID-C2%2F]]
===== New updates =====
* Added a USB timing tweak to improve the USB DAC compatibility. [[http://forum.odroid.com/viewtopic.php?f=137&t=21210#p179874]]
-- __//setenv usbmulticam “true”//__ in boot.ini file.
* Added CONFIG_HID_APPLE driver.
* Added the CEC power control function in ODROID-Utility app.. [[http://forum.odroid.com/viewtopic.php?f=137&t=25255#p173879]]
* Enabled HOME shortcut in Utility.
* Added a few requested USB-Multitouch VID/PID. [[http://forum.odroid.com/viewtopic.php?f=51&t=15495]]
#define USB_VENDOR_ID_VIEWSONIC13FF 0x13FF
#define USB_DEVICE_ID_VIEWSONIC_EP5502T 0x0008
/* WAVESHARE HDMI capacitive Screen */
#define USB_VENDOR_ID_WAVESHARE 0x0483
#define USB_DEVICE_ID_WAVESHARE_10_1 0x5710
==== Notes for KODI on 4K/UHD display ====
[[http://codewalkerster.blogspot.kr/2016/02/how-to-install-kodi-v170krypton-for-4k.html]]
===== Known issue =====
* In portrait mode, 720x1280 DPI works on 1080x1920 resolution. http://forum.odroid.com/viewtopic.php?f=137&t=21785
* Audio passthrough for both AC3 and DTS sources where every few seconds there's an audio dropout.
Workaround: Write the codec value to //**/sys/class/audiodsp/digital_codec**// sysfs file before executing the media player.
**AC3**
$ echo 2 > /sys/class/audiodsp/digital_codec
**DTS**
$ echo 3 > /sys/class/audiodsp/digital_codec
If there is //no sound// or //frequent sound drop// when using HDMI passthrough, then please reboot the system.
===== Update Instruction =====
==== Self Installation ====
You can install the release to your MicroSD or eMMC with the tool **dd** in Linux or **Win32DiskImager** in Windows. Please refer [[http://odroid.com/dokuwiki/doku.php?id=en:odroid_flashing_tools#using_win32diskimager|this]] for more detail.
We've reported that some of users can not watch Android logo on their TV while installing even though installation is proceeded. So please wait for 5 minutes since power on and red and blue LED is on. If blue led is started blinking then installation is proceeding, ODROID-C2 will reboot when finished.
==== Upgrade Installation ====
Since Android release 2.0, we provide you update package which can upgrade your device without rewrite your SD card or eMMC. This package can be downloaded and upgrade on ODROID Utility.\\
{{:en:screenshot_2016-04-25-07-43-39.png?800|}}
* Update server setting
* You can set your own update server and path where you upload your custom update package. Ordinary users does not need to run this and change the detail, it is already set with Hardkernel's official download server for ODROID-C1/C2.
* Check online update
* This will start to check latest update from Hardkernel's official download server and start to download and install if new version is discovered. Your ODROID-C1/C2 device must be connected through the network.
* Package install from storage
* This will help you to install the official upgrade package downloaded manually or custom update package. You can store a update file to **external storage** and select it to install.
==== Fastboot Update ====
Your can update the release by **fastboot** if you have MicroSD or eMMC already Android installed. If you have **USB-Serial kit**, you can enter to **Fastboot** mode when you execute the command **fastboot** on U-boot command line. Or if you run execute **reboot fastboot** from Android shell command line, your **ODROID-C2** will reboot and get into **fastboot** mode immediately. You can check if your **ODROID-C2** is attached via USB with the command **fastboot devices** in your desktop.
$ sudo fastboot flash bootloader u-boot.bin
$ sudo fastboot flash dtb meson64_odroidc2.dtb
$ sudo fastboot flash boot kernel
$ sudo fastboot flash recovery recovery.img
$ sudo fastboot flash logo hardkernel-720.bmp
$ sudo fastboot flash system rootsystem.img
$ sudo fastboot flash cache cache.img
$ sudo fastboot reboot
===== How to get the full source code =====
You can checkout Android source tree, please refer [[http://odroid.com/dokuwiki/doku.php?id=en:c1_building_android|this page]] for more detail.
**Please note, Android source tree is uploading and would be completed in 1-2 days.**
==== Android ====
$ mkdir odroid-c2
$ cd odroid-c2
$ repo init -u https://github.com/hardkernel/android.git -b s905_5.1.1_master
$ repo sync
$ repo start s905_5.1.1_master --all
==== ODROID Utility ====
$ packages/apps/Utility
===== Reference boot.ini =====
ODROIDC2-UBOOT-CONFIG
setenv dtbaddr 0x1000000
setenv loadaddr 0x20000000
# Resolution Configuration
# 'hdmimode' must be one of below to configure display resolution within
# supported by your TV or monitor.
# Symbol | Resolution
# ----------------------+-------------
# "480p60hz" | 720x480 Progressive 60Hz
# "576p50hz" | 720x576 Progressive 50Hz
# "720p60hz" | 1280x720 Progressive 60Hz
# "720p50hz" | 1280x720 Progressive 50Hz
# "1080p60hz" | 1920x1080 Progressive 60Hz
# "1080p50hz" | 1920x1080 Progressive 50Hz
# "1080p30hz" | 1920x1080 Progressive 30Hz
# "1080p24hz" | 1920x1080 Progressive 24Hz
# "1080i60hz" | 1920x1080 Interlaced 60Hz
# "1080i50hz" | 1920x1080 Interlaced 50Hz
# "2160p60hz" | 3840x2160 Progressive 60Hz
# "2160p50hz" | 3840x2160 Progressive 50Hz
# "2160p30hz" | 3840x2160 Progressive 30Hz
# "2160p25hz" | 3840x2160 Progressive 25Hz
# "2160p24hz" | 3840x2160 Progressive 24Hz
# "2160p60hz420" | 3840x2160 Progressive 60Hz YCbCr 4:2:0
# "2160p50hz420" | 3840x2160 Progressive 50Hz YCbCr 4:2:0
# "640x480p60hz" | 640x480 Progressive 60Hz
# "800x480p60hz" | 800x480 Progressive 60Hz
# "800x600p60hz" | 800x600 Progressive 60Hz
# "1024x600p60hz" | 1024x600 Progressive 60Hz
# "1024x768p60hz" | 1024x768 Progressive 60Hz
# "1280x800p60hz" | 1280x800 Progressive 60Hz
# "1280x1024p60hz" | 1280x1024 Progressive 60Hz
# "1360x768p60hz" | 1360x768 Progressive 60Hz
# "1440x900p60hz" | 1440x900 Progressive 60Hz
# "1600x900p60hz" | 1600x900 Progressive 60Hz
# "1600x1200p60hz" | 1600x1200 Progressive 60Hz
# "1680x1050p60hz" | 1680x1050 Progressive 60Hz
# "1920x1200p60hz" | 1920x1200 Progressive 60Hz
# "2560x1080p60hz" | 2560x1080 Progressive 60Hz
# "2560x1440p60hz" | 2560x1440 Progressive 60Hz
# "2560x1600p60hz" | 2560x1600 Progressive 60Hz
# "3440x1440p60hz" | 3440x1440 Progressive 60Hz
setenv hdmimode "1080p60hz"
setenv rootopt "root=/dev/mmcblk0p2 rw init=/init rootwait"
setenv consoleopt "console=ttyS0,115200"
setenv androidopt "androidboot.hardware=odroidc2 androidboot.serialno=${fbt_id#}"
setenv logoopt "osd1,loaded,${fb_addr},${hdmimode}"
setenv selinuxopt "androidboot.selinux=disabled"
# HDMI/DVI Mode Configuration
# This will enforce the signal type of display
# "hdmi" - For HDMI interface
# "dvi" - For DVI interface
setenv vout_mode "hdmi"
# Display Auto Detection
# "false" or "true"
setenv display_autodetect "true"
# HPD enable/disable option
setenv disablehpd "false"
# Overscan offset configuration
# All offsets are zero and can be tuned by manual or ODROID Utility
setenv overscan_top "0"
setenv overscan_left "0"
setenv overscan_bottom "0"
setenv overscan_right "0"
setenv led_onoff "on"
suspend_hdmiphy=0
# max cpu frequency in dvfs table / in MHz unit
# setenv max_freq "2016" # 2.016GHz
# setenv max_freq "1944" # 1.944GHz
# setenv max_freq "1920" # 1.920GHz
# setenv max_freq "1896" # 1.896GHz
# setenv max_freq "1752" # 1.752GHz
# setenv max_freq "1680" # 1.680GHz
# setenv max_freq "1656" # 1.656GHz
# setenv max_freq "1536" # 1.536GHz
setenv max_freq "1536"
# max cpu-cores
# setenv maxcpus "1"
# setenv maxcpus "2"
# setenv maxcpus "3"
setenv maxcpus "4"
# disable vu7
setenv disable_vu7 "false"
# usb timing tweak
setenv usbmulticam "false"
if test "${display_autodetect}" = "true"; then usb pwren; hdmitx edid; fi
if test "${hdmimode}" = "custombuilt"; then setenv cmode "modeline=${modeline}"; fi
setenv bootargs "${rootopt} ${consoleopt} hdmimode=${hdmimode} ${cmode} hdmitx=${cecconfig} vout=${vout_mode} disablehpd=${disablehpd} logo=${logoopt} ${androidopt} ${selinuxopt} suspend_hdmiphy=${suspend_hdmiphy} led_onoff=${led_onoff} max_freq=${max_freq} maxcpus=${maxcpus} disable_vu7=${disable_vu7} usbmulticam=${usbmulticam}"
save
showlogo ${hdmimode}
#usb pwren
movi read dtb 0 ${dtbaddr}
# load kernel from vat or boot partition.
movi read boot 0 ${loadaddr}
#fatload mmc 0:1 ${loadaddr} Image
booti ${loadaddr} - ${dtbaddr}