Jump to content

2.6.32 froyo kernel


Guest leeshore
 Share

Recommended Posts

Sorry for the potential double post, but I'd like to put this in one single post about the current known issues of this kernel.

Anyone who's compiling this please post up your list too, to see if we have just buildenv-related issues or the source just doesn't work for the U822/30. If the problems are the same across all our tests, then we can start working on it together :P

(I'll try to put up a repository soon. I'm a SVN guy though... do all of you use Git?)

Build Environment: VMWare Workstation, Intel processor, no difference between my C2D and the i7, just speed...

Build Steps:

1. Use the .config I put up a few posts ago

2. Compile

3. FIX KNOWN ISSUES (see below)

4. Get your zImage

Known Issues: (Anyone who's experienced please look into these, these might be the issues that are causing it not to boot)

1. hw3d.c (/arch/arm/mach-msm/hw3d.c)

This is related to... OpenGL, maybe?

Current Solution: Replace with 2.6.29 version in Antonio's Repository

Solution Works? Yes, compiles, not sure if causing bootloop

Compiler Errorlog: http://pastebin.com/WhwqrWBu

2. keypad-hid.c (/arch/arm/mach-msm/keypad-hid.c)

Keypad, hardware buttons?

Current Solution: Replace with 2.6.29 version, /arch/arm/mach-msm/keypad-Huawei.c in Antonio's repository

Solution Works? Yes, compiles, not sure if causing bootloop

Compiler Errorlog: http://pastebin.com/umbrHAC7

3. gs_freescale.h missing (should be in /include/linux/gs_freescale.h) (Referenced from /drivers/input/accelerometer/gs_freescale.c)

GSensor/Accelerometer.

Current Solution: Add with 2.6.29 version, /include/linux/gs_freescale.h in Antonio's repository

Solution Works? Yes, compiles, not sure if causing bootloop

Compiler Errorlog: n/a (Anyone?)

Alternate Solution: Replace with 2.6.29 version from Antonio's repository

Solution works? Nope, getting even worse compiler errors

4. diagfwd.c many undefined functions (/drivers/char/diag/diagfwd.c)

This might be the cause to all our problems with bootloops. If you have any dev power, please try to fix this one.

Current Solution: Implement a stub at the beginning (after compiler includes) of the code

/*

* Bad, bad work, but we're just going to notImplemented() things first...

*/

void diag_close(void) {}

int diag_open(int num_req) { return 0; }

int diag_write(struct diag_request *d_req) { return 0; }

int diag_usb_register(struct diag_operations *func) { return 0; }

int diag_usb_unregister(void) { return 0; }

int diag_read(struct diag_request *d_req) { return 0; }

/*

* End bad, bad things

*/

Solution Works? Yes, compiles, is suspected to be the primary bootloop reason

Compiler Errorlog: http://pastebin.com/6eUEG5Hy

5. rfkill_resume_polling error

You aren't using my config. Enable the RFKILL_PACKET something config variable inside the .config and you should be fine to go.

I really hope to get my hands dirty on this one (with all of you guys) and fix this together. This might be the end of many of our problems, including multitouch, camera, GSensor/Accelerometer issues and even more! Let's all make the pulse breathe again, and again :unsure:

///////////

@szq2635065 哈哈, 谢谢. :)

Edited by jimmie32
Link to comment
Share on other sites

Sorry for the potential double post, but I'd like to put this in one single post about the current known issues of this kernel.

Anyone who's compiling this please post up your list too, to see if we have just buildenv-related issues or the source just doesn't work for the U822/30. If the problems are the same across all our tests, then we can start working on it together :P

(I'll try to put up a repository soon. I'm a SVN guy though... do all of you use Git?)

Build Environment: VMWare Workstation, Intel processor, no difference between my C2D and the i7, just speed...

Build Steps:

1. Use the .config I put up a few posts ago

2. Compile

3. FIX KNOWN ISSUES (see below)

4. Get your zImage

