yashsingh1/xdaforums huggingface dataset:
[Android Software/Hacking General [Developers Only]] Girvo:
Top notch work so far! I'm guessing that there hasn't been much progress since?

May I ask what now needs to be done, because I'd love to help :)
[Android Software/Hacking General [Developers Only]] us1111:
Hi, because of lack of time, i'm not getting much further soon anyway.. I've looked into the kernel display driver (Sa1100.c??) to get the resolution and refreshrate on par with the samsung's screen. But due to the lack of time, no go. This is the information I gathered about the screen.

LCD Panel:

ELA UNIT-LCD UNIT ASSY(SGH_I90

QLC01

GH96-03195A

SGH-I900XKCDTM

[GH96-03195A]

Without proper refresh rate and resolution, the screen could be damages so that's the very first thing to fix in the kernel. Should'nt be too hard if you have an idea of what you're doing (unlike me;) )

I believe the next goal should be to run a minimal shell like busybox fromout the compiled kernel.
[Android Software/Hacking General [Developers Only]] oxiroxt:
When I run Haret, the screen freezes with the letters: Jumping to kernel... And it stops there.

I followed though all steps, however I had to "make menuconfig", then saved with the defaults, before "make Image". Could this be wrong?

Help, please?

Thanks,

oxi
[Android Software/Hacking General [Developers Only]] us1111:
Can you boot with this image?:

http://www.handhelds.org/moin/moin.cgi/hpipaq214Downloads

That should work.. If that works, you could try the compiled kernel. If it doesn't, there's something else wrong.
[Android Software/Hacking General [Developers Only]] oxiroxt:
LOL, with that image right after "jumping to kernel" the phone will start vibrating, and the flash will light up for a moment.

I wouldn't recommend anyone else to try this one. Doesn't feel so good xD

I appreciate your help thou :)

I'm wondering what could be wrong?

Thanks,

oxi
[Android Software/Hacking General [Developers Only]] oxiroxt:
I was thinking... maybe it has to do with the mem settings? But since those parameters are called ramaddr and RAMSIZE, I'd guess no... Anyways I got the 16gb version, anyone got it to work on this one? Maybe it only works for 8gb ver.???

Also, I'd like to know what root=179:2 means. I have tried it both from internal flash mem and microsd, same results, except it won't start vibrating for the latter.

cheers,

oxi
[Android Software/Hacking General [Developers Only]] chomi7:
I have the same problem. I have de 8Gb model. Can somebody help us please?
[Android Software/Hacking General [Developers Only]] oxiroxt:
So, it seems the problem has nothing to do with which model we have... either 8gb or 16

Maybe there's something different in our phones? I bought it in Spain, and (as I've seen in another forum your nationality) you might have bought it in Spain too?

Please, could anyone else report on this?

Thanks,

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

I don't know about hacking, but I tried to find any difference from your logs.

Hopefully this will mean something to you. It doesn't make any sense to me:

< Function '?GXOpenDisplay@@YAHPAUHWND__@@K@Z' in library 'gx' at 02A789EC
< Function '?GXCloseDisplay@@YAHXZ' in library 'gx' at 02A78DD8
< Function '?GXBeginDraw@@YAPAXXZ' in library 'gx' at 02A782A8
< Function '?GXEndDraw@@YAHXZ' in library 'gx' at 02A7836C
---
> Function '?GXOpenDisplay@@YAHPAUHWND__@@K@Z' in library 'gx' at 029E09EC
> Function '?GXCloseDisplay@@YAHXZ' in library 'gx' at 029E0DD8
> Function '?GXBeginDraw@@YAPAXXZ' in library 'gx' at 029E02A8
> Function '?GXEndDraw@@YAHXZ' in library 'gx' at 029E036C

< WinCE reports memory size 117440512 (phys=101994496 store=94134272)
---
> WinCE reports memory size 117440512 (phys=101404672 store=86523904)

I went through the haret docs and realized I can't watch the gpios nor irqs, but I can read the mem. Then how to write drivers for the phone once linux boots correctly for everybody?

edit: Please, anything I can do to gather info for you, ask away.

P.S: I apologize for flooding this forum. I realize it's intended for htc devices, as I'm the proud owner of a (bricked, not so proud) Uni.

Thanks,

oxi
[Android Software/Hacking General [Developers Only]] us1111:
I too have the flashing of the light, however after that, the kernel boots (be it in the wrong resolution) and shows some kernel information.
[Android Software/Hacking General [Developers Only]] vipwolf:
Cant start haret

Hi I have the DXHL3 firmware and cant even get haret to start. It just tells me that all parameters are set

