Installing a Novatel Wireless Merlin U740 HSDPA modem on Ubuntu

The Novatel Wireless Merlin U740 is a good choice if you need network connectivity everywhere. This cellular modem is capable of HSDPA (the very latest 3rd generated data mode), but can also degrade down to GPRS (I haven’t tested HSCSD – the cellular old style dial-up modem, so I’m not sure its supported).

When you need to pick up a cellular modem, I highly recommend this one – mostly as installing it on a Linux operating system is completely trivial. In the past I covered setting up the Merlin U740 on Fedora 7 (post in hebrew) and while it was fairly easy using the Fedora 7 graphical configuration tools, its even easier on Ubuntu, so this time you get a story in pictures.

The test rig I’m using is an IBM (not Lenovo, mind you) Thinkpad X41 tablet. Because I’m screwed up that way, the operating system is (the as yet unreleased) Ubuntu 7.10 (Gutsy Gibon). Don’t worry about it too much – it’ll be released in a couple of month (October 2007, as the name suggests) and I highly recommend upgrading to it. Also all the stuff I discuss here is readily available in Ubuntu 7.10 (Fiesty Fawn), so don’t fret 1.

Start by getting Merlin U740 and sticking it in your PCMCIA port on your laptop. The led on the top of the device should start changing colors – wait for it to turn off and then to start blinking blue. This means that the operating system identified the modem and have set it up to be used – no need for those obnoxious “ooh ooh, I think I saw a new hardware!” messages. Now we need to tell the system where to dial with the modem. You should have already purchased a data plan for the SIM card installed in the modem, so its just a matter of configuring the “dial” number. To do that, use the main menu and go to System -> Administration -> Network. Ubuntu might require you to type in your password to make sure you are allowed to administer the system.

After that, the dialog you should see is something like this:

Ubuntu cellular modem setup 1

As you can see, we already have a “Modem Configuration” item, but its not available (notice the “-” sign in front of it). Just select it and click on Properties.

Ubuntu cellular modem setup 2

In the modem properties dialog, type *99# as the phone number to “dial” (this is the access code for high speed cellular broadband. Its quite generic and should work everywhere). The properties dialog wouldn’t let us complete it unless there is at least a usrename configured, so I typed in my cellular provider name, although it doesn’t actually require any authentication – the SIM in the card is all the authentication we need.

Now choose the next tab in the properties dialog, Modem.
Ubuntu cellular modem setup 3

Type /dev/ttyUSB0 in the modem port (for some reason its not available as one of the “default” values in the drop down menu).

In the next tab Options, just mark all the options, for using the modem as the default internet device when its connected, let the internet provider set the name servers for you, and to redial the connection if it drops:
Ubuntu cellular modem setup 4

Now you can hit “OK” to complete the setup. Your network configuration dialog should now look like this:
Ubuntu cellular modem setup 5

We can see that the modem is now configured: it knows the “username” and the number to dial, and the checkbox in front of it is now active but unchecked – because the modem is not connected. Checking it will start the modem and connect to the internet. If you have a wireless network then you’ll see the Network Manager applet (at the notification tray on the top right of the screen) disconnects when the modem goes online. Unchecking the modem box hangs up the modem.

Now this is a bit annoying – whenever you want to dial the modem, you need to open the network configuration dialog again and check the modem box. Ubuntu offers a “Modem Monitor” applet to add to the panel, which theoretically should let you dial the modem directly (without going through the network configuration which requires an administrator’s password), but I couldn’t get it to work for me, so we’re stuck with this 2.

Another problem is that there’s no easy way to tell if your modem is connected or not, but this we are going to tackle this: right click the top panel and choose Add to panel from the menu that opens. Then search for “Network Monitor”:
Ubuntu cellular modem setup 6

Select the “Network Monitor” (not as in the picture where the non-functioning “Modem Monitor” is selected), and click on “Add”. You should now have a new “networked computers” icon on the top panel. Right click the new icon and select Properties from the menu.

In the properties dialog, under “Connection”, change “Name” to ppp0 (this is the name of the network interface that the modem is setting up when its connecting) :
Ubuntu cellular modem setup 7

Now you can click on “Close”. If your modem is not connected, then the icon should now change to have a “no access” emblem on it – this tells you that the modem connection is off. If the icon does not have a “no access” emblem, then the modem connection is on.

Finally, we can connect the modem – open the “Network Configuration” dialog under System -> Administration -> Network Configuration (type in your password as required) and check the box in front of the “Modem Configuration”. The network icon should not be active. To disconnect, uncheck the “Modem Configuration” box 3.

And now a rant

For everyone that missed the rant in my previous cellular modem post, I’d like to reiterate that I think this is kind of lousy – yes, its ten times better then how it used to be, but its still lousy:

Most of the configuration is pretty straightforward and easy, except for setting of the modem device. The Fedora 7 modem configuration at least tries to make a token attempt at figuring out the correct device name (and fails), but the Ubuntu configuration doesn’t even do that – how does a normal person expected to know that the piece of hardware that she just plugged in is called /dev/ttyUSB0 ?!? The option isn’t even available in the drop down menu, and its not like this is a new device or something – USB modems 4 have used this device name for as long as udev has been on the scene (which is I think about 5 years now). Not to mention that exposing device names to the casual user under anything other then an “Advanced” dialog is a crime all by itself (which, BTW, the “Network Monitor” is guilty of the same – what does ppp0 actually means to the average computer user?).

This needs to be fixed. I need to go now, but I’ll be sure to open a bug for that later. I opened a bug for the Fedora configuration that fails to find the modem because its not looking at the USB modem devices, but nobody seems to care – I hope the Ubuntu guys will do better.

The problem with Linux configuration interfaces

There is a really big problem when building configuration interface for the average Joe, on Linux: on one hand you need to really simplify the setup and explain things out in a non-techie way so that people who don’t have a few years experience with command-line Linux can understand what it means – often dumbing down the interface in the processes. On the other hand you still want your core techies to use the new tools and to be able to provide support for them, and to do that they have to understand what these things mean – which means keeping the same terms that techies are familiar with.

The “default route” option in the modem configuration’s “Options” tab is a not so classic example: What does “default route” mean to Joe ? Currently the description is only barely intelligible, but take away the most confusing part – “default route” – and replace it with something that Joe would understand, and now no techie would be able to figure out what it means.

  1. I would guess that users of earlier Ubuntu versions, such as 6.10 or older would not find the tools used there, and the kernel probably doesn’t have the required drivers anyway[]
  2. Unlike Fedora 7 where the modem applet works very well and even has a small “bandwidth monitor” so you know when the modem is actually being used. I hope the modem applet will be fixed for the Ubuntu 7.10 release[]
  3. Another way to disconnect is to just yank out the modem. I’m not sure its a good idea, but I do that from time to time – the operating system doesn’t seem to mind, but I don’t know about the modem hardware itself[]
  4. The Novatel Wireless is a USB modem – the PCMCIA card is actually a USB hub with the modem hardwired into it[]

4 Responses to “Installing a Novatel Wireless Merlin U740 HSDPA modem on Ubuntu”

  1. Job Brüggen:

    Hi, I liked your article. Also I have all the same hardware as in your article so one should think it would work. I run a Vodafone Merlin U740 on a DELL410 laptop running Unbuntu Feisty Fawn.
    However – it does not run. When I double click on the network monitor item,. it displays an error message and says:

    SIOCGIFFLAGS error: No such device

    Any clues how to follow up?
    Greetings from the Netherlands,
    job

  2. Guss:

    I get the same error when the modem is not plugged in. did you make sure your modem’s led has cycled through all the colors and is blinking blue ?

  3. Guss:

    Actually – dialing the modem is now easier: with latest Gutsy Gibon, after you setup the connection as above, the network manager (the wireless/wired connection manager) will now offer the option to “connect ppp0 via modem” under “dial-up connections”. Clicking on this will dial the modem, and you don’t need the modem dialer anymore.

    The same menu also offers the option to disconnect when you’re done with the network.

  4. habeanf:

    לא הצלחתי להריץ על dell d430 עם gutsy 7.10
    יש שגיאה בnetwork monitor כשמכניסים ppp0..

    על המודם הנורה מהבהבת בצבע כחול, אז כנראה שgutsy מתקין אותו כמו שצריך

Leave a Reply