Connexion

Forum

Système et matériels » Réseau Internet Wi-Fi Portable avec carte 4G intégré (Sierra Wireless EM7305)

babs3 Membre non connecté

Rang

Avatar

Inscrit le : 22/05/2013 à 16h02

Messages: 33

Le 08/11/2018 à 17h15
Bonjour,

J'ai un portable avec carte 4G intégré Sierra Wireless EM7305

Je viens de récupérer une carte Sim pour le faire fonctionner.

Dans le centre réseau on trouve bien la carte :



lsusb donne :
Bus 001 Device 002: ID 1199:9063 Sierra Wireless, Inc.

lspcidrake -v|grep Sierra
cdc_mbim : Sierra Wireless, Incorporated|EM7305 [Communications] (vendor:1199 device:9063)


/var/log/dmesg
[ 3.204417] usb 1-4: New USB device found, idVendor=1199, idProduct=9063
[ 3.204420] usb 1-4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 3.204422] usb 1-4: Product: EM7305
[ 3.204424] usb 1-4: Manufacturer: Sierra Wireless, Incorporated
[ 3.217496] usb 3-1: New USB device found, idVendor=8087, idProduct=8000
[ 3.217499] usb 3-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[ 3.217778] hub 3-1:1.0: USB hub found

Comment fait-on pour voir si c'est le bon driver qui est installé ?

J'ai trouvé un driver ici :
https://source.sierrawireless.com/resources/airprime/software/usb-drivers-linux-qmi-software-s2,-d-,24n2,-d-,33/

Merci !

Jacques
   
babs3 Membre non connecté

Rang

Avatar

Inscrit le : 22/05/2013 à 16h02

Messages: 33

Le 06/03/2019 à 21h26

J'aimerais bien installer le driver "Gobinet" qui est fourni par SierraWireless :
https://source.sierrawireless.com/resources/airprime/software/usb-drivers-linux-qmi-software-s2,-d-,24n2,-d-,33/

J'ai essayé cela sans succès :

tar xjf SierraLinuxQMIdriversS2.24N2.33.tar.bz2
cd S2.24N2.33/GobiNet
make

cela donne ces messages d'erreurs :

Code TEXT :
 
make -C /lib/modules/4.14.89-desktop-1.mga6/build M=/tmp/S2.24N2.33/GobiNet modules
make[1] : on entre dans le répertoire « /usr/src/kernel-4.14.89-desktop-1.mga6 »
  CC [M]  /tmp/S2.24N2.33/GobiNet/GobiUSBNet.o
/tmp/S2.24N2.33/GobiNet/GobiUSBNet.c: Dans la fonction ‘GobiUSBNetStartXmit’:
/tmp/S2.24N2.33/GobiNet/GobiUSBNet.c:1192:8: erreur : ‘struct net_device’ has no member named ‘trans_start’
    pNet->trans_start = jiffies;
        ^
scripts/Makefile.build:326 : la recette pour la cible « /tmp/S2.24N2.33/GobiNet/GobiUSBNet.o » a échouée
make[2]: *** [/tmp/S2.24N2.33/GobiNet/GobiUSBNet.o] Erreur 1
Makefile:1525 : la recette pour la cible « _module_/tmp/S2.24N2.33/GobiNet » a échouée
make[1]: *** [_module_/tmp/S2.24N2.33/GobiNet] Erreur 2
make[1] : on quitte le répertoire « /usr/src/kernel-4.14.89-desktop-1.mga6 »
Makefile:29 : la recette pour la cible « all » a échouée
make: *** [all] Erreur 2
 


Qu'est ce que j'ai mal fait ?

Merci !

Jacques Edité par babs3 Le 06/03/2019 à 21h52
   
m@rco123 Membre non connecté

Rang

Avatar

Inscrit le : 15/05/2009 à 08h07

Localisation : Val d'Oise

Messages: 2892

Le 06/03/2019 à 21h41
salut !
Tu as essayé " connecter " ?