Known Issues: (Anyone who's experienced please look into these, these might be the issues that are causing it not to boot)

1. hw3d.c (/arch/arm/mach-msm/hw3d.c)

This is related to... OpenGL, maybe?

Current Solution: Replace with 2.6.29 version in Antonio's Repository

Solution Works? Yes, compiles, not sure if causing bootloop

Compiler Errorlog: http://pastebin.com/WhwqrWBu

2. keypad-hid.c (/arch/arm/mach-msm/keypad-hid.c)

Keypad, hardware buttons?

Current Solution: Replace with 2.6.29 version, /arch/arm/mach-msm/keypad-Huawei.c in Antonio's repository

Solution Works? Yes, compiles, not sure if causing bootloop

Compiler Errorlog: http://pastebin.com/umbrHAC7

3. gs_freescale.h missing (should be in /include/linux/gs_freescale.h) (Referenced from /drivers/input/accelerometer/gs_freescale.c)

GSensor/Accelerometer.

Current Solution: Add with 2.6.29 version, /include/linux/gs_freescale.h in Antonio's repository

Solution Works? Yes, compiles, not sure if causing bootloop

Compiler Errorlog: n/a (Anyone?)

Alternate Solution: Replace with 2.6.29 version from Antonio's repository

Solution works? Nope, getting even worse compiler errors

4. diagfwd.c many undefined functions (/drivers/char/diag/diagfwd.c)

This might be the cause to all our problems with bootloops. If you have any dev power, please try to fix this one.

Current Solution: Implement a stub at the beginning (after compiler includes) of the code

/*

* Bad, bad work, but we're just going to notImplemented() things first...

*/

void diag_close(void) {}

int diag_open(int num_req) { return 0; }

int diag_write(struct diag_request *d_req) { return 0; }

int diag_usb_register(struct diag_operations *func) { return 0; }

int diag_usb_unregister(void) { return 0; }

int diag_read(struct diag_request *d_req) { return 0; }

/*

* End bad, bad things

*/

Solution Works? Yes, compiles, is suspected to be the primary bootloop reason

Compiler Errorlog: http://pastebin.com/6eUEG5Hy

5. rfkill_resume_polling error

You aren't using my config. Enable the RFKILL_PACKET something config variable inside the .config and you should be fine to go.

I really hope to get my hands dirty on this one (with all of you guys) and fix this together. This might be the end of many of our problems, including multitouch, camera, GSensor/Accelerometer issues and even more! Let's all make the pulse breathe again, and again :unsure:

///////////

@szq2635065 哈哈, 谢谢. :)

Really really impressive work!Its great to see that we still have a dev devoted himself to pulse.Hope we can manage to give pulse a final shot!

Link to comment
Share on other sites

yes thats great guys .

one question>> if the kernel(5mb) works on ur pulse 256mb ram,is it going to work on other pulses with less ram(107mb i think)??

Edited by jeddy1
Link to comment
Share on other sites

@CarpetDiem

:unsure:

I used to want a blade since pulse dev is nearly dead, but I got my hands on a friend's one and it didn't live up to my expectations anyway. :P

Kernel hackery is fun, too :)

@jeddy1

If it works for one, it'll work for all - the kernel is actually 2.4MiB, the same size as the one we have (.29). Our boot NAND partition is 5MiB, no worries, it'll run the same.

and maybe we can get more freed RAM (or the opposite, I don't know, it doesn't work [yet] D: )

School day today... I'll do more tonight and tomorrow.

[Oh, and btw, I'm 14. See why it doesn't matter anymore?]

Link to comment
Share on other sites

[Oh, and btw, I'm 14. See why it doesn't matter anymore?]

what u mean ?

14? ok then dont get so tired :)

BTW did u asked for help to TOM or ANTONIO? if not then why dont u ask? just for little help :unsure: . do u want someone of us ask them ?

EDIT> thanks for the work btw !

Edited by jeddy1
Link to comment
Share on other sites

Don't mean anything really, just used to hear those "there are too many 14-year-olds on the internet" and wanted to say something. Uh, forget it.

Well, I got a competition going on at school so I have to take care of that too, perhaps I won't be able to do a lot in the weekends.

I saw them [Antonio, maybe Tom, too, and many others] reading this thread sometime yesterday, perhaps they're working on it already, just not saying anything. :unsure:

No problem, thank me (and all of us working) when we get .32 working :)

Edited by jimmie32
Link to comment
Share on other sites

When I was 14 I first tried linux.... Mandrake... It was hard, but I made it work on my PC... Software modem, haw many problems were with it.. Nostalgia..

I dreamed to be a good programmer... But now I'm the economist) But I saved some interest to the computer's sphere. It's like a hobby)

Oh, sorry for offtopic....

Link to comment
Share on other sites

I began Linux since I was 10, haha... First kernel compile when I was 11, then began hacking (as in, tweaking, not as in breaching computers and stuff) on many open-source projects and learning along a couple years ago, age 12, :)

Computers are good as a hobby, too :unsure:

Imagining I began from Ubuntu and now compile my own Gentoo install (though don't use it often now), it's amazing.

/offtopic over

Will work tomorrow... have to work... Sorry guys. :P

Anyone looked into the diagfwd.c error? I'll look into it sometime... maybe it's just an obvious error. Ehh...

Can always replace it with the one in 2.6.29, haha.. Not sure what that caused, I think I tried...

It would be better to fix the one from 2.6.29 than working on a broken 2.6.32. Perhaps I should try borrowing code from other old devices, mmm...

Posting here to help anyone working on it and helping me take note too. ;)

Link to comment
Share on other sites

I don't know how to debug that kernel, really... Before I either asked a kernel hacker friend of mine to do it via a serial port (which, obviously, our pulse doesn't have)

.......actually I think TomG managed to connect up a serial port to his Pulse ages ago - took a bit of soldering from recollection but the details of how to do it are out there, and if Tom does get a chance to look at this he may be able to use it to debug.

Link to comment
Share on other sites

You're talking about this right? It doesn't seem hard..

Full topic: http://android.modaco.com/content/t-mobile...2-on-the-pulse/

We have always known that the Pulse could support an rs232 port as it is part of the MSM7201A SoC platform. It was possible that the rs232 port on the MSM7201a was not connected to anything, but unlikely since manufacturors usually want ports like this for debugging. The port can be seen as /dev/ttyMSM2 in the OS.

There are many uses for an RS232 port, but I am most interested in it for debugging. The master console can be directed to the RS232 port using the console kernel parameter. This will hopefully make it easier to debug kernel problems.

Under the SIM card there is an 11 contact interface. Three of the contact are for the RS232 port.

index.php?act=attach&type=post&id=62924

What you will need.

  • A 3V RS232 adapter. Most PC RS232 ports are 5V, do not hook that up directly to the phone. The are many options here, I used one of these, but there are many other choices. The FTDI USB solutions appear to be well supported, but a MAX232 based serial converter would also work and should be a bit cheaper.
  • Some wire. You want fairly small single core wire. I used 30awg because I have a spool of it, but a bit bigger would be fine.
  • Soldering iron.
  • Flux.
  • An RS232 console application. I'm using minicom on linux, but there are heaps of alternatives on all platforms. I think PuTTY does RS232, so if your on windows take a look at that.

What to do.

Pin-out

=======


1  2  3  4  5  6

  7  8  9  10 11


   4=TX

  10=RX

  11=GND


Connections

===========


Phone --- PC adapter

  GND --- GND

  RX  ---  TX

  TX  ---  RX
index.php?act=attach&type=post&id=62925Red = TX Green = RX Blue = GND Cut some wires. The shorter the better. The longer the wires the greater the chance of interference. Connect TX on the phone to RX on the RS232 adapter. Connect RX on the phone to TX on the adapter. Connect GND to GND. It will work without GND connected, but you will probably get more noise. I recommend soldering, but you could try tape or hot glue if you don't want to solder on the board. Unfortunitely this isn't very good if you actually use your phone. I needed to use a bit of flux to get the solder to stick on the board. index.php?act=attach&type=post&id=62926index.php?act=attach&type=post&id=62927index.php?act=attach&type=post&id=62928 All done. Now connect it to your PC. Configuring the PC First, figure out what your comm port is called and if needed install drivers. The FT232R doesn't need any drivers in linux (as long as right driver is in the kernel) and appears as /dev/ttyUSB0. Now start your console software. You will need to configure the port. The setting you want are 9600 8N1, no hardware or software flow control. Testing Connect with the console software On the phone run
echo Hello > /dev/ttyMSM2
You should see 'Hello' appear in the console on the PC. Next, on the phone run
cat /dev/ttyMSM2

