GNU/Linux >> Belajar Linux >  >> Ubuntu

Kesalahan 'ip-config-unavailable' Saat Modem Usb Mencoba Terhubung?

Saya sudah mendapatkan modem ZTE MF-193E yang berfungsi dengan baik sebelumnya. Ketika saya membeli modem ini lebih dari setahun yang lalu, modem ini langsung bekerja.
Sekarang, seiring dengan kemajuan versi Ubuntu, segalanya menjadi semakin sulit bagi saya.

Modem ini bahkan berfungsi beberapa bulan yang lalu dengan Ubuntu 15.04 (64-bit). Sekarang, di Ubuntu 15.10 (64-bit), tidak dapat terhubung.

Saya telah menyiapkan koneksi broadband seluler. Saya telah mencoba berbagai string untuk APN, tetapi ini tidak pernah menjadi masalah sebelumnya.

(Modem berfungsi dengan baik di Windows 10, jadi, ini bukan masalah perangkat keras sama sekali. Selain itu, Modem Manager GUI mendeteksi perangkat ini dengan baik. SMS dapat dikirim dan diterima tanpa masalah.)

Ketika saya memasukkan modem, itu terdeteksi dengan baik, ikon CD ditampilkan di Unity dengan nama modem. Beberapa detik kemudian,
saya mendapatkan kotak pesan

Mobile Broadband Network: you are registered on the home network

di dekat ikon jaringan.

Saat saya mencoba menyambungkan, ikon nirkabel di applet pengelola jaringan memulai gerakan sentrifugal tersebut, namun akhirnya gagal tersambung dan sebuah pesan memberi tahu saya bahwa saya sedang offline.

Baris yang dapat saya isolasi dari /var/log/syslog apakah ini,

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

Padahal, saya tidak yakin apakah ini yang relevan.

Lebih banyak baris dari
/var/log/syslog dapat ditemukan di sini.

Pembaruan 1 – 06 Desember 2015

Seperti yang ditunjukkan oleh salah satu anggota yang baik hati, coba nf_conntrack_pptp pendekatan modul.

Jalankan perintah berikut,

$ 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

Kemudian mencoba modem saya, kegagalan yang sama. Tidak ada perubahan yang terlihat di log.

Pembaruan 2 – 06 Desember 2015

Dieksekusi sebagai root,

systemctl restart network-manager.service

Tidak ada keluaran di layar (terminal).

Log yang sesuai dari poin di atas ke upaya untuk terhubung menggunakan modem dapat ditemukan di sini.

Pembaruan 3 – 06 Desember 2015

Menginstal ofono lalu coba modem lagi.

Silakan lihat lognya di sini.

Pembaruan 4 – 06 Desember 2015

Sekali lagi dieksekusi sebagai root,

systemctl restart network-manager.service

Log yang sesuai dari poin di atas ke upaya untuk terhubung menggunakan modem dapat ditemukan di sini.

Pembaruan 5 – 06 Desember 2015

Mengubah semua “deny” menjadi “allow” di /etc/dbus-1/system.d/nm-dispatcher.conf .

Mencoba menghubungkan. Tidak beruntung.

Beberapa jaringan terhubung dan terputus dengan koneksi Ethernet.

Diikuti oleh Sudo systemctl restart network-manager.service .

Colokkan dan pasang modem.

Mencoba menghubungkan lagi. Tidak terhubung.

Lognya ada di sini.

Pembaruan 6 – 06 Desember 2015

Dieksekusi

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

dan

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

Tidak dapat menjalankan mm-test.py karena banyak kesalahan. Apakah menemukan file di lokasi yang ditunjukkan. Dapatkan ini dari, https://github.com/openshine/ModemManager/blob/master/test/mm-test.py.

Perintah di atas agak berbeda dari yang ada di Wiki.

File log ada di sini.

Pembaruan 7 – 07 Desember 2015

Dieksekusi lagi (setelah perubahan yang disarankan di /lib/udev/rules.d/40-usb_modeswitch.rules dan reboot)

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

dan

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

/var/log/syslog disertakan juga.

File log ada di sini.

Pembaruan 8 – 08 Desember 2015

Kumpulan log yang diperbarui ada di sini.

Pembaruan 9 – 08 Desember 2015

