Wandboard Linux Kernel 3.10.17 Status

From Wandboard Wiki
Jump to: navigation, search

Wandboard Linux Kernel, based on 3.10.17 from Freescale

Source repository on Github.

Status at-a-glance

Linux Kernel 3.10.17 Testing and Implementation at a Glance
Feature Support Wandboard Solo Wandboard Dual Wandboard Quad
Connectivity
Ethernet Port Functional Functional Functional
Serial Port Functional Functional Functional
USB Host Port Functional Functional Functional
USB OTG Port TBD TBD TBD
Wireless LAN Not present Functional Functional
Bluetooth TBD TBD TBD
Storage
SOM microSD Functional Functional Functional
Baseboard microSD Functional Functional Functional
SATA Not present Not present Not tested
Displays
HDMI Video Output Functional Functional Functional
HDMI, EDID See Known Problems Has never worked Has never worked Has never worked
TTL Display Port TBD TBD TBD
LVDS Display Port TBD TBD TBD
Audio
Line in not tested not tested not tested
Headphone/Line out Functional Functional Functional
Microphone not tested not tested not tested
S/PDIF not tested not tested not tested
HDMI Audio Functional Functional Functional
Graphics
Vivante GPU Drivers Functional Functional Functional
Video
MIPI CSI Functional Functional Functional
VPU Encode Functional Functional Functional
VPU Decode Functional Functional Functional


Legend
Color Meaning
Gray Work still needs to be done to implement this feature.
Yellow Feature has been implemented and tested on one variant of Wandboard, but needs testing on other variants.
Green Feature has been implemented and tested.
Red Feature has been implemented and tests failed.

Status Updates

Feb 11, 2014:

Resuming work on this, and adding this documentation.

Feb 12, 2014:

Heard today that the current beta kernel originating from Freescale has a problem with the Vivante drivers and Xorg. It apparently switches into the lowest resolution (VGA - 640x480 pixels). So, I'm not going to concentrate on that for now until I hear that improvements have been made. Instead, I'll work on the easier features.

I'm also looking for someone to help with the non-HDMI display work, such as the Future 7" panel.

Feb 13, 2014:

I've seen where WLAN is 'somewhat' functional. More work needs to be done here.

Feb 24, 2014:

WLAN - More work needs to be done to properly implement and sequence the reset to the BCM4329. I've attempted to do so with some GPIO reset tricks in the DTS and this hasn't worked. The issue is - the chip is properly recognized with a power-on-reset, but not with a software reset or a pushbutton reset.

GPU - Tested in the latest Yocto master-next tree, which implements the latest GPU drivers suitable for the 3.10.17 kernel. One small issue with HDMI; a video= bootargs line is needed in order to set the display mode. The WBQUAD glmark2, glmark2-es2, glxgears, and es2gears tests all worked well. Testing still is needed for WBDUAL and WBSOLO.

Audio - Tested headphone jack using gstreamer ogg vorbis playback. Tests still needed for S/PDIF out, microphone in, line in, and HDMI audio.

HDMI - Seeing a problem that is probably X11 related. The system defaults to a funny resolution: 1024x768, even though the panel used is an HD panel at 1920x1080, and even when the video= bootarg is set.

Feb 26, 2014:

WLAN - Adding RFKILL patch works. WLAN is now functional.

Test branch updated: https://github.com/wandboard-org/linux/commits/wandboard_imx_3.10.17_1.0.0_beta_test


Mar 24, 2014:

Updated kernel and instructions. Fixed the SGTL5000 driver issues.

Apr 23, 2014:

Updated kernel by rebasing it against Freescale's 3.10.17_1.0.0_ga kernel (general availability release). This fixed a number of existing problems with HDMI and HDMI audio. Now, HDMI defaults to a high resolution (1920x1080), DVI-HDMI also works. EDID is still a problem, but I believe this to be an issue with Freescale's HDMI EDID driver.

Test Plan

Serial Port

Functional test using the console port ttymxc0.

LAN Networking

Functional test using gigabit LAN port. Default mode is to dynamically fetch an IP address. Pass if IP address is able to be fetched and assigned, and device is able to interact with other devices on LAN, WAN, or further out to the larger Internet.

