Forum Linux.debian/ubuntu Modem 4G KO sous Linux

10
11
mar.
2017

TL;DR; J'ai un laptop Dell E5450 sur lequel je ne parviens pas à faire fonctionner le modem 4G embarqué. Sauriez-vous m'aider ?

Version longue

J'ai un ordinateur portable (aka laptop) Dell Latitude E5450 sur lequel se trouve un modem 4G Dell Wireless 5809e Gobi™ 4G LT. À priori, il s'agit d'un Sierra Wireless AirPrime EM7305 à base d'un Qualcomm MDM 9215 et "rebrandé" par Dell. Sur ce laptop tournent en double boot un Ubuntu Gnome 16.10 et un Windows 10. Je ne parviens pas à le faire fonctionner sous Linux alors que j'ai pu vérifier qu'il fonctionne "out of the box" sous Windows 10.

Voici les pages que j'ai pu consulter sur le sujet :

  1. Stuff for Linux on a Dell Latitude E5*50
  2. Dell Wireless 5809e support in openSUSE 13.2
  3. Dell Wireless 5809e support in Linux – a followup la suite du précédent
  4. Changing Dell Wireless 5809e / Sierra Wireless EM7305 USB composition (MBIM, QMI, AT interface, NMEA). La mise à jour des 2 précédents
  5. Dell-branded Sierra Wireless 3G/4G modem not online?
  6. novatel: improve probing for Dell branded modems

Les liens précédents concernent d'autres distros que la mienne, mais a priori d'autes que moi ont réussi à la faire fonctionner :

En me basant sur les liens donnés plus haut, je constate que

  • J'ai bien les bons drivers qui se chargent :
$ usb-devices
[...]
T:  Bus=02 Lev=01 Prnt=01 Port=07 Cnt=02 Dev#=  3 Spd=480 MxCh= 0
D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  2
P:  Vendor=413c ProdID=81b1 Rev=00.06
S:  Manufacturer=Sierra Wireless, Incorporated
S:  Product=Dell Wireless 5809e Gobi™ 4G LTE Mobile Broadband Card
C:  #Ifs= 4 Cfg#= 1 Atr=e0 MxPwr=500mA
I:  If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=qcserial
I:  If#= 2 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=qcserial
I:  If#= 3 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=qcserial
I:  If#= 8 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=qmi_wwan
[...]
  • extraits de la sortie de dmesg
[...]
[    3.574614] usb 2-8: New USB device found, idVendor=413c, idProduct=81b1
[    3.574616] usb 2-8: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[    3.574617] usb 2-8: Product: Dell Wireless 5809e Gobi™ 4G LTE Mobile Broadband Card
[    3.574618] usb 2-8: Manufacturer: Sierra Wireless, Incorporated
[...]
[    8.046612] usbcore: registered new interface driver qcserial
[    8.046625] usbserial: USB Serial support registered for Qualcomm USB modem
[    8.047174] qcserial 2-8:1.0: Qualcomm USB modem converter detected
[    8.047387] usb 2-8: Qualcomm USB modem converter now attached to ttyUSB0
[    8.060817] usbcore: registered new interface driver btusb
[...]
[    8.073493] usbcore: registered new interface driver cdc_wdm
[    8.078990] media: Linux media interface: v0.10
[    8.079101] qcserial 2-8:1.2: Qualcomm USB modem converter detected
[    8.079176] usb 2-8: Qualcomm USB modem converter now attached to ttyUSB1
[    8.079560] qcserial 2-8:1.3: Qualcomm USB modem converter detected
[    8.079619] usb 2-8: Qualcomm USB modem converter now attached to ttyUSB2
[...]
[    8.091125] qmi_wwan 2-8:1.8: cdc-wdm1: USB WDM device
[    8.091971] qmi_wwan 2-8:1.8 wwan0: register 'qmi_wwan' at usb-0000:00:14.0-8, WWAN/QMI device, 26:f1:c1:ed:4e:ed
[    8.091993] usbcore: registered new interface driver qmi_wwan
[...]
[    8.423289] qmi_wwan 2-8:1.8 wwp0s20u8i8: renamed from wwan0
[    8.450380] iwlwifi 0000:02:00.0 wlp2s0: renamed from wlan0
[...]
[    8.600909] audit: type=1400 audit(1489244459.886:2): apparmor="STATUS" operation="profile_load" profile="unconfined" name="/sbin/dhclient" pid=921 comm="apparmor_parser"
[    8.600915] audit: type=1400 audit(1489244459.886:3): apparmor="STATUS" operation="profile_load" profile="unconfined" name="/usr/lib/NetworkManager/nm-dhcp-client.action" pid=921 comm="apparmor_parser"
[    8.600921] audit: type=1400 audit(1489244459.886:4): apparmor="STATUS" operation="profile_load" profile="unconfined" name="/usr/lib/NetworkManager/nm-dhcp-helper" pid=921 comm="apparmor_parser"
[    8.600925] audit: type=1400 audit(1489244459.886:5): apparmor="STATUS" operation="profile_load" profile="unconfined" name="/usr/lib/connman/scripts/dhclient-script" pid=921 comm="apparmor_parser"
[    8.601206] audit: type=1400 audit(1489244459.886:6): apparmor="STATUS" operation="profile_load" profile="unconfined" name="/usr/lib/snapd/snap-confine" pid=924 comm="apparmor_parser"
[    8.601213] audit: type=1400 audit(1489244459.886:7): apparmor="STATUS" operation="profile_load" profile="unconfined" name="/usr/lib/snapd/snap-confine//mount-namespace-capture-helper" pid=924 comm="apparmor_parser"
[    8.602731] audit: type=1400 audit(1489244459.886:8): apparmor="STATUS" operation="profile_load" profile="unconfined" name="/usr/sbin/cups-browsed" pid=926 comm="apparmor_parser"
[    8.604613] audit: type=1400 audit(1489244459.886:9): apparmor="STATUS" operation="profile_load" profile="unconfined" name="/usr/lib/cups/backend/cups-pdf" pid=927 comm="apparmor_parser"
[    8.604622] audit: type=1400 audit(1489244459.886:10): apparmor="STATUS" operation="profile_load" profile="unconfined" name="/usr/sbin/cupsd" pid=927 comm="apparmor_parser"
[    8.604626] audit: type=1400 audit(1489244459.886:11): apparmor="STATUS" operation="profile_load" profile="unconfined" name="/usr/sbin/cupsd//third_party" pid=927 comm="apparmor_parser"
[...]
  • Je suis dans le bon mode de composition USB si j'en crois le script perl de Bjørn Mork référencé en point 4 plus haut
