yashsingh1/xdaforums huggingface dataset:
[Samsung Galaxy Nexus] Carlos_Manuel:
I built 3.4 kernel again, now with omapfb | omaplfb changes:

at least these changes: and modified for tuna.

(tuna_defconfig, board-tuna.c, board-tuna-display.c, ?...)

http://xdaforums.com/galaxy-nexus/d...e-booting-3-4-kernel-looking-t2071021/page122

https://github.com/manumanfred/grakernel-tuna/commits/glass-omap-xrv15c-jackpot

I have not tested this kernel with the correct pvr libaries, module file, etc. I just quickly tested it with Nexus's own pvr files, which ofc. won't work with 3.4 kernel.

Anyway, here's the log:

<6>[ 0.362243] OMAP DSS rev 4.0
<3>[ 0.364746] Keyboard driver not present
<3>[ 0.364868] omapdss DSI error: can't get VDDS_DSI regulator
<3>[ 0.364868] omapdss DISPLAY error: failed to init display lcd
<6>[ 0.365386] dsscomp: initializing.
<7>[ 0.365417] misc dsscomp: display0=s6e8aa0
<6>[ 0.365447] misc dsscomp: found 1 displays and 4 overlays, WB overlay 1
<3>[ 0.365783] could not allocate tiler block

<3>[ 14.432067] twl_reg twl_reg.44: Failed to find supply V2V1
<3>[ 14.437957] twl_reg twl_reg.44: can't register VCXIO, -517
<6>[ 14.443725] platform twl_reg.44: Driver twl_reg requests probe deferral
<6>[ 14.451354] cannot apply mgr(lcd) on inactive device
<6>[ 14.456817] cannot apply mgr(lcd) on inactive device
<4>[ 14.462066] omapfb omapfb: failed to apply dispc config
<6>[ 14.467926] cannot aply mgr(tv)--invalid device
<4>[ 14.472686] omapfb omapfb: failed to apply dispc config
<6>[ 14.478332] cannot aply mgr(lcd2)--invalid device
<4>[ 14.483459] omapfb omapfb: failed to apply dispc config
<6>[ 14.492736] VDAC: 1800 mV normal standby
<3>[ 14.496887] twl_reg twl_reg.45: Failed to find supply V2V1
<3>[ 14.502960] twl_reg twl_reg.45: can't register VDAC, -517
<6>[ 14.508728] platform twl_reg.45: Driver twl_reg requests probe deferral
<3>[ 14.516204] omapdss DSI error: can't get VDDS_DSI regulator
<3>[ 14.522338] s6e8aa0 display0: failed to enable DSI
<4>[ 14.527435] omapfb omapfb: Failed to enable display 'lcd'
<3>[ 14.533172] omapfb omapfb: failed to initialize default display
<3>[ 14.539978] omapfb omapfb: failed to setup omapfb
<6>[ 14.544982] platform omapfb: Driver omapfb requests probe deferral
<6>[ 14.552612] ALSA device list:
<6>[ 14.555725] No soundcards found.

Hopefully this helps a bit others who is trying to get 3.4 kernel working on tuna.

My changes aren't so clean and also needs modifying, etc.

Big thanks to @aosp , also thanks to hashcode for his commits... :P
[Samsung Galaxy Nexus] aosp:
OMAP: Add ti_shared_gfx_buf shared buffer interface · 196d1f3 · zlatinski/p-android-omap-3.4-android-jb-new-ion · GitHub - http://goo.gl/cj3xDF

OMAP: Add ti_shared_gfx_buf shared buffer interface

ti_shared_gfx_buf is a ION/DMA-BUF buffer wrapper

that adds the following functionality:

Graphics buffer geometry;

Multi-planar support;

Buffer synchronization and reservation support;

The ti_shared_gfx_buf interface is primarily meant for use

by the graphics and display driver and is currently

utilized by the TI's Gralloc module for buffer

allocation and synchronization.
[Samsung Galaxy Nexus] isrcepeda:
Don't worry about the silence, we are like a nice tuned engine making no noise :D but still there is work going on, just wait for the speedup ;)
[Samsung Galaxy Nexus] wisefreakz:
God Bless You and all others who's contributing to this!

Hey Ho Let's Go
[Samsung Galaxy Nexus] Hashcode:
If I was working on this kernel, I would see why the DSI / VCXIO regulators are generating errors.
[Samsung Galaxy Nexus] Hashcode:
I should clarify:

Here in your Tuna kernel, you can see the vdds_dsi regulator supplies:

https://github.com/manumanfred/grak...jackpot/arch/arm/mach-omap2/board-tuna.c#L223

However, this is never used. Instead you're using the generic pmic setup for VCXIO here:

https://github.com/manumanfred/grak...jackpot/arch/arm/mach-omap2/board-tuna.c#L282

(see usage of TWL_COMMON_REGULATOR_VCXIO)

You could do it nearly the same way, but remove the common VCXIO setup by doing the following.

1. Add a new custom vcxio regulator_init_data structure similar to this:

https://github.com/KFire-Android/ke...ch/arm/mach-omap2/board-4430kc1-tablet.c#L809

NOTES:

- You probably don't want some of the settings in this structure (like .always_on and .state_mem -- feel free to test with and without)

- You'll also note it references the regulator names "sdp4430_vcxio_supply"

2. Then here:

https://github.com/manumanfred/grak...jackpot/arch/arm/mach-omap2/board-tuna.c#L248

Add a new entry for .vcxio (under .vaux3):

.vcxio	= &sdp4430_vcxio,

3. Remove the "	TWL_COMMON_REGULATOR_VCXIO |" portion of this:

https://github.com/manumanfred/grak...jackpot/arch/arm/mach-omap2/board-tuna.c#L282

And then see how your kmsg looks from there.

Hope that helps.
[Samsung Galaxy Nexus] Hashcode:
Actually. I'm wrong. I didn't look through Google's Tuna kernel well enough.

The TWL_COMMON_REGULATOR_VCXIO setup is basically the same as what I was doing above a few posts. No need to remove it.

However, I compared to the Google kernel you'll notice on lines 49 / 58 that 2 regulator supplies are referenced (not just one): "vlcd" and "vlcd-iovcc". Google's board setup handles a newer revision of Tuna hardware which the current grakernel-tuna board setup does not.

https://android.googlesource.com/ke...-mr2/arch/arm/mach-omap2/board-tuna-display.c

Not sure if that will help bring up the display tho.
[Samsung Galaxy Nexus] Hashcode:
I think you're missing quite a few regulators:

https://github.com/manumanfred/grak...jackpot/arch/arm/mach-omap2/board-tuna.c#L282

You're missing entries for vaux1, v1v8 (probably unused), vusim, and v2v1(<-- probably part of the problem)

So add:

TWL_COMMON_REGULATOR_V2V1 |

Here:

https://github.com/manumanfred/grak...jackpot/arch/arm/mach-omap2/board-tuna.c#L283

Then a custom vusim regulator setup should be added along these lines (pulled from Google Tuna 3.0 kernel):

static struct regulator_consumer_supply tuna_vusim_supplies[] = {

{

.supply = "vlcd-iovcc",

},

};

static struct regulator_init_data tuna_vusim = {

.constraints = {

.min_uV = 2200000,

.max_uV = 2200000,

.valid_modes_mask = REGULATOR_MODE_NORMAL | REGULATOR_MODE_STANDBY,

.valid_ops_mask = REGULATOR_CHANGE_MODE | REGULATOR_CHANGE_STATUS,

},

.num_consumer_supplies = ARRAY_SIZE(tuna_vusim_supplies),

.consumer_supplies = tuna_vusim_supplies,

};

And add the .vusim config here:

https://github.com/manumanfred/grak...jackpot/arch/arm/mach-omap2/board-tuna.c#L249

And don't forget to adjust the board-tuna-display.c code to include the extra check for vlcd-iovcc on line 56:

https://android.googlesource.com/ke...-mr2/arch/arm/mach-omap2/board-tuna-display.c
[Samsung Galaxy Nexus] aosp:
[MENTION=4243514]Hashcode[/MENTION] Appreciate the detail thanks Viva La OMAP! ✊
[Samsung Galaxy Nexus] Carlos_Manuel:
Thank you a lot [MENTION=4243514]Hashcode[/MENTION] :))

My C programming language knowledge isn't good at all, but I included the changes and some another stuff and then I fixed errors. Now I also included required pvr files + ducati-m3-core0.xem3. Because I don't know which ducati file will the system pick up, I had to include both "ducati-m3-core0.xem3" and "ducati-m3.bin".

https://github.com/manumanfred/grakernel-tuna/commits/glass-omap-xrv15c-jackpot

