[PRJ][OS]Linux and Android on HTC Diamond "NOT YET WORKING"

Search This thread

espenfjo

Senior Member
Jul 24, 2008
396
2,239
Oslo
Ok..
After doing some debugging i can confirm that Haret is not the problem (although it have some problems with the FB).
Haret goes all the way to this point
Code:
// Disable MMU and launch linux.
mmu_trampoline(physAddrTram, virtAddrMmu, bm->physExec, Mach->flushCache);

Code:
void mmu_trampoline(uint32 phys, uint8 *mmu, uint32 code, void (*)(void))
@ In:   r0 = Physical address of this function
@       r1 = Virtual address of MMU in non-cached ram.
@       r2 = Physical address of code to jump to
@       r3 = cpu flush cache function
The odd thing is that i cant find the value in r2(uint32 code) any place in the logs.

Anyways..

Ill start debugging the linux kernel now, add debug functions to the early boot there, see if i can get any info that the kernel is loading at all (im no developer, so the only thing i can do is this work :)


EDIT:
Ill attach my log aswell.. Should be funny for most of you to read my debuging info :) Guess you have to read the code to understand most of them ;)
And maybe someone can point out something i dont understand.

Code:
===== HaRET pre-0.5.2-20080814_012449 =====
Setting KMode to true.
Old KMode was 0
Finished initializing output
Loading dynamically bound functions
Function 'AllocPhysMem' in library 'coredll' at 03F62EE8
Function 'FreePhysMem' in library 'coredll' at 03F62F54
Function '?GXOpenDisplay@@YAHPAUHWND__@@K@Z' in library 'gx' at 029929EC
Function '?GXCloseDisplay@@YAHXZ' in library 'gx' at 02992DD8
Function '?GXBeginDraw@@YAPAXXZ' in library 'gx' at 029922A8
Function '?GXEndDraw@@YAHXZ' in library 'gx' at 0299236C
Function 'LoadLibraryExW' in library 'coredll' at 03F63090
Function 'NLedSetDevice' in library 'coredll' at 03F8A590
Function 'GetSystemPowerStatusEx2' in library 'coredll' at 03F69A14
Function 'SleepTillTick' in library 'coredll' at 03F62FB0
Function 'CreateToolhelp32Snapshot' in library 'toolhelp' at 02FC605C
Function 'CloseToolhelp32Snapshot' in library 'toolhelp' at 02FC607C
Function 'Process32First' in library 'toolhelp' at 02FC6140
Function 'Process32Next' in library 'toolhelp' at 02FC61AC
Function 'Module32First' in library 'toolhelp' at 02FC6340
Function 'Module32Next' in library 'toolhelp' at 02FC63B0
Function 'Heap32ListFirst' in library 'toolhelp' at 02FC644C
Function 'Heap32ListNext' in library 'toolhelp' at 02FC64D4
Function 'Heap32First' in library 'toolhelp' at 02FC656C
Function 'Heap32Next' in library 'toolhelp' at 02FC6620
Unable to load library 'ace_ddi'
Unable to load library 'ace_ddi'
Unable to load library 'ace_ddi'
Unable to load library 'ace_ddi'
Unable to load library 'ace_ddi'
Unable to load library 'ace_ddi'
Unable to load library 'ace_ddi'
Unable to load library 'ace_ddi'
Detecting current machine
Trying to detect machine (Plat='PocketPC' OEM='HTC Touch Diamond P3700')
Wince reports processor: core=MSM7201A-528MHz name=?^?? cat= vend=QUALCOMM
Looking at machine Alpine
Looking at machine Apache
Looking at machine AximX50
Looking at machine AximX5
Looking at machine Beetles
Looking at machine Blueangel
Looking at machine Himalaya
Looking at machine Magician
Looking at machine Universal
Looking at machine H1910
Looking at machine H1940
Looking at machine H2200
Looking at machine H3600b
Looking at machine H3700
Looking at machine H3800
Looking at machine H3900
Looking at machine H4000
Looking at machine H4300
Looking at machine H5000
Looking at machine H6340
Looking at machine HX2000
Looking at machine HX4700
Looking at machine Sable
Looking at machine Wizard
Looking at machine Hermes
Looking at machine Trinity
Looking at machine Athena
Looking at machine G500
Looking at machine Artemis
Looking at machine Herald
Looking at machine Prophet
Looking at machine RX3000
Looking at machine Treo700wx
Looking at machine e310
Looking at machine e740
Looking at machine Acer_n30
Looking at machine Mio_P550
Looking at machine Kaiser
Looking at machine Loox5xx
Looking at machine Loox400
Looking at machine MioA701
Looking at machine Wallaby
Looking at machine Jornada820
Looking at machine H3100
Looking at machine H3600a
Looking at machine Tornado
Looking at machine Libra
Looking at machine Generic Intel PXA27x
Looking at machine Generic Intel PXA
Looking at machine Generic Intel StrongArm
Looking at machine Generic TI OMAP
Looking at machine Generic TI OMAP15xx
Looking at machine Generic Samsung s3c24xx
Looking at machine Generic MSM7500
Looking at machine Generic Atlas
Looking at machine Generic ARM 920t
Looking at machine Generic ARM 926
Looking at machine Generic ARM v6
Looking at arch Generic Intel PXA27x
Looking at arch Generic Intel PXA
Looking at arch Generic Intel StrongArm
Looking at arch Generic TI OMAP
Looking at arch Generic TI OMAP15xx
Looking at arch Generic Samsung s3c24xx
Looking at arch Generic MSM7500
Looking at arch Generic Atlas
Looking at arch Generic ARM 920t
Looking at arch Generic ARM 926
Looking at arch Generic ARM v6
Detecting ram size
WinCE reports memory size 134217728 (phys=120619008 store=119324672)
Mapping mmu table
Build L1 reverse map
Found 248 uncached and 157 cached L1 mappings (ignored 108).
Not registering command IGPIO
Not registering command WG|PIO
Not registering command GPLR
Not registering command GPDR
Not registering command GAFR
Not registering command GPIO
Not registering command GPIOST
Registering command LOADLIBRARYEX
Registering command NLEDSET
Not registering command TRACE
Not registering command TRACEMASK
Not registering command TRACE2
Not registering command TRACETYPE
Not registering command TRACE2TYPE
Not registering command TRACEFORWATCH
Not registering command INSN
Not registering command INSNREENABLE
Not registering command INSNREG1
Not registering command INSNREG2
Not registering command INSN2
Not registering command INSN2REENABLE
Not registering command INSN2REG1
Not registering command INSN2REG2
Registering command KILL
Registering command PS
Registering command LSMOD
Registering command ADDR2MOD
Not registering command AC97
Not registering command ATIDBG
Initializing for machine 'Generic ARM v6'
Welcome, this is HaRET pre-0.5.2-20080814_012449 running on WindowsCE v5.2
Minimal virtual address: 00010000, maximal virtual address: 7FFFFFFF
Detected machine Generic ARM v6/generic (Plat='PocketPC' OEM='HTC Touch Diamond P3700')
CPU is ARM ARM arch 6 stepping 2 running in system mode

