Interfaccia wwan0 su rete mobile 3g-hspa come funziona?

Postate qui per tutte le discussioni legate a Linux in generale.

Moderatore: Staff

Regole del forum
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Gnu/Linux in genere, se l'argomento è specifico alla Slackware usate uno dei forum Slackware o Slackware64.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Rispondi
Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3288
Iscritto il: ven 27 apr 2007, 11:21
Slackware: 14.2
Kernel: 4.4.38
Desktop: KDE-4.14.21

Interfaccia wwan0 su rete mobile 3g-hspa come funziona?

Messaggio da joe »

Ultimamente sto cercando di far funzionare una chiavetta olicard-300 di cui potete vedere il topic in questa stessa sezione del forum.

Tuttavia ho notato un comportamento decisamente curioso:

1- inserisco la chiavetta che viene vista come Zero-CD ovvero si crea proprio un device /dev/sr0 simil CD
2- se con eject simulo l'espulsione del device /dev/sr0 ecco che....
3- viene creata un'interfaccia mai vista prima chiamata "wwan0"

Ho cercato info su internete e pare sia relativa ad alcuni device che operano su rete mobile LTE, mentre la chiavetta in oggetto è solo 3G/HSPA.

Mi chiedevo se vi fosse qualche speranza di poter sfruttare questa nuova interfaccia per indurre il mio ISP a farmi connettere ad internet tramite quella.
In pratica sembrerebbe che fosse sufficiente richiedere l'ip all'ISP dopo averla configurata tra le interfacce di rete.

Qualcuno qui ha avuto esperienza con aggeggi del genere?
Si possono usare per la connessione con i gestori italiani come Tim per esempio?

Grazie in anticipo! :D

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3288
Iscritto il: ven 27 apr 2007, 11:21
Slackware: 14.2
Kernel: 4.4.38
Desktop: KDE-4.14.21

Re: Interfaccia wwan0 su rete mobile 3g-hspa come funziona?

Messaggio da joe »

Visto il seguito che ha avuto questo topic sembra che l'utilizzo delle chiavette internet sia principalmente ancora utilizzato configurandole come modem.

Alla fine ho fatto qualche progresso, ma sono riuscito ad ottenere una connessione funzionante solo con una delle due chiavette che ho sottomano, che è una Huawei-E353.
Dopo aver aggiornato il kernel della slack-14.0 alla versione 3.19.4 e alcuni pacchetti tra cui libmbim e libqmi, rispetivamente necessari per la olicard e la huawei, ecco che le cose sembra inizino a funzionare.

Intanto vi mostro cosa sputa fuori usb-device:

Codice: Seleziona tutto

T:  Bus=02 Lev=02 Prnt=04 Port=00 Cnt=01 Dev#= 10 Spd=480 MxCh= 0
D:  Ver= 2.00 Cls=ef(misc ) Sub=02 Prot=01 MxPS=64 #Cfgs=  1
P:  Vendor=2020 ProdID=4000 Rev=03.00
S:  Manufacturer=Network Connect
S:  Product=MT6225 
C:  #Ifs= 7 Cfg#= 1 Atr=a0 MxPwr=500mA
I:  If#= 0 Alt= 0 #EPs= 1 Cls=02(commc) Sub=0e Prot=00 Driver=cdc_mbim
I:  If#= 1 Alt= 1 #EPs= 2 Cls=0a(data ) Sub=00 Prot=02 Driver=cdc_mbim
I:  If#= 2 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=02 Prot=01 Driver=option
I:  If#= 3 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
I:  If#= 4 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
I:  If#= 5 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
I:  If#= 6 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage

--
T:  Bus=02 Lev=03 Prnt=05 Port=01 Cnt=01 Dev#=  9 Spd=480 MxCh= 0
D:  Ver= 2.00 Cls=ef(misc ) Sub=02 Prot=01 MxPS=64 #Cfgs=  1
P:  Vendor=12d1 ProdID=1506 Rev=00.00
S:  Manufacturer=Huawei Technologies
S:  Product=HUAWEI Mobile
C:  #Ifs= 7 Cfg#= 1 Atr=c0 MxPwr=500mA
I:  If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=01 Prot=01 Driver=option
I:  If#= 1 Alt= 0 #EPs= 1 Cls=ff(vend.) Sub=01 Prot=09 Driver=qmi_wwan
I:  If#= 2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=01 Prot=08 Driver=qmi_wwan
I:  If#= 3 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=01 Prot=03 Driver=option
I:  If#= 4 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=01 Prot=02 Driver=option
I:  If#= 5 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage
I:  If#= 6 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage
Per quanto riguarda la Huawei (sicuramente più linux-friendly...), presenta 2 interfacce gestite dal driver qmi_wwan che possono essere controllate dalle libqmi attraverso il dispositivo creato automaticamente /dev/cdc-wdm0. Stabilita la connessione, si può poi gestire l'interfaccia di rete associata "wwan0".
Per controllare il tutto si può usare il tool da riga di comando "qmicli".
È comodo però configurare lo script /usr/bin/qmi-network editando /etc/qmi-network.conf:

Codice: Seleziona tutto

# cat /etc/qmi-network.conf 
APN="ibox.tim.it"
Per connettermi a questo punto lancio:

Codice: Seleziona tutto

qmi-network /dev/cdc-wdm0 start && /etc/rc.d/rc.inet1 wwan0_restart
La prima parte del comando lancia la connessione, mentre la seconda tira su l'interfaccia wwan0 configurata in /etc/rc.d/rc.inet1.conf seguendo la slackware way:

Codice: Seleziona tutto

# tail -n18 /etc/rc.d/rc.inet1.conf

# Config information for wwan0:
IFNAME[5]="wwan0"
IPADDR[5]=""
NETMASK[5]=""
USE_DHCP[5]="yes"
DHCP_HOSTNAME[5]=""
DHCP_KEEPRESOLV[5]="yes"
DHCP_KEEPNTP[5]="yes"

# Config information for wwan1:
IFNAME[6]="wwan1"
IPADDR[6]=""
NETMASK[6]=""
USE_DHCP[6]="yes"
DHCP_HOSTNAME[6]=""
DHCP_KEEPRESOLV[6]="yes"
DHCP_KEEPNTP[6]="yes"
In pratica nella seconda parte( dopo "&&"), viene appunto tirata su l'interfaccia e soprattutto, via DHCP viene ottenuto dall'ISP l'IP assegnato e quindi associato all'interfaccia stessa...
Quindi alla fine la Huawei è utilizzabile senza problemi utilizzando le libqmi attraverso l'interfaccia di rete wwan0.



Per quanto riguarda la Olicard, il discorso non cambia moltissimo: infatti pur cambiando la gestione che avviene attraverso libmbim (invece che libqmi), bè alla fine il risultato è quasi lo stesso. Dico quasi perchè l'ultimo step fallisce miseramente: non riesco ad associare alcun IP all'interfaccia wwan0 associata alla connessione via libmbim.

In pratica:
- Accendo la trasmissione/funzionalità radio

Codice: Seleziona tutto

# mbimcli -d /dev/cdc-wdm1 --set-radio-state=on
[/dev/cdc-wdm1] Radio state retrieved:
             Hardware Radio State: 'on'
             Software Radio State: 'on'
- Configurato il file di configurazione /etc/mbim-network.conf:

Codice: Seleziona tutto

# cat /etc/mbim-network.conf 
APN=ibox.tim.it
- lancio la connessione

Codice: Seleziona tutto

# mbim-network /dev/cdc-wdm1 start
Loading profile...
    APN: ibox.tim.it
