HP ProBook 645 – HS3110 HSPA+ – Come fare funzionare questo modem SIM su Linux!

Più che un diario, questa è una mini-guida che ho voluto scrivere (principalmente per me stesso), ma anche condividere, per risolvere un problema che ho incontrato. Ecco dunque qui una possibile soluzione per far funzionare su Linux il modem SIM integrato su alcuni Laptop HP PROBOOK. Come molti possono vedere, Linux è uno dei sistemi operativi che è cresciuto di più negli ultimi anni, ma nonostante tutto, ci sono ancora molti dispositivi che non funzionano completamente senza interventi manuali al sistema.

Tutto è iniziato qualche mese fa, scorrendo a caso alcuni annunci di eBay mi trovo davanti a meno di 200€ un HP ProBook 645 ricondizionato e funzionante con un modulo SIM LTE integrato funzionante e lettore Smartcard… 8 GB di RAM e 256 SSD. Onestamente, mi pareva un ottimo affare e l’ho preso subito. Ovviamente la prima cosa che ho fatto è stata rimuovere Windows e installarci Linux.
Ma quale Linux avrei dovuto scegliere? Sopra ci ho provato su molte distribuzioni, Fedora, Ubuntu, CentOS ed altre… in realtà quelle basate su Debian erano quelle che funzionavano maggiormente Out of the Box in questo sistema.

L’unica cosa che non ha funzionato per me è stato il modem SIM. Un grosso problema, dato che era uno dei due motivi principali per cui ho acquistato il pc.
Quindi è iniziata la ricerca della soluzione…
Innanzitutto è stato necessario identificare esattamente che Modem SIM fosse. Per fortuna nel mio caso era scritto sui fogli di acquisto del pc, ma nel caso non fosse un dato disponibile, poteva valere la pena vedere esattamente tutte le informazioni su windows prima di procedere alla formattazione, oppure utilizzare gli appositi comandi da terminale come lshw, lspci o lsusb in base a come viene riconosciuto.

Nel mio caso, il dispositivo è il seguente:
HP hs3110 HSPA+ Mobile Broadband Module

Fortunatamente per me, in molti hanno avuto problemi con questo dispositivo, e girando fra le varie community ho trovato parecchi spunti, grazie ad i quali sono riuscito a realizzarmene uno che ha funzionato per me.

Di seguito è riportato un elenco delle procedure che ho seguito e testato su varie distribuzioni basate su Debian.

1. Ricevere i permessi di amministratore root

sudo su

2. Creare questo file: /etc/systemd/system/huawei.service

nano /etc/systemd/system/huawei.service

3.Inserire questi comandi all’interno del file creato

[Unit]
Description=Load driver for Huawei HS3110
Before=network.target
[Service]
Type=oneshot
ExecStart=/usr/bin/huawei
RemainAfterExit=yes
[Install]
WantedBy=multi-user.target

Salvare ed Uscire.

4. Creare uno script bash /usr/bin/huawei

nano /usr/bin/huawei

5. Dentro il quale dovrete inserire la seguente lista di istruzioni

#!/bin/bash
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

Salvare nuovamente ed uscire.

Molto Importante: Nella stringa usb_modeswitch le sigle di riferimento accanto a -v e -p (i due valori che ho evidenziato in grassetto nei comandi sopra) sono quelli del dispositivo. Quindi possono variare da pc a pc, e da device a device.
Per controllare di avere quelli corretti, seguire questa procedura:

I dispositivi vengono identificati principalmente tramite una coppia di numeri, come in questo esempio: 03f0: 521d

Le prime 4 cifre esadecimali corrispondono all’ID del produttore.  (03f0 = HP).
Le ultime 4 cifre esadecimali corrispondono all’ID del dispositivo.  (521d = hs3110 / hs3114 HSPA + Mobile Broadband modules).

LSUSB È UNO STRUMENTO PER INTERROGARE I DISPOSITIVI USB CONNESSI.

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

Ora che siete arrivati qui, ed avete verificato che il dispositivo sia corretto, potete procedere con la guida.

6. Impostare lo script sopra creato per l’esecuzione automatica all’accensione del PC

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

Riavviare il pc, ed  il dispositivo dovrebbe avviarsi da solo.

Ora tutto ciò che devi fare è configurare il tuo gestore di rete in modo che funzioni con l’APN del tuo operatore!