GNU/Linux >> Belajar Linux >  >> Ubuntu

Masalah Komunikasi Usb Dan Mikrokontroler?

Saya baru mengenal dunia Linux dan saat ini saya menggunakan Ubuntu 12.04. Itu berjalan di partisi Windows. Saya telah mengembangkan program python yang membaca data serial dari pengontrol mikro melalui port USB. Semua berfungsi dengan baik sampai dua hari yang lalu ketika mulai mogok. Saat memasukkan dmesg | grep tty ke konsol saya mendapatkan output berikut:

[    0.000000] console [tty0] enabled
[   14.599394] cdc_acm 3-1:1.0: ttyACM0: USB ACM device
[  290.236065] cdc_acm 3-1:1.0: ttyACM0: USB ACM device
[ 1105.915191] cdc_acm 3-1:1.0: ttyACM0: USB ACM device

Setiap kali saya menghubungkan dan memutuskan USB, saya mendapatkan saluran baru dengan data yang sama. Hanya perbedaan waktu. Apakah ini benar atau saya punya masalah. Bantuan apa pun akan dihargai. Terima kasih

Pembaruan:

Masalahnya adalah dengan pengontrol mikro. Itu reboot setiap kali tidak menerima paket dari sensor apa pun untuk jangka waktu tertentu. Mikrokontroler adalah router pada jaringan sensor nirkabel. Setiap kali mikrokontroler mem-boot ulang port koneksinya bertambah, mis. ttyACM0 ke ttyACM1 . Setelah menghubungkan pengontrol ke Raspberry PI, ini berhenti terjadi.

Jawaban yang Diterima:

  1. Periksa ID Vendor USB, ID Produk, dan Nomor Seri.

    $ dmesg | grep usb
    [...]
    [11427.635362] usb 2-1.2: new high-speed USB device number 8 using ehci-pci
    [11427.730823] usb 2-1.2: New USB device found, idVendor=04e8, idProduct=685e
    [11427.730830] usb 2-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
    [11427.730834] usb 2-1.2: Product: SAMSUNG
    [11427.730838] usb 2-1.2: Manufacturer: Android
    [11427.730842] usb 2-1.2: SerialNumber: S610275b03f86
    [11427.742314] usb-storage 2-1.2:1.0: USB Mass Storage device detected
    [11427.742436] scsi8 : usb-storage 2-1.2:1.0
    [11427.786013] usbcore: registered new interface driver cdc_acm
    

    Atau udevadm info -a /dev/ttyUSB1 mungkin lebih lengkap.

  2. Buat file aturan udev baru. Contoh dengan aturan untuk ponsel Android, Arduino, Bus bajak laut, dan kit ARM.

    $ sudo nano /etc/udev/rules.d/99-my-usb-serial.rules
    SUBSYSTEM=="tty", ATTRS{idVendor}=="04e8", ATTRS{idProduct}=="685e", ATTRS{serial}=="S610275b03f86", SYMLINK+="android"
    SUBSYSTEM=="tty", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", ATTRS{serial}=="A6008isP", SYMLINK+="arduino"
    SUBSYSTEM=="tty", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", ATTRS{serial}=="A7004IXj", SYMLINK+="buspirate"
    SUBSYSTEM=="tty", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", ATTRS{serial}=="FTDIF46B", SYMLINK+="ttyUSB.ARM"
    

Referensi:

  • Nama tetap untuk perangkat serial usb
  • Memulai BeagleBone &BeagleBone Black atau tepatnya mkudevrule.sh

Ubuntu
  1. 4 Perangkat Lunak Komunikasi Tim Gratis dan Sumber Terbuka Terbaik

  2. Cara Menonaktifkan port USB, CD-ROM dan Floppy drive di Ubuntu

  3. Edimax Ew-7811un Usb Wireless – Melihat Jaringan Tapi Gagal Terhubung?

  1. Komunikasi antar-proses di Linux:Soket dan sinyal

  2. Instal Grub Di Usb Dan Jadikan Ini Disk Penyelamatan?

  3. Masalah dengan Mint 18 dan Alat VMware

  1. Cara Membakar Gambar ISO Ke DVD Dan USB Menggunakan dd

  2. Memahami Komunikasi Antara Pam dan Daemon Pam-aware?

  3. Menginstal Ubuntu Di Usb Dan Mem-boot Dari Destop Dengan UEFA?