Enter 'HELP' for a short command summary.
Running WSAStartup
Starting gui
In initdialog
Found machine Generic ARM v6
executing startup.txt
Setting KMode to true.
Old KMode was 0
Incoming connection from 10.0.0.1:37725
Welcome, this is HaRET pre-0.5.2-20080814_012449 running on WindowsCE v5.2
Minimal virtual address: 00010000, maximal virtual address: 7FFFFFFF
Detected machine Generic ARM v6/generic (Plat='PocketPC' OEM='HTC Touch Diamond P3700')
CPU is ARM ARM arch 6 stepping 2 running in system mode
Enter 'HELP' for a short command summary.

HaRET(1)# runscript default.txt
HaRET(1)# set MTYPE 1805
HaRET(3)# set KERNEL zImage.bin
HaRET(5)# set RAMADDR 0x10000000
HaRET(6)# Set initrd android-espen.bin
HaRET(7)# Set fbduringboot 1
HaRET(2)# bootlinux
boot KERNEL=zImage.bin INITRD=android-espen.bin
Opening file zImage.bin
Opening file android-espen.bin
boot params: RAMADDR=10000000 RAMSIZE=08000000 MTYPE=1805 CMDLINE='root=/dev/ram0 ro console=tty0'
Boot FB feedback: 1
Built virtual to physical page mapping
Allocated 5387 pages (tags=5C000000/14bdb000 kernel=5C001000/14bdc000 initrd=5C12A000/1497e000 index=5D502000/135a4000)
Built kernel tags area
Built page index
Video buffer at 5116A000 sx=480 sy=640 mx=120 my=106
Video Phys FB=1686a000 Fonts=1359d064
preload=2260@5D50A000/1359c000 sj=5D50A000 stack=5D508000/1359e000 data=5D509000/1359d000 exec=1359c128
Reading 1213396 bytes...
Read complete
Reading 20805304 bytes...
Read complete
Launching to physical address 1359c010
Launching kernel
Setting up the trampoline
Trampoline setup (tram=136@00024D84/20024d84/10953d84)
MMU setup: mmu=A03F0000/103f0000
Go Go Go...
Did the stuff //Disabling interrupts
Called the per arch things? //Dunno what this does
324648976 //r2 uint32 code kernel address
 
