ошибка 'ip-config-unavailable', когда USB-модем пытается соединиться

У меня есть модем MF-193E ZTE, который хорошо работал прежде. Когда я купил этот модем больше чем год назад, он работал с готовностью из поля. Теперь, в то время как Ubuntu прогрессирует в версии, вещи становятся все более трудными для меня.

Этот модем даже работал несколько месяцев назад с (64-разрядной) Ubuntu 15.04. Теперь, в (64-разрядной) Ubuntu 15.10, это не может соединиться.

Я настроил мобильное широкополосное соединение. Я попробовал различные строки за APN, но это не было проблемой прежде.

(Модем хорошо работает в Windows 10, таким образом, это не аппаратная проблема вообще. Кроме того, менеджер по Модему GUI приятно обнаруживает это устройство. SMSs может быть отправлен и получен без любой проблемы.)

Когда я вставляю модем, он обнаруживается хорошо, значок CD отображен в Единице с названием модема. Несколько секунд спустя я получаю окно сообщения

Mobile Broadband Network: you are registered on the home network

около значка сети.

Когда я пытаюсь соединиться, беспроводной значок в апплете администратора сети запускает те центробежные движения, но в конечном счете ему не удается соединиться, и сообщение говорит мне, что я в режиме офлайн.

Строка я мог изолировать от /var/log/syslog это,

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

Хотя, я не уверен, является ли это соответствующим.

Больше строк от /var/log/syslog может быть найден здесь.


Обновление 1 - 06 декабря 2015

Как указано одним добрым участником, которого судят nf_conntrack_pptp подход модуля.

Выполняемый следующие команды,

$ 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

Затем попробованный мой модем, тот же отказ. Никакое различимое изменение в журнале также.


Обновление 2 - 06 декабря 2015

Выполняемый как корень,

systemctl restart network-manager.service

Никакой вывод на экране (терминал).

Соответствующий журнал от вышеупомянутой точки до попытки соединить использование модема может быть найден здесь.


Обновление 3 - 06 декабря 2015

Установленный ofono и затем попробованный модем снова.

Посмотрите журнал здесь.


Обновление 4 - 06 декабря 2015

Снова выполняемый как корень,

systemctl restart network-manager.service

Соответствующий журнал от вышеупомянутой точки до попытки соединить использование модема может быть найден здесь.


Обновление 5 - 06 декабря 2015

Измененный все "отклоняют" для "позволения" в /etc/dbus-1/system.d/nm-dispatcher.conf.

Испытанное соединение. Никакая удача.

Некоторые объединяют в сеть подключение и разъединение с соединением Ethernet.

Сопровождаемый sudo systemctl restart network-manager.service.

Модемный разъем и включает.

Испытанное соединение снова. Не соединяется.

Журнал здесь.


Обновление 6 - 06 декабря 2015

Выполняемый

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

и

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

Не мог работать mm-test.py из-за нескольких ошибок. Действительно находил файл в обозначенном местоположении. Получил это от, https://github.com/openshine/ModemManager/blob/master/test/mm-test.py.

Вышеупомянутые команды несколько отличаются от команд в Wiki.

Файлы журнала здесь.


Обновление 7 - 07 декабря 2015

Выполняемый снова (после того, как предложенное изменение в /lib/udev/rules.d/40-usb_modeswitch.rules и перезагрузка)

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

и

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

/var/log/syslog включен также.

Файлы журнала здесь.


Обновление 8 - 08 декабря 2015

Обновленный набор журналов здесь.


Обновление 9 - 08 декабря 2015

Тест 1

  1. Это время загрузило компьютер из Ubuntu 14.04 32 бита DVD. Как только загруженный компьютер, начал получать журнал MM.

  2. Вставленный модем. lsusb показал, что это распознавалось как 19d2:1232 устройство, которое должно быть переключено на 19d2:2003 устройство. Так как установка usb-modeswitch требует перезагрузки машины (и следовательно освободите установку для выполненного DVD), я подготовил пользовательский файл переключателя и переключил модем с командной строки (sudo usb_modeswitch -I -c 19d2:2003).

  3. Как только переключение было выполнено, мне сообщили, что я шел Mobile Broadband Network и Новое Широкополосное соединение appreard в меню администратора сети.

  4. Я устанавливаю вышеупомянутое соединение обычным способом (имя APN не было проблемой), и соединение было установлено автоматически.

  5. Я разъединил и извлек модем.

  6. Остановленное получение журнала MM.