$ sudo ./swi_setusbcomp.pl 
Running in QMI mode (driver=qmi_wwan)
QMI msg '0x0021' returned status = 1
QMI support verified
supports 26 QMI subsystems:
  0x00 (1.5)    'QMI_CTL'   - Control service
  0x01 (1.36)   'QMI_WDS'   - Wireless data service
  0x02 (1.14)   'QMI_DMS'   - Device management service
  0x03 (1.25)   'QMI_NAS'   - Network access service
  0x04 (1.3)    'QMI_QOS'   - Quality of service, err, service 
  0x05 (1.10)   'QMI_WMS'   - Wireless messaging service
  0x06 (1.0)    'QMI_PDS'   - Position determination service
  0x07 (1.2)    'QMI_AUTH'  - Authentication service
  0x08 (1.2)    'QMI_AT'    - AT command processor service
  0x09 (2.1)    'QMI_VOICE' - Voice service
  0x0a (2.16)   'QMI_CAT2'  - Card application toolkit service (new)
  0x0b (1.25)   'QMI_UIM'   - UIM service
  0x0c (1.4)    'QMI_PBM'   - Phonebook service
  0x11 (1.0)    'QMI_SAR'   - Specific absorption rate service
  0x12 (1.0)    'QMI_IMSS'  - IMS settings service
  0x17 (1.0)    'QMI_TS'    - Thermal sensors service
  0x18 (1.0)    'QMI_TMD'   - Thermal mitigation device service
  0x1a (1.10)   'QMI_WDA'   - Wireless data administrative service
  0x1d (1.0)    'QMI_CSVT'  - Circuit switched videotelephony service
  0x1e (1.0)    'QMI_QCMAP' - Qualcomm mobile access point service
  0x1f (1.0)    'QMI_IMSP'  - IMS presence service
  0x20 (1.0)    'QMI_IMSVT' - IMS videotelephony service
  0x22 (1.0)    'QMI_COEX'  - Coexistence service
  0x29 (1.0)    'QMI_RFRPE' - RF radiated performance enhancement service
  0xe1 (1.0)    'QMI_RMS'   - Remote management service
  0xf0 (1.0)    'unknown'   - 
QMI msg '0x0022' returned status = 1
Got QMI DMS client ID '2'
QMI msg '0x555b' returned status = 1
Current USB composition: 14
USB compositions:
   0 - HIP  DM    NMEA  AT    MDM1  MDM2  MDM3  MS      NOT SUPPORTED
   1 - HIP  DM    NMEA  AT    MDM1  MS                  SUPPORTED
   2 - HIP  DM    NMEA  AT    NIC1  MS                  NOT SUPPORTED
   3 - HIP  DM    NMEA  AT    MDM1  NIC1  MS            NOT SUPPORTED
   4 - HIP  DM    NMEA  AT    NIC1  NIC2  NIC3  MS      NOT SUPPORTED
   5 - HIP  DM    NMEA  AT    ECM1  MS                  NOT SUPPORTED
   6 - DM   NMEA  AT    QMI                             SUPPORTED
   7 - DM   NMEA  AT    RMNET1 RMNET2 RMNET3            SUPPORTED
   8 - DM   NMEA  AT    MBIM                            SUPPORTED
   9 - MBIM                                             SUPPORTED
  10 - NMEA MBIM                                        SUPPORTED
  11 - DM   MBIM                                        SUPPORTED
  12 - DM   NMEA  MBIM                                  SUPPORTED
  13 - Config1: comp6    Config2: comp8                 NOT SUPPORTED