I'll post logs in 10 minutes

Edit: It takes longer...

C:\NexusRoot>adb logcat

- exec '/system/bin/sh' failed: No such file or directory (2) -

Edit: Unfortunately I wasn't able to fix partitions mounting and I wasn't able to get bug report... Some code in the kernel possibly caused this.
[Samsung Galaxy Nexus] aosp:
[MENTION=5747201]isrcepeda[/MENTION] Viva La OMAP and Mexico Cabrones! ?

ARM: OMAP4: Adding tuna support · ae6e220 · icepeda/omap · GitHub - http://goo.gl/hup9wZ

https://github.com/icepeda/omap/commits/icepeda-tuna-3.4

Tuna Nation Rejoice and support the iceman it's really getting real now ?
[Samsung Galaxy Nexus] Carlos_Manuel:
Aosp: I can't write to hangouts.. System partition doesn't seem to get mounted and I can't get any logs.. :S

Any advice..? :D

---------- Post added at 10:09 PM ---------- Previous post was at 10:01 PM ----------

Ok... unfortunately my Nexus isn't mounting the partitions so I can't take any logs..

Maybe I missed something... I'll check that...

hopefully Israel Cepeda gets it working, when he builds the kernel. :)
[Samsung Galaxy Nexus] nikodr:
Regarding memory usage ,when 3.4 kernel is ready are we expecting more free ram ? 1 gig devices never had more than 744 Mbytes of ram total ( with 1080 video rec enabled).
[Samsung Galaxy Nexus] ashclepdia:
I think that wouldn't change so much as better memory management would.

So you would see increased performance with the same amount.

I always wished they would always push limits at least RAM wise with nexus devices just so we would never have to even think about it.(like Gnex should have had 2gb, nexus4 3gb, nexus 5 4gb....dunno if more than 4 would be needed now or near future tho except maybe on tablets that could dual boot 64bit OS's)

Aw crap I'm rambling again
[Samsung Galaxy Nexus] thoiloidainhan:
Got a solution for your rambling. Use tapatalk. Fiddling with the onscreen KB will drive you mad enough to quit the habit. Always liked your rambling though
[Samsung Galaxy Nexus] nikodr:
Thank you for your reply.That's what i thought too.

Regarding the new bluetooth v 4 or the low energy mode of it,would the kernel 3.4 make gnex have support for it?
[Samsung Galaxy Nexus] ashclepdia:
I USE Tapatalk... that's what makes it WORSE lol

Cuz mobile browsing any forums on chrome is HORRID(many different size texts, overlapping of text within posts that eventually randomly fixed itself and send u halfway back up the page, etc ..) :D
[Samsung Galaxy Nexus] aosp:
[MENTION=4443334]Grarak[/MENTION] I forgot to post these kexec commits for you sorry about that ?

OMAP4: Blaze: Tablet: Panda: Add kexec configuration - Gitorious - http://goo.gl/JCqc8i

booti: kexec: add ability to pass kexec kernel image to the kernel - Gitorious - http://goo.gl/kDEmpI

Makefile: introduce new compilation mode (kexecimage) - Gitorious - http://goo.gl/FLdKNA

ARM: reset: allow kernelspace mappings to be flat mapped during reset - Gitorious - http://goo.gl/HpuvxP

kexec: disable non-boot CPUs - Gitorious - http://goo.gl/KaKGra

ARM: soft_restart: Flushing the L2 cache before disabling - Gitorious - http://goo.gl/FtPPA3

kexec: add ability to use normal kexec image for rebooting after the ... - Gitorious - http://goo.gl/d65tlk

kexec: add ability to use kexec image from bootloader - Gitorious - http://goo.gl/evn4by

ARM: soft_restart: HACK: always disable L2 cache before reboot - Gitorious - http://goo.gl/cyCfGG
[Samsung Galaxy Nexus] Carlos_Manuel:
Yay, I fixed the kernel. Now I can take logs. I had to revert changes to the last good point.

I will include Hashcode's mentioned display changes again and then I try to post logs of it... :)
[Samsung Galaxy Nexus] isrcepeda:
Seems you fixed some errors but still missing the voltage for the dss regulator, I will check today how is that done in 3.4 now and try update the patch in my branch so you can use it as reference ;)
[Samsung Galaxy Nexus] eagleeyetom:
Guys I know that the summer is coming and you all are waiting for some Nexus goodies but please, keep this thread on topic.