Wireless LAN Networking

Functional test connecting to a local router.
Steps (Using a router with WPA security)

Run wpa_passphrase to add passphrase to your wpa_supplicant.conf file.
 $ wpa_passphrase <your AP SSID> "Your passphrase" >> /etc/wpa_supplicant.conf 
Edit /etc/network/interfaces to make the wlan0 interface section appear like below:
 # Wireless interfaces
auto wlan0
iface wlan0 inet dhcp
        wpa-conf /etc/wpa_supplicant.conf
Turn on the interface (the driver should already be loaded if we built the image correctly)
 # ifup wlan0 
Run iperf as a server:
# iperf -s
On another host, run iperf as a client and point it to the Wandboard using the Wandboard IP address:
$ iperf -c <Wandboard Wifi IP address> 


HDMI

  • Yocto boot should show psplash screen
  • Yocto image core-image-x11 should show window
  • GL tests (glxgears, es2gears_x11, etc.) should function
  • Movie playback should work

GPU

GPU tests using glxgears, and es2gears_x11

Audio

Headphone/Line Out Test

Download the sample HD movie file from http://download.blender.org/durian/trailer/sintel_trailer-1080p.mp4 and copy to a USB flash drive.
Insert the USB drive into USB host connector. It should be detected and mount to /media/sda1
Then, connect headphones to the LINEOUT1 connector (closest to the serial port connector) and run gstreamer:

 gst-launch playbin2 uri="file:///media/sda1/sintel_trailer-1080p.mp4" audio-sink="alsasink device=hw:0,0" 
Line In
Microphone In
S/PDIF Out
HDMI Audio Out

Connect headphones to LINEOUT1 connector and run gstreamer:

 gst-launch playbin2 uri="file:///media/sda1/sintel_trailer-1080p.mp4" audio-sink="alsasink device=hw:2,0" 

MIPI CSI

Connect an OV5640-based MIPI CSI camera to Wandboard such as WandCam from Avnet.
Run Gstreamer to display camera output on HDMI interface:

root@wandboard-quad:~# modprobe mxc_v4l2_capture                             
root@wandboard-quad:~# lsmod'''<br>                                                    
Module                  Size  Used by                                           
mxc_v4l2_capture       22378  1                                               
ipu_bg_overlay_sdc      4224  1 mxc_v4l2_capture                             
ipu_still               1663  1 mxc_v4l2_capture                               
ipu_prp_enc             4895  1 mxc_v4l2_capture                               
ipu_csi_enc             3091  1 mxc_v4l2_capture                               
ipu_fg_overlay_sdc      5089  1 mxc_v4l2_capture                               
ov5640_camera_mipi     20774  0
root@wandboard-quad:~# gst-launch mfw_v4lsrc ! autovideosink

Yocto Setup Notes

Using the fsl-community-bsp.
Using the "master-next" branch. (i.e. repo init ... -b master-next)
Using core-image-x11 for graphics tests
Add the following to build/conf/local.conf:

CORE_IMAGE_EXTRA_INSTALL_append = "iperf glive gst-plugins-good-isomp4 \
memtester alsa-utils alsa-tools evtest imx-test perl lmbench glmark2 \
mesa-demos gst-meta-audio gst-meta-video gst-plugins-good-udp \ 
gst-plugins-good-rtp gst-plugins-good-rtpmanager gst-plugins-good-rtsp \
gst-plugins-good-video4linux2 libconfig wpa-supplicant dropbear"

Build the image using bitbake:

$ bitbake core-image-x11

Write the image to a microSD card:

$ sudo dd if=tmp/deploy/image/wandboard-quad/core-image-x11-wandboard-quad.sdcard of=/dev/sdb bs=1M

Known Problems

  • HDMI on X11 - setting goes to 1024x768 automatically, even though video= booting is set to different resolution. (Update: Fixed in GA kernel)
  • HDMI, EDID - Does not work.
  • Sound, HDMI - Playback is very slow, both on Aplay (raw audio) and Gstreamer. Playback of movie is also very slow. (Update: Fixed in GA kernel)