13 votes

Erreur 'ip-config-unavailable' lorsque le modem USB tente de se connecter

J'ai un modem ZTE MF-193E qui fonctionnait bien avant. Lorsque j'ai acheté ce modem il y a plus d'un an, il fonctionnait sans problème. Maintenant, comme Ubuntu progresse en version, les choses deviennent de plus en plus difficiles pour moi.

Ce modem a même fonctionné il y a quelques mois avec Ubuntu 15.04 (64 bits). Maintenant, dans Ubuntu 15.10 (64-bit), il ne peut pas se connecter.

J'ai mettre en place une connexion mobile à large bande . J'ai essayé plusieurs chaînes pour l'APN, mais cela n'a jamais été un problème auparavant.

(Le modem fonctionne bien sous Windows 10, il ne s'agit donc pas du tout d'un problème matériel. Aussi, Modem Manager GUI détecte bien cet appareil. Les SMS peuvent être envoyés et reçus sans aucun problème).

Lorsque j'insère le modem, il est bien détecté, une icône de CD s'affiche dans Unity avec le nom du modem. Quelques secondes plus tard, j'obtiens une boîte de message

Mobile Broadband Network: you are registered on the home network

près de l'icône du réseau.

Lorsque j'essaie de me connecter, l'icône sans fil de l'applet du gestionnaire de réseau commence ces mouvements centrifuges, mais finalement la connexion échoue et un message m'indique que je suis hors ligne.

La ligne que j'ai pu isoler de /var/log/syslog c'est ça,

NetworkManager[628]: <info>  (ttyUSB1): device state change: ip-config
> -> failed (reason 'ip-config-unavailable') [70 120 5]

Cependant, je ne suis pas sûr que ce soit le cas.

Plus de lignes de /var/log/syslog peuvent être trouvés aquí .


Mise à jour 1 - 06 décembre 2015

Comme l'a fait remarquer un membre bienveillant, a essayé la nf_conntrack_pptp approche par module.

Exécuté les commandes suivantes,

$ lsmod | grep nf_conntrack_pptp | wc -l
0

$ sudo modprobe nf_conntrack_pptp
lsmod | grep nf_conntrack_pptp
nf_conntrack_pptp      20480  0
nf_conntrack_proto_gre    16384  1 nf_conntrack_pptp
nf_conntrack          106496  2 nf_conntrack_proto_gre,nf_conntrack_pptp

J'ai ensuite essayé mon modem, même échec. Aucun changement perceptible dans le journal non plus.


Mise à jour 2 - 06 décembre 2015

Exécuté en tant que root,

systemctl restart network-manager.service

Aucune sortie sur l'écran (terminal).

Le journal correspondant du point ci-dessus à une tentative de connexion à l'aide du modem se trouve à l'adresse suivante aquí .


Mise à jour 3 - 06 décembre 2015

Installé ofono puis j'ai réessayé le modem.

Veuillez consulter le journal aquí .


Mise à jour 4 - 06 décembre 2015

Encore une fois, exécuté en tant que root,

systemctl restart network-manager.service

Le journal correspondant du point ci-dessus à une tentative de connexion à l'aide du modem se trouve à l'adresse suivante aquí .


Mise à jour 5 - 06 décembre 2015

Changer tous les "deny" en "allow" dans le document /etc/dbus-1/system.d/nm-dispatcher.conf .

J'ai essayé de me connecter. Pas de chance.

Quelques réseaux se connectent et se déconnectent avec la connexion Ethernet.

Suivi par sudo systemctl restart network-manager.service .

Le modem se branche et se débranche.

J'ai essayé de me connecter à nouveau. Ne se connecte pas.

Le journal est aquí .


Mise à jour 6 - 06 décembre 2015

Exécuté

sudo killall ModemManager; sudo ModemManager --debug 2>&1 | tee /tmp/modem.log.txt

y

export NM_PPP_DEBUG=1
sudo NetworkManager --no-daemon 2>&1 | tee /tmp/nm.log.txt

Impossible à exécuter mm-test.py en raison d'erreurs multiples. J'ai trouvé le fichier à l'endroit indiqué. Je l'ai obtenu de, https://github.com/openshine/ModemManager/blob/master/test/mm-test.py .

Les commandes ci-dessus sont quelque peu différentes de celles du Wiki.

Les fichiers journaux sont aquí .


Mise à jour 7 - 07 décembre 2015

Exécuté à nouveau (après le changement suggéré dans /lib/udev/rules.d/40-usb_modeswitch.rules et redémarrer)

sudo killall ModemManager; sudo ModemManager --debug 2>&1 | tee /tmp/modem.log.txt

y

sudo NM_PPP_DEBUG=1 /usr/sbin/NetworkManager --log-level=debug --no-daemon > /tmp/nm.log.txt

El /var/log/syslog est également inclus.

Les fichiers journaux sont aquí .