Thread's been cleaned a bit.

Thank you.
[Samsung Galaxy Nexus] aosp:
Guys don't be sad [MENTION=5747201]isrcepeda[/MENTION] is making progress https://github.com/icepeda/omap/commits/icepeda-tuna-3.4
[Samsung Galaxy Nexus] nikodr:
Thank you :)

Would like to know advantages/disadvantages of backporting features from future kernels to older ones.I know that 3.x kernel of gnex (especially custom ones) have features from newer kernels backported.

I know of devices that had 2.6 kernel but had ics 4.0 roms.

What features cannot be backported but need a new kernel?In a sense what is our galaxy nexus lacking now in terms of features?
[Samsung Galaxy Nexus] Ashutos1997:
will he be able to make a bootable kernel ?
[Samsung Galaxy Nexus] jhonnyx:
Kernel is actually "bootable", as it was mentioned some pages before, but it does not init properly some modules i/e screen. It's just a matter of time we get our hopes up and kraken will awaken, the Tuna king will arise. Long live GNEX (too much caffeine lmao)

/kthxbye
[Samsung Galaxy Nexus] pianistaPL:
That's right, 3.4 can bring a new life for GNex. Right now new kernels built with Linaro 4.9 are very, very fast and with Android 4.4.2 phone is really fast.
[Samsung Galaxy Nexus] Ashutos1997:
ok, so you think we can go till display / lockscreen ?
[Samsung Galaxy Nexus] Hetalk:
That's the whole idea of this adventure.

But, I'm sure the trip will be as much fun as the destination. :good:
[Samsung Galaxy Nexus] Hashcode:
As a heads up, I noticed while working on the omapzoom 3.4 kernel (on other devices) recovery graphics can be a bit swiss cheesed. I never did take the time to see why DSS registers weren't being set correctly.

Oddly, a full Android boot wasn't affected the same way. So it could have been some code related to skipping an initial screen blank.
[Samsung Galaxy Nexus] :
See it like this,

You have a 1 house. You can get your drawer from one house to another, no big deal, a little bit of work, but managable. But if you try to Get everything from your old house into a new house, it's a lot harder, to get everything right. Also, it won't be much of a difference. If you just buy a new house, and put updated, better functioning furniture in that house, it is a much nicer house.

House 1 = Kernel 3.0.x

House 2 = Kernel 3.4

Drawer/Furniture = Kerneldrivers etc.

Sorry for my plain explantation, but i think this is the easiest to explain.
[Samsung Galaxy Nexus] malybru:
Mod Edit

Thread cleaned.

Asking for ETA's is both rude and disrespectful.

I am sure that when the new piece of work is good and ready , it will be posted.

Now, can we please stay on topic...

Thank you

malybru

Forum Moderator
[Samsung Galaxy Nexus] rjshrjndrn:
Please be reasonable. and respect devs. icepeda is a well known dev. and our other devs are also working on that. and the thing is the kernel is already bootable. read the op subject. be patient
[Samsung Galaxy Nexus] .B.0.W.:
sorry about that , I didn't know it's both rude and disrespectful
[Samsung Galaxy Nexus] aosp:
The OMAP4 angels are listening to tuna nation ?

https://github.com/Hashcode/omap/commits/icepeda-tuna-3.4

[MENTION=5747201]isrcepeda[/MENTION] [MENTION=4243514]Hashcode[/MENTION] Salute
[Samsung Galaxy Nexus] ILA:
Damn, which one should I look at first, Hashcode's you posted or isrcepeda's? A ton of commits. Love the activity! :D

isrcepeda's:

https://github.com/icepeda/omap/commits/icepeda-tuna-3.4
[Samsung Galaxy Nexus] Carlos_Manuel:
Hashcode has removed his forked omap k 3.4 repository from github, but why...? Seems like only [MENTION=5747201]isrcepeda[/MENTION] can bring us k3.4.. :)
[Samsung Galaxy Nexus] ScardracS:
You can ask to him.. [MENTION=4243514]Hashcode[/MENTION]
[Samsung Galaxy Nexus] Hashcode:
I was originally going to work from a fork of [MENTION=5747201]isrcepeda[/MENTION]'s kernel repo so that my changes would be easy to merge, etc.