Set Ramsize ...

Set cmdline ....

etc.

and then

Calling WSACleanup

Shuting down.

Anybody can help me in what step you undertook

I tried both my selfcompiled kernel as well as the one from handhelds.org for the IPAQ with both the IAPQ haret version and the stock version. Results are the same
[Android Software/Hacking General [Developers Only]] oxiroxt:
So, I'm thinking the problem might have to do with the firmware?

Could you, us1111 and chomi7 post your firmware version? And anyone else too, reporting whether they can get the ipaq image to boot or not?

You can check this in Settings->System->Version. Post the alphanumeric sequence after the slash in PDA.

I haven't flashed my device yet:

Can't boot.

XJHJ2

Thanks,

oxi
[Android Software/Hacking General [Developers Only]] us1111:
My firmware is:

i900DXIA1/QB01M Before that it was DXHL3.. Mine also flashes the flashlight while booting the kernel. Also the resolution is way off so the LCD screen makes a high pitch noise.. Like i said. That should be the first thing to work on (LCD settings are done somehow in SA1100.c)
[Android Software/Hacking General [Developers Only]] chomi7:
Actualy I have the HL2 and I try with the HJ6 and the same. With the hp image I have the flash and vibrate problem and then I compile my own image and this disapear but the kernel don´t run.
[Android Software/Hacking General [Developers Only]] vipwolf:
I found the error when booting

I found the erro why my image wont boot.

The default.txt postet earlier was missing one vital command

"Bootlinux" ;) so the full default.txt should look like this

set kernel "Image"

Set ramaddr 0xa0000000

Set RAMSIZE 0x04000000

Set cmdline "root=179:2 rootdelay=3 rw init=/sbin/init"

Set mtype 1653

Set kernelcrc 0

Set fbduringboot 1

Set forcefbduringboot 1

Bootlinux
[Android Software/Hacking General [Developers Only]] oxiroxt:
I've just tried with DXHL3. Still no luck :confused:

I got the usual flashing and vibration and the kernel won't load... :(

Gotta try to figure out what the real problem is...

Thank you so far,

oxi
[Android Software/Hacking General [Developers Only]] z720:
nobody continue to do more research?

I'm trying to download the git, it took me whole morning but still not yet completed. :mad:

really wish to see omnia in linux !!!:D
[Android Software/Hacking General [Developers Only]] dejfson:
linux ok, screen not ok

hi all,

i've compiled git version of kernel by using default config from the ipaq mentioned somewhere above in the thread. linux runs ok, however the driver for framebuffer is not working correctly as it does not recognize the resolution/clocks etc.

i wonder what type of framebuffer it is. i doubt about vesafb, i think that with pxafb we have better chance do to. I've been looking on the web for 240x400 displays, there are not many so I guess that by reading the datasheet like this one:

http://www.optrex.com/products/partdetail.asp?PartNumber=T-55149GD030J-MLW-AJN

we could estimate the parameters. I'm not sure whether I have correctly setup all the parameters, but i've tried this default.txt:

set kernel "Image"

Set ramaddr 0xa0000000

Set RAMSIZE 0x04000000

Set cmdline "root=179:2 rootdelay=3 rw init=/sbin/init video=pxafb:mode:240x400-16.active:pixclock:100000:pixclockpol:0:hsync:0:vs

Set mtype 1653

Set kernelcrc 0

Set fbduringboot 1

Set forcefbduringboot 1

Bootlinux

apparently the video=pxafb.... does not lead to correct solution (maybe the pxafb cannot be used, instead we would have to program a new driver for renesas r61509 as stated in datasheet of display)

in case of any progress i'm interested in more info...

just a quick hint: do not let the display work in malicious mode for a long time. if improper clock is setup, you can break your lcd by presence of DC voltage on the pixel cells.
[Android Software/Hacking General [Developers Only]] oxiroxt:
Hi,

I finally managed to make it boot!

It will boot in these cases:

*From internal memory(NOT 8/16gb mem):

*Without a MicroSD card inserted: Will boot MOST of the time, just not always

*With a MicroSD card inserted: Will boot SOMETIMES, sometimes not

*Connected via usb with activesync activated in the device to haretconsole:

It will boot from internal memory, as well as from the 8/16gb mem, by running the corresponding default script from haretconsole. Note that I have only tried once for each of these two later cases.

It won't boot:

*From 8/16gb memory

*From MicroSD card

At least, these cases apply to me.

Maybe you could try this to see if it boots, chomi7, and report :) As for the other people who made it boot before, maybe you want to confirm if this is the case? I mean, confirm you were making it boot from the internal memory... (possibly without a micro sd card inserted) :)

