Using a Rogers Internet Stick on Bell's HSPA+ Network

Posted by markm Sun, 15 Nov 2009 07:30:00 GMT

Bell’s HSPA+ Covers Almost Everywhere

With the launch of Bell’s HSPA+ network I suspect that there are going to be a bunch on converts from Rogers to Bell. Rogers is only taking care of 5 canadian cites (at the time I wrote this blog) with their HSPA+. Bell pretty much covers everywhere that I have ever been in Canada. And I have travelled coast to coast.

It is hard to argue with a network that offers HSPA+ everywhere.

The only question that remains - what do you do with your Rogers Internet Stick? Bring it with you!

Disclaimer

If you are stopping to read this disclaimer, chances are this is not for you. You might wreck something. You are better off just selling your old stick on Kijiji or Craig’s List.

Unlock the Stick

Unlocking a Internet Stick is actually much more painless than unlocking a phone. I went to [DC Unlocker]:http://www.dc-unlocker.com/ and paid about $15 for 10 unlocking credits. I then had to find a computer running Windows (in my case I grabbed the other laptop and launched VMWare.) All I had to do was run the unlocking software with a Bell SIM card inside the Rogers Stick.

Pro Tip: either buy the SIM card without a plan or borrow a SIM card for this. If for some reason the Unlock fails you don’t want to be signed up to a plan.

Get a SIM Card

This is actually the most painful part. The entirety of the current Bell staff don’t get the whole “just give me then damn SIM card” thing. Usually it takes about 30 minutes by the time they talk to their manager, etc. Likely they will make you sign up for a plan before you leave - like I said, they don’t get SIM cards yet.

I’d suggest going with a 30 day plan. The next time you need a new laptop you can then cancel the plan and SIgn up for a new one at Best Buy - they will give you a $150 discount on a new laptop.

Pro Tip: Don’t sign up for a 3 year contract unless you are getting something worth about $200 for free. That contract is going to cost money if you want to break it and Bell owes you something for signing it. Large companies like Best Buy will make sure that when you sign up for a deal like this you get something sweet for free.

The Settings

Yeah this is the simple part. Once you have an activated SIM you just need to change some settings from my previous article on the Rogers Internet Stick.

Go into System Preferences and then select Network. You will need to change the dialup account created for your Internet Stick.

For Bell, there is no Telephone Number, Account Name or Password. Leave them blank. Then you just need to change the APN in Advanced Settings:

APN: inet.bell.ca

Once this is done clicking connect should be it.

The Punchline

During peak hours things might be a bit slower but I am consistently seeing around 7.0Mbps down and 2.5 MBps up.

Which is pretty amazing if you ask me.

Way to go Bell.

The Rogers HSPA+ Rocket Stick & Mac OS X 10.6 Snow Leopard

Posted by markm Sat, 10 Oct 2009 09:11:00 GMT

Zero-Install Plug and Play Software Doesn’t Mean What You Think…

Okay so before I get to the punchline I am going to rant. Sorry.

I am used to using Novatel Wireless devices and they have great Mac support. Many have drivers bundled with the OS so you just plug them in and type in the settings. Then you are on the web.

Clearly a Microsoft Windows user wrote this statement because on a Mac this means that the driver is bundled with the OS (and not on a hidden read-only flash drive on the device). Really, doesn’t Zero-Install mean you don’t have to install drivers. So when I plugged the Rocket Internet Stick into my MacBook and it didn’t appear in my network settings I was disappointed to say the least.

Making matters worse for some reason the Rocket Stick (ZTE MF668) didn’t even work once I installed the drivers. I had the following symptoms on Mac OS X 10.6 (Snow Leopard):

  • The bundled Rogers App does pretty much nothing. It tries to connect but always fails.
  • Once the devices is unplugged it is uninstalled along with any network settings preventing manual configuration.

The Game Plan

Having setup several different Rocket Sticks and similar devices I figured that the best option would be to manually configure the modem. That means we need to accomplish two things - first we need to disable whatever is removing the device from the network settings and then we need to create a manual profile.