But after asking about pull requests and not really getting any sort of response, it's kind of obvious that there won't be much merging (I think he's very motivated to sort of "do it on his own"), and I would always end up playing "catch-up".

I don't feel like maintaining yet another kernel branch, so instead I'll probably pull the existing Tuna work into my 3.4 kernel which I'm working on for several devices and work on it there:

https://github.com/KFire-Android/kernel_omap_otter-common/tree/p-android-omap-3.4

We will most definitely duplicate some work as we move forward, but I will save time on my end from not having to sync up as much. And [MENTION=5747201]isrcepeda[/MENTION] can easily pick/copy anything he's interested in, so it shouldn't really hamper development.

Also note: This isn't a primary project for me. I'm just messing around when I work on Tuna. I ended up getting a very cheap used device from a friend, so I thought I'd see how development was going.
[Samsung Galaxy Nexus] Carlos_Manuel:
I'm glad you have a galaxy nexus now :)

If you and ice can do a team work with bringing k 3.4 to tuna, that would be really nice.
[Samsung Galaxy Nexus] isrcepeda:
[MENTION=4243514]Hashcode[/MENTION] I was about to ask what a hell you mean by sending me pull request till I saw you PM, I am not a forum guy so I don't use to check PMs. About the changes feel free to send pull request, that is the idea about having the repo public, so any change is welcome after I validate it.

I haven't see any pull request in my repo that's why I didn't know what you were talking about.

Regards

ICe
[Samsung Galaxy Nexus] apollo07:
I don't know if you guys are working together but [MENTION=5310723]Amperific[/MENTION] got a booting kernel...
[Samsung Galaxy Nexus] ILA:
We had a booting kernel a long time ago, the thing is that the display didn't work (among other things) ... Did he manage to get it to work as well? :D
[Samsung Galaxy Nexus] apollo07:
This is what he said.
[Samsung Galaxy Nexus] Hashcode:
I moved to my in-progress omap 3.4 kernel here:

https://github.com/Hashcode/kernel_omap/commits/p-android-omap-3.4

Feel free to check it occasionally and/or shoot me any questions. I can PM you my contact info if you want it.

I won't be able to send pull requests, but you should still be able to cherry-pick (in most cases) as the base histories are the same.
[Samsung Galaxy Nexus] -=W1S3=-:
Any news related to F2FS?
[Samsung Galaxy Nexus] Hetalk:
Loads of them. Check dirty kernel thread or the f2fs thread in general section.
[Samsung Galaxy Nexus] -=W1S3=-:
I mean 3.4 kernel plus f2fs...
[Samsung Galaxy Nexus] jhonnyx:
I think that first comes the kernel, then optimizations / modules/ addons, etc.

You must have a solid ground to start building a house, right?
[Samsung Galaxy Nexus] metalspring:
Plus its actually easier to add f2fs to 3.4 kernels than 3.0 ones like we have now, and its not even that hard at all ;)
[Samsung Galaxy Nexus] Hetalk:
LOL No. 3.4 kernel is still some way away. But, we got awesome developers working on it. Lets keep our hopes up and let them do their work in peace.
[Samsung Galaxy Nexus] Ziyan:
While updating our 3.0 kernel with the last omapzoom 3.0 kernel changes, I've found a commit which may be interesting:

OMAP: remove pvr services and omaplfb from kernel

Looks like newer graphics binaries use their own pvr & omaplfb, so this may explain why couldn't we use newer binaries. I have no ROM building experience with the tuna, but according to this, looks like we can compile the binaries ourselves? I think this should worth checking, as omapzoom is a goldmine (damn, who the hell said OMAP is dead? go take a look at omapzoom), we could get 1.9 working, so at least there will be something to play with until the guys finish with 3.4 :good:
[Samsung Galaxy Nexus] nikodr:
If we can compile those binaries would that mean better speed and more features with existing kernels ?

What is your opinion regarding google's kernel policy? They updated maguro from 4.0 to 4.3.1 .Lots of upgrades for a phone but they were stuck at kernel development no more than 3.0.x

Also could this 3.4 kernel help the ubuntu os be better for maguro?
[Samsung Galaxy Nexus] Carlos_Manuel:
Updating PVR, omaplfb and omapfb drivers from kernel and the pvr binaries.. Fixes most of the graphical issues and makes KitKat run faster and smoother on Tuna...

Tuna's 3.0 kernel is really outdated and uses DDK 1.8
[Samsung Galaxy Nexus] Carlos_Manuel:
Hey all.