Some spare thoughts:

*dejfson: Someone posted a link in modaco to a samsung omnia service manual, with lots of info about the hardware. Here's the url to that thread: http://www.modaco.com/content/i9x0-...m/276182/samsumg-omnia-service-manual-leaked/ (Note that I'm not directly linking to the manual itself). I was hoping to find some useful info there to rewrite a driver for the screen if necesary. I'll be more than happy if you can do that earlier, as it will take a lot of time to me, or forever in the worst case :D

*I've read throu a thread about the guy who ported linux to ipaq214, that is Oliver Ford. I came to the conclusion that if you modify haret to make it recognize the device properly instead of as a "Default device", you should be able to get GPIOs readings and such... I don't see why doing simply that should work... It seems too simple. Again, maybe it's not that simple to make the changes to haret in order for it to recognize the device properly... I just don't know. Someone should look into this. I think it could prove useful.

*Even if we get a readable screen I feel that we should aim at communicating with the device so we can test things easily and quickly. My main concern is the user input in terminal, as the device doesn't have a hardware keyboard. I don't know if there are software keyboards for text mode nor how much effort that will take to implement, but I'm guessing a means of communicating with a pc would be easier than that. I'm thinking this may be even more important than solving the screen issue... well, if it weren't because of the risk of having the screen at bad sync for a long while... Maybe we can turn it off(the haretconsole commands for this will work) and focus on the communicating issue.

*I think I'm getting a kernel panic "unable to open root device" blah blah, but I'm not sure, as I can barely read the screen. Are you guys getting that too?

Oh, by the way I have just tried the ipaq214 image. Tomorrow I'll compile one and try it...

Cheers,

oxi
[Android Software/Hacking General [Developers Only]] z720:
i successful to fix the screen resolution,

I use the ipaq214 config as normal, open the /arch/arm/mach-pxa/hpipaq214-lcd.c changed the .xres = 240 and .yres = 400, .pixclock = 96153.

after make Image i'm able to see the penguin. Not sure this is correct:confused:

But the kernel stop at "Driver 'sd' needs updating - please use bus-type method.

I dont think this is an issue.

Any idea?
[Android Software/Hacking General [Developers Only]] Verrigan:
I don't know if this will help with the SD card issue or not... But the android image from Majister's Titan setup handled my 8GB msdhc card just fine, and every other kind of card I threw in my titan when I had it. Majister's Titan Android: http://magister.ipsys.net/lang/en/projects/android-for-titan/

I can't wait to see Android on my Omnia.. Looks like progress is being made rather quickly. :)
[Android Software/Hacking General [Developers Only]] us1111:
Nice going! Out of curiousity, how did you determine the pixclock?
[Android Software/Hacking General [Developers Only]] z720:
I'm now able to fix the Driver "sd" issued. Just commented out the scsi driver, which are not use at all.

Now kernel able to boot until portion looking for root folder.

I try to fix the default.txt with many option but still fail to get the kernel found the root.

i'm using micro sd, so my sd detect as mmcblk0. Im partition the sd to 2 partition, 1 is mmcblk0p1 for Fat, another mmcblk0p2 for ext3.

so I try to set the

root=/dev/mmcblk0p2 -- fail

root=uuid -- fail

root=/dev/mmcblk0 -- fail

i'm out of idea but will still keep trying other method.

helo us11111

try to get the ipaq214 config from your mentioned site.

then goto /arch/arm/mach-pxa/hpipaq214-lcd.c

search for .yres ; .xres an .pixclock.

.pixclock = 96153,

//.pixclock = 110000,

.xres = 240,

.yres = 400,

.bpp = 16,

and recompile the kernel.

Hope this help.
[Android Software/Hacking General [Developers Only]] oxiroxt:
Hey, great job, z720!

I'm going to try this right now :)