* 14 - Config1: comp6    Config2: comp9                 SUPPORTED
  15 - Config1: comp6    Config2: comp10                NOT SUPPORTED
  16 - Config1: comp6    Config2: comp11                NOT SUPPORTED
  17 - Config1: comp6    Config2: comp12                NOT SUPPORTED
  18 - Config1: comp7    Config2: comp8                 NOT SUPPORTED
  19 - Config1: comp7    Config2: comp9                 SUPPORTED
  20 - Config1: comp7    Config2: comp10                NOT SUPPORTED
  21 - Config1: comp7    Config2: comp11                NOT SUPPORTED
  22 - Config1: comp7    Config2: comp12                NOT SUPPORTED
QMI msg '0x0023' returned status = 1

  • J'ai bien l'authentication FCC qui se fait si j'en crois le lien 5 donné plus haut. (Ma libqmi est en 1.12.6 et et ModemManager en 1.6 avec Ubuntu 16.10)
$ sudo qmicli -d /dev/cdc-wdm1 --dms-get-operating-mode
[/dev/cdc-wdm1] Operating mode retrieved:
    Mode: 'online'
    HW restricted: 'no'

J'ai beau mettre en œuvre la règle udev mentionnée dans les liens 1 ou 3, rien de change et impossible d'avoir accès à mon modem. Auriez-vous une idée de comment faire fonctionner ce foutu modem sous Linux ? Je suis à court d'idées.
Applet Gnome NetworManager
NetworkManager
ModemManager

J'aurais aussi bien posté un commentaire sur le blog Oxf8.org de Pieter mentionné plus haut, mais il ne les autorise pas.
Merci de votre aide.

  • # firmware, noyau ordinaire

    Posté par  (site web personnel) . Évalué à 5.

    Tout à fait au hasard parce que ça m'est déjà arrivé :

    • as-tu le bon firmware ?
    • as tu essayé avec un noyau vanilla ?

    "La liberté est à l'homme ce que les ailes sont à l'oiseau" Jean-Pierre Rosnay

    • [^] # Re: firmware, noyau ordinaire

      Posté par  (site web personnel, Mastodon) . Évalué à 3.

      as-tu le bon firmware ?

      Normalement, oui. Je vais tâcher de repasser sous Windows pour le mettre à jour d'ici qqs jours, c'est une bonne idée.

      as tu essayé avec un noyau vanilla ?

      Nope, si je suis passé sous Ubuntu, c'était dans l'espoir de ne pas avoir à bidouiller/recompiler sur ce laptop… :-(

      • [^] # Re: firmware, noyau ordinaire

        Posté par  (site web personnel) . Évalué à 3.

        as tu essayé avec un noyau vanilla ?

        Nope, si je suis passé sous Ubuntu, c'était dans l'espoir de ne pas avoir à bidouiller/recompiler sur ce laptop… :-(

        Ah voilà! J'ai déjà vu des pilotes ne pas marcher sur un noyau Ubuntu — ce qui explique le manque de cheveux sur ma tête. Ubuntu fournit (fournissait ?) aussi un noyau plus standard. Tu l'installes, rien à recompiler.

        Tu peux aussi tester avec un live-cd SuSE. Ça me dépanne souvent sur les blobs.

        "La liberté est à l'homme ce que les ailes sont à l'oiseau" Jean-Pierre Rosnay

      • [^] # Re: firmware, noyau ordinaire

        Posté par  . Évalué à 4.

        as-tu le bon firmware ?

        Normalement, oui. Je vais tâcher de repasser sous Windows pour le mettre à jour d'ici qqs jours, c'est une bonne idée.

        hmm je penses qu'on parle du firmware que linux charge au demarrage pour prendre en charge la carte,
        je suis pas sur qu'aller sous windows change les choses.

        à l'inverse, installer le paquet linux-firmware, blacklister certains modules pour permettre à d'autres de se charger serait une piste.

        j'ai deja vu des materiels aussi ou il fallait completement eteindre le PC et pas faire un "reboot" pour aller sous linux (cold start)
        ou bien l'inverse, d'autres ou le cold start n'amorcer par le firmware, mais un reboot depuis windows etait OK.

  • # code pin premier pas

    Posté par  . Évalué à 5.

    Il faudrait que tu trouve comment valider le code pin de la carte sim, probablement une commmande a envoyer.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.