Step one: Order a new free SIM card from NetzClub, a new MVNO from O2. Select the “Handy Internet Flat” option. The catch is they provide you with free Internet in exchange for text advertising.
Step two: Buy an O2 Surfstick. I bought mine directly from their website for €34 shipped. It’s unlocked. It comes with an O2 SIM card, and five free days of 3G access — otherwise it’s prepaid €3.50 per day (midnight to midnight).
Step three: Download the O2 Surfstick software.
Step four: Put the NetzClub SIM into the Surfstick. When you launch the Mobile Partner Manager software, leave the O2 default configuration there and click “Connect.” Boom. You’re online at 3G speeds. Based on a Speedtest.net test from my apartment here in Bonn, I get 2.5 Mbps download speed.
Bonus step: Use your Mac to share the WiFi connection with your friends using these instructions.
NB: According to Phone Guide Germany, NetzClub has a monthly limit of 200MB per month, although on the website I can’t find where that limit actually is. But I haven’t given NetzClub any credit card info so far. That said, I’ve only downloaded about 30MB.