Developer notes for gen8

This page is a collection of some useful information for gen8 developers.

How to build the WLAN source provided by archos

Kernel module released at

Download the above mentioned sources.

cd .../hardware/ti/wlan/wl1271/platforms/os/linux

Now setup your environment by editing wl_env.bash or do it manually on the commandline in my case it was:

export CROSS_COMPILE=/usr/src/gen8/buildroot/build_arm/staging_dir/usr/bin/arm-linux- 
export ARCH=arm
export HOST_PLATFORM=zoom2
export KERNEL_DIR=/usr/src/gen8/buildroot/linux/ 

Then type make and wait a few minutes and you are done. The tiwlan_drv.ko will appear in .../hardware/ti/wlan/wl1271/platforms/os/linux This gives you only the module. I am still looking at how the tiwlan_loader needs to be compiled.

More info can also be found

Enable vrfb rotation

This is based on the modified archos kernel from bubu, but will probably be the same on others. OMAP3630 vrfb rotation needs to be enabled in the bootargs.

For the 101 in  linux.config on line 288 my bootargs are:

CONFIG_CMDLINE4="console=ttyS2,115200n8 androidboot.console=ttyGS0 extrabaud=1000000 init=/linuxrc debug omapdss.debug=1 vram=8388608 omapfb.vram=0:8388608 omapfb.vrfb=y omapfb.mode=lcd:1024x600MR-32@60 omapfb.debug=1 mmc_block.split=0.0001:512M"

I calculated the vram size: 2 (double buffering) x 4 (4 bytes/pixel ARGB) x 1024 (x-resolution) x 1024 (max y-resolution when rotated 90 or 270 degrees) = 8388608

If you only want to rotate 0 and 180 degrees: 2 x 4 x 1024 x 601 = 4923392 (I still need to figure out why I need to calculate in one extra pixel, if I don't the kernel will not boot)

Then when in debian other linux distros will probably be the same, you can rotate the display as follows: '

NOTE: you will need to have fbset installed.

$ sudo aptitude install fbset

NOTE: Omapfb driver for X will display what looks like 2 overlayed images with an y-offset so we disable it and use fbdev. If you are using Debian gen8 then you just do the following.

$ sudo mv /etc/X11/xorg.conf /etc/X11/xorg.conf.old
$ sudo /etc/init.d/gdm restart

Close X.

$ sudo /etc/init.d/gdm stop

Set display and virtual display size with fbset. For 0 and 180 degree rotation:

$ fbset -fb /dev/fb0 -xres 1024 -yres 600 -vxres 1024 -vyres 600

For 90 and 270 degree rotation:

$ fbset -fb /dev/fb0 -xres 600 -yres 1024 -vxres 600 -vyres 1024

Then set the rotation 0 (0) - 1 (90) - 2 (180) - 3 (270)

$ su
$ echo 1 > /sys/class/graphics/fb0/rotate

Start X

$ sudo /etc/init.d/gdm start