Полный журнал MM и системный журнал для сессии запускаются к модему, извлекаются, может быть найден здесь.

Тест 2

Тот же тест с Ubuntu 14.04 64 бита DVD.

Журналы могут быть найдены здесь.


Обновление 10 - 09 декабря 2015

Это время, протестированное с wvdial и найденный этим, если wvdial выполняется как корень, мы получаем успешное соединение.

wvdial conf и журнал и соответствующий системный журнал здесь

Основная догадка: ситуация могла бы иметь некоторое отношение к группе пользователей соответствующего пользователя.

Но, как обозначено здесь,

Со всеми этими инструментами, для установления коммутируемого соединения пользователь должен быть участником "падения" и "dialout" групп, таким образом, помещает всех пользователей, которые, как предполагается, соединяются через коммутируемый доступ в эти группы.

Но поскольку мы можем найти,

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

Так, пользователь уже является членом обозначенных групп.

Теперь, возможно, проблема сводится к любой из этих точек,

  1. Какой дополнительной группой пользователь должен быть?
  2. Как мы выполняем мобильный процесс установки широкополосного соединения как корень? (проблемы безопасности?)

Обновление 11 - 09 декабря 2015

wvdial работы с USB3 и не работают с USB1.

Найдите системный журнал здесь.

Также включенный вывод dmesg | grep tty > /tmp/dmesg.tty.txt. Но посмотрите те четыре строки близкий запуск файла?


Обновление 12 - 10 декабря 2015

  1. Закомментированная строка 4 (SUBSYSTEM!="tty", GOTO="mm_zte_port_types_end") в /lib/udev/rules.d/77-mm-zte-port-types.rules.

  2. Перезагруженный моя машина. Мягкий разъединил кабель и вставил модем.

  3. Попробованный для соединения. Неудачный.

Файл системного журнала здесь.


Обновление 13 - 10 декабря 2015

Из чистого отчаяния, чтобы видеть, влияют ли некоторые локальные изменения на соединение, протестировал машину с DVD Ubuntu 15.04 и 15.10.

  1. Загруженный машина с Xubuntu 15.04 64 бита DVD. Соединение было успешно как очарование.
  2. Загруженный машина с Ubuntu 15.10 64 бита DVD. Связь прервалась точно так же, как прежде.

Что произошло между 15,04 и 15.10?

Так срыв.


Обновление 14 - 10 декабря 2015

  1. Созданный новый файл /lib/udev/rules.d/78-mm-zte-port-types-RALPH.rules как проинструктировано в ответе.

  2. Перезагруженный моя машина (или выполняемый sudo udevadm control --reload, на самом деле попробованный оба). Вставленный модем.

  3. Модем был распознан.

    $ lsusb
    Bus 001 Device 005: ID 19d2:2003 ZTE WCDMA Technologies MSM
    
  4. Мягкий разъединил кабель и попытался соединить использование модема. Неудачный.

  5. Извлеченный модем.

Машина зависает однажды, который является случайным событием? Моя машина обычно не зависает однажды в году.

Файл системного журнала и созданные файлы правила здесь.


Обновление 15 - 11 декабря 2015

  1. Добавленный следующие строки к /lib/udev/rules.d/40-usb_modeswitch.rules.

    # ZTE MF193E
    ATTR{idVendor}=="19d2", ATTR{idProduct}=="1232", RUN+="usb_modeswitch '%b/%k'"
    
  2. Оставленный файл /lib/udev/rules.d/78-mm-zte-port-types-RALPH.rules неповрежденный.

  3. Перезагруженный моя машина. Вставленный модем.

  4. Модем был распознан.

    Bus 001 Device 005: ID 19d2:2003 ZTE WCDMA Technologies MSM
    
  5. Мягкий разъединил кабель и попытался соединиться. Неудачный.

  6. Извлеченный модем.

  7. Удаленный /lib/udev/rules.d/78-mm-zte-port-types-RALPH.rules.

  8. Перезагруженный и попробованный целый процесс снова. Неудачный снова.