Uji 1

  1. Kali ini mem-boot komputer dari DVD Ubuntu 14.04 32 bit. Segera setelah komputer boot, mulai merekam log MM.

  2. Dimasukkan modem. lsusb menunjukkan bahwa itu dikenali sebagai perangkat
    19d2:1232 yang perlu dialihkan ke perangkat 19d2:2003
    . Karena penginstalan usb-modeswitch memerlukan reboot mesin
    (dan karenanya kehilangan instalasi untuk menjalankan DVD), saya menyiapkan file sakelar khusus
    dan mengganti modem dari baris perintah (sudo
    usb_modeswitch -I -c 19d2:2003
    ).

  3. Segera setelah peralihan selesai, saya diberi tahu bahwa saya
    berada di Jaringan Broadband Seluler dan Koneksi Broadband Baru muncul
    di menu pengelola jaringan.

  4. Saya menyiapkan koneksi di atas dengan cara biasa (nama APN bukan masalah
    ), dan koneksi dibuat secara otomatis.

  5. Saya memutuskan dan mengeluarkan modem.

  6. Berhenti merekam log MM.

Log MM dan syslog lengkap untuk sesi start to modem eject dapat ditemukan di sini.

Uji 2

Tes yang sama dengan DVD Ubuntu 14.04 64 bit.

Log dapat ditemukan di sini.

Pembaruan 10 – 09 Desember 2015

Kali ini diuji dengan wvdial dan menemukan bahwa jika wvdial dijalankan sebagai root,
kita mendapatkan berhasil koneksi.

wvdial conf dan log, dan syslog yang sesuai ada di sini

Dugaan utama:situasinya mungkin ada hubungannya dengan grup pengguna dari pengguna yang bersangkutan.

Tapi seperti yang ditunjukkan di sini,

Dengan semua alat ini, untuk membuat koneksi dialup, pengguna harus
menjadi anggota grup "dip" dan "dialout", jadi masukkan semua pengguna yang
seharusnya terhubung melalui dialup ke dalam grup ini .

Tapi seperti yang bisa kita temukan,

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

Jadi, pengguna sudah menjadi
anggota grup yang ditunjukkan.

Sekarang, mungkin masalahnya bermuara pada salah satu dari poin ini,

  1. Grup tambahan apa yang dibutuhkan pengguna?
  2. Bagaimana kami menjalankan proses penyiapan koneksi broadband seluler sebagai root? (masalah keamanan?)

Pembaruan 11 – 09 Desember 2015

wvdial bekerja dengan USB3 dan tidak bekerja dengan USB1.

Silakan temukan syslognya di sini.

Juga disertakan adalah keluaran dari dmesg | grep tty> /tmp/dmesg.tty.txt . Tapi lihat empat baris di dekat awal file?

Pembaruan 12 – 10 Desember 2015

  1. Mengomentari baris 4 (SUBSYSTEM!="tty", GOTO="mm_zte_port_types_end" ) di /lib/udev/rules.d/77-mm-zte-port-types.rules .

  2. Reboot mesin saya. Soft mencabut kabel dan memasukkan modem.

  3. Mencoba untuk terhubung. Gagal.

File syslog ada di sini.

Pembaruan 13 – 10 Desember 2015

Karena putus asa, untuk melihat apakah beberapa perubahan lokal memengaruhi koneksi, menguji mesin dengan DVD Ubuntu 15.04 dan 15.10.

  1. Mem-boot mesin dengan DVD Xubuntu 15.04 64 bit. Sambungan berhasil seperti pesona.
  2. Mem-boot mesin dengan DVD Ubuntu 15.10 64 bit. Sambungan gagal seperti sebelumnya.

Apa yang terjadi antara 15.04 dan 15.10?

Sangat membuat frustrasi.

Pembaruan 14 – 10 Desember 2015

  1. Membuat file baru /lib/udev/rules.d/78-mm-zte-port-types-RALPH.rules seperti yang diinstruksikan dalam jawaban.

  2. Reboot mesin saya (atau jalankan sudo udevadm control --reload , sebenarnya mencoba keduanya). Memasukkan modem.

  3. Modemnya dikenali.

    $ lsusb
    Bus 001 Device 005: ID 19d2:2003 ZTE WCDMA Technologies MSM
    
  4. Soft mencabut kabel dan mencoba menghubungkan menggunakan modem. Gagal.

  5. Mengeluarkan modem.

Mesin hang sekali, apakah itu kejadian acak? Mesin saya
biasanya tidak hang sekali dalam setahun.

File syslog dan file aturan yang dibuat ada di sini.