Mise à jour 8 - 08 décembre 2015

Le jeu de journaux mis à jour est le suivant aquí .


Mise à jour 9 - 08 décembre 2015

Test 1

  1. Cette fois, j'ai démarré l'ordinateur à partir d'un DVD Ubuntu 14.04 32 bits. Dès que l'ordinateur a démarré, j'ai commencé à capturer le journal MM.

  2. J'ai inséré le modem. lsusb a montré qu'elle était reconnue comme un 19d2:1232 qui doit être transformé en 19d2:2003. périphérique. Puisque l'installation de usb-modeswitch nécessite le redémarrage de la redémarrage de la machine (et donc la perte de l'installation pour l'exécution du DVD), j'ai préparé un fichier de commutation personnalisé et j'ai commuté le modem à partir de la ligne de commande ( sudo usb_modeswitch -I -c 19d2:2003 ).

  3. Dès que la commutation a été effectuée, on m'a informé que j'étais sur Mobile Broadband Network et l'appreil Nouvelle connexion à large bande dans le menu du gestionnaire de réseau.

  4. J'ai établi la connexion ci-dessus de la manière habituelle (le nom de l'APN n'était pas un critère de sélection). problème), et la connexion a été établie automatiquement.

  5. J'ai déconnecté et éjecté le modem.

  6. Arrêt de la capture du journal MM.

Le journal MM et le syslog complets pour le début de la session jusqu'à l'éjection du modem peuvent être trouvés aquí .

Test 2

Le même test avec un DVD Ubuntu 14.04 64 bit.

Les journaux peuvent être trouvés aquí .


Mise à jour 10 - 09 décembre 2015

Ce temps testé avec wvdial et a constaté que si wvdial est exécuté en tant que root, nous obtenons un succès de connexion.

El wvdial conf et log, et le syslog correspondant sont aquí

Première conjecture : la situation pourrait avoir quelque chose à voir avec le groupe d'utilisateurs de l'utilisateur correspondant.

Mais comme indiqué aquí ,

Avec tous ces outils, pour établir une connexion dialup, l'utilisateur doit l'utilisateur doit être membre des groupes "dip" et "dialout". qui sont supposés se connecter via dialup dans ces groupes.

Mais comme nous pouvons le constater,

$ groups masroor
masroor : masroor adm dialout cdrom sudo dip plugdev lpadmin sambashare family wireshark

Ainsi, l'utilisateur est déjà un membre des groupes indiqués.

Maintenant, peut-être que le problème se résume à l'un ou l'autre de ces points,

  1. Quel groupe supplémentaire l'utilisateur doit-il constituer ?
  2. Comment exécuter le processus de configuration de la connexion haut débit mobile en tant que root ? (problèmes de sécurité ?)

Mise à jour 11 - 09 décembre 2015

wvdial fonctionne avec USB3 et ne no fonctionnent avec USB1.

Veuillez trouver le syslog aquí .

On y trouve également les résultats de dmesg | grep tty > /tmp/dmesg.tty.txt . Mais vous voyez ces quatre lignes au début du fichier ?


Mise à jour 12 - 10 décembre 2015

  1. La ligne 4 a été commentée ( SUBSYSTEM!="tty", GOTO="mm_zte_port_types_end" ) en /lib/udev/rules.d/77-mm-zte-port-types.rules .

  2. J'ai redémarré ma machine. J'ai débranché le câble et inséré le modem.

  3. J'ai essayé de me connecter. Sans succès.

Le fichier syslog est aquí .


Mise à jour 13 - 10 décembre 2015

En désespoir de cause, pour voir si certains changements locaux n'affectent pas la connexion, j'ai testé la machine avec les DVD Ubuntu 15.04 et 15.10.

  1. J'ai démarré la machine avec le DVD Xubuntu 15.04 64 bit. La connexion s'est déroulée comme sur des roulettes.
  2. J'ai démarré la machine avec le DVD Ubuntu 15.10 64 bit. La connexion a échoué comme avant.

Que s'est-il passé entre la 15.04 et la 15.10 ?

C'est tellement frustrant.


Mise à jour 14 - 10 décembre 2015

  1. Création d'un nouveau fichier /lib/udev/rules.d/78-mm-zte-port-types-RALPH.rules comme indiqué dans la réponse.

  2. J'ai redémarré ma machine (ou exécuté sudo udevadm control --reload (j'ai en fait essayé les deux). J'ai inséré le modem.

  3. Le modem a été reconnu.

    $ lsusb
    Bus 001 Device 005: ID 19d2:2003 ZTE WCDMA Technologies MSM
  4. J'ai débranché le câble et essayé de me connecter avec le modem. Sans succès.

  5. J'ai éjecté le modem.

La machine se bloque une fois, est-ce un événement aléatoire ? Ma machine ne se habituellement pas une fois par an.

Le fichier syslog et les fichiers de règles créés sont les suivants aquí .


Mise à jour 15 - 11 décembre 2015

  1. Ajouté les lignes suivantes à /lib/udev/rules.d/40-usb_modeswitch.rules .

    # ZTE MF193E
    ATTR{idVendor}=="19d2", ATTR{idProduct}=="1232", RUN+="usb_modeswitch '%b/%k'"
  2. A laissé le dossier /lib/udev/rules.d/78-mm-zte-port-types-RALPH.rules intact.

  3. J'ai redémarré ma machine. J'ai inséré le modem.

  4. Le modem a été reconnu.

    Bus 001 Device 005: ID 19d2:2003 ZTE WCDMA Technologies MSM
  5. Le logiciel a déconnecté le câble et a essayé de se connecter. Sans succès.

  6. J'ai éjecté le modem.

  7. Supprimé /lib/udev/rules.d/78-mm-zte-port-types-RALPH.rules .

  8. J'ai redémarré et réessayé tout le processus. Sans succès à nouveau.

Le fichier syslog (complet, je n'ai pas pris le risque de manquer une partie partie importante) et le fichier de règles mentionné (40) sont aquí .


Mise à jour 16 - 11 décembre 2015

  1. Il ne reste qu'une seule règle 1232 dans /lib/udev/rules.d/40-usb_modeswitch.rules et j'ai enlevé l'autre l'autre.

  2. Exécuté sudo udevadm control --reload .

  3. J'ai inséré le modem.

  4. Le modem a été reconnu.

    Bus 001 Device 005: ID 19d2:2003 ZTE WCDMA Technologies MSM
  5. Le logiciel a déconnecté le câble et a essayé de se connecter. Sans succès.

  6. J'ai éjecté le modem.

Mais n'avons-nous pas testé le système par défaut ci-dessus ? Vouliez-vous laisser /lib/udev/rules.d/78-mm-zte-port-types-RALPH.rules à sa place ?

Le fichier syslog (complet, je n'ai pas pris le risque de manquer un quelconque partie importante) et le fichier de règles mentionné (40) sont aquí


Mise à jour 17 - 11 décembre 2015

  1. La règle 1232 a été commentée dans /lib/udev/rules.d/40-usb_modeswitch.rules Il en a ajouté un pour 2003.

    # ZTE MFxxx
    # Added on December 11 2015
    ATTR{idVendor}=="19d2", ATTR{idProduct}=="2003", RUN+="usb_modeswitch '%b/%k'"
  2. Exécuté sudo udevadm control --reload .

  3. J'ai inséré le modem.

  4. Le modem a été reconnu comme un 1232 appareil. On ne me propose pas d'essayer de me connecter (d'après ce que je sais, il ne sera pas enregistré sur le réseau à large bande, à moins qu'une commutation ne soit intervenue en 2003).

    Bus 001 Device 008: ID 19d2:1232 ZTE WCDMA Technologies MSM
  5. J'ai éjecté le modem.

Le fichier syslog et le fichier de règles mentionné (40) sont aquí


Mise à jour 18 - 11 décembre 2015

  1. Mettez tous les fichiers de règles dans leur forme originale.

  2. Regardé lsusb toutes les secondes en utilisant un Shell. Shell. Sortie capturée dans des fichiers horodatés.

  3. Insérer le modem. (Le modem apparaît d'abord dans le fichier lssuboutouput.Fri Dec 11 16:56:29 BDT 2015.txt ). Comme nous pouvons le constater à partir des captures, il est clair qu'il passe d'un dispositif 1232 à un 2003.

  4. J'ai essayé de me connecter. Sans succès.

  5. J'ai éjecté le modem.

Le fichier syslog, horodaté lsusb et les fichiers de règles mentionnés sont aquí .

Maintenant, vous pouvez vouloir faire correspondre les sorties syslog avec les horodatages.


Mise à jour 19 - 11 décembre 2015

J'ai effectué ce test dans une direction totalement nouvelle en souhaitant que je pouvoir isoler les problèmes.

  1. Sauvegardé sur un support portable /lib/udev/rules.d/40-usb-media-players.rules y /lib/udev/rules.d/77-mm-zte-port-types.rules (depuis la machine Ubuntu 15.10).

  2. J'ai démarré la machine en utilisant le DVD Xubuntu 15.04 64 bit.

  3. Exécuté diff 77-mm-zte-port-types.rules /lib/udev/rules.d/77-mm-zte-port-types.rules > diff15.10and15.04_77-mm.txt . Le premier fichier est celui qui a été enregistré du 15.10.

    L'examen du fichier diff ne montre aucune idProduct 1232 ou 2003.

  4. Exécuté diff 40-usb_modeswitch.rules /lib/udev/rules.d/40-usb_modeswitch.rules > diff15.10and15.04_40-usb.txt . Encore une fois, le premier fichier provient de celui sauvegardé du 15.10.

    Encore une fois, l'examen du fichier diff ne montre aucune idProduct 1232 ou 2003.

  5. J'ai inséré le modem. Le modem a été reconnu comme un modem.

    $ lsusb
    Bus 001 Device 008: ID 19d2:2003 ZTE WCDMA Technologies MSM
  6. J'ai pu me connecter facilement après avoir établi une connexion mobile à large bande.

  7. J'ai éjecté le modem.

  8. Installation de la dernière version de USB_ModeSwitch.

    diff 40-usb_modeswitch.rules /lib/udev/rules.d/40-usb_modeswitch.rules

    Renvoie maintenant NULL, comme prévu.

  9. Exécuté sudo udevadm control --reload-rules .

  10. J'ai inséré le modem. Le modem a été reconnu comme un modem.

    $ lsusb
    Bus 001 Device 008: ID 19d2:2003 ZTE WCDMA Technologies MSM
  11. On pourrait se connecter facilement.

J'aurais pu essayer de mettre à niveau MM et NM vers ceux d'Ubuntu 15.10, juste pour voir où ça casse. J'ai en fait essayé mais j'ai abandonné à cause de problèmes de dépendances sans fin.

Tous les fichiers diff mentionnés ci-dessus sont aquí .


Mise à jour 20 - 12 décembre 2015

Test 1

  1. El /lib/udev/rules en état original.

  2. Le dispositif de modem n'a pas encore été inséré dans cette session.

  3. Configurer ModemManager pour le débogage et configurer udevadm capture.

    sudo udevadm monitor --e |& tee udevadm.update20.WITHOUT78.log
    sudo killall ModemManager; sudo ModemManager --debug 2>&1 | tee MM.update20.WITHOUT78.log
  4. J'ai branché le modem et j'ai attendu qu'il indique qu'il est enregistré dans le réseau à large bande.

  5. J'ai essayé de me connecter sans succès.

  6. J'ai éjecté le modem.

  7. Les fichiers journaux emballés.

Test 2

Répétez le test ci-dessus avec /lib/udev/rules.d/78-mm-zte-port-types-RALPH.rules en place.

Les noms des fichiers journaux sont explicites.

Tous les fichiers journaux ci-dessus plus syslog et les 78 fichiers de règles sont aquí .

J'aimerais que tous les fichiers journaux soient accompagnés d'un horodatage, ce qui faciliterait la comparaison.


Mise à jour 21 - 15 décembre 2015

  1. J'ai modifié le fichier de règles comme suggéré.
  2. J'ai redémarré ma machine.
  3. J'ai inséré le modem et essayé de me connecter. Cela n'a pas fonctionné.

Le fichier de règles et le syslog アール aquí .


Mise à jour 22 - 16 décembre 2015

Comme indiqué dans un commentaire, j'ai installé différents noyaux à partir de http://kernel.ubuntu.com/~kernel-ppa/mainline/ et j'ai essayé de me connecter en utilisant le modem après avoir démarré dans chaque cas.

  1. 4.2.8-040208-generic, échec.

  2. 4.1.15-040115-generic, failure.

  3. 4.0.9-040009-generic, échec.

Donc, peut-être, nous pouvons exclure le problème du noyau.


Mise à jour 23 - 16 février 2016

Le modem a commencé à fonctionner dans Ubuntu 16.04. Cette version est encore en Alpha 1, mais fonctionne bien dans mon ordinateur portable.

4voto

Ralph Rönnquist Points 632

Chargement de la ofono Le paquet a probablement bien fonctionné, mais apparemment votre modèle de modem, le ZTE MF193E, ne figure pas sur la liste ZTE. En le comparant à d'autres modems ZTE, par exemple le MF190J, il est probable que ce modem ait besoin des mêmes accessoires spéciaux. udev règle, pour exécuter usb_modeswitch lorsque le dongle est inséré, et pour cela vous pouvez, en tant que root, ajouter une nouvelle udev dans le fichier
/lib/udev/rules.d/40-usb_modeswitch.rules
avec les deux lignes suivantes, par exemple, quelque part près du # ZTE MF190J commentaire :

# ZTE MF193E
ATTR{idVendor}=="19d2", ATTR{idProduct}=="2003", RUN+="usb_modeswitch '%b/%k'"

plus une ligne vierge, pour que le tout soit agréable à l'œil.

Il est probablement sage de redémarrer après cela, pour constater que tout fonctionne comme par magie :-)

Ou pas. Comme vous le savez, je suis en eaux profondes, mais si cela ne fonctionne toujours pas, un autre journal de débogage de ModemManager serait nécessaire, pour une autre hypothèse.

EDIT:

Je regarde maintenant les deux lignes dans modemmanager.txt :

[mm-broadband-bearer.c:1254] connect(): Launching 3GPP connection attempt with APN 'WAP'

y

[mm-broadband-bearer.c:994] parse_pdp_list(): Found PDP context with CID 1 and PDP type ipv4 for APN 'wap'

Je suppose que le premier fait référence à votre installation à large bande, tandis que le second fait référence à la liaison interne à un "contexte PDP" (quel qu'il soit). Apparemment, le modem offre 9 contextes alternatifs, dont un avec une adresse IP. apn='WAP' mais le ModemManager se contente d'une correspondance insensible à la casse.

La différence de cas peut être la cause du problème ultérieur : par exemple, que ppp veut une 'wap' (plutôt que 'WAP' ) et ne le trouve pas, ou que l'extrémité distante s'attend à ce que apn='WAP' mais il reçoit du "wap" qui l'étouffe.

La première option peut facilement être testée (et probablement exclue) en modifiant votre configuration pour utiliser "wap" au lieu de "WAP". Vous avez peut-être déjà essayé, mais à l'époque sans l'option ofono donc un autre test ne fera pas de mal, bien que la deuxième option soit plus probable.

La deuxième option pose également plus de problèmes, étant donné que le modem dispose d'une correspondance en majuscules avec le "contexte PDP". En cherchant sur Google, il apparaît que la correspondance insensible à la casse est correcte selon la spécification (apparemment pertinente) "3GPP TS 23.003 chapter 9.1", et qu'un correctif a été ajouté à l'article suivant ModemManager en novembre de l'année dernière (dans sa version mm-1-4, si j'ai bien compris). Donc dans ce cas, votre modem n'a pas été informé, et il s'attend à une correspondance sensible à la casse, alors que ModemManager utilise malheureusement la correspondance insensible à la casse directement plutôt que comme solution de rechange.

Une solution pour le second problème est bien sûr d'utiliser une autre ModemManager soit en trouvant et en installant une version antérieure à ce correctif, soit (avec suffisamment de temps libre) en créant sa propre version. ModemManager . Mais ce n'est pas non plus quelque chose que l'on peut faire sur un coup de tête, alors peut-être que nous devons naviguer un peu pour obtenir plus de preuves que c'est (maintenant) le problème, et si possible trouver d'autres moyens de le contourner. Ou, avec un peu de chance, quelqu'un qui s'y connaît passe par là...

EDIT 2

Oui, le retour en arrière de la version n'est pas facile à cause des dépendances. Et rouler sa propre version est loin d'être une partie de plaisir.

Deux outils utiles possibles : la commande mmcli et ( http://m2msupport.net/m2msupport/module-tester/ ).

Le problème, je pense, est que ModemManager choisit le contexte PDP 1 avec apn='wap' alors qu'il devrait choisir le contexte PDP 9 avec apn='WAP'. Peut-être que cela peut être résolu en utilisant un de ces outils. Soit pour pouvoir forcer une sélection de 9 pendant la connexion, soit en supprimant les mauvais contextes 'wap' du modem, ce que l'outil module-tester est censé pouvoir faire.

L'outil de test de modem semble être un outil java dans le navigateur, donc vous devez configurer votre navigateur pour savoir où se trouve votre java, et vous avez besoin que ce java soit connu. Alors explorez cette approche ; je ne l'ai pas utilisé moi-même, mais en voyant les captures d'écran, je suppose qu'il présentera les contextes PDP comme l'onglet 'Data Calls', où vous prenez d'abord note de tout ce qu'il montre, et ensuite éditez les entrées 'wap' pour déformer les étiquettes apn 'wap' pour qu'elles soient, disons, 'wap1' et 'wap2' (afin de les 'cacher' quand vous cherchez 'WAP'). Ensuite, sauvegardez et fermez, et recommencez à jongler avec le dongle. Prenez un journal ; il semble que syslog soit suffisant maintenant, au cas où il refuse toujours de jouer.

El mmcli semble également utile dans cette histoire ; faites man mmcli pour lire à ce sujet, mais je n'ai rien vu sur les contextes du PDP là-bas.

EDIT 3

Bien vu ! de tester à partir du DVD. Cela nous a dit que je suis sur la mauvaise voie avec l'APN, et que tout réside dans l'obtention de ppp. Au moins, ce sera mon nouvel arbre sur lequel je pourrai aboyer.

Tout d'abord, nous notons qu'il y a une différence de version pour pppd (de 2.4.5 à 2.4.6), mais ce n'est probablement pas un problème, car alors tous les utilisateurs de dongle auraient participé à cette excursion.

Hmm, ppp ; j'ai besoin de remuer mes souvenirs du dernier millénaire :-). Malheureusement, je suis occupé aujourd'hui, mais je vous contacterai la prochaine fois que j'aurai le temps, pour voir où vous en êtes. Mes premières pistes à explorer seraient les suivantes : 1) l'utilisateur est-il dans le bon groupe ? 2) Les informations d'identification sont-elles correctes ? 3) Les mods du fichier de configuration de ppp/chat sont-ils corrects ? Le journal de débogage de ppp sort dans nm.txt (comme il y a quelques jours), mais il devrait aussi y avoir un moyen de demander un journal plus détaillé.

EDIT 4

Assurer /etc/ppp/pap-secrets y /etc/ppp/chap-secrets avoir un groupe dip (en utilisant chgrp si nécessaire) et le mode 740 (o -rw-r----- ) (en utilisant chmod si nécessaire). Le mien ne l'a pas fait.

EDIT 5

Que diriez-vous de cet arbre, alors : En comparant le travail wvdial syslog avec un syslog qui ne fonctionne pas, il semble que pour une raison quelconque wvdial utilisé ttyUSB3 tandis que les non-travailleurs ModemManager continue à utiliser ttyUSB1 . Je ne sais pas si c'est important, mais apparemment ttyUSB1 y ttyUSB3 les deux répondent comme des modems compatibles AT.

Donc, comme un test, peut-être que vous pouvez éditer /etc/wvdial.conf donc sous [Dialer Defaults] comprend la ligne :

Modem = /dev/ttyUSB1

pour le premier test, et ttyUSB3 pour un autre ; tous deux exécutés en tant que root ; juste pour voir s'il y a un comportement différent. En particulier, si vous utilisez ttyUSB1 est un problème alors que l'utilisation de ttyUSB3 ne l'est pas, alors il serait bon de chercher comment faire en sorte que ModemManager utilise également ttyUSB3. Pour tout autre résultat de test, je dirais que nous allons retourner à la chasse aux furets dans le pays de ppp.

EDIT 6

Le journal dmesg peut être ignoré je pense ; c'est comme ça dans tous les journaux. Le nouveau syslog ne montre que le test ttyUSB3, mais nous pouvons peut-être supposer que la vie s'améliore si NetworkManager On peut penser à utiliser ttyUSB3 et ignorer ttyUSB1 (pour ce modem).

J'ai également trouvé ( https://bugs.launchpad.net/ubuntu/+source/modemmanager/+bug/819784 ) avec notamment le post #10 déconcertant :-(

L'apparemment applicable udev la règle en /lib/udev/rules.d/77-mm-zte-port-types.rules ne s'applique pas, mais serait censé être où aller. Et, avec seulement un aperçu très rudimentaire, pré-101 de la udev magique, j'envisagerais de toute façon de remettre en question sa 4ème ligne, qui dit :

SUBSYSTEM!="tty", GOTO="mm_zte_port_types_end"

Je pense que cette ligne a besoin d'une initiale # afin d'être commenté. En détail, ma lecture du fichier est qu'il nécessite un état d'appel de SUBSYSTEM=="tty" et SUBSYSTEMS="usb" afin d'utiliser les bonnes parties, y compris les règles de produit "2003", et au moins pour les tests, il devrait être sûr de sauter le filtrage "tty". Et je n'ai rien de mieux pour le moment.

EDIT 7

Après avoir passé un peu de temps avec mon moteur de recherche préféré, je crois un peu plus que le choix de ttyUSB est un problème de base ici. La règle udev que j'ai indiquée est correcte, et vous devriez revenir sur cette modification.

Cependant, j'ai commencé à croire que les règles de configuration vers la fin de ce fichier, pour l'id de produit "2003", sont trompeuses. D'après les journaux, il me semble que l'id de produit "2003" est en fait le côté dispositif de mémoire du dongle, alors que le côté modem a l'id de produit "1232". Vous pouvez tester cela en reproduisant les deux règles "2003" pour l'identifiant de produit "1232", dans le fichier /lib/udev/rules.d/77-mm-zte-port-types.rules

ATTRS{idVendor}=="19d2", ATTRS{idProduct}=="1232", ENV{.MM_USBIFNUM}=="03", ENV{ID_MM_ZTE_PORT_TYPE_MODEM}="1"
ATTRS{idVendor}=="19d2", ATTRS{idProduct}=="1232", ENV{.MM_USBIFNUM}=="01", ENV{ID_MM_ZTE_PORT_TYPE_AUX}="1"

ou mieux, ajoutez un nouveau fichier à côté de celui-ci, par exemple nommé 78-ralph.rules mais vous devez également ajouter la protection du SUBSYSTEM et des SUBSYSTEMS autour de lui.

Ensuite, sortez le dongle, exécutez udevadm control --reload (ou redémarrez), et insérez le dongle. Et puis encore un autre syslog la capture, à moins qu'elle ne fonctionne maintenant.

Le problème réel, cependant, est que ModemManager rejette le plugin libmm-plugin-zte.so lors de la vérification préalable, et finit par utiliser un gestionnaire de modem générique. Si j'ai raison au sujet de l'identifiant du produit, alors cela pourrait être la raison ; que le pré-probing recherche un ID_MM_ZTE_PORT_TYPE_MODEM et cela manque pour l'id de produit "1232" (avant le patch), avec pour effet que le plugin zte est écarté.

EDIT 8

El syslog Le journal est un peu court ; il manque le début où ModemManager ne parvient pas à installer le plugin zte. Cependant, il est clair que le plugin modem générique est utilisé de toute façon. Maintenant, il se peut que le usb_modeswitch La règle que je vous ai donnée au début est également erronée ; elle décide d'échanger à "2003" quand je pensais qu'il avait changé de "2003". Mais, man usb_modeswitch (que j'aurais dû regarder avant) suggèrent en quelque sorte qu'il déplace à un identifiant de produit plutôt que de ça. En tout cas, le journal montre que cela s'est produit. Veuillez donc modifier cette règle pour utiliser "1232" à la place, et réessayez.

Au moins, j'ai pu apprendre un peu plus sur udev.

EDIT 9

Bien. Le problème est toujours (ou aussi) que ModemManager laisse tomber le plugin ZTE lors du pré-sondage. Les journaux de débogage de ModemManager pour 15.10 (ensembles de journaux "debuglogs*") racontent tous l'histoire que le plugin ZTE est rejeté à cause du test vendor-id/product-id.

Va à la source, Luke ! J'en ai profité pour regarder brièvement le code source de ModemManager, et il indique que le plugin comme une table de vid/pid qui n'inclut pas 19d2/2003 ... cependant, je n'ai pas trouvé la source de cette table, donc je n'ai pas pu vérifier.

Ou peut-être qu'il y a un problème de timing ici. Par exemple, que le ModemManager exécute le pre-probing alors que le périphérique est 19d2/1232. Cette pensée est alignée avec l'observation que le fait d'avoir les règles udev 78-mm-zte-port-types-RALPH.rules rend ModemManager un peu plus heureux avec le périphérique. Mais alors, pourquoi ne reste-t-il pas heureux et n'utilise-t-il pas ce plugin lorsque le périphérique passe en 19d2/2003 ?

Peut-être que plus de journaux sont nécessaires :-) Avec ModemManager débogué, et aussi une capture de la commande udevadm monitor --e |& tee udevadm.log (dans un autre terminal) lorsque vous branchez l'appareil. J'ai obtenu cette commande de ( https://wiki.ubuntu.com/DebuggingUdev )

Faites-le deux fois : une fois sans 78-mm-zte-port-types-RALPH.rules et une fois avec les règles... les deux fois à partir d'un nouveau reboot. Je veux dire.

  1. configuration /lib/udev/rules.d avec ou sans le *-RALPH.rules fichier
  2. sortir l'appareil
  3. redémarrer
  4. configurer ModemManager pour le débogage et configurer udevadm capture
  5. branchez l'appareil et attendez une minute
  6. emballer les fichiers journaux
  7. répétez à partir de 1 avec le test suivant

Ce journal devrait indiquer où le plugin ZTE est déposé, et si j'ai bien compris, il indiquera également la gestion des événements udev.

EDIT 10

(Je suis presque au bout du rouleau ici, mais il me reste encore un ou deux souffles :-)

Tout d'abord, tous les udev Les décorations semblent se terminer comme elles le devraient, avec juste quelques points d'interrogation dans certains attributs. En particulier, le 78-*-RALPH.rules doit être jeté, il n'est pas utile.

Je pense pouvoir en tirer quelque chose, mais je ne sais pas exactement comment le corriger. Fondamentalement, comme je le vois, lorsque le dongle est branché, il y a une rafale d'événements udev. En se concentrant sur ceux concernant ttyUSB1, il y a un événement "early" :

KERNEL[3867.310990] add      /devices/pci0000:00/0000:00:1d.7/usb1/1-8/1-8:1.1 (usb)

ce qui provoque le usb_serial à charger, et /dev/ttyUSB1 à paraître. Cela, en particulier, provoque un autre événement :

KERNEL[3867.435102] add      /devices/pci0000:00/0000:00:1d.7/usb1/1-8/1-8:1.1/ttyUSB1/tty/ttyUSB1 (tty)

Je pense que cela déclenche aussi ModemManager . Vous devez aller à syslog pour en avoir la preuve, car il n'y a pas de corrélation stricte entre les journaux. L'événement est horodaté 3867.435102 y syslog présente son suivant le plus proche ModemManager ligne de journal juste après une ligne de journal du noyau estampillée 3867.437412 .

Dans ma ligne de pensée, ModemManager ne doit pas encore être déclenché, mais seulement après l'événement ttyUSB1 suivant :

UDEV  [3867.580427] add      /devices/pci0000:00/0000:00:1d.7/usb1/1-8/1-8:1.1/ttyUSB1/tty/ttyUSB1 (tty)

qui a joint les attributs de ZTE.

Dans le journal MM, nous serions à la ligne estampillée 1449934745.363291 qui est apparemment un horodatage en "temps réel" plutôt qu'un horodatage en "temps de noyau".

ModemManager puis est terminé avec son pré-profilage à 1449934745.450398 c'est-à-dire 87 ms plus tard, ce qui, en termes de temps kernel, correspondrait à peu près à 3867.524519 et 55ms avant ce "bon" rapport d'événement UDEV ci-dessus.

Notez que dans syslog , ModemManager dépose des plaintes selon lesquelles ttyUSB1 n'a pas ses attributs définis, et peut-être que cette plainte est liée au "marquage" qui se produit dans le module 80-mm-candidate.rules . D'après le commentaire dans ce fichier, ce marquage semble être une tentative de traiter exactement ce problème, mais si c'est le cas, cela ne semble pas fonctionner dans ce cas.

Peut-être qu'une possibilité de résoudre ce problème serait de changer la règle "tty" dans le fichier 80-mm-candidate.rules pour être :

ENV{.ID_PORT}=="?*", SUBSYSTEM=="tty", ENV{ID_MM_CANDIDATE}="1"

Dans mon esprit, cela garantirait que le ID_MM_CANDIDATE est retardé jusqu'à ce que les attributs ZTE soient définis. Le site .ID_PORT est un effet d'une 60-serial.rules (appelée 60-persistent-serial.rules avant), et la condition ajoutée à la règle de marquage est simplement qu'elle ait une valeur.

La condition n'est pas exactement un attribut de ZTE, seulement pour que la règle reste plus générique. Une étape plus spécifique consisterait à exiger plutôt ENV{.MM_USBIFNUM}="?*" à la place, puisque cette affectation se fait ici par 77-mm-zte-port-types.rules .

En général, je ne suis pas très sûr de udev l'ordonnancement des règles, et je ne suis pas non plus sûr que cela empêche réellement ModemManager d'agir trop rapidement. Cependant, si ce n'est pas le cas, alors 80-mm-candidate.rules n'auraient que peu ou pas de fonction, et peut-être que tout se résumerait alors aux "améliorations" apportées à ModemManager à partir du 15.04.

EDIT 21

soupir. Probablement pas pertinent, mais vous pouvez vérifier votre 7-zte-mutil_port_device.rules Est-ce un vestige d'une autre expérience ? Quoi qu'il en soit, ce n'est pas pertinent ici.

Il y a encore presque une seconde entre 515.558184 y 516.381549 donde ModemManager s'empare avec empressement et à tort /dev/ttyUSB1 et, tout en se plaignant qu'il n'a pas été mis en place, il passe quand même par le pré-probing et rejette le plugin ZTE. En d'autres termes, le correctif de règle ne fait pas de la ZTE un plugin. ModemManager attendre.

Je suppose que vous avez également testé l'utilisation de ENV{.MM_USBIFNUM}="?*" 代わりに ENV{.ID_PORT}=="?*" .

En fait, pour confirmer si oui ou non le réglage ENV{ID_MM_CANDIDATE}=1 est d'une quelconque importance, vous devez temporairement vous éloigner 80-mm-candidate.rules puis voir (dans syslog ) si alors ModemManager ignore /dev/ttyUSB1 ou pas. Je soupçonne que "non".

Et puis, eh bien, peut-être que vous pouvez utiliser une version de travail, comme 14.04, et si vous avez besoin, peut-être exécuter 15.10 dans une boîte virtuelle, à moins bien sûr que tout soit déjà dans une boîte virtuelle.

Je pense que je dois revendiquer la défaite à ce stade.

2voto

Masroor Points 2943

Le modem a commencé à fonctionner dans Ubuntu 16.04. Cette version est encore en phase de développement, mais fonctionne bien dans mon ordinateur portable.

J'aimerais pouvoir fournir plus de détails techniques sur la façon dont il a commencé à fonctionner.

0voto

John75077 Points 182

Après avoir jeté un coup d'œil à ce document, il apparaît que ce n'est pas la première fois que ce dragon est traité correctement. Il s'agissait d'un bogue dans les versions 12.10 et 13.04. Peut-être que le bogue n'a jamais été corrigé ou qu'un nouveau patch a cassé quelque chose qui fonctionnait correctement auparavant.

Si je lis correctement vos spécifications techniques, je devrais vous indiquer cette direction (MF190J) :

Le modem 3G (ZTE MF190J) nécessite encore un réglage manuel.

-2voto

Michael Points 2259

Avez-vous essayé ceci :

 rfkill list up

et ensuite faire ce script et l'exécuter :

 #/bin/sh

     Case [!$] in
        /bin/sh
        networkname="true"
        networkname="the ip adr type in here"
        nmcli nm networkname --force-yes
        resolve.conf the ip adr type in here
     endl

et ça pourrait marcher comme ça.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X