Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

[Rozwiązano] system linux nie widzi podłączonego usbasp

26 Lip 2018 14:29 543 11
  • Poziom 3  
    Witam,
    Korzystam z systemu linux - debian 9 i w chwili podłączenia programatora usbasp otrzymuję taki komunikat :
    'could not find usb device',
    Pczątkowo myślałem, że programator jest wadliwy i odesłałem go do sklepu w celu sprawdzenia.
    Jak się okazało póżniej , programator działa sprawnie. Był sprawdzony na windows 10.
    Dziś go otrzymałem z powrotem.
    Wniosek jest więc taki, że linux nie wykrywa usbasp.
    Tak w ogóle to mogę korzystać z usb w komputerze na linuxie.
    Mój mikrokontroler to attiny2313, fusy :
    low - 64
    high - DF
    ext - FF
    Moze jest sprawa odnośnie z prawami do pliku i z grupami?
    Postanowiłem dodać jeszcze dodać pliki z tego katalogu: /etc/udev/rules.d
    Sa trzy pliki:
    59 - usbasp.rules
    81-avr - programator.rules
    99-USBasp.rules
    /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    Zawartosc pliku 59 - usbasp.rules:
    SUBSYSTEMS=="usb", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="05dc", GROUP="users", MODE="0666",
    ATTR{product}=="USBasp", GROUP="plugdev"



    Zawartosc pliku 81-avr-programator.rules:
    ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="05dc", MODE="0666", GROUP="plugdev",SUBSYSTEM=="usb",
    ATTR{product}=="USBasp", GROUP="users"



    Zawartosc pliku 99-USBasp.rules:
    # USBasp - USB programmer for Atmel AVR controllers
    # Copy this file to /etc/udev/rules.d so

    SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", SYSFS{idVendor}=="16c0", SYSFS{idProduct}=="05dc", MODE="0666", ATTR{product}=="USBasp", GROUP="users", GROUP="plugdev"
    ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    Pozdrawiam i z góry bardzo dziękuję za okazaną pomoc.
  • Poziom 12  
    Pokaż wynik poleceń lsusb i końcówkę dmesg od razu po podpięciu programatora.

    Regułka powinna wyglądać tak:
    Code:

    # USBasp Programmer rules http://www.fischl.de/usbasp/
    SUBSYSTEMS=="usb", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="05dc", GROUP="users", MODE="0666"

    Upewnij się że jesteś w grupie users poleceniem groups.
  • Poziom 3  
    Hej,
    Oto co wyrzuca lsusb:
    lsusb
    Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
    Bus 003 Device 003: ID 16c0:05dc Van Ooijen Technische Informatica shared ID for use with libusb
    Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
    Bus 002 Device 002: ID 046d:c05b Logitech, Inc. M-U0004 810-001317 [B110 Optical USB Mouse]
    Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
    Bus 001 Device 002: ID 1a2c:2d23 China Resource Semico Co., Ltd
    Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

    A to po dmesg:

    0xC1E1
    [ 16.501857] IPv6: ADDRCONF(NETDEV_UP): enp2s8: link is not ready
    [ 16.521781] IPv6: ADDRCONF(NETDEV_UP): enp2s8: link is not ready
    [ 41.816149] usb 3-2: USB disconnect, device number 2
    [ 45.460288] usb 3-2: new low-speed USB device number 3 using uhci_hcd
    [ 45.648171] usb 3-2: New USB device found, idVendor=16c0, idProduct=05dc
    [ 45.648175] usb 3-2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
    [ 45.648178] usb 3-2: Product: USBasp
    [ 45.648180] usb 3-2: Manufacturer: www.fischl.de
    [ 394.245817] perf: interrupt took too long (2522 > 2500), lowering kernel.perf_event_max_sample_rate to 79250
    [ 465.012071] perf: interrupt took too long (3157 > 3152), lowering kernel.perf_event_max_sample_rate to 63250
    [ 714.042067] perf: interrupt took too long (3947 > 3946), lowering kernel.perf_event_max_sample_rate to 50500
    [ 1456.928280] perf: interrupt took too long (4960 > 4933), lowering kernel.perf_event_max_sample_rate to 40250


    Dzięki
  • Poziom 12  
    Czyli okej. Sprawdź czy zadziała z sudo, jeśli tak to porblem z uprawnieniami. Użyj mojej regułki nie zapominając o przeładowaniu udeva poleceniem: sudo udevadm control --reload
  • Poziom 3  
    Hej,
    Są trzy pliki, więc tę rgułkę do ktorego pliku mam wpisać.?Do tych 3 regułek, dopisałem grupy i może to powoduje błąd?

    Dodano po 48 [sekundy]:

    ok już wiem do ktorego pliku

    Dodano po 1 [minuty]:

    Podejrzewam, ze ty masz tylko jeden plik z regułką?

    Dodano po 3 [minuty]:

    Oto moje grupy:
    zbysiu@debian:~$ groups
    zbysiu root lp cdrom floppy audio dip video plugdev users netdev bluetooth lpadmin usb ftp dev
  • Pomocny post
    Poziom 12  
    Tak, jeden plik z kilkoma regułkami:
    Code:
    # USBtinyISP Programmer rules
    
    SUBSYSTEMS=="usb", ATTRS{idVendor}=="1781", ATTRS{idProduct}=="0c9f", GROUP="users", MODE="0666"
    SUBSYSTEMS=="usb", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="0479", GROUP="users", MODE="0666"

    # USBasp Programmer rules http://www.fischl.de/usbasp/
    SUBSYSTEMS=="usb", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="05dc", GROUP="users", MODE="0666"

    # Mdfly.com Generic (SiLabs CP2102) 3.3v/5v USB VComm adapter
    SUBSYSTEMS=="usb", ATTRS{idVendor}=="10c4", ATTRS{idProduct}=="ea60", GROUP="users", MODE="0666"

    # Atmel AVR Dragon (dragon_isp) rules
    SUBSYSTEM=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2107", GROUP="users", MODE="0666"

    # Atmel AVR JTAGICEMKII rules
    SUBSYSTEM=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2103", GROUP="users", MODE="0666"

    # Atmel Corp. AVR ISP mkII
    SUBSYSTEM=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2104", GROUP="users", MODE="0666"

    Przeładowałeś udeva tak jak pisałem? Używając sudo wykrywa programator?
  • Poziom 3  
    I to jeszcze zapodałem, bo może się przydać w rozwiązaniu problemu:

    root@debian:/home/zbysiu# avrdude -p attiny2313 -c usbasp -P usb -B 375

    avrdude: set SCK frequency to 2000 Hz
    avrdude: AVR device initialized and ready to accept instructions

    Reading | ################################################## | 100% 0.06s

    avrdude: Device signature = 0x1e910a (probably t2313)

    avrdude: safemode: Fuses OK (E:FF, H:DF, L:64)

    avrdude done. Thank you.

    Dodano po 2 [minuty]:

    przeładowałem 'udeva' i nic, reboot zrobiłem i nic

    Dodano po 1 [minuty]:

    uzywam na linxie poprzez wine program mkAVR Calculator - jest to bardzo dobry progam i on nie wykrywa urządzenia

    Dodano po 1 [minuty]:

    Miernikiem sprawdziele plączenia wszystkie, syganały są, mam jedna diode i rezystor 10k podłaczony do resetu i to wszystko
  • Pomocny post
    Poziom 12  
    Dziwne, powinno działać. Widać że programator działa, bo pod rootem jest wykrywane.
    Wrócę do domu to zobaczę co może być nie tak (po ~18).
  • Poziom 3  
    A to jest regułka z anglojęzycznego forum:
    Kod: bash
    Zaloguj się, aby zobaczyć kod


    Dodano po 1 [godziny] 25 [minuty]:

    Hej,
    Udało się wgrać plik, ale z argumentem - B 375 czego nie rozumiem.Kiedyś jak wgrywałem, to bez tego argumentu i wszystko smigalo w ubuntu.A teraz takie problemy z debianem.
    Oto tekst z konsoli: (usuwa mi zawartość flasha?)
    Kod: bash
    Zaloguj się, aby zobaczyć kod

    teraz z opcją -D

    Kod: bash
    Zaloguj się, aby zobaczyć kod


    Ale niestety dioda nie miga, Mam ja podlaczoną do portu PB0.
    Oto program:
    Kod: c
    Zaloguj się, aby zobaczyć kod


    Dodano po 1 [godziny] 46 [minuty]:

    Hej,
    dioda miga

    Dodano po 59 [sekundy]:

    Dziękuję ci bardzo za pomoc,ale jeszcze nie zamykam tej sprawy, bo teraz nie mam czasu pisac.
    Dzięki jeszcze raz.

    Dodano po 14 [godziny] 32 [minuty]:

    Hej Panie Rak,
    Podłączyłem drugą diodę, napisalem prosty programik i ta druga dioda nie świeci, nie mówiąc o miganiu.
    Okazało się, że prawdopodobnie styki od płytki stykowej nie mają w pewnych miejscach połączeń.
    Zastanawiam się też nad tym, dlaczego nie mogę korzystać z programów okienkowych, a tylko z avrdude?
    Ten parametr -B używa się jeśli się ma Jtag, a ja posiadam usbasp?
    Pozdrawiam

    Moderowany przez Kuniarz:

    Proszę listingi programów umieszczać korzystając z guzika SYNTAX.

  • Pomocny post
    Poziom 12  
    JTAG nie ma nic wsþolnego z USBasp. Jeśli nie podasz tego parametru to nie udaję się wgrać wsadu?
    Z programami "okienkowymi" nie pomogę, nie używam.
  • Poziom 3  
    Powiem tak kolokwialnie i dobitnie - zajoba można dostać .
    Ustawiłem fabrycznie fusbity dla atmegi 328p za pomocą avrdude. Komunikat w konsoli "oświadczył", że zostalo wszystko zapisane.
    Po tym już nie moge wgrac wsadu. Dioda się pali caly czas, ale nie miga, jesli mam tak wpisane w programie.
    Program kompiluję za pomocą tego poradnika - "http://hobby.abxyz.bplaced.net/index.php?pid=3&aid=9"
    Wczesniej z parametrem B3 wsad sie wgrywal, a teraz w ogóle nie można, czy bez lub z parametrem.
    Pozdrawiam

    Dodano po 24 [minuty]:

    Wyczyściłem też pamięć flash, bo były tam wgrane wcześniejsze programy, ktore powodowały zamieszanie, ale fusbity pozostają na swoim miejscu?
    Więc . to nie miało wpływu na napisany program?
  • Poziom 3  
    Hej Panie Rak,
    Chciłałbym ci bardzo podziękować za okazaną pomoc.
    Wszystko działa na windowsie xp i na debianie w konsoli.
    Podłączyłem kwarc 12Mhz i wszystko się uspokoiło, bo bez kwarcu wszystko hulało jak na morzu podczas sztormu.
    Diody wariowały .
    Ważne w linuxie jest tez to, gdzie się wsadza usb.Jak ma się jedno gniazdo usb i je sobie skonfigurujesz, to ok.
    Ale jak ich jest więcej , to trzeba by bylo konfigurować wszystkie. Najlepiej wkładac do usb tego jednego, skonfigurowanego.
    Tu jest bardzo dobrze wytłumaczone:
    "http://grylewicz.pl/programator-avr-usbasp-v2-0-lcsoft-i-linux/ "
    W konsoli wpisuje : make->make program_flash->make clean
    Wszystko na zasadzie zwyklego uzytkownika.
    Temat zamknięty.