pixclock = hfreq * htotal ( http://linuxconsole.sourceforge.net/fbdev/HOWTO/3.html )

We're missing the horizontal "refresh" rate. Couldn't find anything about the lcd, beyond its s/n.

I read that lcd screens do not actually have a refresh rate because they just keep displaying an image continuously for as long as there isn't any changes in the image. So I guess in such cases the hfreq value refers to the times the lcd can update in a second. Then I don't see how setting a low hfreq value could damage the lcd... Also, I calculated the freq being used by the ipaq214 and it seems way too high o_O I just don't know

Cheers,

oxi
[Android Software/Hacking General [Developers Only]] us1111:
Hmm.. Don't you need the scsi driver to acces the SD card itself? Also, could you please post your .config file? I lost mine while cleaning up my virtual machines :(

By the way.. I also updated the first post with information found in several posts.. I used your screenshot z720, hope you don't mind?
[Android Software/Hacking General [Developers Only]] giorgosm:
I have found this for ASUS P535. Im not so sure but couldnt be work for omnia also?

Here is the youtube video: http://www.youtube.com/watch?v=0GZwguPJCmI

Execution Files for ASUS P535: http://cid-6fac71b8e8cee5b6.skydrive.live.com/self.aspx/android/AndroidOnP535.rar

Seems that more functions work on Asus.

There are steps how to do it but shown for Asus. I guess it can be similar to all WM devices.

There are nice instructions here but i dont have the time to work on this one and not so experienced on Linux.

Check the instructions here: http://sites.google.com/site/siteofhx/Home/android/android-porting-steps/english
[Android Software/Hacking General [Developers Only]] us1111:
Looks like I can see the partitions on the memory card:

here are the available partitions:

b300 5970432 mmcblk0 driver: mmcblk

b301 5966336 mmcblk0p1

b308 7864320 mmcblk1 driver: mmcblk

kernel panic... Unable to mount root fs..

I have a 6GB storage card with 1 partition, so that works out! Next thing is repartition and reformat with ext2 and compile a busybox init/shell...

Also slowed down the kprints so you can actually read the messages that normaly fly-by:

enable CONFIG_BOOT_PRINTK_DELAY

add the following to the kernel arguments:

set kernel "Image"

Set ramaddr 0xa0000000

Set RAMSIZE 0x04000000

Set cmdline "root=mmcblk0p1 rootdelay=10 rw init=/ash lpj=loops_per_jiffy boot_delay=100"

Set mtype 1653

Set kernelcrc 0

Set fbduringboot 1

Set forcefbduringboot 1

Bootlinux
[Android Software/Hacking General [Developers Only]] oxiroxt:
Argh... back to start :(

I am unable to boot my self compiled kernel. It compiles fine, but it just won't work. Tried with the default .config, and with arch/arm/configs/zylonite_defconfig and arch/arm/configs/littleton_defconfig. I just did "make menuconfig", save and exit, then "make Image". Of course, I have alredy made the changes regarding the toolchain and platform to Makefile.

I get not flash light, no nothing, just a dull "Jumping to kernel..." :(

Help please? :_(

Glad to hear that us1111.

Edit: Would you lend me your .config file, please? Or point out what I might be doing wrong? Thanks

BTW, shouldn't we register a new mtype and derive from Oliver's work, if we're already modifying drivers?
[Android Software/Hacking General [Developers Only]] us1111:
When you do a

# make vmlinux
# file vmlinux
vmlinux: ELF 32-bit LSB executable, ARM, version 1 (SYSV), statically linked, not stripped

Do you see the same? I've attached the config.txt (rename to .config ofcourse).. This config works for me on "my storage". Also when I put haret and the kernel on local storage, I see the internal 8GB as mmcblk1.. However, it gives an error -110 I/O error on this storage device.

It sees the storage card, but cannot mount it somehow :( "Unable to mount root fs on unknown-block"
[Android Software/Hacking General [Developers Only]] oxiroxt:
Thank you very much us1111, your config file worked a treat :)

With the default config file (the one I got by simply running "make menuconfig" when there's none before), I get:

vmlinux: ELF 32-bit LSB executable, ARM, version 1, statically linked, not stripped

It's just missing the "(SYSV)" part afer "version 1".

With your config file I get exactly the same as you :)

I'll make a diff of your config file and the other one. I have so much to learn.

I made the changes that z720 said, and can see the screen correctly now :)

I'm a little bit worried about the pixclock setting. I don't know how much of an impact this has, nor how dangerous would be to leave the lcd on with an incorrect pixclock setting for a long time... I'd really like to know so I can breath easily :D

Unfortunately it still doesn't boot for me from "my storage", nor it does boot when a MicroSD card is inserted, but it does boot from the normal storage, so I guess it's okay to bypass this for the moment and focus on further development.

As for mounting, I'll try to create an ext partition on "my storage" and try to mount that. I just don't know how yet, lol. I remember trying a distro on my old htc uni, that didn't require any ext partition to run. I think it used a file in vfat to work as a partition. I guess it did that the same way virtual machine emulators do.

Once again, thanks us1111.

P.S: Can you hear a quiet beep too when you put the phone on your ear?
[Android Software/Hacking General [Developers Only]] us1111:
Glad to see it's working!! The more look at this, the better..

About mounting.. You should at least see messages about an MMC card being found. There should be a message about "driver mmcblk" and earlier in the process it should load the MMC driver.

If i'm correct, booting should be slowed down by the printk_delay and the kernel arguments (default.txt).

If we could somehow manage to read from a file or partition, we're at the point of rewriting drivers. From there on, things could go very fast.

I compiled an arm version of busybox with a shell, rclinux and init. It should run, if we only could recognize and use a partition.. You got me thinking however, maybe we can use an initrd.. Gonna try that asap.

About the beep, i think that has to do with the wrong pixclock.. Maybe someone smarter than me can figure out how to calculate the pixclock. Maybe read it from withing a running windows even..
[Android Software/Hacking General [Developers Only]] us1111:
YAH!!

I've been able to boot into a ramdisk and get the "press enter to enable console" message!!

Cross Compile busybox with static linking:

cd busybox-1.13.2/

Change Makefile to have the cross compiler active again:

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

Make the static busybox (make menuconfig first and disable all non wanted busybox commands, leave ash, init, rclinux and telnetd active for later use!):

# LDFLAGS="--static" CFLAGS="--static" make

root@JEOS:/ANDROID/busybox-1.13.2# file busybox
busybox: ELF 32-bit LSB executable, ARM, version 1 (SYSV), statically linked, stripped

Copy the busybox to the new initrd directory:

cp busybox /ANDROID/initrd

cd /ANDROID/initrd

ln -s busybox init

ln -s busybox ash

ln -s busybox rclinux

mkdir dev; mkdir sys ; mkdir proc

Make the initrd.gz ramdisk fromout the initrd directory

find . | cpio --create --'format=newc' | gzip >../initrd.gz

Copy it to the directory in which the kernel is placed...

Change default.txt cmdline:

Set cmdline "root=/dev/ram0 ramdisk_size=8192 rootdelay=5 rootwait rw init=/ash lpj=loops_per_jiffy boot_delay=100"

Boot and see why we need a keyboard now :( Next step is maybe auto configure network and start telnetd in the ramdisk :) Also, USB events are nicely logged on the console (attach/detach laptop) so in theory we have USB...
[Android Software/Hacking General [Developers Only]] z720:
good job us1111..

hope to see the linux screen on omnia soon..:cool:
[Android Software/Hacking General [Developers Only]] bootsan:
Hi everybody !!!

Very Good Job us1111 !!!! :)

Could you please upload your Image and busybox files ?

Or just the config file for the 2.

Thanks in advance !!
[Android Software/Hacking General [Developers Only]] roboticienfr:
Hi Everybody!

I'm also interested in the Image :) Could you upload it please.

Thanks in advance ;)

PS : It's my first message in this forum and I follow it every day. I want to congratulate you for all these jobs.
[Android Software/Hacking General [Developers Only]] us1111:
Hereby the files needed to run.. These files are for your own risk.

Files included:

default.txt

earlyharetlog.txt

image

initrd.gz

You'll need the haret from the first post:

http://www.oliford.co.uk/hpipaq214/files/h...aq214-aug08.exe

The initrd is changeable so you can test stuff yourself.. The used config file is posted earlier..

Please use the files and info for further development!
[Android Software/Hacking General [Developers Only]] z720:
hi us1111 try to download this "initrd-angstrom-console"

@

http://dx.infernix.net/kaiser/initrd-angstrom-console

you should able to see something excited :cool:

Currently dont have extra phone to snap pic, try to upload by this weekend.

with this cmdline

set CMDLINE "root=/dev/ram0 ro init=/init console=tty0 mem=94M"

but.......... stuck at touchscreen...:(
[Android Software/Hacking General [Developers Only]] us1111:
I agree... Does anyone know if we can configure TCP/IP on the USB cable?
[Android Software/Hacking General [Developers Only]] oxiroxt:
If I let the usb initialization uncommented, and set the config file to compile OHCI support it won't boot for me. Do you experience this problem too?

When I connect the device to my computer it's detected as a UHCI device... I don't know a thing about this, but I've read some devices implement UHCI and others OHCI depending on the motherboard. Could this mean the omnia board can only make the usb work as UHCI? If so, shouldn't we use another usb driver instead of that of the ipaq214? (There are several references to OHCI in the code)

Cheers,

oxi
[Android Software/Hacking General [Developers Only]] dejfson:
could somebody please post working .config and defaut.txt wrt to git gernel of hpipaq mentioned here? For me it was somehow working before, now i did some changes and it does not boot anymore

thanks
[Android Software/Hacking General [Developers Only]] us1111:
Actually, we did that allready! A few posts back is the complete haret environment and before that the config...At your service!