While Ice and Hashcode are working on the 3.4 kernel, I am trying to make changes to Tuna's 3.0.72 kernel to use newer pvr.

The problem is this:

And I don't know how to fix this. "undefined reference to "dsscomp_set_platform_data".

Also I can't really modify board-tuna.c to use newer ion properly and I can't edit board-tuna-display.c ...

Any kind of help would be nice, thanks. :D

Kernel:

https://github.com/manumanfred/android-omap-tuna-3.0
[Samsung Galaxy Nexus] Ziyan:
I'm nearly done with cherry-picking 1k commits from omapzoom 3.0 to android-omap-tuna-3.0-jb-mr2, I tried the android-display stuff, but as I didn't get display with it, I reverted it, along with everything else that broke functionality using the current binaries and other rom-specific tuna stuff (not that much commits really). I think it'll be easier to experiment with it, I may be done tomorrow, so we just need to cherry-pick what's left out (I'll create list of it) to experiment with the new pvr :) https://github.com/Ziyann/omap/tree/stable

Anyways, I think your main problem is that everything got dependencies here and there, which is why I decided to go with the good-old-but-slow cherry-picking method - and because this way, I see what they changed in the board files.
[Samsung Galaxy Nexus] Carlos_Manuel:
Ok.

I hate cherry picking, so I did everything manually.

As you know tuna's kernel is really out-dated.

The problem I have with my kernel is caused by missing display text in board-tuna* files. Or at least that's what I think to be the problem

Even though I still have to include more stuff, but my goal is getting kernel built :)
[Samsung Galaxy Nexus] Ziyan:
I think I'm done for now, check my thread.
[Samsung Galaxy Nexus] Carlos_Manuel:
Have you tested the screen?

Use device/ti/proprietary-open and edit tuna's boardconfig and device.mk to use blaze's sgx and ducati. It may work.

Using device/ti/proprietary-open will build sgx files.. Including the module which is needed in /system/lib/module

http://git.omapzoom.org/?p=device/ti/proprietary-open.git;a=summary
[Samsung Galaxy Nexus] Ziyan:
But on which ROM? As I said, I'm not really a ROM guy, I did compile some ROMs, but that's all. However, I decided to create a seperate branch and merge every pvr/sgx/dss/omapfb related commit, I'll try to do it tomorrow or later today, if we're lucky enough, it may work :) btw, we should really use the other thread, don't spam this with 3.0-related things.
[Samsung Galaxy Nexus] Carlos_Manuel:
You can use whatever which ROM you want to.

and yeah, we should.

Sorry for ot! :D
[Samsung Galaxy Nexus] Sdobron:
Can you link the other thread?
[Samsung Galaxy Nexus] ashclepdia:
it was linked above, but here it is again

http://xdaforums.com/showthread.php?t=2801072
[Samsung Galaxy Nexus] aosp:
[MENTION=5747201]isrcepeda[/MENTION] is having trouble with his toroplus holding a charge so if you know anybody that has a spare gsm galaxy nexus aka maguro or in anyway can help him get one asap please let him know thanks
[Samsung Galaxy Nexus] Sdobron:
How about a new battery? Cheap purchase from a few vendors or is there some other issue that requires a maguro?
[Samsung Galaxy Nexus] Carlos_Manuel:
If I remember correctly then he have already bought a new battery for his nexus.
[Samsung Galaxy Nexus] Elibl:
I assume it's the micro usb connector flex. A quite easy and cheap replacement...
[Samsung Galaxy Nexus] nikodr:
Μine had problems as well i fixed it with a screwdriver,the micro usb connector did not allow me to have a charge.

I remember reading a thread,if the usb cannot make proper contact then charge does not work.

Taken from this website hhttp://forums.androidcentral.com/sprint-nexus-s-4g/171171-usb-port-damaged.html

"Take a look inside the port and you should see a tab. It should be in the center of the port. Mine had bent to one side and the usb plug was missing one part of it and wouldn't work properly until I bent it back in the center with a small screwdriver. Now it's fine. "

I remember the terror i had when battery was low and i had sms and phone numbers not backed up,and i thought i had to send it to repair,with a screwdriver i fixed the usb port and my phone has been ok for more than 4 months now.
[Samsung Galaxy Nexus] lovejoy777:
I also had this issue. Just carefully bend the inner part towards the front of the phone (a tiny bit). I used a sharp pointed knife.