Файл системного журнала (завершенный, я не рискнул пропавших без вести никакой важной части), и упомянутый файл (40) правила здесь.


Обновление 16 - 11 декабря 2015

  1. Оставленный внутри только одно правило 1232 года /lib/udev/rules.d/40-usb_modeswitch.rules, удаленный другой.

  2. Выполняемый sudo udevadm control --reload.

  3. Вставленный модем.

  4. Модем был распознан.

    Bus 001 Device 005: ID 19d2:2003 ZTE WCDMA Technologies MSM
    
  5. Мягкий разъединил кабель и попытался соединиться. Неудачный.

  6. Извлеченный модем.

Но разве мы не протестировали систему по умолчанию выше? Вы означали уезжать /lib/udev/rules.d/78-mm-zte-port-types-RALPH.rules в его месте?

Файл системного журнала (завершенный, я не рискнул пропавших без вести никакой важной части), и упомянутый файл (40) правила здесь


Обновление 17 - 11 декабря 2015

  1. Прокомментированный правило 1232 года в /lib/udev/rules.d/40-usb_modeswitch.rules, добавленный на 2003.

    # ZTE MFxxx
    # Added on December 11 2015
    ATTR{idVendor}=="19d2", ATTR{idProduct}=="2003", RUN+="usb_modeswitch '%b/%k'"
    
  2. Выполняемый sudo udevadm control --reload.

  3. Вставленный модем.

  4. Модем был распознан как устройство 1232. Мне не предлагают, чтобы попытаться соединиться (насколько мое знание идет, оно не будет зарегистрировано к широкополосной сети, если переключения не произошло с 2003),

    Bus 001 Device 008: ID 19d2:1232 ZTE WCDMA Technologies MSM
    
  5. Извлеченный модем.

Файл системного журнала и упомянутый файл (40) правила здесь


Обновление 18 - 11 декабря 2015

  1. Поместите все файлы правила в их исходную форму.

  2. Наблюдаемый lsusb произведите каждое второе использование сценария оболочки. Полученный вывод вовремя штамповал файлы.

  3. Вставленный модем. (Модем сначала появляется в файле lssuboutouput.Fri Dec 11 16:56:29 BDT 2015.txt). Поскольку мы можем найти от получений, ясно, что это переключается от устройства 1232 до 2003 года.

  4. Попробованный для соединения. Неудачный.

  5. Извлеченный модем.

Файл системного журнала, время штамповано lsusb выводы и упомянутые файлы правила здесь.

Теперь, можно хотеть соответствовать выводам системного журнала меткам времени.


Обновление 19 - 11 декабря 2015

Выполненный этот тест в абсолютно новом направлении с желанием, что я мог изолировать проблемы.

  1. Сохраненный в портативном устройстве медиа /lib/udev/rules.d/40-usb-media-players.rules и /lib/udev/rules.d/77-mm-zte-port-types.rules (от машины Ubuntu 15.10).

  2. Загруженный машина с помощью Xubuntu 15.04 64 бита DVD.

  3. Выполняемый diff 77-mm-zte-port-types.rules /lib/udev/rules.d/77-mm-zte-port-types.rules > diff15.10and15.04_77-mm.txt. Первый файл от того, сохраненного от 15,10.

    Исследование различного файла показывает нет idProduct 1232 или 2003.

  4. Выполняемый diff 40-usb_modeswitch.rules /lib/udev/rules.d/40-usb_modeswitch.rules > diff15.10and15.04_40-usb.txt. Снова, первый файл от того, сохраненного от 15,10.

    Снова, исследование различного файла показывает нет idProduct 1232 или 2003.

  5. Вставленный модем. Модем был распознан как модем.

    $ lsusb
    Bus 001 Device 008: ID 19d2:2003 ZTE WCDMA Technologies MSM
    
  6. Мог соединиться с готовностью после установки мобильного широкополосного соединения.

  7. Извлеченный модем.

  8. Установленный последний USB_ModeSwitch.

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

    Теперь ПУСТОЙ УКАЗАТЕЛЬ возвратов, как ожидалось.

  9. Выполняемый sudo udevadm control --reload-rules.

  10. Вставленный модем. Модем был распознан как модем.

    $ lsusb
    Bus 001 Device 008: ID 19d2:2003 ZTE WCDMA Technologies MSM
    
  11. Мог соединиться с готовностью.

