Sweet victory! LG took quick action and wrote me yesterday to tell me they’d released an updated version of the source code for the Optimus V that fixes the bugs I identified over the weekend.
So, all is well in this small corner of the open-source world. I’ve downloaded the new source code (labeled “LGVM670(Thunder) Android Froyo/kernel bugs were fixed” on LG’s download site), and verified that the fixes were made and that the new code builds cleanly.
In case you’re interested in the differences between the Optimus S and Optimus V (LS670 and VM670, respectively), here’s a diff of the kernel sources that I’ve made.
I’ve discovered some bugs in the Linux kernel source code released by LG for the Virgin Mobile Optimus V, or VM670, a close CDMA twin to my Sprint Optimus S. It seems clear from the differences between the S and V source releases that LG has attempted to scrub code comments from the V source, but in the process they’ve created at least two syntax errors that break the code and cause it not to build.
They’ve also left out 15 files that are part of the Linux kernel’s netfilter and needed to build the kernel as configured by LG.
Update: LG has fixed the bugs, so keep reading only if you’re interested in the details.
I’ll detail the problems and explain how to (possibly) fix them below. However, the real issue is that the LG archive is broken as-is, so there’s no way it was used to build the actual Optimus V kernel. While I’m no GPL expert, it seems to me that LG is obligated to provide actual, working source code upon request, not an incomplete, broken fork. Let’s hope this was just an oversight, and one that LG will rectify. more …
If you’re looking to give your Sprint Optimus S a speed boost, I’ve got a kernel for you, compiled from official LG source code, that adds overclocking and removes unneeded debugging features for a leaner, meaner kernel.
The basic idea behind this kernel build is “stable performance” — other devs are doing a great job backporting the latest features from the mainline Android kernel and writing experimental patches. My goal is a lot less ambitious, but also less bleeding-edge: Build a kernel from official source, one that “just works” for me the user, but boost performance to get the most from the hardware.
I’ve also included the Linux TUN/TAP driver as a module, so that (among other things) you can use OpenVPN with your Optimus, if you like. Need some other module? Ask! more …
Recently I was taking a closer look at some minified CSS output, and I noticed a few things that Minify could be doing to compress CSS slightly better. more …
The last few versions of WordPress have had a feature that lets you install or upgrade a plugin directly through the WordPress GUI. There’s just a small problem — for many people, the process fails and, instead of explaining the issue, WordPress redirects to an inscrutable “Connections Information” screen requesting FTP server credentials. Which, for people like me who don’t use FTP, is kind of a dead end.
I deploy all my code through a VCS, so it wasn’t until I started testing activation/deactivation/uninstall hooks for a plugin that I ran into the problem. Anyway, the reason I’m writing this post is that, while the workaround is just a one-liner, unfortunately, most of the “solutions” I found on the web were wrong or at best incomplete. Also, I think what WordPress is doing here could use improvement. more …
« Newer posts
I’m releasing a WordPress plugin that I wrote to tackle the scourge of user registration spam — those annoying bots that linkspam the WordPress registration form.
If you need a way to silently and automatically delete these spam accounts, and block the new user notification e-mail that WordPress normally sends, check out User Spam Remover. more …
| Older posts »