Pembaruan 15 – 11 Desember 2015

  1. Menambahkan baris berikut ke /lib/udev/rules.d/40-usb_modeswitch.rules .

    # ZTE MF193E
    ATTR{idVendor}=="19d2", ATTR{idProduct}=="1232", RUN+="usb_modeswitch '%b/%k'"
    
  2. Tinggalkan file /lib/udev/rules.d/78-mm-zte-port-types-RALPH.rules utuh.

  3. Reboot mesin saya. Memasukkan modem.

  4. Modemnya dikenali.

    Bus 001 Device 005: ID 19d2:2003 ZTE WCDMA Technologies MSM
    
  5. Soft mencabut kabel dan mencoba menyambung. Gagal.

  6. Mengeluarkan modem.

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

  8. Reboot dan coba seluruh proses lagi. Gagal lagi.

File syslog (lengkap, saya tidak mengambil risiko kehilangan
bagian penting) dan file aturan yang disebutkan (40) ada di sini.

Pembaruan 16 – 11 Desember 2015

  1. Hanya tersisa satu aturan 1232 di
    /lib/udev/rules.d/40-usb_modeswitch.rules , menghapus yang lain
    .

  2. Menjalankan sudo udevadm control --reload .

  3. Memasukkan modem.

  4. Modemnya dikenali.

    Bus 001 Device 005: ID 19d2:2003 ZTE WCDMA Technologies MSM
    
  5. Soft mencabut kabel dan mencoba menyambung. Gagal.

  6. Mengeluarkan modem.

Tapi bukankah kita sudah menguji sistem bawaan di atas? Apakah Anda bermaksud meninggalkan /lib/udev/rules.d/78-mm-zte-port-types-RALPH.rules sebagai gantinya?

File syslog (lengkap, saya tidak mengambil risiko kehilangan
bagian penting) dan file aturan yang disebutkan (40) ada di sini

Pembaruan 17 – 11 Desember 2015

  1. Mengomentari aturan 1232 di
    /lib/udev/rules.d/40-usb_modeswitch.rules , menambahkan satu untuk tahun 2003.

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

  3. Memasukkan modem.

  4. Modem dikenali sebagai 1232 perangkat. Saya tidak ditawari untuk mencoba menghubungkan (sejauh pengetahuan saya, itu tidak akan didaftarkan ke jaringan broadband kecuali peralihan telah terjadi pada tahun 2003)

    Bus 001 Device 008: ID 19d2:1232 ZTE WCDMA Technologies MSM
    
  5. Mengeluarkan modem.

Terkait:memutakhirkan dari 15,10 ke 16,04 agar tidak diinstal?

File syslog dan file aturan yang disebutkan (40) ada di sini

Pembaruan 18 – 11 Desember 2015

  1. Letakkan semua file aturan dalam bentuk aslinya.

  2. Menonton lsusb keluaran setiap satu detik menggunakan skrip Shell
    . Keluaran yang diambil dalam file yang dicap waktu.

  3. Dimasukkan modem. (Modem pertama kali muncul di file
    lssuboutouput.Fri 11 Des 16:56:29 BDT 2015.txt ). Seperti yang dapat kami temukan
    dari tangkapan, jelas bahwa perangkat ini beralih dari perangkat 1232 ke
    perangkat tahun 2003.

  4. Mencoba untuk terhubung. Gagal.

  5. Mengeluarkan modem.

File syslog, diberi cap waktu lsusb output dan file aturan yang disebutkan ada di sini.

Sekarang, Anda mungkin ingin mencocokkan keluaran syslog dengan cap waktu.

Pembaruan 19 – 11 Desember 2015

Melakukan pengujian ini ke arah yang benar-benar baru dengan harapan saya
dapat mengisolasi masalahnya.

  1. Disimpan dalam media portabel /lib/udev/rules.d/40-usb-media-players.rules dan /lib/udev/rules.d/77-mm-zte-port-types.rules (dari mesin Ubuntu 15.10).

  2. Boot mesin menggunakan Xubuntu 15.04 64 bit DVD.

  3. Menjalankan diff 77-mm-zte-port-types.rules
    /lib/udev/rules.d/77-mm-zte-port-types.rules>
    diff15.10and15.04_77 -mm.txt
    . File pertama adalah dari yang disimpan
    dari 15.10.

    Pemeriksaan file diff tidak menunjukkan idProduct 1232 atau 2003.

  4. Menjalankan diff 40-usb_modeswitch.rules
    /lib/udev/rules.d/40-usb_modeswitch.rules>
    diff15.10and15.04_40-usb.txt
    . Sekali lagi, file pertama berasal dari yang
    disimpan dari 15.10.

    Sekali lagi, pemeriksaan file diff tidak menunjukkan idProduct 1232 atau 2003.

  5. Dimasukkan modem. Modem tersebut dikenali sebagai modem.

    $ lsusb
    Bus 001 Device 008: ID 19d2:2003 ZTE WCDMA Technologies MSM
    
  6. Dapat terhubung dengan mudah setelah menyiapkan koneksi broadband seluler.

  7. Mengeluarkan modem.

  8. Menginstal USB_ModeSwitch terbaru.

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

    Sekarang mengembalikan NULL, seperti yang diharapkan.

  9. Menjalankan sudo udevadm control --reload-rules .

  10. Dimasukkan modem. Modem tersebut dikenali sebagai modem.

    $ lsusb
    Bus 001 Device 008: ID 19d2:2003 ZTE WCDMA Technologies MSM
    
  11. Dapat terhubung dengan mudah.

