HP Cellular Modem for HP 5320m

After pulling the bottom cover off my second-hand HP Probook 5320m a couple of times I was pleased to discover a PCI-E slot for a HP un2420 mobile broadband modem.  It appears that the Cellular antennas are already built within the lid (or screen) of the laptop.   A light bit of reading also suggested that these modules were capable of decoding GPS signals too.

I just had to try one.

So for the princely sum of $35 I procured a HP un2420 Gobi 2000 module from a local eBay seller.  There are suppliers on eBay that are selling these HP Gobi 2000 modems out of China for $11, which is an absolute bargain. YMMV.  I didn’t want to wait until after Christmas to try one so I purchased one at the higher price.

Now of course I want this to work in my shiny new Ubuntu 16.04 LTS laptop.  Oh well I’ve always welcomed a challenge.   I’ll detail the steps I took to get to a working solution.

First we should check we can see the module;

#$ lsusb
Bus 002 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 004: ID 05c8:0403 Cheng Uei Precision Industry Co., Ltd Webcam
Bus 001 Device 003: ID 03f0:241d Hewlett-Packard Gobi 2000 Wireless Modem
Bus 001 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

I’ve highlight what we’re looking for (in blue) which is the “HP Gobi 2000 wireless modem”.  You can tell that this device is currently un-programmed as the product ID is “241d” and changes to “251d” once the firmware is loaded.   You also need to check that /dev/ttyUSB0 exists and that your user that starts the 3G cellular modem is in group dialout.  This isn’t necessary right now but does simplifies things later.

Now you’re going to require a Microsoft Windows machine, sorry there is no other easy way around this.  Some have managed to pull apart MSI files in wine, I didn’t get that lucky.  The Qualcomm Gobi modems down load the firmware into the modem at power on, once the firmware has been download the modems will work.   I was lucky to have the same laptop with Windows 10 installed, so I simply installed the driver on this second machine and then stole the files I needed on a USB stick.  I had to install the un2420 module in the Windows machine to get the drivers to load.

From within the Windows driver there are two directories from which we need three files;

  • ….\Qualcomm\Images\HP\UMTS\amss.mbn
  • ….\Qualcomm\Images\HP\UMTS\apps.mbn
  • ….\Qualcomm\Images\HP\6\uqcn.mbn

You’ll need to work out where the drivers get placed depending on your version of windows, it will be installed in the program directories there somewhere.  I found them in the Program Files (x86) directory on Windows 10.   The files above are what you require for a Generic UMTS modem (6) that is not vendor network specific or locked.  This worked nicely for my unlocked module and Telstra pre-paid SIM. YMMV.

Now once you have these files on a USB stick you can start work on the Linux machine.

#$ sudo apt-get install gobi-loader

This will get the udev helper we need to load the firmware into the modem.  Once this is installed copy the files from the windows machine into this directory, watching file permissions of course;

#$ sudo cp /mnt/usbstick/* /lib/firmware/gobi

As mentioned we want all three “mbn” files above in that directory.  Now you might like to check that the udev rules for QDL modems are correct in the following file;

#$ less /lib/udev/rules.d/77-mm-qdl-device-blacklist.rules

Your looking to check that the following two lines exist;

#HP un2420 Gobi QDL Device
ATTRS{idVendor}=="03f0", ATTRS{idProduct}=='241d", \ ENV{ID_MM_DEVICE_IGNORE}="1"

These lines will prevent ModemManager in Ubuntu from trying to take control of this device at boot up before the udev helper gobi_loader gets a change to load the firmware.   Now if all is going well reboot the machine and then check the following in a terminal;

#$ lsusb
Bus 002 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 004: ID 05c8:0403 Cheng Uei Precision Industry Co., Ltd Webcam
Bus 001 Device 003: ID 03f0:251d Hewlett-Packard Gobi 2000 Wireless Modem
Bus 001 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

You should notice that the product ID has changed from 241d to 251d, meaning that firmware is now loaded in the 3G modem.  I tried not rebooting this machine which turned out to be a mistake.  ModemManager is a pernickety piece of software that won’t do anything unless everything is 100% right.  I wasted a number of hours chasing my tail trying to get services shutdown and restarting stuff.

You should also see that there are now three tty USB devices attached to the system;

#$ ls /dev/ttyUSB*
/dev/ttyUSB0 /dev/ttyUSB1 /dev/ttyUSB2

If you don’t see these three devices then there is something wrong.  I’d suggest you start with dmesg and searching your way through syslog to find out why what’s gone wrong.  It can take a while.  When you do get things right about 13-15 seconds after the kernel loads you should see the firmware loaded into the modem and the additional USB serial ports being created.   If the firmware doesn’t load you will find error messages in syslog.

Now you should be able to configure the NetworkManager to actually use the Modem.  I simply went into NetworkManager -> Edit Connections and created a mobile broadband connection from scratch.   The APN we want to use for Telstra is “telstra.internet” and the rest is pretty much a vanilla install.

Once you’ve got the connection, done you should be able to connect to the internet via the cellular modem.

Oh and don’t forget to plug your SIM into the slot in the battery case.   Now you can sit back and enjoy Cellular Mobile data without any external USB dongle to snap off, or get left behind.

Yay !

SSDV equals Laptop Mania

I’ve been recently hunting for a laptop or computer I can run Linux on to allow me to participate in a Slow Scan Digital Video SSDV experiment from a High Altitude Balloon.   Some of our AREG club members are developing a high speed FSK modem that is capable of 100kbits or more on 70cm.  Over this high speed link digital images are sent throughout the high altitude balloon flight, the combination of SSDV and high speed FSK has been named Wenet.  These SSDV images are reconstructed on a server in the UK from multiple ground stations streaming their data (click).   Recent testing has shown that the on-air performance is less than 1dB away from the theoretical maximum, David has written an excellent article on it here (click).  However if I wanted to join the fun I need something to run Linux on.. Hmm what to buy.

So when one of my AREG club members emailed our club mailing list with details of a local computer recycling shop selling refurbished HP Probook 5320m’s for $100.  How could we go wrong.

The Intel i3-370M processor is relatively old and puts this machine at the low end of the performance curve, but with 4GB or RAM and 250GB 7200rpm drives these laptops still offered good performance and excellent bang for buck.

So once I’d visited the computer recycler and purchased a laptop it was installed with Ubuntu 16.04 LTS and the usual upgrades and massaging applied to make it all work.  This was the first time I’d experimented with Debian Jessie but the end result was a working machine.   By working I mean working, so the Wifi, Bluetooth, battery monitor, webcam, touch pad, buttons, keyboard, USB, Display port all just simply worked.  There is something to be said for sticking with non-bleeding edge hardware.

The Wenet installation is relatively painless if you’ve ever compiled things from source.  This was then married with a RTL-SDR and 70cm preamp.   The big test was then Horus Flight 39 in which said laptop and system were put through there paces by my eldest son Daniel, you can follow the write up here (click).   The entire team in the tracking car were amazed to watch the pictures “live” from the balloon on this flight.  I had to concentrate on the road a lot of the time with people making oooh and ahhh sounds around me.

I’m told the processor was loaded about 30% the majority of the time and the machine remain responsive under load.   This will certainly do very nicely for this experiment going forward.  What is also strange is I now find myself sitting on the sofa of a night time using this laptop in anger surfing the web.  It boots fast and is great for “looking things up”, so far it’s run for 5-6 days without needed to be charged.

Now to work out what else we can do with it !

Waverley Amateur Radio Society Powerpole Kit

(c) Waverley Amateur Radio Society

A few members of the AREG got together and purchased a group buy of the Waverley Amateur Radio Society Powerpole Kits to build.

I got mine for my contesting setup since they were cheap and cheerful and I could screw my West Mountain Radio RigRunner under my bench.

Construction of the units is not difficult and the instructions are nice and clear.   A job well done by the WARS that is for certain.

However with power distribution you’re always wondering just how much current can you run through them without damage.

I’m luck enough to have access to the nice toys at work for testing of power supplies.   So I ran up our grunty PSU on the input, connected the load to output 6 (furthest from input) and ran up a conservative 25A continuous as the worst case and waited.   The majority of my “contesting” radios will reach 25A peak with an average far lower than 25A, should be good enough.   It does mean I’m not too worried if two radios were used at the same time however.

Using a thermographic camera I was then able to go looking for what is “getting hot” a sure sign of something under stress.  After 10 minutes of “thrashing” the temperature stabilised and I was able to capture the following two images.

ir_1367ir_1368

The first image showed me that there was something getting hot at this power level (345W) my initial thoughts were the copper traces or a dodgy solder joint.  It turns out it’s the fuse if you look at the second image.

These automotive blade fuses run stonking hot at high current levels, far hotter than I’d ever considered before in the past.   Keep in mind that these are 30A fuses and were 15% within their rating at the time. This stands to reason when you consider that the fusing capability of such an element is a function of the current (I) squared and time (t).  So the higher the current the shorter the fusing time, the squared term ensures that the relationship is not linear.  The heat from the fuse was far greater than the heat from the traces.

Anyway my rough tests and thermographic images certainly tell me that a properly constructed WARS powerpole kit will happily run within it’s designed ratings of 30A continuous on the input.   Time to order one or two more for the junk box me thinks !