Last edited:

espenfjo

Senior Member
Jul 24, 2008
396
2,239
Oslo
Oh.. ok..
Sorry for double posting, but this is new information, and the previous post was long enough already.

It seems like there is a section after the mmu_trampoline aswell, the preloader.

The FB shows that it jumps to the PSR-part (Program Status Register, the thing that holds the flag information about programs and instructions) in the preloader.

However, it doesnt seem like it will continue after this(the fb doesnt show anything else atleast), and only come this far only one out of thousand tries (well.. haven tried that many times yet tho..).
Tho.. The logging often surpass the FB information.

So this seems the furthest i can go without having any means to stabilize the FB output, or run an external debugger like gdb on haret.
 
Last edited:

skiwithpete

Senior Member
Jul 11, 2008
108
1
Has anyone had a look at Ubuntu Mobile Edition??

http://www.ubuntu.com/products/mobile

Ubuntu MID is aimed more at computer/netbook devices like the EEEpc, MSI Wind, etc.

On the Ubuntu MID site it confirms that a MID device has:

MIDs typically have the following features and attributes:

* Small size/form factor
* 4 to 7 inch touch screen
* Physical and/or virtual keyboard
* Wi-Fi, 3G, Bluetooth, GPS, WiMAX
* 2GB to 8GB Flash or disk storage, 256MB+ memory/512MB+ recommended
* OpenGL 3D
* USB, camera, head phone jack, speakers, microphone

Note that while it says 3G this is implied for data transfer and it doesn't say Phone functionality. For mobile phone based Linux, the bleeding edge is really Android.
 
Jul 28, 2008
35
0
Oh ok... Just was curious as I dont know much about the whole Linux Mobile OS development at the moment, in what sort of state is Android at the moment then? Usable?
 

sama

Senior Member
Dec 13, 2005
109
15
I hate it when ppl do that, they see the title of the thread and are too lazy to read the whole thing. They expect someone to just summarise the entire thread for them... and worst of all, is that this realisation will come as a shock to them and they'll get offended by it, as that's not what the meant... grrrr.....

not my best morning today either
 
Jul 28, 2008
35
0
Um I have read the thread, but as it goes off topic about every 1 in 3 posts, it's kinda hard to see where people have got too... From the looks of it, noone has even managed to get Android to start up, let alone be usable? That sound about right?

Next question, what can people do to help?
 

sensorama

Senior Member
Sep 27, 2007
71
1
I hate it when ppl do that, they see the title of the thread and are too lazy to read the whole thing. They expect someone to just summarise the entire thread for them... and worst of all, is that this realisation will come as a shock to them and they'll get offended by it, as that's not what the meant... grrrr.....

not my best morning today either

Spot on as you can see. :D
 

skiwithpete

Senior Member
Jul 11, 2008
108
1
Global>

Here's some stuff you can help with:

1)
http://www.gnome.org/mobile/
What is it? Is it just another MID interface?
What does it need to run on top of? Android or not?
Can you find instances of mobile devices running it?

2)
Compile some youtube videos of other phones running Android, to add some motivation.
 

espenfjo

Senior Member
Jul 24, 2008
396
2,239
Oslo
What about keeping this thread as on topic as possible?

At the moment my problem is still harets unstable FB. The FB address should be right, but it might be a size problem or something?
 

Riel

Senior Member
Mar 1, 2006
871
13
42
Born
www.zzapps.nl
Im asking if I can help and you flame me.... right then.. **** the lot of you then.


global said:
Just was curious as I dont know much about the whole Linux Mobile OS

Not much about help. Just lazy question IMHO.



That Linux-booting thing must just be a small glitch. I just feel not very much people are trying it :) I really do not like WM. I am still waiting for linux to go onto or mobiles.

