We're no longer updating This wiki!!

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
en:xu3_android_release_note_v2.7 [2015/09/16 19:40]
codewalker [Check your Firmware/kernel version to confirm whether the update was done correctly or not]
en:xu3_android_release_note_v2.7 [2015/09/17 11:33] (current)
odroid [Summary]
Line 1: Line 1:
 +====== Release Note of Android (v2.7) =====
 +----
 +===== Summary =====
 +| Release Date | Sept/​16/​2015 |
 +| Release Type | Regular release |
 +| Release Files | [[http://​dn.odroid.com/​5422/​ODROID-XU3/​Android/​4.4.4_Alpha_2.7_Sep-16-2015/​update.zip|update.zip]] (MD5SUM:​57a0815f9968bf7f9a3d96575795fd1b)|
 +===== New updates =====
 +  * Change the EDID interface to GPIO-driven-I2C from hardware-I2C to improve the display compatibility.
 +  * Remove the HDCP feature for better HDMI/DVI compatibility.
 +  * Add CDC Ethernet.
 +  * Add USB Multitouch VID/PID requested. [[http://​forum.odroid.com/​viewtopic.php?​f=51&​t=15495]]
 +<​code>​
 +919 /* Chalkboard Electronics 10" HDMI/USB Multitouch Screen */$
 +920 #define USB_VENDOR_ID_ELECTRONICS 0x04D8$
 +921 #define USB_DEVICE_ID_CHALKBOARD_10_TOUCH 0xF724$
 +922 $
 +923 /* Acer UT220HQL tbmjz HDMI/USB Multitouch Screen */$
 +924 #define USB_VENDOR_ID_ACER 0x25AA$
 +925 #define USB_DEVICE_ID_UT220HQL_TOUCH 0x8882$
 +926 $
 +927 /* eGalax Capacitive Multi-touch Screen */$
 +928 #define USB_VENDOR_ID_EGALAX 0x0EEF$
 +929 /* Xenarc 700CSH */$
 +930 #define USB_DEVICE_ID_700CSH_TOUCH 0x7200$
 +931 /* D_WAV Scientific Co.,​Ltd ​ */$
 +932 #define USB_DEVICE_ID_AT070TN90_TOUCH 0x0001$
 +933 /* Chalkboard Electronics 14" */$
 +934 #define USB_DEVICE_ID_CHALKBOARD_14_TOUCH 0xA107$
 +935 $
 +936 /* SINGWAY XWC1359 7''​ USB capacitive Screen */$
 +937 #define USB_VENDOR_ID_SINGWAY 0x266E$
 +938 #define USB_DEVICE_ID_XWC1359_7_TOUCH 0x0101$
 +</​code>​
 +===== Known issue =====
 +  * The boot-animation is not correctly working in the portrait mode
 +  * The expansion board does not support in this version. We are making a better GPIO/​I2C/​SPI drivers & HAL for Android platform now.
 +===== Check your Firmware/​kernel version to confirm whether the update was done correctly or not =====
 +<​code>​
 +shell@odroidxu3:/​ $ getprop | grep ro.build.version.incremental  ​
 +[ro.build.version.incremental]:​ [eng.jenkins.20150916.190548]
 +shell@odroidxu3:/​ $ uname -a
 +Linux localhost 3.10.9-gaaf190d #26 SMP PREEMPT Wed Sep 16 19:04:43 KST 2015 armv7l GNU/Linux
 +shell@odroidxu3:/​ $
 +</​code>​
 +===== How to checkout the source code ======
 +<​code>​
 +$ repo init -u https://​github.com/​hardkernel/​android.git -b 5422_4.4.4_master
 +$ repo sync
 +$ repo start 5422_4.4.4_master --all
 +</​code>​
 +==== Linux Kernel ====
 +We've merged the Kernel source into the Android repo.
 +Android build-script also includes the Kernel compile.
 +==== Android Source ====
 +$ ./build.sh odroidxu3
  
 +
 +
 +===== Reference boot.ini =====
 +==== No-EDID 1080P ====
 +<file ini boot.ini>​
 +ODROIDXU-UBOOT-CONFIG
 +
 +# setenv fb_x_res "​640"​
 +# setenv fb_y_res "​480"​
 +# setenv hdmi_phy_res "​480p60hz"​
 +
 +# setenv fb_x_res "​720"​
 +# setenv fb_y_res "​489"​
 +# setenv hdmi_phy_res "​480p59.45"​
 +
 +# setenv fb_x_res "​720"​
 +# setenv fb_y_res "​576"​
 +# setenv hdmi_phy_res "​576p50hz"​
 +
 +# setenv fb_x_res "​800"​
 +# setenv fb_y_res "​600"​
 +# setenv hdmi_phy_res "​600p60hz"​
 +
 +# setenv fb_x_res "​1280"​
 +# setenv fb_y_res "​720"​
 +# setenv hdmi_phy_res "​720p50hz"​
 +
 +# setenv fb_x_res "​1280"​
 +# setenv fb_y_res "​720"​
 +# setenv hdmi_phy_res "​720p60hz"​
 +
 +# setenv fb_x_res "​1280"​
 +# setenv fb_y_res "​768"​
 +# setenv hdmi_phy_res "​768p60hz"​
 +
 +# setenv fb_x_res "​1280"​
 +# setenv fb_y_res "​800"​
 +# setenv hdmi_phy_res "​800p59hz"​
 +
 +# setenv fb_x_res "​1280"​
 +# setenv fb_y_res "​960"​
 +# setenv hdmi_phy_res "​960p60hz"​
 +
 +# setenv fb_x_res "​1440"​
 +# setenv fb_y_res "​900"​
 +# setenv hdmi_phy_res "​900p60hz"​
 +
 +# setenv fb_x_res "​1440"​
 +# setenv fb_y_res "​900"​
 +# setenv hdmi_phy_res "​900p60hz"​
 +
 +# setenv fb_x_res "​1280"​
 +# setenv fb_y_res "​1024"​
 +# setenv hdmi_phy_res "​1024p60hz"​
 +
 +# setenv fb_x_res "​1920"​
 +# setenv fb_y_res "​1080"​
 +# setenv hdmi_phy_res "​1080i50hz"​
 +
 +# setenv fb_x_res "​1920"​
 +# setenv fb_y_res "​1080"​
 +# setenv hdmi_phy_res "​1080i60hz"​
 +
 +# setenv fb_x_res "​1920"​
 +# setenv fb_y_res "​1080"​
 +# setenv hdmi_phy_res "​1080p30hz"​
 +
 +# setenv fb_x_res "​1920"​
 +# setenv fb_y_res "​1080"​
 +# setenv hdmi_phy_res "​1080p50hz"​
 +
 +# setenv fb_x_res "​1920"​
 +# setenv fb_y_res "​1080"​
 +# setenv hdmi_phy_res "​1080p60hz"​
 +
 +setenv fb_x_res "​1920"​
 +setenv fb_y_res "​1080"​
 +setenv hdmi_phy_res "​1080p60hz"​
 +
 +setenv edid "​0"​
 +
 +setenv hpd "​1"​
 +
 +setenv led_blink ​       "​1"​
 +
 +setenv bootcmd ​     "movi read kernel 0 40008000;​bootz 40008000"​
 +
 +setenv bootargs ​    "​fb_x_res=${fb_x_res} fb_y_res=${fb_y_res} hdmi_phy_res=${hdmi_phy_res} edid=${edid} hpd=${hpd} led_blink=${led_blink}"​
 +boot
 +</​file>​
 +
 +==== DVI 1280 x 1024 ====
 +<file ini boot.ini>​
 +ODROIDXU-UBOOT-CONFIG
 +
 +# setenv fb_x_res "​640"​
 +# setenv fb_y_res "​480"​
 +# setenv hdmi_phy_res "​480p60hz"​
 +
 +# setenv fb_x_res "​720"​
 +# setenv fb_y_res "​489"​
 +# setenv hdmi_phy_res "​480p59.45"​
 +
 +# setenv fb_x_res "​720"​
 +# setenv fb_y_res "​576"​
 +# setenv hdmi_phy_res "​576p50hz"​
 +
 +# setenv fb_x_res "​800"​
 +# setenv fb_y_res "​600"​
 +# setenv hdmi_phy_res "​600p60hz"​
 +
 +# setenv fb_x_res "​1280"​
 +# setenv fb_y_res "​720"​
 +# setenv hdmi_phy_res "​720p50hz"​
 +
 +# setenv fb_x_res "​1280"​
 +# setenv fb_y_res "​720"​
 +# setenv hdmi_phy_res "​720p60hz"​
 +
 +# setenv fb_x_res "​1280"​
 +# setenv fb_y_res "​768"​
 +# setenv hdmi_phy_res "​768p60hz"​
 +
 +# setenv fb_x_res "​1280"​
 +# setenv fb_y_res "​800"​
 +# setenv hdmi_phy_res "​800p59hz"​
 +
 +# setenv fb_x_res "​1280"​
 +# setenv fb_y_res "​960"​
 +# setenv hdmi_phy_res "​960p60hz"​
 +
 +# setenv fb_x_res "​1440"​
 +# setenv fb_y_res "​900"​
 +# setenv hdmi_phy_res "​900p60hz"​
 +
 +# setenv fb_x_res "​1440"​
 +# setenv fb_y_res "​900"​
 +# setenv hdmi_phy_res "​900p60hz"​
 +
 +# setenv fb_x_res "​1280"​
 +# setenv fb_y_res "​1024"​
 +# setenv hdmi_phy_res "​1024p60hz"​
 +
 +# setenv fb_x_res "​1920"​
 +# setenv fb_y_res "​1080"​
 +# setenv hdmi_phy_res "​1080i50hz"​
 +
 +# setenv fb_x_res "​1920"​
 +# setenv fb_y_res "​1080"​
 +# setenv hdmi_phy_res "​1080i60hz"​
 +
 +# setenv fb_x_res "​1920"​
 +# setenv fb_y_res "​1080"​
 +# setenv hdmi_phy_res "​1080p30hz"​
 +
 +# setenv fb_x_res "​1920"​
 +# setenv fb_y_res "​1080"​
 +# setenv hdmi_phy_res "​1080p50hz"​
 +
 +# setenv fb_x_res "​1920"​
 +# setenv fb_y_res "​1080"​
 +# setenv hdmi_phy_res "​1080p60hz"​
 +
 +setenv fb_x_res "​1280"​
 +setenv fb_y_res "​1024"​
 +setenv hdmi_phy_res "​1024p60hz"​
 +
 +setenv edid "​0"​
 +
 +setenv hpd "​1"​
 +
 +setenv led_blink ​       "​1"​
 +
 +setenv bootcmd ​     "movi read kernel 0 40008000;​bootz 40008000"​
 +
 +setenv bootargs ​    "​fb_x_res=${fb_x_res} fb_y_res=${fb_y_res} hdmi_phy_res=${hdmi_phy_res} edid=${edid} hpd=${hpd} led_blink=${led_blink}"​
 +boot
 +</​file>​
 +==== No-EDID 1080P / Disable HPD ====
 +<file ini boot.ini>​
 +ODROIDXU-UBOOT-CONFIG
 +
 +# setenv fb_x_res "​640"​
 +# setenv fb_y_res "​480"​
 +# setenv hdmi_phy_res "​480p60hz"​
 +
 +# setenv fb_x_res "​720"​
 +# setenv fb_y_res "​489"​
 +# setenv hdmi_phy_res "​480p59.45"​
 +
 +# setenv fb_x_res "​720"​
 +# setenv fb_y_res "​576"​
 +# setenv hdmi_phy_res "​576p50hz"​
 +
 +# setenv fb_x_res "​800"​
 +# setenv fb_y_res "​600"​
 +# setenv hdmi_phy_res "​600p60hz"​
 +
 +# setenv fb_x_res "​1280"​
 +# setenv fb_y_res "​720"​
 +# setenv hdmi_phy_res "​720p50hz"​
 +
 +# setenv fb_x_res "​1280"​
 +# setenv fb_y_res "​720"​
 +# setenv hdmi_phy_res "​720p60hz"​
 +
 +# setenv fb_x_res "​1280"​
 +# setenv fb_y_res "​768"​
 +# setenv hdmi_phy_res "​768p60hz"​
 +
 +# setenv fb_x_res "​1280"​
 +# setenv fb_y_res "​800"​
 +# setenv hdmi_phy_res "​800p59hz"​
 +
 +# setenv fb_x_res "​1280"​
 +# setenv fb_y_res "​960"​
 +# setenv hdmi_phy_res "​960p60hz"​
 +
 +# setenv fb_x_res "​1440"​
 +# setenv fb_y_res "​900"​
 +# setenv hdmi_phy_res "​900p60hz"​
 +
 +# setenv fb_x_res "​1440"​
 +# setenv fb_y_res "​900"​
 +# setenv hdmi_phy_res "​900p60hz"​
 +
 +# setenv fb_x_res "​1280"​
 +# setenv fb_y_res "​1024"​
 +# setenv hdmi_phy_res "​1024p60hz"​
 +
 +# setenv fb_x_res "​1920"​
 +# setenv fb_y_res "​1080"​
 +# setenv hdmi_phy_res "​1080i50hz"​
 +
 +# setenv fb_x_res "​1920"​
 +# setenv fb_y_res "​1080"​
 +# setenv hdmi_phy_res "​1080i60hz"​
 +
 +# setenv fb_x_res "​1920"​
 +# setenv fb_y_res "​1080"​
 +# setenv hdmi_phy_res "​1080p30hz"​
 +
 +# setenv fb_x_res "​1920"​
 +# setenv fb_y_res "​1080"​
 +# setenv hdmi_phy_res "​1080p50hz"​
 +
 +# setenv fb_x_res "​1920"​
 +# setenv fb_y_res "​1080"​
 +# setenv hdmi_phy_res "​1080p60hz"​
 +
 +setenv fb_x_res "​1920"​
 +setenv fb_y_res "​1080"​
 +setenv hdmi_phy_res "​1080p60hz"​
 +
 +setenv edid "​0"​
 +
 +setenv hpd "​0"​
 +
 +setenv led_blink ​       "​1"​
 +
 +setenv bootcmd ​     "movi read kernel 0 40008000;​bootz 40008000"​
 +
 +setenv bootargs ​    "​fb_x_res=${fb_x_res} fb_y_res=${fb_y_res} hdmi_phy_res=${hdmi_phy_res} edid=${edid} hpd=${hpd} led_blink=${led_blink}"​
 +boot
 +</​file>​
 +
 +===== Improve the WiFi dongle compatibility via editing "/​system/​etc/​wifi_id_list.txt"​=====
 +Many ODROID-XU3/​4 user use USB WiFi dongle with RTL8188CUS chipset purchased from their local electronic store. And we were asked how they can use their WiFi dongle on ODROID-XU3/​4 and answered to add a like with below at the end of **wifi_id_list.txt** with their WiFi dongle'​s VID & PID. From Android release v2.4, we've added many USB WiFi dongles known product by default to the file, **wifi_id_list**. These list are collected from the driver source code itself supported and we shipped the driver, **8192cu.ko**.
 +<file ini wifi_id_list.txt>​
 +0bda 8172 r8712u /​system/​lib/​modules/​r8712u.ko
 +148f 5572 compat /​system/​lib/​modules/​backports/​compat.ko
 +148f 5572 cfg80211 /​system/​lib/​modules/​backports/​cfg80211.ko
 +148f 5572 mac80211 /​system/​lib/​modules/​backports/​mac80211.ko
 +148f 5572 rt2x00lib /​system/​lib/​modules/​backports/​rt2x00lib.ko
 +148f 5572 rt2x00usb /​system/​lib/​modules/​backports/​rt2x00usb.ko
 +148f 5572 rt2800lib /​system/​lib/​modules/​backports/​rt2800lib.ko
 +148f 5572 rt2800usb /​system/​lib/​modules/​backports/​rt2800usb.ko
 +0bda 8176 8192cu /​system/​lib/​modules/​8192cu.ko /* 8188cu 1*1 dongole */
 +0bda 8170 8192cu /​system/​lib/​modules/​8192cu.ko /* 8188CE-VAU USB minCard */
 +0bda 817e 8192cu /​system/​lib/​modules/​8192cu.ko /* 8188CE-VAU USB minCard */
 +0bda 817a 8192cu /​system/​lib/​modules/​8192cu.ko /* 8188cu Slim Solo */
 +0bda 817b 8192cu /​system/​lib/​modules/​8192cu.ko /* 8188cu Slim Combo */
 +0bda 817d 8192cu /​system/​lib/​modules/​8192cu.ko /* 8188RU High-power USB Dongle */
 +0bda 8754 8192cu /​system/​lib/​modules/​8192cu.ko /* 8188 Combo for BC4 */
 +0bda 817f 8192cu /​system/​lib/​modules/​8192cu.ko /* 8188RU */
 +0bda 818a 8192cu /​system/​lib/​modules/​8192cu.ko /* RTL8188CUS-VL */
 +0bda 018a 8192cu /​system/​lib/​modules/​8192cu.ko /* RTL8188CTV */
 +0bda 17c0 8192cu /​system/​lib/​modules/​8192cu.ko /* RTK demoboard - USB-N10E */
 +0bda 8177 8192cu /​system/​lib/​modules/​8192cu.ko /* 8191cu 1*2 */
 +0bda 8178 8192cu /​system/​lib/​modules/​8192cu.ko /* 8192cu 2*2 */
 +0bda 817c 8192cu /​system/​lib/​modules/​8192cu.ko /* 8192CE-VAU USB minCard */
 +0bda 8191 8192cu /​system/​lib/​modules/​8192cu.ko /* 8192CU 2*2 */
 +1058 0631 8192cu /​system/​lib/​modules/​8192cu.ko /* Alpha, 8192CU */
 +2019 ed17 8192cu /​system/​lib/​modules/​8192cu.ko /* PCI - Edimax */
 +0df6 0052 8192cu /​system/​lib/​modules/​8192cu.ko /* Sitecom - Edimax */
 +7392 7811 8192cu /​system/​lib/​modules/​8192cu.ko /* Edimax - Edimax */
 +07b8 8189 8192cu /​system/​lib/​modules/​8192cu.ko /* Abocom - Abocom */
 +0eb0 9071 8192cu /​system/​lib/​modules/​8192cu.ko /* NO Brand - Etop */
 +06f8 e033 8192cu /​system/​lib/​modules/​8192cu.ko /* Hercules - Edimax */
 +103c 1629 8192cu /​system/​lib/​modules/​8192cu.ko /* HP - Lite-On ,8188CUS Slim Combo */
 +2001 3308 8192cu /​system/​lib/​modules/​8192cu.ko /* D-Link - Alpha */
 +050d 1102 8192cu /​system/​lib/​modules/​8192cu.ko /* Belkin - Edimax */
 +2019 ab2a 8192cu /​system/​lib/​modules/​8192cu.ko /* Planex - Abocom */
 +20f4 648b 8192cu /​system/​lib/​modules/​8192cu.ko /* TRENDnet - Cameo */
 +4855 0090 8192cu /​system/​lib/​modules/​8192cu.ko /*          - Feixun */
 +13d3 3357 8192cu /​system/​lib/​modules/​8192cu.ko /*          - AzureWave */
 +0df6 005c 8192cu /​system/​lib/​modules/​8192cu.ko /* Sitecom - Edimax */
 +0bda 5088 8192cu /​system/​lib/​modules/​8192cu.ko /* Thinkware - CC&C */
 +4856 0091 8192cu /​system/​lib/​modules/​8192cu.ko /* NetweeN - Feixun */
 +0846 9041 8192cu /​system/​lib/​modules/​8192cu.ko /* Netgear - Cameo */
 +2019 4902 8192cu /​system/​lib/​modules/​8192cu.ko /* Planex - Etop */
 +2019 ab2e 8192cu /​system/​lib/​modules/​8192cu.ko /* SW-WF02-AD15 -Abocom */
 +2001 330b 8192cu /​system/​lib/​modules/​8192cu.ko /* D-LINK - T&W */
 +cdab 8010 8192cu /​system/​lib/​modules/​8192cu.ko /* - - compare */
 +0b05 17ba 8192cu /​system/​lib/​modules/​8192cu.ko /* ASUS - Edimax */
 +0bda 1e1e 8192cu /​system/​lib/​modules/​8192cu.ko /* Intel - - */
 +04bb 094c 8192cu /​system/​lib/​modules/​8192cu.ko /* I-O DATA - Edimax */
 +cdab 8011 8192cu /​system/​lib/​modules/​8192cu.ko /* - - compare */
 +0bda 0a8a 8192cu /​system/​lib/​modules/​8192cu.ko /* Sony - Foxconn */
 +0bda 317f 8192cu /​system/​lib/​modules/​8192cu.ko /* Netcore,​Netcore */
 +13d3 3359 8192cu /​system/​lib/​modules/​8192cu.ko /*  - Azwave */
 +13d3 3358 8192cu /​system/​lib/​modules/​8192cu.ko /*  - Azwave */
 +04f2 aff7 8192cu /​system/​lib/​modules/​8192cu.ko /* XAVI - XAVI */
 +04f2 aff9 8192cu /​system/​lib/​modules/​8192cu.ko /* XAVI - XAVI */
 +04f2 affa 8192cu /​system/​lib/​modules/​8192cu.ko /* XAVI - XAVI */
 +04f2 aff8 8192cu /​system/​lib/​modules/​8192cu.ko /* XAVI - XAVI */
 +04f2 affb 8192cu /​system/​lib/​modules/​8192cu.ko /* XAVI - XAVI */
 +04f2 affc 8192cu /​system/​lib/​modules/​8192cu.ko /* XAVI - XAVI */
 +2019 1201 8192cu /​system/​lib/​modules/​8192cu.ko /* Planex - Vencer */
 +2001 3307 8192cu /​system/​lib/​modules/​8192cu.ko /* D-Link - Cameo */
 +2001 330a 8192cu /​system/​lib/​modules/​8192cu.ko /* D-Link - Alpha */
 +2001 3309 8192cu /​system/​lib/​modules/​8192cu.ko /* D-Link - Alpha */
 +0586 341f 8192cu /​system/​lib/​modules/​8192cu.ko /* Zyxel - Abocom */
 +7392 7822 8192cu /​system/​lib/​modules/​8192cu.ko /* Edimax - Edimax */
 +2019 ab2b 8192cu /​system/​lib/​modules/​8192cu.ko /* Planex - Abocom */
 +07b8 8178 8192cu /​system/​lib/​modules/​8192cu.ko /* Abocom - Abocom */
 +07aa 0056 8192cu /​system/​lib/​modules/​8192cu.ko /* ATKK - Gemtek */
 +4855 0091 8192cu /​system/​lib/​modules/​8192cu.ko /*      - Feixun */
 +050d 2102 8192cu /​system/​lib/​modules/​8192cu.ko /* Belkin - Sercomm */
 +050d 2103 8192cu /​system/​lib/​modules/​8192cu.ko /* Belkin - Edimax */
 +20f4 624d 8192cu /​system/​lib/​modules/​8192cu.ko /* TRENDnet */
 +0df6 0061 8192cu /​system/​lib/​modules/​8192cu.ko /* Sitecom - Edimax */
 +0b05 17ab 8192cu /​system/​lib/​modules/​8192cu.ko /* ASUS - Edimax */
 +0846 9021 8192cu /​system/​lib/​modules/​8192cu.ko /* Netgear - Sercomm */
 +0846 f001 8192cu /​system/​lib/​modules/​8192cu.ko /* Netgear - Sercomm */
 +0e66 0019 8192cu /​system/​lib/​modules/​8192cu.ko /* Hawking,​Edimax */
 +0e66 0020 8192cu /​system/​lib/​modules/​8192cu.ko /* Hawking ​ - Edimax */
 +050d 1004 8192cu /​system/​lib/​modules/​8192cu.ko /* Belkin - Edimax */
 +0bda 2e2e 8192cu /​system/​lib/​modules/​8192cu.ko /* Intel - - */
 +2357 0100 8192cu /​system/​lib/​modules/​8192cu.ko /* TP-Link - TP-Link */
 +06f8 e035 8192cu /​system/​lib/​modules/​8192cu.ko /* Hercules - Edimax */
 +04bb 0950 8192cu /​system/​lib/​modules/​8192cu.ko /* IO-DATA - Edimax */
 +0df6 0070 8192cu /​system/​lib/​modules/​8192cu.ko /* Sitecom - Edimax */
 +0789 016d 8192cu /​system/​lib/​modules/​8192cu.ko /* LOGITEC - Edimax */
 +0bda 8186 8192cu /​system/​lib/​modules/​8192cu.ko /* Intel-Xavi( Azwave) */
 +</​file>​
en/xu3_android_release_note_v2.7.txt ยท Last modified: 2015/09/17 11:33 by odroid
CC Attribution-Share Alike 3.0 Unported
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0