Я, возможно, попытался обновить MM и NM к той из Ubuntu 15.10, только для наблюдения, где это повреждается. Я на самом деле попробовал, но сдался из-за бесконечных проблем зависимости.

Все вышеупомянутые различные файлы здесь.


Обновление 20 - 12 декабря 2015

Тест 1

  1. /lib/udev/rules в исходном условии.

  2. Модемное устройство еще не было вставлено на этой сессии.

  3. Установите ModemManager для отладки и установите получение udevadm.

    sudo udevadm monitor --e |& tee udevadm.update20.WITHOUT78.log
    sudo killall ModemManager; sudo ModemManager --debug 2>&1 | tee MM.update20.WITHOUT78.log
    
  4. Включенный модем и ожидал, пока он не говорит, что регистрируется в широкополосной сети.

  5. Попробованный для соединения неудачно.

  6. Извлеченный модем.

  7. Собранные файлы журнала.

Тест 2

Повторенный вышеупомянутый тест с /lib/udev/rules.d/78-mm-zte-port-types-RALPH.rules на месте.

Имена файла журнала очевидны.

Все вышеупомянутые файлы журнала плюс системный журнал и 78 файлов правила здесь.

Мне жаль, что все файлы журнала не шли с метками времени, делая соответствие легче.


Обновление 21 - 15 декабря 2015

  1. Измененный файл правила, как предложено.
  2. Перезагруженный моя машина.
  3. Вставленный модем и попробованное соединение. Это не работало.

Файл правила и syslog здесь.


Обновление 22 - 16 декабря 2015

Как рекомендуется в одном комментарии, установил различные ядра из http://kernel.ubuntu.com/~kernel-ppa/mainline/ и попытался соединить использование модема после начальной загрузки в каждом.

  1. 4.2.8-040208-универсальный, отказ.

  2. 4.1.15-040115-универсальный, отказ.

  3. 4.0.9-040009-универсальный, отказ.

Так, возможно, мы можем исключить проблему ядра.


Обновление 23 - 16 февраля 2016

Модем начал функционировать в Ubuntu 16.04. Эта версия находится все еще в Alpha 1, но хорошо работает в моем ноутбуке.

12
задан 15 February 2016 в 18:38

4 ответа

Модем начал функционировать в Ubuntu 16.04. Эта версия находится все еще в этапе разработки, но хорошо работает в моем ноутбуке.

мне жаль, что я не мог предоставить больше техническую подробную информацию о том, как это начало функционировать.

1
ответ дан 23 November 2019 в 03:46

После взятия взгляда этого кажется, что это не первый раз, когда с этим драконом правильно имели дело. Это была ошибка прежде в 12,10 и 13.04, возможно, ошибка никогда не исправлялась, или новый патч повредил что-то, что работало правильно прежде.

Хотелось бы надеяться, Если бы я читаю Ваши технические спецификации правильно, я должен был бы указать на Вас на это направление (MF190J):

3G модем (ZTE MF190J) все еще требует ручной тонкой настройки.

0
ответ дан 23 November 2019 в 03:46

Имейте Вас, попробовал это:

 rfkill list up

и затем делают этот сценарий и выполняют его:

 #/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

и это могло бы хорошо работать этот путь.

-2
ответ дан 23 November 2019 в 03:46

Загрузка ofono пакет делал хорошее, вероятно, но по-видимому Ваша модемная модель, ZTE MF193E, не находится в списке ZTE. Сравнивая его с другими модемами ZTE, например, MF190J, этому модему, вероятно, будет нужно то же специальное предложение udev правило, для выполнения usb_modeswitch когда аппаратный ключ вставляется, и достигнуть этого, как корень, можно добавить новое udev управляйте в файл
/lib/udev/rules.d/40-usb_modeswitch.rules
со следующими двумя строками, например, где-нибудь около # ZTE MF190J комментарий:

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