I have bought a Motorole Z6 just because it's running linux :)
 
Jul 28, 2008
35
0
1) Looks to me as though it's an entirely new branch of GNOME development, based off the foundations of X, GLib and the D-Bus. Using normal GTK+ UI toolsets and offering API's in C, C++ and Python. (Although there really, isn't a lot of information on it available at the moment!)

So what is it? An completely new Mobile OS, based on the existing GNOME Desktop and Embedded builds, with API support for developers.

Licence? It's distributed under the terms of the LGPL which, in there own words, "allows for royalty-free use in proprietary software products, but encourages contribution of platform code changes back to the community."

What does it need to run on top of? Nothing, as far as I can see.. Other than a Linux Kernel.

Android or not? Not.

Any devices running it? Not currently, all the information relating to the devices which will be supported are all shown running their own proprietry software currently.
 

espenfjo

Senior Member
Jul 24, 2008
396
2,239
Oslo
I have a question.

The Diamond utilizes an ati chipset, or an ati portion of the msm7201, right?

the ati driver is the ace_ddi?
But.. I cant seem to find an ace_ddi on my diamond, and haret wont utilize the ati fb portion either..
So.. Are we just missing a driver? or is it something else?

EDIT: Ok.. found out that some ati functions are in ahi2dati.dll, edited haret to use that instead of ace_ddi, hacked som more on it to not include missing functions in the ahi2dati, got this info;
Code:
HaRET(2)# atidbg
ATI asic* =0x50F00000 / 0x02b8f000 ret=0

ATI ChipId           = 0x51301002
ATI Revision         = 0x00000000
ATI RevisionId       = 0x00000000
ATI BusInterfaceMode = 0x00000002
ATI InternalMemSize  = 0x00040000
ATI ExternalMemSize  = 0x00000000
ATI Caps1            = 0x00000031
ATI Caps2            = 0x00000001
ATI Caps3            = 0x00000000
ATI Caps4            = 0x00000000
ATI ctx* =0x50F12888 / 0x02b7d888 ret=0

ATI mmPLL_REF_FB_DIV       = 0x08924924
margins: xrest=0 yrest=0 left=0/0 right=0/0 up=0/0 down=0/0

pll: ref_div(M)=4 div_int(N_int)=9 div_frac(N_frac)=2 lock_time=8 Fout=2*xtal

sclk: sysclk_src=0 sysclk_div: fast=0 slow=0

pclk: pixclk_src=0 pixclk_div=0

Hope someone can get something out of this
 
Last edited:

sensorama

Senior Member
Sep 27, 2007
71
1
I have a question.

The Diamond utilizes an ati chipset, or an ati portion of the msm7201, right?

the ati driver is the ace_ddi?
But.. I cant seem to find an ace_ddi on my diamond, and haret wont utilize the ati fb portion either..
So.. Are we just missing a driver? or is it something else?

Check these links. Might answer something for you:
http://www.qis-brew.com/brew_bnry/p...aftab_munshi_ati_optimizing_games_imageon.pdf

http://brew.qualcomm.com/brew/en/
 

skiwithpete

Senior Member
Jul 11, 2008
108
1
Sens,

Doesn't have or doesn't make use of?

I thought what was meant was doesn't have - as in 'file was missing.'

As espenfjo said...
But.. I cant seem to find an ace_ddi

But I'm still trying to figure out what your Qualcomm Brew link posting has to do with anything...
 

Top Liked Posts

  • There are no posts matching your filters.
  • 1
    I don't understand, why haret could not use the framebuffer !? because i can change the framebuffer on my own hand

    Code:
     pfh VRAM 480*1 0x0099

    and the first line is blue
    1
    Android 2.0 squashfs reporting - DIAM300:
    *- Bluetooth not working.
    *- WiFi not working.
    *- Telephone not working. (No signal)
    *- System is much slow.
    *- Buttons not recognized (apart the upper button) and mapped differently than other builds.
    1
    I packed the actual XDAndroid release with the actual Kernel, rootfs and initrd preconfigured for diamond and including the cab of GEN.Y Dualboot to send it to a friend to run it out of the box, no big work, but I thought I could share it with you too.

    Here: http://depositfiles.com/files/eo9pdi8yk

    This is no work by me

    GEN.Y Dualboot is made by yozgatg
    XDAndroid is made by the XDAndroid team

    please support their work

    best regards