Lenovo g70-70
cg intel 810 / ssd SanDisk 250Go
Mageia 7 plasma 64b

Packard Bell ls11hr
cg intel 810 / ssd SanDisk 128Go
Mageia 6 plasma 64b
   
babs3 Membre non connecté

Rang

Avatar

Inscrit le : 22/05/2013 à 16h02

Messages: 33

Le 06/03/2019 à 21h56

Oui.

Il y a "Connexion en cours..."

puis plus rien.

J'en déduit que le driver installé n'est pas le bon et qu'il faut que j'installe un autre driver fourni par SierraWireless (Gobinet).

Mais je ne sais pas comment installer ce driver..

Merci !

Jacques Edité par babs3 Le 06/03/2019 à 21h57
   
babs3 Membre non connecté

Rang

Avatar

Inscrit le : 22/05/2013 à 16h02

Messages: 33

Le 06/03/2019 à 22h06

Le module qui est chargé est :
cdc_mbim : Sierra Wireless, Incorporated|EM7305 [Communications] (vendor:1199 device:9063)

Or le module du fabriquant devrait être globinet/globiserial.

Il y a un fil concernant mon laptop ici :
https://forum.sierrawireless.com/t/building-official-linux-drivers-for-em7305/8585

Merci !

Jacques
   
funix Membre non connecté

Rang

Avatar

Inscrit le : 17/12/2012 à 21h03

Messages: 548

Le 06/03/2019 à 22h25
pour ton problème de compil, c'est ton noyau qui est plus récent que le code, mais si tu mets

netif_trans_update(pNet);

à la place de

pNet->trans_start = jiffies;

dans le fichier GobiUSBNet.c ça devrait compiler


FUNIX - http://www.funix.org
Mettez un pingouin dans votre PC
Blog - http://olivier.hoarau.org
Site web    
Jybz Membre non connecté

Rang

Avatar

Modérateur

Inscrit le : 10/10/2018 à 10h26

Messages: 1943

Le 07/03/2019 à 09h40
funix :
pour ton problème de compil, c'est ton noyau qui est plus récent que le code, mais si tu mets

netif_trans_update(pNet);

à la place de

pNet->trans_start = jiffies;

dans le fichier GobiUSBNet.c ça devrait compiler

Je suis toujours impressionné, comment Funix à trouvé que le noyau était trop récent ?!
Bravo !
   
babs3 Membre non connecté

Rang

Avatar

Inscrit le : 22/05/2013 à 16h02

Messages: 33

Le 07/03/2019 à 17h10

Merci beaucoup ! Je précise que j'apprécie beaucoup les tutoriaux de funix..

Cela continue à planter plus loin...

cf ci-après le résultat de la compilation :

Caché :

