HP Probook 645 – HS3110 HSPA+ – Linux Instructions

More than a diary, with this mini-guide I wanted to mark down for myself, but also to share, a possible solution I’ve found to make the integrated SIM modem on HP PC PROBOOk work on linux. As we all know, Linux is one of the operating systems that has grown the most in recent years, but in spite of everything, many devices are not fully working out of the box without manual workarounds.

It all started a few months ago, scrolling through eBay’s announcements I find myself in front of less than € 200 a refurbished and working HP ProBook 645 with a working integrated LTE SIM module. With 8 GB of RAM and 256 SSD … I immediately took it. Of course the first thing I did was to remove windows, and put Linux on it. But which linux? I’ve tried it on many distros, but actually the Debian-based ones were the ones that mostly worked Out of the Box in this system.

But back to the Guide … the only thing that didn’t work for me was the SIM modem.

First it was necessary to identify that MODEM SIM was present. Fortunately, in my case it was written on the pc purchase sheets, but otherwise it is worth seeing exactly all the information on windows before formatting, or using the appropriate terminal commands such as lshw, lspci or lsusb based on how it is recognized.


In my case, the device was the following:
HP hs3110 HSPA+ Mobile Broadband Module

Fortunately, many had problems with this, and the various forums, both ubuntu, opensuse, and linux mint, were full of experiments, attempts and various guides. Putting them all together, I managed to build one that worked for me.

Below is a list of the procedures I have followed, and tested, on various debian-based distros.

1. Acquire root privileges

sudo su

2. Create this file: /etc/systemd/system/huawei.service

nano /etc/systemd/system/huawei.service

3. Insert this in the created file

Description=Load driver for Huawei HS3110

Save and exit.

4. Create a bash script /usr/bin/huawei

nano /usr/bin/huawei

5. Insert this

modprobe option
sleep 3
echo "03f0 521d" > /sys/bus/usb-serial/drivers/option1/new_id
sleep 3
usb_modeswitch -H -v
03f0 -p 521d -s 10

Save and exit.

VERY IMPORTANT: in the usb_modeswitch command the reference numbers next to -v and -p (the ones I put in bold) are those of the device. So they can vary from device to device.
To check which ones are correct, follow this procedure

The devices are identified mainly using a pair of numbers, as in 03f0: 521d.

The first 4 hexadecimal digits correspond to the manufacturer ID (03f0 = HP).
The last 4 hexadecimal digits correspond to the device ID (521d = hs3110 / hs3114 HSPA + Mobile Broadband modules).


BUS 005 DEVICE 001: ID 0000:0000
BUS 004 DEVICE 006: ID 03F0:521D HP, INC.
BUS 004 DEVICE 001: ID 0000:0000

6. Set the script to lunch itself on Startup

chmod o+rx /usr/bin/huawei
systemctl daemon-reload
systemctl enable huawei.service
systemctl start huawei.service

Restart, and the device should boot on its own. Now all you have to do is configure your network manager to work with your operator’s APN!