









I've been mulling over upgrading my iPhone's firmware to 1.1.1 for the last few weeks but have been put off by the complexity of it. All the tools and steps had been outlined so it was merely just running through the steps, but there were a ton of them, and it seemed like more of a pain in the ass than it was worth. Well, the hacker community has come through again with a easy solution, and now the 1.0.2->1.1.1 process is pretty painless.
If you have an unlocked 1.0.2 iPhone and used AnySIM 1.0x to do it, you must "virginize" your iPhone before you can upgrade to 1.1.1. Apparently AnySIM 1.0x had a bug that damaged the seczone of your baseband firmware, causing the 1.1.1 upgrade to brick your iPhone. With the new release of the iphone-elite RevirginizingTool, here's how you do it on a Windows machine:
Run a full sync on iTunes to back up all of your settings. This will take care of your address book and most of your various settings. Copy off any photos you want to your computer.
Download this. This is the latest release from the iphone elite team packaged with a script that will automatically virginize your iphone by backing up your seczone and flashing the baseband to its factory 1.0.2 state. Now SCP (try WinSCP) this file to your iPhone using login "root" and the default password of "alpine". SSH into your iPhone using root/alpine, and then make sure the file is in your iPhone's root directory, since the default home (really /private/var) is a partition mounted with noexec. Move the file from root user's home to the file system /:
mv ~/virginiser.tar.gz /
Then change dir to /, then run this command (all on one line, or you can run each command between the && separately):
tar -xzvf Virginiser.tar.gz && ./Virginiser/virginise.sh && mv Virginiser/seczone.backup .
This untars the archive, runs the automated script, and then copies a backup of your seczone to the filesystem /. SCP this seczone.backup file to your computer. Hold down the power button, slide to confirm, and then reboot your iphone. Now you should have a 1.0.2 iphone locked but still jailbroken.
At this point I recommend using iTunes to restore your iphone to 1.0.2 factory fresh. I had some problems with CARNAVAL installing its version of BSD Subsystem and OpenSSH over my previous installations using AppTapp. After the iTunes restore, it'll reboot to exactly how a 1.0.2 iphone comes out of the sealed box - needing activation and SIM-locked.
BTW, this step is basically an attempt to automate the manual steps shown here, so if you have trouble or need more detail, just read that page.
Use iTunes to upgrade to 1.1.1. You should now have a factory fresh equivalent of a 1.1.1 iphone.
Download CARNAVAL and unzip. Connect your iPhone to your computer using the USB cable. Make sure you kill iTunes.exe and iTunesHelper.exe in your Windows Task Manager. Run the file "(CLICK HERE) by brasuco.bat", which will walk you through the process. FOLLOW THE INSTRUCTIONS CAREFULLY. During one of the steps, you are asked to create a URL link to http://jailbreak.toc2rta.com - if that URL doesn't take you back to the activation screen as expected, no worries, just tell clear it and type into the Safari URL bar this address instead: http://jailbreak.kengz.com. Visiting this will download the exploited TIFF, essentially rooting your iPhone.
After you've followed all CARNAVAL instructions and learned about Brazil, you should be greeted with a fully jailbroken and activated iPhone.
CARNAVAL installed AppTapp, which shows up as Installer on your iphone's home screen. Use that to install BSD subsystem and OpenSSH. Now go to your iphone's WIFI settings to find your iphone's IP address. You should now be able to SSH/SCP into your iphone using root/alpine.
Download AnySIM 1.1. Unzip AnySIM-1.1.zip, which will give you a anySIM.app directory. SCP this directory (not just the files) into your iPhone's /Applications directory. Then chmod all the files inside your iphone's /Applications/anySIM.app/ directory to +x (0755 will work). Once this is done, reboot your iphone to find the AnySIM icon on your iphone home menu.
Run AnySIM, slide to confirm, and go get a cookie.
You now have a fully jailbroken, activated, and SIM-unlocked iphone. You also have Installer.app, a aptitude like application that lets you install a ton of really cool third party applications over the air, complete with notifications of application updates.
The entire process only takes about 30 minutes. I've been running 1.1.1 for a few days and haven't noticed any problems. I really dig the increased speaker volume and the space, space to add a period and a space when using the keyboard. Good luck, and leave a comment this works for you (or if you have any questions or suggestions).
I upgraded my server's apache from 2.0 to 2.2 today (see Overview of new features in Apache 2.2) and it was painless except for a few minor hiccups. I like to keep my server's packages up to date with Gentoo's stable packages not just for new features but mainly to make package upgrades as easy as possible. I find that by staying up to date with upstream stable packages, upgrades are more incremental and rarely cause as much difficulty as having to upgrade from multiple major versions behind.
With Gentoo, the Apache 2.2 upgrade came with a routine:
emerge --sync emerge -uDav world
I noticed the new Apache version, checked out the other packages listed, and then hit enter to proceed. At the end of the compilation, Gentoo reminded me there are new config files in /etc to merge. Luckily for me, I've maintained a clean separation of Apache configuration directives and VirtualHosts, so I was able to accept all of the major configuration directive changes without modification (2.2 mostly just moves around the default directives to more logical locations). Staying up to date and close to upstream shows its benefits here.
Apache restarted without complaining, but attempts to access any of my virtualhosts resulted in a 403 Forbidden:
[Sat Sep 08 13:30:55 2007] [error] [client 89.14.247.41] client denied by server configuration: /home/victor/public_html/
<Directory />
Options FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
</Directory>
You can either override this manually in every vhost.d/*.conf file, or you can just change the "Deny from all" line to "Allow from all" and then make Deny rules manually in each vhost.d file (if you wish). I restarted apache and refreshed my test site, but there was now a new problem - .php files were being parsed as plain text, which meant Apache wasn't passing off .php files for processing.
I added "-D PHP5" to my /etc/conf.d/apache2's APACHE2_OPTS line, which tells Apache to load the PHP5 module. However, since my libphp5.so was built for my old Apache, I had to re-compile for Apache 2.2:
emerge -av php
I waited a few minutes, restarted apache, and now everything works beautifully.
The Samsung ML-2010 is a great bargain laserjet printer. I bought it from NewEgg last year for $49 after a $50 mail-in rebate, which I quickly recieved. While it doesn't see too much more than 5-10 pages per week, I've never had to replace the toner cartridge.
Using the Splix driver, it works great under Linux, specifically Gentoo AMD64 (x86_64) in my case. Here's how you can get it to work, assuming you already have CUPS properly installed and working (most of this will apply to any distro):
Install Splix
emerge -av splixYou should now be able to print from any CUPS enabled application. If you have trouble with CUPS, try the Gentoo Printing Guide.
Make it work with GIMP
If you've had trouble printing from GIMP, make sure you have the gimpprint compiled into GIMP by adding "media-gfx/gimp gimpprint" to your /etc/portage/package.use:
echo "media-gfx/gimp gimpprint" >> /etc/portage/package.useOpen up or create a new image, then click File->Print. You will then see your printers listed, click on your Samsung ML-2010, then "Setup Printer". Make sure "Postscript Level 2" is selected for "Printer Model," then where it says "Command", I had to remove the raw output (-oraw) option. Mine says:
lp -s -dSamsung_ML-2010_USB_1Happy Printing.
p.s. The above instructions should work for any Samsung printer that Splix supports.