To do this we need to get everything installed first then clean it up. First we will install the package that comes on the Stick. Then we will delete the LaunchDaemon that clears the settings and remove the Rogers App. Finally we will add a Modem profile for the Rocket Stick (ZTE MF668) and enter the Rogers network settings.

Installation

The first step is to install the provided drivers. They will mount (showing up as a CD on the desktop) when you first plug the device in.

Once this is done you need to remove the Rogers App (Connection Manager.app) and uninstall the LaunchDaemon that will keep trying to remove any created profiles.

cd /Library/LaunchDaemons/
sudo launchctl unload cn.com.zte.PPPMonitor.plist
sudo rm -rf ./cn.com.zte.PPPMonitor.plist

cd /Applications/
sudo rm -rf ./Connection\ Manager.app

Eventually you should see a popup where you can launch Network Preferences to configure the device.

Configuration

Now you are staring a the Network Preferences Panel. We need to do a couple things here to get things running. You need to setup the newly added ZTEUSBModem (you can safely delete the ZTEUSBATPort if you want - it is just needed for the Rogers Connection Manager).

First we need to type in basic settings:

  • Telephone Number: *99#
  • Account Name: wapuser1
  • Password: wap

The click the “Show modem status in menu bar” so you can easily connect.

The you need to go to Advanced Settings (button in bottom left) and click Advanced. Make sure you are on the Modem tab. Select Generic as the vendor, GPRS (GSM/3G) as the Model and type in internet.com as the APN.

If you want you can rename the USB Modem to something like “Rocket Stick” and you can reorder the service so that when plugged in this takes preference over other connections.

Using the Modem

At this point all you need to do is click connect from the Rocket Stick tab in the Network Preferences.

If you have enabled it you can also do this from the menu bar by clicking connect directly form there.

Final Thoughts.

Well, that might have been a little tricky or hard but, trust me, it will be worth it in the end. Rogers has done a great job of expanding their existing 3G coverage and I am looking forward to HSPA+ in Edmonton.

Palm Pre Workarounds and Troubleshooting Tips

Posted by markm Wed, 07 Oct 2009 08:30:00 GMT

WebOS

Let’s face it, as cool as it is, the WebOS is really a beta. It has been out for 6 months and has not been thoroughly tested. So things are breaking.

For me there were two major issues that were killing me:

  • My hosted Google Apps GMail would just stop working.
  • Calendars would just stop syncing.

After searching and hacking and playing I found the following four things fixed just about everything.

Four (plus One) Tips to Keep Your Pre Happy

Until the WebOS is fixed here are four tips that will keep things going with as few issues as possible:

  • Setup your GMail account in Calendar, not Email.
  • Don’t use ActiveSync - Use IMAP - where possible.
  • Archive messages out of your Inbox - keep the total count well below 50.
  • Only use LETTERS and NUMBERS in your calendar appointments.
  • bonus: If sync is not working disable WiFi and reboot.

Google suggests the first tip and they are right. The Pre will fill in the settings for Email when you add the account in Calendar.

While you may be tempted to use Exchange support there are some email bugs with it. I’d steer clear and use IMAP if you can. Hopefully this will be fixed soon - Palm knows about this.

If you hit 50 messages in your Inbox you are dead. No more messages will come. Keep your Inbox clean.

Calendar syncing WILL stop if you add things like a comma or even a question mark. Sad as it is only numbers and letters. This has been reported in Palm’s forums and I know that a bug has been filed as well.

I had trouble again with sync tonight and I found that in addition to all the other steps what really did the trick was a couple reboots with WiFi disabled. Not sure why this worked.

I Don’t Like Magic Fixes…

As annoying as these workarounds are I still like the Pre. It is the best iPhone alternative on the Market right now. I think the competition will be good for Apple.

That is not to say I am ditching my iPhone. But I do like the Pre.

ImageMagick and RMagick on Leopard and other Large White Cats 5

Posted by markm Tue, 11 Aug 2009 18:47:00 GMT

Credits

This how-too is originally from Pastie254887. It is just updated. And of course there is the small part about ensure it works with Snow Leopard (OS X 10.6).

As far as I know this is the ONLY way to get rmagick running on Snow Leopard until people update their scripts.

Installing ImageMagick and RMagick

In theory there is an install script that will do this all for you. It doesn’t work on Snow Leopard. Below are the steps to follow to actually get it done.

#!/bin/bash
#
# Install rmagick without fink or macports
#
# Requirements: Mac OS X >= 10.5.4, XCode 3.1, X11

#Install freetype

curl -O http://mirror.csclub.uwaterloo.ca/nongnu/freetype/freetype-2.3.9.tar.gz
tar xvf freetype-2.3.9.tar.gz
cd freetype-2.*
./configure --prefix=/usr/local
make
sudo make install
cd ..

#Install ghostscript fonts

curl -L -O 'http://prdownloads.sourceforge.net/gs-fonts/ghostscript-fonts-std-8.11.tar.gz'
tar xfz ghostscript-fonts-std-8.*.tar.gz
sudo mkdir -p /usr/local/share/ghostscript/
sudo mv fonts/ /usr/local/share/ghostscript/fonts/

#Install libjpeg (10.5 libjpeg won't work)

curl -O http://www.ijg.org/files/jpegsrc.v7.tar.gz
tar xfz jpegsrc.v7.tar.gz
cd jpeg-*
ln -s `which glibtool` ./libtool
export MACOSX_DEPLOYMENT_TARGET=10.5
./configure --enable-shared --prefix=/usr/local/libjpeg
make
sudo mkdir -p /usr/local/libjpeg/include
sudo mkdir -p /usr/local/libjpeg/lib
sudo mkdir -p /usr/local/libjpeg/bin
sudo mkdir -p /usr/local/libjpeg/man/man1
sudo make install
cd ..

#Install libpng (10.5 libpng won't work)

curl -L -O 'http://prdownloads.sourceforge.net/libpng/libpng-1.2.38.tar.gz'
tar xvf libpng-1.2.38.tar.gz
cd libpng-1*
./configure --enable-shared --prefix=/usr/local/libpng
make
sudo make install
cd ..

#Finally: Install ImageMagick and set correct symlinks

curl -O curl -O 'http://image_magick.veidrodis.com/image_magick/binaries/ImageMagick-6.5.3-9.tar.gz'
tar xvf ImageMagick-6.5.3-9.tar.gz
cd ImageMagick-6.*
export CPPFLAGS="-I/usr/local/libjpeg/include -I/usr/local/libpng/include -I/usr/local/include"
export LDFLAGS="-L/usr/local/libjpeg/lib -L/usr/local/libpng/lib -L/usr/local/lib -lpng"
./configure --prefix=/usr/local --with-modules \
  --without-perl --without-magick-plus-plus --with-quantum-depth=8 \
  --with-gs-font-dir=/usr/local/share/ghostscript/fonts
make
sudo make install
cd ..
sudo ln -s /usr/local/lib/libMagickCore.la /usr/local/lib/libMagick.la
sudo ln -s /usr/local/lib/libMagickCore.dylib /usr/local/lib/libMagick.dylib

#And top it off with RMagick
sudo gem install rmagick

Continuous Integration with Integrity. 2

Posted by markm Wed, 03 Jun 2009 22:30:00 GMT

Nick Quaranto has posted a nice article talking about their Continuous Integration setup over at Thoughtbot.

And while he did a great job of explaining what he did, the details of how exactly he did it were left as an exercise to the reader. Here are the details that you are going to need to actually get this thing running.

There are two parts to this adventure, Integrity and Metric_fu.

Integrity

First we need to get Integrity up and running. Install the following gems first: * Rack (v 0.9.1) sudo gem install rack -v0.9.1 * Sinatra (v 0.9.1) gem install sinatra -v0.9.1 * Thin (v 1.0.0) gem install thin -v 1.0.0

If you are running on OSX then you will need to get

require 'forwardable'

into your environment.rb because it is not there. This is needed for Thin 1.0.0.

Turns out that Sinatra needs to be version 0.9.1 or the notifiers will explode.

The you can then install integrity. Got to the Integrity Website for the details on this. USE THIN. If you don’t you are going to be compiling code as www-data. Create a user account on your server that can access the console and start up thin with this account. Start and stop thin like this:

thin -C thin.yml -R config.ru start
thin -C thin.yml -R config.ru stop

You likely want to have this start with a LaunchDaemon on OSX or something else on Linux. And you likely want to toss this into your Apache config file with a little something like this

############ INTEGRITY PROXY ###########

<VirtualHost *:80>
        ServerName integrity.yourserver.xxx
        ProxyRequests Off
        ProxyPreserveHost On
        <Proxy *>
                Order deny,allow
                Allow from all
        </Proxy>


        <Proxy balancer://mongrelcluster>
                BalancerMember http://127.0.0.1:8910
                BalancerMember http://127.0.0.1:8911
        </Proxy>

        ProxyPass / balancer://mongrelcluster/
        ProxyPassReverse / balancer://mongrelcluster/
        ProxyPreserveHost on

        <Location />
                Order allow,deny
                Allow from all
        </Location>
</VirtualHost>

That should get Integrity going. But, who cares unless it tells that things are breaking. Add a little Twitter notification with by adding the following to your config.ru file:

require "notifier/integrity_twitter"
Integrity::Notifier.register(Integrity::Notifier::IntegrityTwitter)

And then get an integrity-twitter notifier gem installed. I use this one:

git://github.com/hchoroomi/integrity-twitter.git

Great. Now you can get your tests running.

What I’d suggest is to manually check your stuff out and try to have it run on the server. This will help you get all the gems you need for your project installed and let you debug issues.

If things are just refusing to run, ask yourself this question “Who is thin running as and can they run on the shell?”

metric_fu

Nothing worth doing is simple.

Okay with that out of the way we need to get the gem for metric_fu installed and working. First grab qrush’s version:

git clone git://github.com/qrush/metric_fu.git

And this is where the fun starts again. Rcov have moved but no one knows yet. So grab it from here:

git clone git://github.com/relevance/rcov.git

And then install it by hand:

gem build rcov.gemspec
sudo gem install rcov-0.8.3.4.gem 

Before this point you might want to delete the following lines from tasks/metric_fu.rake to stop it from opening the tests once complete:

if MetricFu.report.open_in_browser?
  MetricFu.report.show_in_browser(MetricFu.output_directory)
end

Then you can install the qrush fork of metric_fu:

gem build metric_fu.gemspec 
sudo gem install metric_fu-1.0.3.gem

Bringing it Together

Once this is done you can do something like:

rake test:all
rake metrics:all

And you should have some tests that run and metrics created. The question remains, how do I get this on the web?

I don’t have the answer to that yet. But I will let you know once I am operational.

Consuming SOAP Services on OSX 1

Posted by markm Thu, 30 Apr 2009 09:40:00 GMT

SOAP is bloated and I hate dealing with it. I still have to do it. When dealing with consuming SOAP services from OS X I like to have a couple of items in my bag of tricks to get up and running: a SOAP Client and a way to do base64 decoding. This way I am able to test the service without writing any code. Too often I beat my head against my keyboard over a piece of code only to realize the service itself is the problem.

Here is the SOAP Client that I use: SOAP Client (what an original name!). It really does the trick, though. Point it at the SOAP service WSDL and you are off to the races. It allows you to pass in arguments and call different services. It does it all and returns the XML requested.

Once you have the XML often you will then need to decode a base64 encoded string. Base64 decoding is a bit trickier. Most of the time you can use openssl to decode on a Unix based platform but for some reason it doesn't seem to work for me. I have had to resort to the following perl script:

  #!/bin/sh
  # decode a Base64 encoded file, as a side effect of
  # openssl base64 handling (but without encryption)
  /usr/bin/perl -MMIME::Base64 -e 'print decode_base64(join("", <>))' < "$1" > "$2"

The script takes two arguments: and input file and an output file. I am not a "perl" kinda guy so the script is mostly stolen and probably can be hugely improved.

If your data is a base64 encoded string of gzipped data the next step is to toss the old ".gz" extension on the file and extract the contents using the OS or using gunzip.

Basic stuff really, but it is a pain to track down so I thought I would toss it all in one place.

Host your own push email for your iPhone.

Posted by markm Fri, 24 Apr 2009 05:57:00 GMT

The going rate for an Active-Sync enabled Microsoft Exchange account seems to be about $15/month. Some plans are a little more, others are a little less. If you need a couple of accounts it adds up really quick. And these days every dollar counts.

For about $34/month you can set up your own email server ($12/month for the software license, $22/month for the hosting). And for that price you get 10 email accounts that support:

  • ActiveSync (Push email for devices like an iPhone or iPod Touch).
  • Secure SMTP and IMAP. (BYO SSL Cert - I have a wildcard I use from RapidSSL, you can generate a self signed cert if you don’t.)
  • Calendaring
  • Open Source AntiSPAM and AntiVirus
  • more details…

First you need to buy a license for Axigen Mobile Office. It is a yearly license and comes with ActiveSync - 99 Euros.

Then grab yourself a CloudServer from Mosso. I opted for a 512MB but you might be able to get away with a 256MB.

Once you have your CloudServer up and running and have download the latest Axigen installer you need to know a couple of things to help you on your way:

  • You can’t use the installer. Dump out the package and install it by hand. You will need to add the 32-bit support modules for Ubuntu (if that is your distro of choice).
  • You NEED a license code for push to work. Everything else works in trial mode.
  • The license code will not show up till Monday if you order it on the weekend, so plan ahead.
  • Mosso is still working on the interface for their DNS system. It should see improvements soon but for the time being you might want to transfer your domain to Hover and use theirs.

I have been using this for about a month now and I couldn’t be happier. The push email works exceptionally well and IMAP idle on the desktop is just as quick.

If you need step-by-step instructions - I do intend to post them soon - this might not be the thing for you.

But, if you need 3-10 ActiveSync accounts, you should think about this.

It is a great way to save some money and get a great solution in the process.

Passenger | Error during failsafe response: closed stream 4

Posted by markm Mon, 23 Mar 2009 09:35:00 GMT

So you are running Passenger with Apache2 and all of a sudden your server is not happy: Internal Server Error!

You look in the log file and you see: 

Error during failsafe response: closed stream
(originally closed stream)

Good news, all is not lost, it is your fault and you can fix it.

If you are dumb like me you ran a migration as "root" which means that your apache2 account can no longer open up the rails production.log file. (Or you did something else to mess up permissions.)

Fix the permissions and all will be better (after an apache restart of course).

Rogers Mobile Internet Stick on OSX 8

Posted by markm Sun, 21 Dec 2008 22:51:00 GMT

I really like Rogers Mobility products and services - but that is another rant - so when they called me up and offered me a sweet deal on a Mobile Internet Stick I took them up on it. When I went to a local Rogers store and picked one up the sales person said, "this took a Mac expert from Westworld Computers and me four hours to get running on a Mac - you better get their help."

Now we both know that there is no possible way that this is a four hour job. Especially when you think about who makes the "Stick" for Rogers: it is a Novatel Wireless Ovation MC950D. Novatel Wireless has been a Mac-Friendly company for years and they will definitely have drivers. So I took a quick look at their website and not only did they have drivers, but they also have put together a guide on how to get the "Stick" up and running. I grabbed their drivers and was up and running on Leopard in 4 minutes not four hours. 

Painless.

At my house I can get about 3.6Mbps down and 1.2Mbps up. To put that into perspective it is faster than Telus ADSL. It is faster than their so called High Speed Enhanced Internet and when the Rogers network is upgraded to 7.2 Mbps it will be faster than their so called High Speed Extreme Internet.

In case you have never done this before there are a bunch of settings that are required to get things running. You need to type in the Account Name and the Password. You will also need to go into the advanced settings and set your APN.

Account Name: wapuser1

Password: wap

APN: internet.com

Getting file uploads working with Typo

Posted by markm Sun, 09 Nov 2008 05:44:00 GMT

Typo rocks.

But, when you install Typo 5.1.3 from the typo gem, file uploads will not work. The problem is that the folder for uploads is missing.

The fix is simple. You need to make a folder called files in the public directory of the website. Don’t forget to fix the permissions on the folder so that your webserver is able to write files there.