yashsingh1/xdaforums huggingface dataset:
[Android Software/Hacking General [Developers Only]] dejfson:
Thanks. I know about these. But from unknown reasons on one computer do not even compile:

<stdin>:1325:2: warning: #warning syscall ppoll not implemented

<stdin>:1365:2: warning: #warning syscall epoll_pwait not implemented

CHK include/linux/compile.h

CC arch/arm/mach-pxa/pxa3xx.o

arch/arm/mach-pxa/pxa3xx.c:230: error: 'CKEN_MMC3' undeclared here (not in a function)

make[1]: *** [arch/arm/mach-pxa/pxa3xx.o] Error 1

make: *** [arch/arm/mach-pxa] Error 2

(using arm-2008q3-72-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2)

on other computer using the same compiler it compiles (different config), however it does not work and stops when haret tries to run the kernel :(

any ideas why i get compilation error? anyone had the same issue?

thx

d.
[Android Software/Hacking General [Developers Only]] oxiroxt:
Hi, dejfson

CKEN_MMC3 seems to be defined in these files:

$ grep -ir "CKEN_MMC3" .
./include/asm/arch/pxa3xx-regs.h:#define CKEN_MMC3 5 /* < MMC3 Clock Enable */
./include/asm/arch-pxa/pxa3xx-regs.h:#define CKEN_MMC3 5 /* < MMC3 Clock Enable */
./include/asm-arm/arch/pxa3xx-regs.h:#define CKEN_MMC3 5 /* < MMC3 Clock Enable */
./include/asm-arm/arch-pxa/pxa3xx-regs.h:#define CKEN_MMC3 5 /* < MMC3 Clock Enable */

Maybe your Makefile is not pointing to the right include directory?

Maybe you have en environment variable set that is affecting the include directory passed onto gcc?

Try this:

make clean
make V=1 Image | grep "^ /.*gcc"

The include parameter (-I) should be pointing to the include directory in the same level as Makefile, that is: -Iinclude

Sorry, but for some strange reason it won't let me upload the zip file. BTW: How does one cross out some words? :confused:

I have disabled mmc support as I have been experiencing some strange behaviour lately, and

I wouldn't recommend using an ext2 partition on "my storage" anymore.

Stick with the initrd method for the moment :)

Also, lately sometimes all the lines in my screen will have an offset and start from the middle... I hope this doesn't mean we're damaging our screens or related hardware...
[Android Software/Hacking General [Developers Only]] Stefano_1986_:
Hi,

congratulations for your job!

I don't understand if is possible to start android on the omnia.

Is it now possible?

Best regards

Stefano
[Android Software/Hacking General [Developers Only]] z3ntn3l:
Or maybe the Ubuntu-Mobile? Is there a real chance that its possible or are you guys just playin' around with some small Linux-Code?

Sorry for the dumb question but i dont understand that much in this Thread :-) But it looks good ;-)
[Android Software/Hacking General [Developers Only]] dejfson:
Dear all,

i've found finally what is wrong. by repeating all the steps from the first page it works. so I started to look on a difference in initialization of lcd. In fact, oxiroct recommends another update of init of the display:

static void __init hpipaq214_init(void)

{

hpipaq214_init_lcd();

hpipaq214_init_mmc();

/*

hpipaq214_init_mfp();

hpipaq214_init_misc();

hpipaq214_init_lcd();

hpipaq214_init_mmc();

hpipaq214_init_keypad();

hpipaq214_init_nand();

hpipaq214_init_usb();

hpipaq214_init_audio();

hpipaq214_init_power();

//add the various platform devices

platform_add_devices(hpipaq214_devices, ARRAY_SIZE(hpipaq214_devices));

*/

}

this DOES NOT WORK FOR ME.

From unknown reasons it is mandatory to call initialization of audio as well, thus my routine looks like:

static void __init hpipaq214_init(void)

{

/*	hpipaq214_init_mfp(); */

// when misc running on omnia, it turn on the flash-lamp of the

// camera. therefore one of the gpios used in this routine turns it on

/*	hpipaq214_init_misc(); */

hpipaq214_init_lcd();

hpipaq214_init_mmc();

/*	hpipaq214_init_keypad(); */

/*	hpipaq214_init_nand(); */

/*	hpipaq214_init_usb(); */

hpipaq214_init_audio();

/*	hpipaq214_init_power(); */

//add the various platform devices

platform_add_devices(hpipaq214_devices, ARRAY_SIZE(hpipaq214_devices));

}

If audio init is called, the kernel works. Next step for me is to try initrd + busybox, then tcpip over usb if possible

hope it helps a bit
[Android Software/Hacking General [Developers Only]] us1111:
Well, the fun thing is that if we get the kernel working right (including drivers :cool:) then you can compile near to everyting for the phone.. As long as it doesn't take too much memory..

For example.. I have an Asus500g router.. The thing runs a custom mips Linux environment where I compiled darkstat to get a nice html page about my monthly internet usage..

As soon as the kernel works, evey binary/library you compile could run... The drivers are the hardest part in this..

The next step for example is to get USB working right and maybe do TCP/IP or TTY..
[Android Software/Hacking General [Developers Only]] us1111:
TTY Over USB

Found the following, Serial over USB is also a possibity

http://lists.denx.de/pipermail/u-boot/2004-October/007585.html:

On the PC and phone side, you need to configure the kernel to support USB

serial devices. Assuming you are using "make menuconfig"

or "make xconfig", go to "USB Support" section and enable the options

as follows ("M" means "enable as a loadable module"):

If, and only if, "Support for USB is set to <N>, then:

- Support for USB <M>

Also enable the /proc filesystem for USB:

- Preliminary USB device filesystem <Y>

Then choose a driver for your USB controller and enable it as module,

i.e. exactly one of the following:

- UHCI (Intel PIIX4, VIA, ...) support <M>

or

- OHCI (Compaq, iMacs, OPTi, SiS, ALi, ...) support <M>

Then go to "USB Serial Converter support" subsection and enable:

- USB Serial Converter support <M>

- USB Generic Serial Driver <Y>

Next, recompile the kernel and install kernel itself and modules as

usual.

On the host side, you need to load kernel modules, exactly in the

following order, by typing:

insmod [host controller driver]

insmod usbserial vendor=0x0451 product=0xe003

Then re-plug the USB cable and examine log files (usually somewhere

in

/var/log, check your /etc/syslog.conf) on the host system. You should

see something like the following (date and host name fields are

skipped):

kernel: hub.c: USB new device connect on bus1/1, assigned device

number 9

kernel: usb.c: kmalloc IF c0f74ec0, numif 1

kernel: usb.c: new device strings: Mfr=1, Product=2,

SerialNumber=0

kernel: usb.c: USB device number 9 default language ID 0x4e3e

kernel: Manufacturer: Texas Instruments

kernel: Product: TI PET Bootloader

kernel: usbserial.c: Generic converter detected

kernel: usbserial.c: Generic converter now attached to ttyUSB0

(or usb/tts/0 for devfs)

kernel: usb.c: serial driver claimed interface c0f74ec0

Now you can run minicom with your usb configuration: 'minicom usb'.

You should

see the first few lines of your u-boot console.
[Android Software/Hacking General [Developers Only]] oBADGERx:
Youtube video?

Would it be possible to see the current boot status in a video?

Maybe someone could upload one to youtube please?

I just want to see how this works. I really want Android on my omnia :D
[Android Software/Hacking General [Developers Only]] AkshayGenius:
Looking good guyz, although I don't understand what your're doing, it seems to be pretty usefull.

Keep it up,

Akshay
[Android Software/Hacking General [Developers Only]] pistax:
hello to everyone and very compliments for the good work made!

I'm sorry for my english

I need help about make images of kerner.

I follow the instructions in the first page of this post but i have a problem with the cross compiler.now i explain:i have installed the cross compiler arm-2008q3-72-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2 but in the folder /usr/local i don't find no folder xscale:confused:

how to change written the make file

ARCH ?= arm
CROSS_COMPILE ?= /usr/local/xscale/arm-2008q3/bin/arm-none-linux-gnueabi-

but i find the folder /usr/local/arm-2008q3/bin/arm-none-linux-gnueabi- so i changed the make file in

ARCH	?= arm
CROSS_COMPILE	?= /usr/local/arm-2008q3/bin/arm-none-linux-gnueabi-

but when i try to build make image i find the following error:

andrea@ubuntu:~/Desktop/android/v4$ make image
HOSTCC scripts/basic/fixdep
HOSTCC scripts/basic/docproc
HOSTCC scripts/kconfig/conf.o
HOSTCC scripts/kconfig/kxgettext.o
SHIPPED scripts/kconfig/zconf.tab.c
SHIPPED scripts/kconfig/lex.zconf.c
SHIPPED scripts/kconfig/zconf.hash.c
HOSTCC scripts/kconfig/zconf.tab.o
HOSTLD scripts/kconfig/conf
scripts/kconfig/conf -s arch/arm/Kconfig
make: *** No rule to make target `image'. Stop.
andrea@ubuntu:~/Desktop/android/v4$

thanks to everyone by by
[Android Software/Hacking General [Developers Only]] dejfson:
pistax, to your questions:

for first problem you did right. compiler can be installed wherever. I have it in /opt/arm, thus my path in Makefile is /opt/arm/bin/arm-none-linux-gnueabi-

to second question: linux is case sensitive. Therefore you have to call it 'make Image'. Just in case, 'make' itself works as well. Your image is then stored in ./arch/arm/boot/Image

hope it helps
[Android Software/Hacking General [Developers Only]] dejfson:
here you go:

http://www.youtube.com/watch?v=5bWSX3WDcrU
[Android Software/Hacking General [Developers Only]] dejfson:
not getting busybox right

hi us1111,

i have few questions. could you post your config from busybox please? i'm not getting the same results. there is something not quite right about serial port devices. when system boots, it declares existing ttyS0, ttyS1 and ttyS2 (FFUART,BTUART,STUART), however in the recipe you copy from your system pc folders to ttys1..ttys4. these are not existing on my system (gentoo), where I have only ttyS0..ttyS3. when I create links to initrd/dev/ttyS0, or I make them by mknod and try to run the system from such initrd, i get 'almost' the same results as you, i.e. it says 'Please enter to activate this console...', however it does not stop there, instead it continues complaining about missing /dev/tty4 (?). I have no clue where the /dev/tty4 comes from when I declared everywhere only serials in form /dev/ttySx. Therefore I think that this is a problem of busybox configuration.

Another unresolved issue for me is the /etc/init.d/rcS file. I tried to compile busybox with stty and i have created in the ramdisk the rcS file containing queries for these serial ports:

rcS:

/stty -F /dev/ttyS0

/stty -F /dev/ttyS1

/stty -F /dev/ttyS2

to my surprise, whatever I did, either the system claimed that 'no such file or directory', or in one particular case I got 'permission denied' error.

by this exercise I wanted to see whether the serial ports are correctly recognized by system and what is their setting

i guess if we want to use serial console, it must be the one connected to ttyS0 (FFUART) as the others are dedicated to other things....

any ideas?

d.
[Android Software/Hacking General [Developers Only]] us1111:
Hi, I've included my complete /dev files. Hope this helps. About the busybox executable.. I've only disabled what I don't need. Maybe enable as much as possible may be a better idea in the beginning..
[Android Software/Hacking General [Developers Only]] us1111:
And the busybox config...
[Android Software/Hacking General [Developers Only]] dejfson:
another stuff

ok, previous problem with tty was resolved. stupid me. i was supposed to copy/mknod tty0-tty5, not ttyS0. console now works for me, I have compiled busybox with depmod stuff to be able to insert serial module and made /etc/init.d/rcS script as follows:

#!/bin/sh

# configuration file for initramdisk

# let's see what is the default configuration for serial ports:

/bin/echo "Starting sysinit script for kerner"

/bin/uname -a

/bin/echo "Inserting usb serial:"

/sbin/depmod -ae

/sbin/modprobe /lib/modules/2.6.26-rc8-arm-dejfson/kernel/drivers/usb/serial/usbserial.ko vendor=0x0451 product=0xe003

/bin/echo "creating node:"

/bin/mknod /dev/ttyUSB0 c 188 0

/bin/echo "Sysinit finished"

it works until modprobe. the modprobe fails with 'operation not permitted'. have no clue why.

of course consecutive mknod fails as well with 'operation not permitted'. it is questionable whether second error is due to non-existent ttyUSB0 link from serial driver, or it is caused by the same thing as modprobe call.

ideas?
[Android Software/Hacking General [Developers Only]] us1111:
Nice work so far! A few things that pop up in my head, maybe there's something that could help:

- Does depmod give any errors?

- Is your kernel module from the same build time as the kernel itself?

- Just to be sure, are you sure you're root?

- Is the RAm filesystem read/write?

You could try to see what dmesg is saying.. So maybe a tail of dmesg at the end of your rcS script?

If all else fails.. What about compiling the usbserial into the kernel for now? As soon as we have tty access to the system, we can debug a LOT easier.
[Android Software/Hacking General [Developers Only]] oxiroxt:
Hi there,

No progress on my side... :mad:

I've crosscompiled lsusb, lspci(yeah, so what -_-) and lshw to no avail. Got no sensible info at all, and darn you bet I had to make some tweaks to make them compile. Just trying to get some info. Maybe this was a stupid idea and waste of time. :o

Of course I mount /proc, and "ls -lhR /proc" will throw some directory hierarchy of some sort. Maybe I should save mounted /proc to the "my storage" partition so I can examine it thoroughly...

I've included all usb serial and network related stuff in the kernel...

I just don't know what direction to take from here (maybe try a usb driver that makes use of uhci), but I think that if the kernel can't see the device usb ports, nothing that makes use of usb will work. Maybe not.

Looking forward to your comments,

oxi
[Android Software/Hacking General [Developers Only]] dejfson:
okay, i've found the problem with modprobe. it did not incude modues due to improper owner of the files. when i have installed the modules into initrd, i've put them under my login. that's wrong. you have to chown -R root:root all the modules

now i'm fighting with usb gadget driver on omnia to be able to use usb over serial - if possible. so far no success as omnia refuses to load g_serial module

d.
[Android Software/Hacking General [Developers Only]] dejfson:
hi oxitoxt,

what you mean no sensible info? did lsusb/lspci return some information? or it just crashed?

d,
[Android Software/Hacking General [Developers Only]] oxiroxt:
Hi, dejfson

They do work fine, it's just there's no output from lsusb nor lspci :(

lshw will return just this (copied by hand):

_none_
description: Computer
width: 32 bits
*-core
description: Motherboard
physical id: 0
*memory
description: System memory
physical id: 0
size: 106MiB
*cpu
physical id: 1
bus info: cpu@0

No much use :(

Cheers,

oxi
[Android Software/Hacking General [Developers Only]] dejfson:
serial over usb

Dear all,

i've tried to dig a bit into usb-serial conversion. Well, in fact i did not make it running. Did you, us1111, made it running? I think that there is one major problem. The USB to serial works (according to what i understood) in the way, that on the phone one has to modprobe serial gadget (g_serial module). Then on PC you do modprobe usbserial with some fancy parameters and you should get a new usb device registered so you can use it with minicom.

I've tested to import the g_serial device. It does not work and when modprobed, it claims that 'device does not exist'. This seems to me rather logic as when one compiles the usb gadget, the correct chipset must be provided. The problem is, that omnia contains USB3319 chip to perfoms the usb communication. The gadget driver for this chip was not written so far. Thus I guess that until we are capable to communicate to usb3319, there is no way to make it running. Am i right?

another stuff is, that apparently some series of ipaq21x have this chip as well. However i was looking into sources for usb for ipaq and i didn't find any info about this chip..

any ideas?
[Android Software/Hacking General [Developers Only]] Stefano_1986_:
Hello,

I don't know if this news may be useful,

but look here.

This phone is similar to our omnia and its operating system is android.

processor OMNIA = Marvell PXA 312 (624 MHz)

processor DSTL1 = Marvell PXA 310 (624MHz)+NXP 5209

screen resolution OMNIA = WQVGA / 260K Colors / 240 x 400 pixels

screen resolution DSTL1 = WQVGA / 260K Colors / 240 x 400 pixels

bye
[Android Software/Hacking General [Developers Only]] us1111:
To be honest.. I'm thinking about dumping my omnia.. I'm finding out that mine has too many quirks phone and pda wise.. Since 2 days the phone part seems to be defective.. I'm using my spare SE750i now and suddenly I can understand people as they are speaking to me through the phone..

So don't expect much input from me from now on.. I'm sorry for that... Hope very much that you get further though.. Maybe the wireless driver is an easier path?

Again, sorry for bailing out on this one and not helping much!
[Android Software/Hacking General [Developers Only]] whiplash000:
Wow I'm glad I found this topic. I knew someone had to be working on this. I can help you guys out by (attempting to) disassemble WM's drivers to speed up the process of porting the kernel to the Omnia's hardware. What's the project's current status?
[Android Software/Hacking General [Developers Only]] dejfson:
hi whisplash000,

good to have another soul to help. current status of the project is 'nothing'. it means that we have progressed so far to run linux kernel, however we do not have for the moment any means how to write by remote on ttys. i think that usb-serial way is quite complex to do for the moment. maybe wireless is the way.

if you know how to decompile xip files back into DLL, that would help a lot as wm6 contains zylonite_usb2 driver which is linked to ceddk xip. i'm not so good hacker to be able to reconstruct it in IDA and find how the driver initializes usb chip and what gpios it uses
[Android Software/Hacking General [Developers Only]] whiplash000:
I'll look into the usb drivers WM uses and see what I can pick up from that. Also, why not just use the touchscreen and get an onscreen keyboard? Do you need to upload stuff? Also, how do I partition my storage to hold the rootfs along with being able to use half of it with WM?

The xip you're looking for is located in the kernel, right? Where are all the drivers embedded into? I haven't been able to dump anything useful from my i910 probably because the tools were designed for the i900. If you know how to dump the kernel image, I can look into it
[Android Software/Hacking General [Developers Only]] z720:
I agreed with whipash000. we need to get the touchscreen to work 1st.

Im still trying on searching for the generic touch screen kernel driver..but dont know which manufacturer..
[Android Software/Hacking General [Developers Only]] dejfson:
driver for touchscreen should work. it is the same chip as in ipaq and the driver (wm9713) is there. therefore one should write down _application_ of on screen keyboard.

i've sent request for usb datasheet. if i get it, i'll try to write down the driver. meantime, investments into touchscreen keyboard is the way
[Android Software/Hacking General [Developers Only]] dejfson:
Stefano_1986_, good hint. problem is that i did't find a single piece of information or source code on this mobile :(
[Android Software/Hacking General [Developers Only]] z720:
Im try to use the linux ramdisk rescue to install the linux once successeful boot to the below img part, i'm stuck because of touchscreen.. no keypad to choice the option :mad:
[Android Software/Hacking General [Developers Only]] us1111:
By the way.. Keypad is only possible if you have a running X... As far as I know.. The USB-tty/Wireless is the way to go imho..
[Android Software/Hacking General [Developers Only]] dejfson:
well, theoretically it should be possible as well for frame buffer, right? so if we'd be able to compile e.g. directfb, then it should be ok. but this seems to me harder work than implementing usb driver.

question is whether the wifi connection works out of the box. could someone test it? ipaq is claimed to have good wifi support. we are using the same chipset
[Android Software/Hacking General [Developers Only]] SiLviO_:
might this help?

I'm very newbie and i dont know anything about linux but I saw some touch drivers.

http://www.elotouch.com/Support/Downloads/dnld.asp
[Android Software/Hacking General [Developers Only]] [opensys]:
stuck in fs mounting

Hello,

I try to bot the android in my omnia from a compiled source with the correct modifications, like lcd refresh, and others. Now the device stuck in fs mounting.

with the hp utility is possible to add a fs image file?

my default.txt have this lines:

set kernel "Image"

Set ramaddr 0xa0000000

Set RAMSIZE 0x04000000

Set cmdline "root=mmcblk0p1 rootdelay=10 rw init=/ash"

Set mtype 1653

Set kernelcrc 0

Set fbduringboot 1

Set forcefbduringboot 1

Bootlinux

Im now on linux at 8 years and i really interested in put the android in my omnia.

see the image in attachment.
[Android Software/Hacking General [Developers Only]] dejfson:
Hi opensys,

so far apparently to somebody in this thread it is not recommended to boot from fs, i did not test this so far. all the attempts are still in initial ramdisk + busybox.
[Android Software/Hacking General [Developers Only]] pistax:
i'm sorry i'm late with the answer.

thank you very much for your help;)

it' all right thanks dejfson.
[Android Software/Hacking General [Developers Only]] [opensys]:
ok

now i get press enter to enter in the console.

I found this was miss and is not in forum

in default.txt need the line: initrd "initrd.gz"

now have the file system

in the some last lines i get:

cannot run /etc/init.d/rcS

i create it and set execution permissions but he do not detect it.

I also get errors that can't get the /dev/ttyX. I create it on dev no more show up in console.

this script will be able do run some programs in busybox like ifconfig to get the serial port working, because i knows that this device have also a network controller thats belong to NE2000, that used to work with the activesync and if he working, may have include some telnetd server on device.
[Android Software/Hacking General [Developers Only]] z720:
im screw the Image, now stuck @ kernel bootinng :confused:

not able to figure out what's wrong where i did wrong. :(

Could somebody share with me the .config and hp214*.c :o
[Android Software/Hacking General [Developers Only]] [opensys]:
I try to build one usb converter thats permit me to connect the omnia to a external usb keyboard, but no luck the keyboard leds blinks, but no action on wm or android. i also get some information about the usb3319, this ic is responsible to switch the usb connection at two ways and power some device parts. This is the switch that works with the card storage or data link usb like the network controller ne2000, so this driver is needed at all to get some serial port working by the usb cable or any communication from it.

The pdf of usb3319 is in this url:http://www.smsc.com/main/datasheets/3319db.pdf.

The file arch/arm/mach-pxa/hpipaq214-usb.c have some clues.

So the only way is put the BT device working or the wireless network card named sychip jaguar to get a serial port. Other things included is dissembled the device and get the serial port from the gps module or make other hard hacks on the device board.

The data sheet service mode for Samsung SGH-i900 omnia: http://www.palmpc.cz/soubory/1229854/SGH_i900_service_manual.pdf.

find also that to the usb have working he needs +5v on usb3319 to detect some device connected.