плюс пустая строка, таким образом, это выглядит приятным к глазу.

Вероятно, мудро к перезагрузке после этого, только найти, что все это работает как волшебство :-)

Или нет. Как Вы знаете, это является глубоководным для меня, но если бы это все еще не работает, другой журнал отладки ModemManager был бы необходим для другого произвольного предположения.

Править:

Я теперь смотрю на эти две строки в modemmanager.txt:

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

и

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

Я предполагаю, что первое относится к Вашей настроенной широкополосной связи, в то время как последний обращается к внутренней привязке к "контексту PDP" (независимо от того, что это). Взглядами его модем предлагает 9 альтернативных контекстов, включая один с apn='WAP', но ModemManager соглашается на нечувствительное к регистру соответствие.

Различием в случае могла бы быть причина последующей проблемы: например, что ppp хочет a 'wap' конфигурация (а не 'WAP') и не находит его, или что удаленный конец ожидает apn='WAP', но получает 'WAP', на котором это дросселирует.

Первая опция могла легко быть протестирована (и исключена, вероятно) путем изменения конфигурации для использования 'WAP' вместо 'WAP'. Вы, возможно, попробовали это прежде, но в то время без ofono пакет, таким образом, другой тест не причинит боль, хотя вторая опция более вероятна.

Вторая опция является также большим количеством проблемы, учитывая, что существует прописное "соответствие" контекста PDP, доступное от модема. Гугля эту проблему, кажется, что нечувствительное к регистру соответствие корректно (по-видимому соответствующей) спецификацией "3GPP глава 9.1 TS 23.003" и патч, чтобы сделать, это было добавлено к ModemManager в ноябре в прошлом году (в его версию mm-1-4, я могу собраться). Так в этом случае Ваш модем не был сказан, и он ожидает чувствительное к регистру соответствие, в то время как ModemManager к сожалению, использует нечувствительное к регистру соответствие прямо, а не как нейтрализацию.

Одно решение для второй проблемы состоит в том, чтобы, конечно, использовать другое ModemManager: или путем нахождения и установки версии до этого патча, или (с достаточным количеством свободного времени), самокрутка ModemManager. Но, и при этом что-то не должно делать в прихоти, поэтому возможно, мы должны просмотреть вокруг немного для получения большего доказательства, что это - (теперь) проблема, и, если возможно найдите другие способы работать вокруг этого. Или с небольшим количеством удачи, кто-то, кто знает что-то, заходит...

РЕДАКТИРОВАНИЕ 2

Да, откат версии не легок из-за зависимостей. И прокрутка Ваше собственное далека от радости также.

Два возможных полезных инструмента: команда mmcli и (http://m2msupport.net/m2msupport/module-tester/).

Проблема, я думаю, состоит в том, что ModemManager выбирает контекст PDP 1 с apn ='wap', где он должен выбрать контекст PDP 9 с apn ='WAP'. Возможно, это может быть обращено при помощи одного из тех инструментов. Или чтобы смочь вызвать выбор 9 во время соединения, или путем удаления плохих контекстов 'WAP' из модема, к которому инструмент тестера модуля рекламируется, чтобы быть способным.

Инструмент модемного тестера, кажется, инструмент Java в браузере, таким образом, Вам нужен Ваш браузер, настроенный для знания, где Java, и Вам нужен тот Java, который будет известен о. Затем исследуйте тот подход; я не использовал его сам, но наблюдение снимков экрана, я предполагаю, что это представит контексты PDP как вкладку 'Data Calls', где Вы сначала принимаете во внимание все, что это показывает, и затем отредактируйте записи 'WAP' для искажения 'WAP' apn маркировки, чтобы быть, скажем, 'wap1' и 'wap2' (чтобы "скрыть" их при поиске 'WAP'). Затем сохраните и закройте и манипулируйте аппаратным ключом снова. Захватите журнал; кажется, что системный журнал достаточен теперь, в случае, если это все еще отказывается играть.

mmcli команда также кажется полезной в этой истории; сделать man mmcli для чтения об этом но я ничего не видел о контекстах PDP там.

РЕДАКТИРОВАНИЕ 3

Хороший вызов! протестировать от DVD. Это сказало нам, что я на ложном пути с APN, и что все это находится в получении ppp для подъема. По крайней мере, это было бы моим новым деревом для лая на.

Во-первых мы обращаем внимание, что существует различие в версии для pppd (от 2.4.5 до 2.4.6), но это - вероятно, не проблема, как затем все на аппаратном ключе были бы на этом отклонении.

Хм, ppp; я должен вызвать свои памяти последнего тысячелетия :-). К сожалению, я занят сегодня, но я буду контактировать, когда затем у меня будет время, чтобы видеть, как далеко Вы приехали. Мои первые глухие переулки, которые изучат, были бы: 1) пользователь в правильной группе? 2) действительно ли учетными данными, являются правильными? 3) ppp/chat право модификации файла конфигураций? Журнал отладки ppp выходит в nm.txt (согласно несколько дней назад), но должен также быть способ попросить у этого более подробного входа.