[jacques@localhost GobiNet]$ make
make -C /lib/modules/4.14.89-desktop-1.mga6/build M=/tmp/S2.24N2.33/GobiNet modules
make[1] : on entre dans le répertoire « /usr/src/kernel-4.14.89-desktop-1.mga6 »
CC [M] /tmp/S2.24N2.33/GobiNet/GobiUSBNet.o
CC [M] /tmp/S2.24N2.33/GobiNet/QMIDevice.o
/tmp/S2.24N2.33/GobiNet/QMIDevice.c: Dans la fonction ‘UserspaceunlockedIOCTL’:
/tmp/S2.24N2.33/GobiNet/QMIDevice.c:2166:26: erreur : ‘struct file’ has no member named ‘f_dentry’
pFilp->f_op = pFilp->f_dentry->d_inode->i_fop;
^
/tmp/S2.24N2.33/GobiNet/QMIDevice.c: Dans la fonction ‘UserspaceClose’:
/tmp/S2.24N2.33/GobiNet/QMIDevice.c:2686:7: erreur : implicit declaration of function ‘for_each_process’ [-Werror=implicit-function-declaration]
for_each_process( pEachTask )
^
/tmp/S2.24N2.33/GobiNet/QMIDevice.c:2687:7: erreur : expected ‘;’ before ‘{’ token
{
^
/tmp/S2.24N2.33/GobiNet/QMIDevice.c:2720:26: erreur : ‘struct file’ has no member named ‘f_dentry’
pFilp->f_op = pFilp->f_dentry->d_inode->i_fop;
^
/tmp/S2.24N2.33/GobiNet/QMIDevice.c:2674:18: attention : unused variable ‘flags’ [-Wunused-variable]
unsigned long flags;
^
/tmp/S2.24N2.33/GobiNet/QMIDevice.c:2672:8: attention : unused variable ‘count’ [-Wunused-variable]
int count = 0;
^
/tmp/S2.24N2.33/GobiNet/QMIDevice.c:2671:21: attention : unused variable ‘pFDT’ [-Wunused-variable]
struct fdtable * pFDT;
^
/tmp/S2.24N2.33/GobiNet/QMIDevice.c: Dans la fonction ‘UserspaceRead’:
/tmp/S2.24N2.33/GobiNet/QMIDevice.c:2778:26: erreur : ‘struct file’ has no member named ‘f_dentry’
pFilp->f_op = pFilp->f_dentry->d_inode->i_fop;
^
/tmp/S2.24N2.33/GobiNet/QMIDevice.c: Dans la fonction ‘UserspaceWrite’:
/tmp/S2.24N2.33/GobiNet/QMIDevice.c:2862:26: erreur : ‘struct file’ has no member named ‘f_dentry’
pFilp->f_op = pFilp->f_dentry->d_inode->i_fop;
^
/tmp/S2.24N2.33/GobiNet/QMIDevice.c: Dans la fonction ‘UserspacePoll’:
/tmp/S2.24N2.33/GobiNet/QMIDevice.c:2940:26: erreur : ‘struct file’ has no member named ‘f_dentry’
pFilp->f_op = pFilp->f_dentry->d_inode->i_fop;
^
/tmp/S2.24N2.33/GobiNet/QMIDevice.c: Dans la fonction ‘DeregisterQMIDevice’:
/tmp/S2.24N2.33/GobiNet/QMIDevice.c:3385:10: erreur : expected ‘;’ before ‘{’ token
{
^
/tmp/S2.24N2.33/GobiNet/QMIDevice.c:3449:30: erreur : passing argument 1 of ‘atomic_read’ from incompatible pointer type [-Werror=incompatible-pointer-types]
int ref = atomic_read( &pDev->mQMIDev.mCdev.kobj.kref.refcount );
^
In file included from ./arch/x86/include/asm/msr.h:67:0,
from ./arch/x86/include/asm/processor.h:21,
from ./arch/x86/include/asm/cpufeature.h:5,
from ./arch/x86/include/asm/thread_info.h:53,
from ./include/linux/thread_info.h:38,
from ./arch/x86/include/asm/preempt.h:7,
from ./include/linux/preempt.h:81,
from ./include/linux/spinlock.h:51,
from ./include/linux/seqlock.h:36,
from ./include/linux/time.h:6,
from ./include/linux/skbuff.h:19,
from ./include/linux/if_ether.h:23,
from ./include/linux/etherdevice.h:25,
from /tmp/S2.24N2.33/GobiNet/Structs.h:75,
from /tmp/S2.24N2.33/GobiNet/QMIDevice.h:127,
from /tmp/S2.24N2.33/GobiNet/QMIDevice.c:119:
./arch/x86/include/asm/atomic.h:25:28: note : expected ‘const atomic_t * {alias const struct <anonymous> *}’ but argument is of type ‘refcount_t * {alias struct refcount_struct *}’
static __always_inline int atomic_read(const atomic_t *v)
^
/tmp/S2.24N2.33/GobiNet/QMIDevice.c:3322:8: attention : unused variable ‘count’ [-Wunused-variable]
int count = 0;
^
/tmp/S2.24N2.33/GobiNet/QMIDevice.c:3321:18: attention : unused variable ‘flags’ [-Wunused-variable]
unsigned long flags;
^
/tmp/S2.24N2.33/GobiNet/QMIDevice.c:3320:18: attention : unused variable ‘pFilp’ [-Wunused-variable]
struct file * pFilp;
^
/tmp/S2.24N2.33/GobiNet/QMIDevice.c:3319:21: attention : unused variable ‘pFDT’ [-Wunused-variable]
struct fdtable * pFDT;
^
cc1 : les avertissements sont traités comme des erreurs
scripts/Makefile.build:326 : la recette pour la cible « /tmp/S2.24N2.33/GobiNet/QMIDevice.o » a échouée
make[2]: *** [/tmp/S2.24N2.33/GobiNet/QMIDevice.o] Erreur 1
Makefile:1525 : la recette pour la cible « _module_/tmp/S2.24N2.33/GobiNet » a échouée
make[1]: *** [_module_/tmp/S2.24N2.33/GobiNet] Erreur 2
make[1] : on quitte le répertoire « /usr/src/kernel-4.14.89-desktop-1.mga6 »
Makefile:29 : la recette pour la cible « all » a échouée
make: *** [all] Erreur 2
   
babs3 Membre non connecté

Rang

Avatar

Inscrit le : 22/05/2013 à 16h02

Messages: 33

Le 07/03/2019 à 22h16
Désolé pour mon erreur..

J'ai vu qu'il y avait une version plus récente du driver. J'ai également mis à jour ma Mageia 6.

Voici ce que donne la compilation :

Code :

[jacques@localhost GobiNet]$ make
make -C /lib/modules/4.14.100-desktop-1.mga6/build M=/tmp/S2.36N2.55/GobiNet modules
make[1] : on entre dans le répertoire « /usr/src/kernel-4.14.100-desktop-1.mga6 »
  CC [M]  /tmp/S2.36N2.55/GobiNet/GobiUSBNet.o
  CC [M]  /tmp/S2.36N2.55/GobiNet/QMIDevice.o
  CC [M]  /tmp/S2.36N2.55/GobiNet/QMI.o
  CC [M]  /tmp/S2.36N2.55/GobiNet/usbnet_2_6_32.o
  CC [M]  /tmp/S2.36N2.55/GobiNet/usbnet_3_0_6.o
  CC [M]  /tmp/S2.36N2.55/GobiNet/usbnet_2_6_35.o
  CC [M]  /tmp/S2.36N2.55/GobiNet/usbnet_3_10_21.o
  CC [M]  /tmp/S2.36N2.55/GobiNet/usbnet_3_12_xx.o
  CC [M]  /tmp/S2.36N2.55/GobiNet/usbnet_4_4_xx.o
  LD [M]  /tmp/S2.36N2.55/GobiNet/GobiNet.o
  Building modules, stage 2.
  MODPOST 1 modules
  CC      /tmp/S2.36N2.55/GobiNet/GobiNet.mod.o
  LD [M]  /tmp/S2.36N2.55/GobiNet/GobiNet.ko
make[1] : on quitte le répertoire « /usr/src/kernel-4.14.100-desktop-1.mga6 »


Que dois je faire après... ?

Merci !

Jacques
   
nic80 Membre non connecté

Rang

Avatar

Inscrit le : 06/08/2018 à 23h52

Messages: 1546

Le 07/03/2019 à 22h49
Bonjour,

Il semble que le module soit compilé.

Pour installer le module dans les modules pour ce noyau ( cela sous entend qu' il faudra le recompiler s' il y a changement de noyau), il faut en temps que root, faire un make modules_install ( à confirmer, je ne suis pas sur de la syntaxe exacte).

Je me demandes, s' il ne faudrait pas blacklister le module cdc_mbim ( parce que sinon je pense que le système pourra toujours le choisir au lieu de celui fourni par le constructeur) Edité par nic80 Le 07/03/2019 à 22h55
   
Jybz Membre non connecté

Rang

Avatar

Modérateur

Inscrit le : 10/10/2018 à 10h26

Messages: 1943

Le 08/03/2019 à 10h04
Dites moi, il ne faudrait pas faire un rapport de bug pour l'intégrer à la distribution Mageia ?
   
funix Membre non connecté

Rang

Avatar

Inscrit le : 17/12/2012 à 21h03

Messages: 548

Le 08/03/2019 à 17h38
Jybz :

Je suis toujours impressionné, comment Funix à trouvé que le noyau était trop récent ?!


ce sont des appels de fonctions et de structures système qui correspondent à une version plus ancienne du noyau, quand tu googlises on voit que le problème est connu.


FUNIX - http://www.funix.org
Mettez un pingouin dans votre PC
Blog - http://olivier.hoarau.org
Site web    
funix Membre non connecté

Rang

Avatar

Inscrit le : 17/12/2012 à 21h03

Messages: 548

Le 08/03/2019 à 17h41
nic80 :

Pour installer le module dans les modules pour ce noyau ( cela sous entend qu' il faudra le recompiler s' il y a changement de noyau), il faut en temps que root, faire un make modules_install ( à confirmer, je ne suis pas sur de la syntaxe exacte).

Je me demandes, s' il ne faudrait pas blacklister le module cdc_mbim ( parce que sinon je pense que le système pourra toujours le choisir au lieu de celui fourni par le constructeur)


Je pense que c'est également la bonne chose à faire pour une installation permanente, sinon pour voir si ça marche, il peut tenter (en tant que root) de

désinstaller le module cdc_mbim avec un rmmod cdc_mbim

puis sous /tmp/S2.36N2.55/GobiNet installer le module Gobinet

insmod GobiNet

en parallèle dans un shell il faudra lancer journalctl -f et voir ce que ça donne dans les messages


FUNIX - http://www.funix.org
Mettez un pingouin dans votre PC
Blog - http://olivier.hoarau.org
Site web    
nic80 Membre non connecté

Rang

Avatar

Inscrit le : 06/08/2018 à 23h52

Messages: 1546

Le 09/03/2019 à 09h57
Bonjour,

Il me semblait que rmmod permettait de décharger un module ( pas de le désinstaller ( suppression)) de la mémoire ( si non utilisé ( donc si l' avant dernière colonne d' un /sbin/lsmod a la valeur 0)).

Est ce qu' un insmod simple ne risque pas d' échoué ( le module Gobinet a peut être besoin d' autres modules pour fonctionner ( et qu' il faudra charger manuellement auparavant)) ? Edité par nic80 Le 09/03/2019 à 09h57
   
funix Membre non connecté

Rang

Avatar

Inscrit le : 17/12/2012 à 21h03

Messages: 548

Le 09/03/2019 à 12h37
nic80 :

Il me semblait que rmmod permettait de décharger un module ( pas de le désinstaller ( suppression)) de la mémoire ( si non utilisé ( donc si l' avant dernière colonne d' un /sbin/lsmod a la valeur 0)).

Est ce qu' un insmod simple ne risque pas d' échoué ( le module Gobinet a peut être besoin d' autres modules pour fonctionner ( et qu' il faudra charger manuellement auparavant)) ?


rmmod effectivement ne supprime rien du système, il désactive juste sur le moment le module (pour éviter les conflits), pour insmod il faut d'abord lancer journalctl justement pour voir s'il y a pas besoin d'autres modules.
L'intérêt de ces 2 commandes est de faire un test rapide, si ça marche on peut modifier le système de manière permanente en bricolant sous /etc/modprobe.d/


FUNIX - http://www.funix.org
Mettez un pingouin dans votre PC
Blog - http://olivier.hoarau.org
Site web    
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie