Globe Tattoo on Ubuntu Jaunty 9.04

Update: Confirmed that the device Just Works in Ubuntu Karmic 9.10. No need to install udev-extras and fiddle with udev rules.

Globe Tattoo mobile internet service is officially supported in Windows and MacOS X, but it should work in a Linux installation with a recent kernel.

My Tattoo unit is marked Huawei E1552 HSDPA USB Stick. Ubuntu Jaunty 9.04 recognized it as a HUAWEI Mass Storage/MMC Storage device. According to this web page:

Several new USB devices (especially high-speed wireless WAN stuff, there seems to be a chipset from Qualcomm offering that feature) have their MS Windows drivers onboard; when plugged in for the first time they act like a flash storage and start installing the driver from there. After that (and on every consecutive plugging) this driver switches the mode internally, the storage device vanishes (in most cases), and a new device (like an USB modem) shows up. The WWAN gear maker Option calls that feature “ZeroCD (TM)”.

The web page then explains how to install a tool (USB_ModeSwitch) to help perform the “mode switch” in Linux. I prefer to work within the distro’s official repositories, however, and fortunately, Ubuntu provides a similar tool, modem-modeswitch, in the udev-extras package.

Here’s what I did under Ubuntu 9.04 for my Huawei E1552 Globe Tattoo device:

  1. install the udev-extras package

    sudo apt-get install udev-extras
  2. create a file called /etc/udev/rules.d/62-option-modem-modeswitch.rules, and paste this line:

    ATTRS{idVendor}=="12d1", ATTRS{idProduct}=="1446", RUN+="modem-modeswitch -v 0x%s{idVendor} -p 0x%s{idProduct} -t option-zerocd"
  3. restart udev

    sudo /etc/init.d/udev restart

Now plug-in the Tattoo device. If you’re watching /var/log/messages, you should see the kernel detecting the device as a mass storage device, then disconnecting the device, then finally detecting it as a USB GSM modem. (Interestingly, lsusb reports the device to be a Huawei E620 USB Modem.)

If your device isn’t detected properly, try changing the values for idVendor and idProduct in Step 2 above. Use lsusb -v to find the values for your device. Also make sure that the rules file you saved in /etc/udev/rules.d/ has a higher number prefix than the similary-named rules file in /lib/udev/rules.d/.

You should then create a mobile broadband network connection via the NetworkManager applet. I changed the APN to, following this post.

Sometimes when I try to connect, the modem will properly authenticate but then hang up. I just keep trying to connect until I am prompted for the password (globe). Connection usually succeeds after that. Still, I feel my connection is too slow. I have no way of determining if I’m connected to HSDPA or 3G or GPRS. Maybe someone out there can find out.