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:
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:
- 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!