Saya bisa mencoba memutakhirkan MM dan NM ke Ubuntu 15.10, hanya untuk melihat di mana itu rusak. Saya sebenarnya mencoba tetapi menyerah karena masalah ketergantungan yang tak ada habisnya.

Semua file diff yang disebutkan di atas ada di sini.

Pembaruan 20 – 12 Desember 2015

Uji 1

  1. /lib/udev/rules dalam kondisi asli.

  2. Perangkat modem belum dimasukkan dalam sesi ini.

  3. Siapkan ModemManager untuk men-debug dan menyiapkan pengambilan udevadm.

    sudo udevadm monitor --e |& tee udevadm.update20.WITHOUT78.log
    sudo killall ModemManager; sudo ModemManager --debug 2>&1 | tee MM.update20.WITHOUT78.log
    
  4. Colokkan modem dan tunggu sampai dikatakan terdaftar di jaringan broadband.

  5. Mencoba menyambung tidak berhasil.

  6. Mengeluarkan modem.

  7. File log yang dikemas.

Uji 2

Ulangi pengujian di atas dengan
/lib/udev/rules.d/78-mm-zte-port-types-RALPH.rules di tempat.

Nama file log sudah cukup jelas.

Semua file log di atas ditambah syslog dan 78 file aturan ada
di sini.

Saya berharap semua file log datang dengan cap waktu, membuat pencocokan lebih mudah.

Pembaruan 21 – 15 Desember 2015

  1. Mengubah file aturan seperti yang disarankan.
  2. Me-boot ulang mesin saya.
  3. Memasukkan modem dan mencoba menghubungkan. Tidak berhasil.

File aturan dan syslog ada di sini.

Pembaruan 22 – 16 Desember 2015

Seperti yang disarankan dalam satu komentar, instal berbagai kernel dari
http://kernel.ubuntu.com/~kernel-ppa/mainline/ dan coba sambungkan
menggunakan modem setelah boot di masing-masing.

  1. 4.2.8-040208-generik, gagal.

  2. 4.1.15-040115-generik, gagal.

  3. 4.0.9-040009-generik, gagal.

Jadi, mungkin, kita bisa mengesampingkan masalah kernel.

Pembaruan 23 – 16 Februari 2016

Modem sudah mulai berfungsi di Ubuntu 16.04. Versi ini masih dalam Alpha 1, tetapi berfungsi dengan baik di laptop saya.

Jawaban yang Diterima:

Memuat ofono paket berhasil, mungkin, tetapi tampaknya model modem Anda, ZTE MF193E, tidak ada dalam daftar ZTE. Dibandingkan dengan modem ZTE lainnya, misalnya MF190J, modem ini mungkin membutuhkan udev khusus yang sama. aturan, untuk menjalankan usb_modeswitch ketika dongle dimasukkan, dan untuk mencapainya, Anda dapat, sebagai root, menambahkan udev baru aturan ke file
/lib/udev/rules.d/40-usb_modeswitch.rules
dengan dua baris berikut mis., di suatu tempat di dekat # ZTE MF190J komentar:

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

ditambah satu baris kosong, sehingga terlihat enak dipandang.

Mungkin bijaksana untuk me-reboot setelah itu, hanya untuk menemukan semuanya bekerja seperti sulap

Atau tidak. Seperti yang Anda ketahui, ini adalah masalah besar bagi saya, tetapi jika masih tidak berhasil, log debug ModemManager lain akan diperlukan, untuk tebakan liar lainnya.

EDIT:

Saya sekarang melihat dua baris di modemmanager.txt:

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

dan

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

Saya kira yang pertama mengacu pada pengaturan broadband Anda, sedangkan yang terakhir mengacu pada pengikatan internal ke "konteks PDP" (apa pun itu). Dari tampilannya, modem menawarkan 9 konteks alternatif, termasuk satu dengan apn='WAP' , tetapi ModemManager menerima kecocokan yang tidak peka huruf besar/kecil.