РЕДАКТИРОВАНИЕ 4

Удостовериться /etc/ppp/pap-secrets и /etc/ppp/chap-secrets имейте группу dip (использование chgrp по мере необходимости) и режим 740 (или -rw-r-----) (использование chmod по мере необходимости). Мой не сделал.

РЕДАКТИРОВАНИЕ 5

Как насчет этого дерева, затем: Сравнение работы wvdial системный журнал с нерабочим системным журналом, это кажется этим по некоторым причинам wvdial б/У ttyUSB3 в то время как нерабочее ModemManager продолжает использовать ttyUSB1. Я не уверен, значительно ли это вообще, но по-видимому но ttyUSB1 и ttyUSB3 оба отвечают как В способных модемах.

Так, как тест, возможно, можно отредактировать /etc/wvdial.conf так это под [Dialer Defaults] включает строку:

Modem = /dev/ttyUSB1

для одного теста, и ttyUSB3 для другого; оба выполнения как корень; только, чтобы видеть, существует ли другое поведение. Особенно, при использовании ttyUSB1 проблема, тогда как использование ttyUSB3 не, затем было бы хорошо изучить, как заставить ModemManager использовать ttyUSB3 также. Для любого другого тестового результата я сказал бы, что мы вернемся к преследованию хорьков на земле ppp.

РЕДАКТИРОВАНИЕ 6

Журнал dmesg может быть проигнорирован, я думаю; это было похоже на это во всех журналах. Новый системный журнал только показывает тест ttyUSB3, но возможно мы можем предположить, что жизнь поправляется если NetworkManager может быть жестким, чтобы использовать ttyUSB3 и проигнорировать ttyUSB1 (для этого модема).