Now enter 'Hello' in the console on the PC and press enter. You should see 'Hello' displayed in the phones shell.

If that all worked you now have a working RS232 port.

Edited by rangeoshun
Link to comment
Share on other sites

Hi!

We're working on it right now. We didn't get anything new in respect to Jimmys achievements. Some stuff are that we did different, but the symptomes are the same. We're at the point that we need to get the kernel debugged, but for that we need to have it in the kernel, and for that we have to face new error massages. For example we have to turn off 'hard irq's, but the compiler turns them on seamingly because of an autoconfig file. Does anyone know, if it's safe to just modify that?

Cheers!

@ Jimmy32:

Where did you find these .configs?

Edited by rangeoshun
Link to comment
Share on other sites

I'll get my hands on a soldering kit later this week, to debug this.

I have a life too, and I know that we all have one, so please be a little patient, and we'll try to get it working :unsure:

I will try to do the following, in order:

1. Without the ugly hack, fix diagfwd.c, and see if it works;

1.5. Try merging the 2.6.29 and 2.6.32 code in respect to the errors we have got, and if it works, slowly remove .29 code and replace it with .32 ones

2. Try to build a virtual ARMv6 environment similar to the pulse and boot the kernel there;

3. Try to solder a RS232 port on the pulse to debug;

That's, of course, for something like, weekends or free afternoons - I got a lot of work recently, so sorry guys, I'll talk more on Saturday. :)

Link to comment
Share on other sites

As were told a lot of developers here: We don't allow you to have a life. Or to sleep. We just simply don't! :unsure:

So did you use, the /proc/config.gz? And whitch CM?

Link to comment
Share on other sites

Don't forget you can use the boot option rather than the flash option on fastboot to try out a new kernel without flashing it so you don't need a namdroid restore (you still need the backup in case the new kernel boots enough to screw something up). Trying to debug a new kernel without a serial port is quite tough - often it will fail to boot just because you haven't got the right parameters to specify the root fs so I'd strongly recommend the serial port. I doubt if the new kernel will help with multitouch (BigBear was convinced the issue was with the controller firmware) or the camera in CM7 (that needs a new libcamerservice.so) but it might make USB tethering possible.

Link to comment
Share on other sites

@rangeoshun

Okay, no life then :P

Nope, no messing with any /proc stuff.

CM7-20110420, Android 2.3.3. I know, I know, Froyo kernel, but it's the same for gingerbread.

Everyone that wants to debug is better off either using my zImage and build a boot.img by themselves or compile with my fixes.

Link to comment
Share on other sites

oh sнit, the fuскing ideos x5 is coming with Snspdragon CPU

All the things that could have simplifyed the 2.6.32 porting fail... what the hесk :P

Link to comment
Share on other sites

http://forum.xda-developers.com/showthread.php?t=1059029 -- here is the link to the custom kernel for the ideos x5.. maybe this is could help you guys out.. considering the phones are kinda similar to each other :P

Ideos X5?? Theyre not at all similar: different cpu, screen camera, it has touch sensitive buttons adreno 205 gpu....its totally different from the pulse so the kernel would probably be totally different to especially the libs

Link to comment
Share on other sites

Don't have any progress to report yet, sorry guys. Not much free time to mess with, and I haven't managed to find the problem in the code yet.

Link to comment
Share on other sites

Don't have any progress to report yet, sorry guys. Not much free time to mess with, and I haven't managed to find the problem in the code yet.

dont worry :P, we can wait for smth good and i guess TOM G is working on it also :rolleyes:

thx

Link to comment
Share on other sites

Thought I had an account on here....had to re-register, nevermind.

I upgraded to 2.1 using instructions from here, can I just check that this is the upgrade to 2.2? If not, can the pulse be upgraded to Android 2.2?

Cheers

Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.