Perbedaan kasus mungkin menjadi penyebab masalah berikutnya:misalnya, ppp menginginkan 'wap' konfigurasi (bukan 'WAP' ) dan tidak menemukannya, atau ujung jarak jauh mengharapkan apn='WAP' , tetapi mendapat 'wap' yang membuatnya tersedak.

Opsi pertama dapat dengan mudah diuji (dan dikesampingkan, mungkin) dengan mengubah konfigurasi Anda untuk menggunakan 'wap' daripada 'WAP'. Anda mungkin pernah mencoba ini sebelumnya, tetapi saat itu tanpa ofono paket, jadi tes lain tidak akan merugikan, meskipun opsi kedua lebih mungkin.

Opsi kedua juga lebih merupakan masalah, mengingat ada kecocokan "konteks PDP" huruf besar yang tersedia dari modem. Googling masalah ini, tampaknya kecocokan peka huruf besar-kecil benar dengan spesifikasi (tampaknya relevan) "3GPP TS 23.003 bab 9.1", dan tambalan untuk melakukan ini telah ditambahkan ke ModemManager pada bulan November tahun lalu (ke dalam versi mm-1-4, saya bisa mengumpulkan). Jadi dalam hal ini, modem Anda belum diberi tahu, dan mengharapkan pencocokan peka huruf besar-kecil, sementara ModemManager sayangnya langsung menggunakan pencocokan case-sensitive daripada sebagai fallback.

Salah satu solusi untuk masalah kedua tentu saja menggunakan ModemManager yang berbeda :baik dengan mencari dan menginstal versi sebelum patch ini, atau (dengan waktu luang yang cukup), gulung ModemManager Anda sendiri . Tetapi juga bukan sesuatu yang harus dilakukan secara tiba-tiba, jadi mungkin kita perlu menelusuri sedikit untuk mendapatkan lebih banyak bukti bahwa ini (sekarang) masalahnya, dan jika mungkin menemukan cara lain untuk mengatasinya. Atau dengan sedikit keberuntungan, seseorang yang mengetahui sesuatu mampir…

EDIT 2

Ya, rollback versi tidak mudah karena ketergantungan. Dan memutar sendiri juga jauh dari menyenangkan.

Dua alat yang mungkin berguna:perintah mmcli dan
(http://m2msupport.net/m2msupport/module-tester/).

Masalahnya, menurut saya, adalah ModemManager memilih konteks PDP 1 dengan apn='wap' di mana ia harus memilih konteks PDP 9 dengan apn='WAP'. Mungkin ini bisa diatasi dengan menggunakan salah satu alat tersebut. Baik untuk dapat memaksakan pilihan 9 selama koneksi, atau dengan menghapus konteks 'wap' yang buruk dari modem, yang diiklankan mampu dilakukan oleh alat penguji modul.

Alat penguji modem tampaknya merupakan alat java di browser, jadi Anda perlu mengatur browser Anda untuk mengetahui di mana java Anda, dan Anda perlu mengetahui java itu. Kemudian silakan jelajahi pendekatan itu; Saya belum pernah menggunakannya sendiri, tetapi melihat tangkapan layar, saya kira itu akan menampilkan konteks PDP sebagai tab 'Panggilan Data', di mana Anda pertama kali mencatat semua yang ditampilkannya, dan kemudian mengedit entri 'wap' ke mengubah label 'wap' apn menjadi, katakanlah, 'wap1' dan 'wap2' (sehingga "menyembunyikan" mereka saat mencari 'WAP'). Kemudian simpan dan tutup, dan juggle dongle lagi. Ambil log; sepertinya syslog sudah cukup sekarang, kalau-kalau masih menolak untuk bermain.

mmcli command juga tampaknya berguna dalam cerita ini; lakukan man mmcli untuk membacanya, tetapi saya tidak melihat apa pun tentang konteks PDP di sana.

EDIT 3

Panggilan yang bagus! untuk menguji dari DVD. Itu memberi tahu kami bahwa saya berada di jalur yang salah dengan APN, dan itu semua terletak pada mendapatkan ppp untuk muncul. Setidaknya, itu akan menjadi pohon baru saya untuk menggonggong.

Terkait:Perangkat lunak untuk menemukan penggunaan daya desktop?

Pertama-tama kami perhatikan bahwa ada perbedaan versi untuk pppd (dari 2.4.5 ke 2.4.6), tapi itu mungkin bukan masalah, karena semua orang di dongle pasti ikut dalam perjalanan ini.

Hmm, pp; Saya perlu membangkitkan kenangan milenium terakhir saya :-). Sayangnya saya sibuk hari ini, tetapi saya akan menyentuh pangkalan ketika saya punya waktu berikutnya, untuk melihat seberapa jauh Anda telah datang. Gang belakang pertama yang harus saya periksa adalah:1) apakah pengguna berada di grup yang tepat? 2) apakah kredensialnya benar? 3) apakah mod file konfigurasi ppp/chat benar? Log debug ppp muncul di nm.txt (sesuai beberapa hari yang lalu), tetapi juga harus ada cara untuk menanyakannya untuk logging yang lebih detail.