Я также нашел (https://bugs.launchpad.net/ubuntu / + source/modemmanager / + ошибка/819784) с особенно дезориентацией сообщения № 10 :-(

По-видимому применимое udev правило в /lib/udev/rules.d/77-mm-zte-port-types.rules не применяется, but'd, предположительно, быть, куда пойти. И, с только очень элементарным, пред101 понимание udev волшебство, я во всяком случае рассмотрел бы опрос его 4-й строки, которая говорит:

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

Я думаю, что строке нужна начальная буква # чтобы быть прокомментированным. Подробно, мое чтение файла состоит в том, что он требует состояния вызова ПОДСИСТЕМЫ == "tty" и ПОДСИСТЕМ = "usb" для использования хороших битов, включая "2003" правила продукта, и по крайней мере для тестирования, должно быть безопасно пропустить фильтрацию "tty". И у меня ничего нет лучше прямо сейчас.

РЕДАКТИРОВАНИЕ 7

Проведя некоторое качественное время с моей любимой поисковой системой, я полагаю немного больше, что ttyUSB выбором является корневая проблема здесь. udev постановляют, что я указал, в порядке, и необходимо вернуться то редактирование.

Однако я начал полагать, что правила конфигурации к концу того файла, для идентификатора продукта "2003" вводят в заблуждение. От журналов это смотрит на меня, тот идентификатор продукта "2003" является на самом деле стороной запоминающего устройства аппаратного ключа, тогда как модемная сторона имеет идентификатор продукта "1232". Можно протестировать это путем тиражирования два "2003" правила для идентификатора продукта "1232" в файле /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"

или лучше, добавьте новый файл около него, например, названный 78-ralph.rules, но затем также необходимо добавить ПОДСИСТЕМУ и защиту ПОДСИСТЕМ вокруг этого.

Затем вытащите аппаратный ключ, работайте udevadm control --reload (или перезагрузка), и вставляют аппаратный ключ. И затем еще один syslog получение, если это теперь, оказывается, не работает.

Эффективная проблема, тем не менее, состоит в том, что ModemManager отбрасывает плагин libmm-plugin-zte.so при предварительном зондировании, и заканчивает тем, что использовал универсальный обработчик модемов. Если я прав относительно идентификатора продукта, то это могло бы быть причиной; то предварительное зондирование ищет a ID_MM_ZTE_PORT_TYPE_MODEM атрибуция, и этому недостает идентификатора продукта "1232" (перед патчем) с эффектом, что zte плагин отбрасывается.

РЕДАКТИРОВАНИЕ 8

syslog журнал немного короток; пропавшие без вести начала, где ModemManager не удается установить zte плагин. Однако ясно, что Универсальный модемный плагин используется во всяком случае. Теперь, может случиться так что usb_modeswitch правило, которое я дал Вам вначале, является неправильным также; это решает переключиться на "2 003", когда я думал, что это переключилось от "2 003". Но, man usb_modeswitch (на который я должен был посмотреть прежде), отчасти предполагают, что это смещается к идентификатору продукта, а не от него. В любом случае журнал показывает это для случая. Таким образом измените то правило использовать "1232" вместо этого, и попытка все снова и снова.

Если ничто иное, по крайней мере, я должен узнать немного о udev.

РЕДАКТИРОВАНИЕ 9

Хороший. Проблема все еще (или также), в котором ModemManager отбрасывает плагин ZTE пред зондирование. Файлы регистрации событий отладки ModemManager для 15,10 (наборы журнала "debuglogs*") все рассказывают историю, что плагин ZTE отбрасывается из-за теста vendor-id/product-id.

Перейдите к источнику, Luke! Я воспользовался этой возможностью для наблюдения исходного кода ModemManager кратко, и это указывает, что плагин как таблица vid/pid, который не включает 19d2/2003..., хотя, я не нашел, что источник таблицы, таким образом, я не мог проверить.

Или возможно здесь существует проблема синхронизации. Например, что предварительное зондирование выполнений ModemManager, в то время как устройство является 19d2/1232. Та мысль выровненная наблюдения, что наличие 78-mm-zte-port-types-RALPH.rules udev правила делает ModemManager немного более довольным устройством. Но затем, почему это не остается счастливым и использует тот плагин, когда устройство переключается на 19d2/2003?

Возможно, больше журналов необходимо :-) С ModemManager, отлаженным, и также получение команды udevadm monitor --e |& tee udevadm.log (в другом терминале), когда Вы включаете устройство. Я получил ту команду от (https://wiki.ubuntu.com/DebuggingUdev)

Сделайте это два раза: однажды без 78-mm-zte-port-types-RALPH.rules и однажды с правилами... оба раза от новой перезагрузки. Т.е.

  1. установка /lib/udev/rules.d с или без *-RALPH.rules файл
  2. вытащите устройство
  3. перезагрузка
  4. установите ModemManager для отладки и установите получение udevadm
  5. включите устройство и ожидайте минута
  6. соберите файлы журнала
  7. повторитесь от 1 со следующим тестом

Тот вход должен сказать, где плагин ZTE отбрасывается, и как я понимаю, он также скажет о udev обработке событий.

РЕДАКТИРОВАНИЕ 10

(Я почти в конце моей привязи здесь, но у меня есть одно или еще два дыхания left:-),

Во-первых, весь udev художественные оформления, кажется, заканчиваются, как они должны только с несколькими вопросительными знаками в нескольких атрибутах. В частности, 78-*-RALPH.rules должен быть выброшен; это не полезно.

Я думаю, что могу считать что-то от этого, но я не абсолютно уверен, как это должно быть зафиксировано. В основном, поскольку я вижу его, когда аппаратный ключ включается, там шквал udev событий. При фокусировке на тех, которые относительно ttyUSB1, существует "раннее" событие:

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

который вызывает usb_serial драйвер, который будет загружен, и /dev/ttyUSB1 появиться. Это в особенности вызывает другое событие:

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

Я думаю, что также инициировал ModemManager. Необходимо перейти в syslog для наблюдения доказательства этого с тех пор между журналами нет никакой строгой корреляции. Событие является штампованным временем 3867.435102, и syslog представляет его ближайшее последующее ModemManager строка журнала сразу после строки журнала ядра штампована 3867.437412.

В моем ходе мыслей, ModemManager еще не должен быть инициирован, но только после последующего ttyUSB1 события:

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

который присоединил атрибуты ZTE.

В журнале MM мы были бы в штампованной строке 1449934745.363291, который, по-видимому, является "оперативной" меткой времени, а не "штампом" времени ядра.

ModemManager затем сделан с его предварительным зондированием в1449934745.450398, т.е. 87 мс позже, которые в сроках времени ядра были бы рядом 3867.524519 и 55 мс перед тем "хорошим" отчетом о событии UDEV выше.

Отметьте это в syslog, ModemManager действительно представляет жалобы это ttyUSB1 не установили его атрибуты, и возможно что жалоба связана с "маркировкой", происходящей в 80-mm-candidate.rules. Комментарием в том файле та маркировка, кажется, попытка иметь дело с точно с этой проблемой, но если так, это, кажется, не работает в этом случае.

Возможно, одна возможность к разрешению этого состояла бы в том, чтобы изменить правило "tty" в 80-mm-candidate.rules быть:

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

В моем уме, который гарантировал бы что ID_MM_CANDIDATE установка задержана, пока атрибуты ZTE не установлены. .ID_PORT установка является эффектом a 60-serial.rules правило (названный 60-persistent-serial.rules прежде), и добавленное условие к правилу маркировки просто, что оно имеет значение.

Условие не является точно атрибутом ZTE, только чтобы сохранить правило более универсальным. Один более конкретный шаг должен был бы скорее потребовать ENV{.MM_USBIFNUM}="?*" вместо этого, так как то присвоение здесь происходит 77-mm-zte-port-types.rules.

В целом я не очень уверен в udev упорядочивание правила, и я нисколько не также уверен, что это действительно останавливается ModemManager от действия слишком быстро. Однако, если это не делает, затем 80-mm-candidate.rules имел бы мало ни к какой функции, и возможно затем все это сведется к "улучшениям" ModemManager от 15,04.

РЕДАКТИРОВАНИЕ 21

вздох. Вероятно, не важный, но можно хотеть проверить Ваш 7-zte-mutil_port_device.rules файл; это - остаток от другого экспериментирования? Во всяком случае, не релевантный здесь.

Существует все еще почти секунда между 515.558184 и 516.381549 где ModemManager нетерпеливо и ошибочно захватывает /dev/ttyUSB1, и при жалобе на это не быть настроенным, все еще проходит предварительное зондирование и отбрасывает плагин ZTE. Другими словами, патч правила не делает ModemManager ожидать.

Я предполагаю, что Вы также протестировали использование ENV{.MM_USBIFNUM}="?*" вместо ENV{.ID_PORT}=="?*".

На самом деле, чтобы подтвердить, действительно ли установка ENV{ID_MM_CANDIDATE}=1 имеет любое значение, необходимо временно переехать 80-mm-candidate.rules, затем посмотрите (в syslog) если затем ModemManager игнорирует /dev/ttyUSB1 или нет. Я подозреваю "нет".

И затем, ну, в общем, возможно, можно использовать рабочую версию, такой как 14,04, и если Вы нуждаетесь, возможно, работаете 15.10 в virtualbox, если, конечно, это уже не, все находится в virtualbox.

Я думаю, что должен требовать поражения в этой точке.

4
ответ дан 23 November 2019 в 03:46

Другие вопросы по тегам:

Похожие вопросы: