[Wing, P4350 ROM development] darkstar62:
Alright, here's an update.

I managed to get the stable version of the Angstrom distribution (http://www.angstrom-distribution.org) compiled for the Wing. It includes a Debian-style package manager, along with a nice graphical interface. Additionally, I've got tools for manipulating the I2C and GPIO busses, that will hopefully allow me to debug the whitescreen problems many of you are seeing.

I also compiled a new kernel that includes some additional functionality, as well as a working LED driver for the two leds at the top and the keyboard backlight. The vibrator works too, as well as the screen backlight (I2C manipulation manually only so far).

I created a tool to allow us to read and write the GPIOs on the CPU, so that should help us in getting things like bluetooth and wireless working (later on). I did find a bunch of I2C commands that cause and restore white-screen condition, so I'm hoping one of them fixes the problems we've had.

There's a root filesystem image for it all at:

http://dl.getdropbox.com/u/198699/linux_wing/image.tar.gz

The kernel can be found here:

http://dl.getdropbox.com/u/198699/linux_wing/zImage11

You'll need a Linux filesystem with about 300mb free on your SD card to install it. Here's what you need to do to install it (you'll need a Linux system for this, and I'm assuming you've already installed a linux system on your SD card. If not, download and install the image in the downloads section of http://wing-linux.sourceforge.net first):

Grab your SD card and attach it to your computer (through a reader or some other way)

Mount the 3rd partition (your Linux root partition). I'll assume the card is mounted at /media/disk.

Delete everything in it:

cd /media/disk
sudo rm -rf *

Untar the image.tar.gz file to your SD card. I'll assume the file is in $HOME:

cd /media/disk
sudo tar -xzvf $HOME/image.tar.gz

Unmount your SD card and return it to your phone.

As for the kernel, copy that to the directory your haret.exe file lives in and modify your default.txt file accordingly. The file should contain:

set MTYPE 1229
set KERNEL "zImage11"
set CMDLINE "debug psplash=false loglevel=7 root=/dev/mmcblk0p3 init=/sbin/init console=tty0 video=omapfb:accel fbcon=rotate:3"
log "earlylog.txt"
bootlinux

Once you've done all that, you should be able to boot Angstrom. This alone won't fix the white-screen problems you're seeing, but it'll give us the tools to try and debug it better (and you get a much more powerful linux environment to work with). The image also includes the Android sources, and the startAndroid and kill_android scripts which you can use to start android.

You should be able to ssh in to the phone the same way you have before, through the USB cable. The username and password are the same: root, and wing.

If you can't ssh in, try booting with the previous kernel you were using (just change the "set KERNEL" line back to what it was) -- angstrom should work fine with it, but the LED support won't be present.

Now, assuming all that goes well, try running the following commands (from your Linux computer):

ssh root@10.100.0.1
<enter the password>

That will log you into the phone. The commands after that will manipulate the hardware in your phone. Type each one one at a time, observing what happens to the phone. With any luck, one of them will restore your screen, and you'll see the Angstrom user interface:

i2cset -y 1 0x2f 0x70 0x01
i2cset -y 1 0x30 0x8e 0x01
i2cset -y 1 0x32 0xb0 0x01

You can also try some of these (won't do anything for the white-screen, but should produce some interesting results):

# Turn the slide-out keyboard light on
i2cset -y 1 0x30 0x8f 0x01

# Make the screen backlight dim
i2cset -y 1 0x30 0x89 0x01

# Make the screen backlight bright again
i2cset -y 1 0x30 0x8e 0x01

# Turn on the caps lock LED on
i2cset -y 1 0x30 0xae 0x01

# Turn on the vibrator
i2cset -y 1 0x32 0xb8 0x01

# The off the vibrator
i2cset -y 1 0x32 0xb0 0x01

Lemme know if any of that works for you (and which command did it). Hopefully one of the commands helps -- we can then take that and integrate it into the kernel so it gets applied at boot.