EDIT 4

Pastikan /etc/ppp/pap-secrets dan /etc/ppp/chap-secrets memiliki grup dip (menggunakan chgrp sesuai kebutuhan) dan mode 740 (atau -rw-r------code> ) (menggunakan chmod sesuai kebutuhan). Milik saya tidak.

EDIT 5

Bagaimana dengan pohon ini, lalu:Membandingkan wvdial yang berfungsi syslog dengan syslog yang tidak berfungsi, tampaknya karena alasan tertentu wvdial menggunakan ttyUSB3 sedangkan ModemManager yang tidak berfungsi tetap menggunakan ttyUSB1 . Saya tidak yakin apakah itu signifikan, tetapi tampaknya ttyUSB1 dan ttyUSB3 keduanya merespons sebagai modem berkemampuan AT.

Jadi, sebagai percobaan, mungkin Anda bisa mengedit /etc/wvdial.conf jadi di bawah [Dialer Defaults] termasuk baris:

Modem = /dev/ttyUSB1

untuk satu tes, dan ttyUSB3 untuk yang lain; keduanya berjalan sebagai root; hanya untuk melihat apakah ada perilaku yang berbeda. Terutama, jika menggunakan ttyUSB1 adalah masalah sedangkan menggunakan ttyUSB3 tidak, maka alangkah baiknya untuk melihat bagaimana membuat ModemManager menggunakan ttyUSB3 juga. Untuk hasil tes lainnya, menurut saya kita akan kembali mengejar musang di tanah ppp.

EDIT 6

Log dmesg dapat diabaikan saya pikir; sudah seperti itu di semua log.
Syslog baru hanya menampilkan tes ttyUSB3, tapi mungkin kita bisa berasumsi bahwa hidup menjadi lebih baik jika NetworkManager mungkin sulit untuk menggunakan ttyUSB3 dan mengabaikan ttyUSB1 (untuk modem ini).