Querying subscriber ready status 'mbimcli -d /dev/cdc-wdm1 --query-subscriber-ready-status --no-close'...
[/dev/cdc-wdm1] Subscriber ready status retrieved: Ready state: 'initialized' Subscriber ID: 'XXXXXXXXXXXX' SIM ICCID: 'xxxxxxxxxxxxxxxxxx' Ready info: 'unknown' Telephone numbers: (1) 'xxxxxxxxx' [/dev/cdc-wdm1] Session not closed: TRID: '3'
Saving state... (TRID: 3)
Querying registration state 'mbimcli -d /dev/cdc-wdm1 --query-registration-state --no-open=3 --no-close'...
[/dev/cdc-wdm1] Registration status: Network error: 'unknown' Register state: 'home' Register mode: 'automatic' Available data classes: 'gprs, edge, umts, hsdpa, hsupa' Current cellular class: 'gsm' Provider ID: '22201' Provider name: '22201' Roaming text: 'unknown' Registration flags: 'packet-service-automatic-attach' [/dev/cdc-wdm1] Session not closed: TRID: '4'
Saving state... (TRID: 4)
Attaching to packet service with 'mbimcli -d /dev/cdc-wdm1 --attach-packet-service --no-open=4 --no-close'...
Saving state... (TRID: 5)
Starting network with 'mbimcli -d /dev/cdc-wdm1 --connect=ibox.tim.it --no-open=5 --no-close'...
Network started successfully
Saving state... (TRID: 6)
Ok, a questo punto siamo di fatto connessi all'ISP, solo che non abbiamo ancora ricevuto un IP da assegnare all'interfacia wwan1 (in questo caso abbiamo wwan1, e non wwan0 perchè banalmente ho entrambe le chiavette collegate e la huawei ha occupato il primo dispositivo "wdm0", "wwan0" ecc... Alla olicard è stato quindi associato wdm1 e wwan1... niente di chè).
Come visto sopra ho confgurato anche wwan1 in modo che utilizzi il DHCP per assegnare l'IP all'interfaccia. Ma sta volta non funziona... E dhcpcd se ne và in timeout.

Codice: Seleziona tutto

]# /etc/rc.d/rc.inet1 wwan1_start
Polling for DHCP server on interface wwan1:
dhcpcd[2636]: version 5.5.6 starting
dhcpcd[2636]: wwan1: sending IPv6 Router Solicitation
dhcpcd[2636]: wwan1: broadcasting for a lease
dhcpcd[2636]: wwan1: sending IPv6 Router Solicitation
dhcpcd[2636]: wwan1: sending IPv6 Router Solicitation
dhcpcd[2636]: timed out
dhcpcd[2636]: allowing 8 seconds for IPv4LL timeout
dhcpcd[2636]: wwan1: sending IPv6 Router Solicitation
dhcpcd[2636]: wwan1: no IPv6 Routers available
dhcpcd[2636]: timed out
Leggendo in giro ho letto qualche commento del tipo:
Non tutti i dispositivi MBIM supportano il DHCP. In questo caso bisognerebbe ottenere l'IP in altro modo, ad esempio ottenendolo direttamente attraverso un qualche comando che sfrutti libmbim per ottenere l'IP della connessione instaurata (e dovrebbe essere parte della libreria in questione da quanto ho capito). In un secondo tempo si attiverà l'interfaccia wwan0 assegnandovi l'IP trovato.
Sempre che fin qui abbia capito bene, questa fantomatica funzione di "IP discover" sembra non essere associata ad alcuna opzione di "mbimcli"...
Pertanto mi sono arenato qui.

Chiedo scusa per la lunghezza, ma era necessario riportare tutti i dettagli.
Spero che abbiate letto fin qui...
Di fatto il problema si riduce ad ottenere l'indirizzo "IP" dal mio ISP attraverso le libmbim.
Non è detto che il dhcp non sia supportato, potrebbe anche essere da attivare sul dispositivo attraverso qualche comando libmbim.... Ma è semplicemente una mia congettura eh...
Però la butto lì perchè la mia comprensione dell'inglese potrebbe giocarmi qualche scherzo... e potrei aver capito male quanto ho letto in giro.

Qualsiasi suggerimento sarebbe davvero apprezzato! :)

Rispondi