Saya juga menemukan (https://bugs.launchpad.net/ubuntu/+source/modemmanager/+bug/819784) terutama dengan postingan #10 yang membingungkan 🙁

udev apparently yang tampaknya berlaku aturan di /lib/udev/rules.d/77-mm-zte-port-types.rules tidak berlaku, tetapi seharusnya ke mana harus pergi. Dan, hanya dengan wawasan yang sangat mendasar, pra-101 tentang udev sihir, bagaimanapun saya akan mempertimbangkan untuk mempertanyakan baris ke-4, yang mengatakan:

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

Saya pikir baris itu membutuhkan # initial awal sehingga dapat dikomentari. Secara rinci, pembacaan saya tentang file tersebut adalah memerlukan status panggilan SUBSYSTEM==”tty” dan SUBSYSTEMS=”usb” untuk menggunakan bit yang baik, termasuk aturan produk “2003”, dan setidaknya untuk pengujian, seharusnya aman untuk melewati pemfilteran "tty". Dan saya tidak memiliki yang lebih baik saat ini.

EDIT 7

Setelah menghabiskan waktu berkualitas dengan mesin pencari favorit saya, saya lebih percaya bahwa pilihan ttyUSB adalah akar masalah di sini. Aturan udev yang saya tunjukkan tidak masalah, dan Anda harus mengembalikan hasil edit itu.

Namun, saya mulai percaya bahwa aturan konfigurasi menjelang akhir file itu, untuk id produk "2003" menyesatkan. Dari log, tampak bagi saya, bahwa id produk "2003" sebenarnya adalah sisi perangkat memori dongle, sedangkan sisi modem memiliki id produk "1232". Anda dapat mengujinya dengan mereplikasi dua aturan “2003” untuk id produk “1232”, dalam file /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"

atau lebih baik, tambahkan file baru di sampingnya, mis. bernama 78-ralph.rules , tetapi Anda juga perlu menambahkan perlindungan SUBSYSTEM dan SUBSYSTEMS di sekitarnya.

Kemudian, cabut dongle, jalankan udevadm control --reload (atau reboot), dan masukkan dongle. Dan kemudian lagi syslog tangkap, kecuali sekarang berhasil.

Namun, masalah yang efektif adalah ModemManager membuang plugin libmm-plugin-zte.so saat pra-penyelidikan, dan akhirnya menggunakan pengendali modem generik. Jika saya benar tentang id produk, maka ini mungkin alasannya; pra-penyelidikan itu mencari ID_MM_ZTE_PORT_TYPE_MODEM atribusi, dan ini kurang untuk id produk “1232” (sebelum patch), dengan efek plugin zte akan dibuang.

EDIT 8

syslog log agak pendek; melewatkan awal ketika ModemManager gagal menginstal plugin zte. Namun, jelas bahwa plugin modem Generik tetap digunakan. Sekarang, mungkin usb_modeswitch aturan yang saya berikan sejak awal juga salah; ia memutuskan untuk beralih ke “2003” ketika saya pikir itu beralih dari “2003”. Tapi, man usb_modeswitch (yang seharusnya saya lihat sebelumnya) semacam menyarankan bahwa itu bergeser ke id produk, bukan dari dia. Bagaimanapun, log menunjukkan hal itu terjadi. Jadi, harap ubah aturan itu untuk menggunakan “1232”, dan coba lagi.

Jika tidak ada yang lain, setidaknya saya harus belajar sedikit tentang udev.

EDIT 9

Bagus. Masalahnya masih (atau juga) bahwa ModemManager menjatuhkan plugin ZTE saat pra pemeriksaan. Log debugging ModemManager untuk 15.10 (set log “debuglogs*”) semuanya menceritakan kisah bahwa plugin ZTE dibuang karena uji vendor-id/product-id.

Pergi ke sumbernya, Luke! Saya mengambil kesempatan ini untuk melihat kode sumber ModemManager secara singkat, dan ini menunjukkan bahwa plugin sebagai tabel vid/pid yang tidak menyertakan 19d2/2003 … meskipun, saya belum menemukan sumber tabel itu, jadi saya tidak bisa verifikasi.

Atau mungkin ada masalah waktu di sini. Misalnya, ModemManager menjalankan pra-penyelidikan saat perangkat 19d2/1232. Pemikiran itu sejalan dengan pengamatan bahwa memiliki aturan udev 78-mm-zte-port-types-RALPH.rules membuat ModemManager sedikit lebih senang dengan perangkat. Tapi kemudian, mengapa tidak tetap senang dan memanfaatkan plugin itu saat perangkat dialihkan ke 19d2/2003?

Mungkin lebih banyak log diperlukan Dengan ModemManager di-debug, dan juga menangkap perintah udevadm monitor --e |&tee udevadm.log (di terminal lain) saat Anda mencolokkan perangkat. Saya mendapat perintah itu dari (https://wiki.ubuntu.com/DebuggingUdev)

Lakukan ini dua kali:sekali tanpa 78-mm-zte-port-types-RALPH.rules dan sekali dengan aturan ... kedua kali dari reboot baru. Yaitu

  1. setup /lib/udev/rules.d dengan atau tanpa *-RALPH.rules berkas
  2. cabut perangkat
  3. boot ulang
  4. setup ModemManager untuk debugging dan setup udevadm capture
  5. colokkan perangkat dan tunggu sebentar
  6. mengemas file log
  7. ulangi dari 1 dengan tes berikutnya

Logging itu seharusnya memberi tahu di mana plugin ZTE dijatuhkan, dan seperti yang saya pahami, itu juga akan memberi tahu tentang penanganan event udev.

EDIT 10

(Saya hampir di ujung tambatan saya di sini, tetapi saya memiliki satu atau dua napas lagi:-)

Pertama, semua udev dekorasi tampaknya berakhir sebagaimana mestinya, dengan hanya beberapa tanda tanya di beberapa atribut. Khususnya, 78-*-RALPH.rules harus dibuang; itu tidak berguna.

Saya pikir saya dapat membaca sesuatu dari ini, tetapi saya tidak yakin bagaimana itu harus diperbaiki. Pada dasarnya, seperti yang saya lihat, ketika dongle dicolokkan, ada banyak acara udev. Berfokus pada ttyUSB1, ada acara "awal":

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

yang menyebabkan usb_serial driver yang akan dimuat, dan /dev/ttyUSB1 muncul. Itu secara khusus menyebabkan peristiwa lain:

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

Saya pikir itu juga memicu ModemManager . Anda harus pergi ke syslog untuk melihat buktinya, karena tidak ada korelasi ketat antara log. Acara ini diberi stempel waktu 3867.435102 , dan syslog menyajikan ModemManager terdekat berikutnya baris log tepat setelah baris log kernel dicap 3867.437412 .

Menurut pemikiran saya, ModemManager seharusnya belum dipicu, tetapi hanya setelah acara ttyUSB1 berikutnya:

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

yang telah melampirkan atribut ZTE.

Di log MM, kita akan berada di baris yang dicap 1449934745.363291 , yang tampaknya merupakan stempel waktu "waktu nyata" dan bukan stempel "waktu kernel".

ModemManager kemudian selesai dengan pra-penyelidikan di1449934745.450398 , yaitu, 87 md kemudian, yang dalam istilah waktu kernel akan mendekati 3867.524519 dan 55 md sebelum laporan peristiwa UDEV “baik” di atas.

Perhatikan bahwa di syslog , ModemManager tidak mengajukan keluhan bahwa ttyUSB1 tidak memiliki atribut yang disetel, dan mungkin keluhan tersebut terkait dengan "penandaan" yang terjadi di 80-mm-candidate.rules . Dengan komentar di file itu, penandaan itu tampaknya merupakan upaya untuk menangani masalah ini dengan tepat, tetapi jika demikian, tampaknya tidak berhasil dalam kasus ini.

Terkait:Sistem file hanya baca setelah memutakhirkan ke 15,04 dengan?

Mungkin satu kemungkinan untuk menyelesaikan ini adalah dengan mengubah aturan “tty” di 80-mm-candidate.rules menjadi:

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

Menurut saya, itu akan memastikan bahwa ID_MM_CANDIDATE pengaturan akan tertunda hingga atribut ZTE disetel. .ID_PORT pengaturan adalah efek dari 60-serial.rules aturan (disebut 60-persistent-serial.rules sebelumnya), dan kondisi tambahan pada aturan penandaan hanyalah memiliki nilai.

Kondisi tersebut bukan merupakan atribut ZTE, hanya untuk menjaga agar aturan lebih umum. Satu langkah yang lebih spesifik adalah dengan meminta ENV{.MM_USBIFNUM}="?*" sebagai gantinya, karena penugasan di sini terjadi oleh 77-mm-zte-port-types.rules .

Secara umum saya tidak begitu yakin tentang udev aturan pemesanan, dan saya juga sama sekali tidak yakin bahwa ini benar-benar menghentikan ModemManager dari bertindak terlalu cepat. Namun jika tidak, maka 80-mm-candidate.rules akan memiliki sedikit atau tidak ada fungsi, dan mungkin semuanya akan bermuara pada "peningkatan" ke ModemManager mulai 15.04.

EDIT 21

mendesah. Mungkin tidak relevan, tetapi Anda mungkin ingin memeriksa 7-zte-mutil_port_device.rules Anda mengajukan; apakah itu sisa dari eksperimen lain? Bagaimanapun, tidak relevan di sini.

Masih ada waktu hampir satu detik antara 515.558184 dan 516.381549 di mana ModemManager dengan bersemangat dan keliru mengambil /dev/ttyUSB1 , and whilst complaining about it not being set up, still goes through pre-probing and discards the ZTE plugin. In other words, the rule patch doesn’t make ModemManager wait.

I suppose you also tested using ENV{.MM_USBIFNUM}="?*" instead of ENV{.ID_PORT}=="?*" .

Actually, to confirm whether or not setting ENV{ID_MM_CANDIDATE}=1 is of any importance, you should temporarily move away 80-mm-candidate.rules , then see (in syslog ) if then ModemManager ignores /dev/ttyUSB1 atau tidak. I suspect “not”.

And then, well, maybe you can use a working version, such as 14.04, and if you need, perhaps run 15.10 in a virtualbox, unless of course it’s already all is in a virtualbox.

I think I need to claim defeat at this point.


Ubuntu
  1. Mengkonfigurasi Tata Photon + Modem Usb Huawei Ec156?

  2. Perbedaan Antara /var/log/messages, /var/log/syslog, Dan /var/log/kern.log?

  3. Deskriptor Perangkat Usb Membaca Kesalahan Setelah Meningkatkan Ke 20,04?

  1. Kesalahan Saat Mencoba Menghubungkan Ke Vpn Saat Memulai?

  2. Ubuntu 13.04 Mengakui Modem Broadband Seluler Usb Sebagai Koneksi Ethernet?

  3. Kesalahan "Tidak Cukup Swap Gratis" Saat Mencoba Hibernasi?

  1. Kesalahan Perangkat Usb Virtualbox Ns_error_failure (0x80004005) Di Ubuntu 14.04 X64 Virtualbox 4.3?

  2. Komputer Melambat Saat Saya Memasang Flash Drive Usb 3?

  3. Kesalahan Saat Menginstal Nginx Di Ubuntu 16.04?