Results 1 to 44 of 44

Thread: Install Fehler

  1. #1
    ozgan's Avatar
    Title
    Elite
    Join Date
    Oct 2005
    Location
    Mars
    Posts
    261
    Thanks Thanks Given 
    22
    Thanks Thanks Received 
    78
    Thanked in
    51 Posts

    Install Fehler

    Hallo;

    ich habe meinen MacBook alle Programme, z.B. avr-, gcc-, at16prog-Programme, installiert. Wenn ich DemoAss auf den LaborKit installieren will, kriege ich aber immer folgende Fehler :

    Code:
    tuwien:DemoAss ozgan$ sudo make install
    at16prog -dlpt=/dev/ttyACM1 -dprog=dasa2 -dpart=ATmega16 --segment=flash --erase
    Note: command line option `dprog' ignored
    Note: command line option `dlpt' ignored
    ATmega16 is found in target system
    Erasing Device ...
    at16prog -dlpt=/dev/ttyACM1 -dprog=dasa2 -dpart=ATmega16 --segment=flash --upload if=demo.ihex
    Note: command line option `dprog' ignored
    Note: command line option `dlpt' ignored
    at16prog: can't enable spi serial programming mode: No such file or directory
    make: *** [install_flash] Error 1
    Weiß jemand, wie ich dieses Problem lösen kann?

    root@FreeBSD: ~# _

  2. #2

    Title
    Elite
    Join Date
    Oct 2007
    Location
    wien/OÖ
    Posts
    253
    Thanks Thanks Given 
    40
    Thanks Thanks Received 
    20
    Thanked in
    17 Posts
    Quote Originally Posted by ozgan View Post
    Code:
    at16prog -dlpt=/dev/ttyACM1 -dprog=dasa2 -dpart=ATmega16 --segment=flash --upload if=demo.ihex
    Note: command line option `dprog' ignored
    Note: command line option `dlpt' ignored
    at16prog: can't enable spi serial programming mode: No such file or directory
    make: *** [install_flash] Error 1
    Weiß jemand, wie ich dieses Problem lösen kann?
    hast du vor dem make install ein normales make ausgeführt? sieht irgendwie aus als wenn demo.ihex nicht existieren würde

    hth oliver

  3. #3
    ozgan's Avatar
    Title
    Elite
    Join Date
    Oct 2005
    Location
    Mars
    Posts
    261
    Thanks Thanks Given 
    22
    Thanks Thanks Received 
    78
    Thanked in
    51 Posts
    Ja, bei make ist kein Fehler, also :
    tuwienemoAss ozgan$ make
    avr-gcc -x assembler -mmcu=ATmega16 -o demo.aout demo.s
    avr-objcopy -O ihex demo.aout demo.ihex
    rm demo.aout
    dann führe ich 'make install' aus, kriege ich immer selbe Fehler

    root@FreeBSD: ~# _

  4. #4

    Title
    Baccalaureus
    Join Date
    Oct 2007
    Location
    Klein Harras
    Posts
    993
    Thanks Thanks Given 
    4
    Thanks Thanks Received 
    109
    Thanked in
    81 Posts
    Kann sein dass du das Device im make File anpassen musst (musst ein bisschen scrollen wenn ich mich nicht täusche). Sonst (falls du auch ne Live-CD bekommen hast) probier von dieser zu booten.

    mfg Schakal

  5. #5

    Title
    Elite
    Join Date
    Sep 2004
    Location
    Wien 22
    Posts
    251
    Thanks Thanks Given 
    7
    Thanks Thanks Received 
    0
    Thanked in
    0 Posts
    Hat das Programm nicht sowieso einen Fehler den man vorher ausbessern soll, oder wurde der von dir schon ausgebessert.....ist mir nur grad beim durchlesen der Exercises aufgefallen.

    take a look at the demo program you can download from the course homepage (topic
    Manuals, ATmega16-docs). The program contains one syntactical error. Call make to as-
    semble the program, identify the location of the error from the assembler output, correct the
    error, and assemble again


    Andere Frage, wenn man die Microcontroller eigene Linux Version verwendet, sind dann schon alle nötigen Programme installiert oder muss man da auch noch die Sources und Packages installieren die für die VL notwendig sind?
    No problem on Jamaica!!!

  6. #6
    Daedalus's Avatar
    Title
    Elite
    Join Date
    Dec 2004
    Location
    Wien
    Posts
    340
    Thanks Thanks Given 
    27
    Thanks Thanks Received 
    7
    Thanked in
    7 Posts
    Quote Originally Posted by !!_Mark_!! View Post
    Hat das Programm nicht sowieso einen Fehler den man vorher ausbessern soll, oder wurde der von dir schon ausgebessert.....ist mir nur grad beim durchlesen der Exercises aufgefallen.

    take a look at the demo program you can download from the course homepage (topic
    Manuals, ATmega16-docs). The program contains one syntactical error. Call make to as-
    semble the program, identify the location of the error from the assembler output, correct the
    error, and assemble again
    Das hat er schon gemacht, wenn 'make' ohne Fehler durchläuft
    Quote Originally Posted by !!_Mark_!! View Post
    Andere Frage, wenn man die Microcontroller eigene Linux Version verwendet, sind dann schon alle nötigen Programme installiert oder muss man da auch noch die Sources und Packages installieren die für die VL notwendig sind?
    Ich habe die Live-CD nie verwendet, aber bin mir ziemlich sicher, dass alle nötigen Packages vorinstalliert sind (wozu sonst auch eine Live-CD, man müsste nach jedem Booten etwas neu kompilieren und installieren)

    Bezüglich dem Problem: Ich würde auch überprüfen, ob der richtige Port (bei at16prog unter Linux heisst er vermutlich 'ttyACM0' oder 'ttyACM1', unter Mac OS X vermutlich anders). Poste bitte mal den Output von 'ls /dev/ | grep tty'
    Last edited by Daedalus; 12-03-2009 at 12:15.

  7. #7
    lewurm's Avatar
    Title
    Baccalaureus
    Join Date
    Aug 2007
    Location
    lolcathost
    Posts
    778
    Thanks Thanks Given 
    168
    Thanks Thanks Received 
    239
    Thanked in
    170 Posts
    hi,

    skinner33 und ich hatten ein aehnliches problem, wir verwenden aber arch linux. ich vermute einfach mal, das sich irgendwas im kernel getan hat und der at16prog deswegen so herumzickt (2.6.28er hier)
    das problem was wir festgestellt haben ist folgendes:
    nach jedem zugriff auf den programmer ist kein zugriff mehr moeglich o_X
    was aber geht ist, nach jedem befehl den qC aus- und einzustecken. also --erase ausfuehren, ein/aus, --update, ein/aus, --verify. das jedes mal haendisch zu machen ist natuerlich schrecklich
    das eigentliche problem konnten wir zwar nicht beheben, aber einen dreckigen workaround gibts schon ->
    im /sys/ kann man dem usb treiber sagen er soll das geraet disconnecten bzw. dann wieder connecten, dann is es einigermassen handlich: (hier die install_flash aus dem Makefile)
    Code:
    install_flash: $(PROJNAME).ihex
        sudo sh -c 'echo -n $(USBPORT) > /sys/bus/usb/drivers/usb/unbind' | true
        sudo sh -c 'echo -n $(USBPORT) > /sys/bus/usb/drivers/usb/bind'
        sleep 0.5
        $(PROGR) $(PRFLAGS) --segment=flash --erase
        sudo sh -c 'echo -n $(USBPORT) > /sys/bus/usb/drivers/usb/unbind'
        sudo sh -c 'echo -n $(USBPORT) > /sys/bus/usb/drivers/usb/bind'
        sleep 0.5
        $(PROGR) $(PRFLAGS) --segment=flash --upload if=$(PROJNAME).ihex
        sudo sh -c 'echo -n $(USBPORT) > /sys/bus/usb/drivers/usb/unbind'
        sudo sh -c 'echo -n $(USBPORT) > /sys/bus/usb/drivers/usb/bind'
        sleep 0.5
        $(PROGR) $(PRFLAGS) --segment=flash --verify if=$(PROJNAME).ihex
    wobei $(USBPORT) der syslink in /sys/bus/usb/driver/usb ist der verschwindet bzw. wieder auftaucht wenn man das geraet ein- bzw. aussteckt.

    mit mac os kenne ich mich leider nicht aus, duerfte aber aehnliche funktionalitaet bieten (google!).

    wenn wer weiss wie man das eigentliche problem loesen kann waere ich sehr dankbar ^^
    Last edited by lewurm; 15-03-2009 at 10:05.

  8. The Following User Says Thank You to lewurm For This Useful Post:


  9. #8

    Title
    Baccalaureus
    Join Date
    Oct 2007
    Location
    /dev/null
    Posts
    651
    Thanks Thanks Given 
    91
    Thanks Thanks Received 
    115
    Thanked in
    95 Posts
    Dazu sollte man vlt. noch anmerken:

    Die Fehlermeldung die wir bekommen ist folgende:
    at16prog: can't enable spi serial programming mode: Resource temporarily unavailable

    So wie wir das mittels strace feststellen konnten versucht dabei die libusb, warum auch immer, auf ein leeres Device zuzugreifen was dann schließlich in diesen timeout endet

  10. #9

    Title
    Elite
    Join Date
    Oct 2007
    Location
    Monkey Island
    Posts
    341
    Thanks Thanks Given 
    48
    Thanks Thanks Received 
    41
    Thanked in
    31 Posts
    Hach, da überlegt man sich extra von Gentoo auf Arch umzusteigen weil einen die ewige Kompiliererei bei der Paketinstallation langsam aber sicher zu nerven beginnt und dann hört man sowas... tsts

    Bei mir funktioniert es wunderbar, das einzige was noch etwas stört ist dass ich root-Rechte brauche um auf den µC zu flashen, muss da wohl noch irgendwie richtig Zugriffsrechte setzen - hat wer das selbe Problem? Direkt Zugriffsrechte aufs USB-Device scheint nichts zu bringen, es kommt immer folgende Fehlermeldung:
    Code:
    /usr/local/bin/at16prog: can't set usb device configuration #1: Operation not permitted
    Ist nicht weiter schlimm aber wär nett wenns auch ohne root-Rechte ginge.
    http://happyvimming.blogspot.com/
    -----
    Etwas zusätzlichen Speicher gefällig?
    "Signetics 25120 - Fully Encoded, 9046xN Random Access Write-Only-Memory" (Datenblatt lesen!)

  11. #10

    Title
    Baccalaureus
    Join Date
    Oct 2007
    Location
    /dev/null
    Posts
    651
    Thanks Thanks Given 
    91
    Thanks Thanks Received 
    115
    Thanked in
    95 Posts
    Da brauchst du Rechte auf /dev/ttyACM0 dann sollte das gehen

  12. #11

    Title
    Elite
    Join Date
    Oct 2007
    Location
    Monkey Island
    Posts
    341
    Thanks Thanks Given 
    48
    Thanks Thanks Received 
    41
    Thanked in
    31 Posts
    Quote Originally Posted by skinner33 View Post
    Da brauchst du Rechte auf /dev/ttyACM0 dann sollte das gehen
    Das Device (und auch andere /dev/ttyACM*) gibts bei mir z.B. gar nicht und das Problem ist, dass ich nicht weiß welches nun vom at16prog verwendet wird. Hab mal die Zugriffsrechte auf die USB-Devices /dev/usbdev* gesetzt aber das half nichts.
    Die Angabe vom -dlpt Paramter ist (zumindest hier bei mir) sinnlos weil sie sowieso ignoriert wird ("Note: command line option `dlpt' ignored"), d.h. der at16prog muss sich irgendwie selbstständig ein passendes Device suchen das für die Verbindung zum Board zuständig ist - nur welches? auch mit -v=3 spuckt er mir das nicht aus, find ich etwas besch... eiden

    Also, an die Linux-Geeks hier: wie kann ich schlicht und einfach überprüfen auf welche Devices ein Programm zugreift? Gibts sicher eine einfache Möglichkeit dafür...
    Könnte jetzt natürlich noch wie wild versuchen sämtliche /dev/tty* Dinger auf chmod 666 setzen (bzw. mich als User in die entsprechende Gruppe hinzufügen), aber lieber wär mir doch einfach zu wissen auf welches Device nun genau das Programm zugreift, wenn es sich selbst schon darüber ausschweigt, sollte ja nicht so schwierig zu ermitteln sein
    http://happyvimming.blogspot.com/
    -----
    Etwas zusätzlichen Speicher gefällig?
    "Signetics 25120 - Fully Encoded, 9046xN Random Access Write-Only-Memory" (Datenblatt lesen!)

  13. #12

    Title
    Baccalaureus
    Join Date
    Oct 2007
    Location
    /dev/null
    Posts
    651
    Thanks Thanks Given 
    91
    Thanks Thanks Received 
    115
    Thanked in
    95 Posts
    Er nimmt /dev/ttyACM0, das ist hardcoded im programmcode (main.c:284)

  14. #13
    Daedalus's Avatar
    Title
    Elite
    Join Date
    Dec 2004
    Location
    Wien
    Posts
    340
    Thanks Thanks Given 
    27
    Thanks Thanks Received 
    7
    Thanked in
    7 Posts
    Habe mir den at16prog-Source noch einmal angesehen:

    Wie es aussieht werden die ttyACM*-Ports gar nicht gebraucht; at16prog greift auf den Programmer nicht über das entsprechende tty-file zu sondern direkt über libusb mittels Enumeration (USB Vendor und Product ID). diese ignorierten Optionen sind wohl dazu gedacht, dass man das selbe Makefile benutzen kann, wenn ein älteres serielles Microcontroller-Labkit angeschlossen ist, welches dann über uisp programmiert wird...

    Jedenfalls ist bei at16prog noch ein kleines script für udev dabei:
    Code:
    #!/bin/bash
    
    #getting the bus id from the connected programmer
    busid=$( printf "%03i" $(echo $1 | awk '{gsub("usbdev","");gsub("[^0-9].*","");print}') )
    
    #getting the deviceid from the connected programmer
    deviceid=$( printf "%03i" $(echo $1 | awk '{gsub("usbdev[0-9].","");print}') )
    
    #changing the permissions of the corresponding usb device
    chmod 666 /proc/bus/usb/$busid/$deviceid
    
    exit 0
    Da ich keinen Zugang zu einem USB-Labkit habe, kann ich hier nicht viel weitersuchen, ich würde aber ein wenig mit lsusb spielen und die permissions (analog zu "chmod 666 /proc/bus/usb/$busid/$deviceid") überprüfen

  15. #14

    Title
    Elite
    Join Date
    Oct 2007
    Location
    Monkey Island
    Posts
    341
    Thanks Thanks Given 
    48
    Thanks Thanks Received 
    41
    Thanked in
    31 Posts
    @skinner33: Ja ok, im Source nachschauen ist natürlich auch eine Möglichkeit (auch wenns in dem Fall nicht zum Erfolg geführt hat).
    Dennoch würde mich nach wie vor interessieren wie man während der Laufzeit herausfindet auf welche Devices ein Programm zugreift? Da wirds doch wohl irgendein primitives Tool geben das alle Datei- bzw. Device-Zugriffe (sollte eigentlich aufs selbe hinauslaufen, da es ja immer heißt "everything is a file"), also fopen() Syscalls loggt und einem schön ausgibt

    @Daedalus: Danke, das hat mich auf die Lösung des Problems gebracht!
    In dem angegebenen Pfad die Zugriffsrechte zu setzen hat geholfen
    http://happyvimming.blogspot.com/
    -----
    Etwas zusätzlichen Speicher gefällig?
    "Signetics 25120 - Fully Encoded, 9046xN Random Access Write-Only-Memory" (Datenblatt lesen!)

  16. #15

    Title
    Baccalaureus
    Join Date
    Oct 2007
    Location
    /dev/null
    Posts
    651
    Thanks Thanks Given 
    91
    Thanks Thanks Received 
    115
    Thanked in
    95 Posts
    Quote Originally Posted by fieselschweif View Post
    Da wirds doch wohl irgendein primitives Tool geben das alle Datei- bzw. Device-Zugriffe (sollte eigentlich aufs selbe hinauslaufen, da es ja immer heißt "everything is a file"), also fopen() Syscalls loggt und einem schön ausgibt
    strace ftw

  17. #16
    lewurm's Avatar
    Title
    Baccalaureus
    Join Date
    Aug 2007
    Location
    lolcathost
    Posts
    778
    Thanks Thanks Given 
    168
    Thanks Thanks Received 
    239
    Thanked in
    170 Posts
    noch eine anmerkung zu udev:
    http://ti.tuwien.ac.at/ecs/teaching/..._download/file
    60-* gehoeren nach /etc/udev/rules.d/
    udev_at16prog (das skript dort oben) nach /sbin und +x gesetzt.
    eventuell noch die gruppe aendern in 60-* bzw. deinen user in die angegebene gruppe hinzufuegen. dann macht udev diese ganzen berechtigungskram fuer dich sobald das geraet angesteckt wird

  18. #17

    Title
    Principal
    Join Date
    Nov 2007
    Posts
    26
    Thanks Thanks Given 
    1
    Thanks Thanks Received 
    4
    Thanked in
    2 Posts

    Red face Zurück zum Ursprungsproblem...

    Quote Originally Posted by Daedalus View Post
    Bezüglich dem Problem: Ich würde auch überprüfen, ob der richtige Port (bei at16prog unter Linux heisst er vermutlich 'ttyACM0' oder 'ttyACM1', unter Mac OS X vermutlich anders). Poste bitte mal den Output von 'ls /dev/ | grep tty'
    Also ich habe jetzt (seit einem Tag nach dist-update auf Ubuntu 9.04) das selbe Problem...
    'ls /dev/ | grep tty' ergab folgendes:
    [...]
    tty9
    ttyACM0
    ttyS0
    [...]

    • Also alles da, Berechtigungen sollten auch passen.. wie oben beschrieben
    • Er löscht den mega16 offensichtl. und danach war's das auch schon...
    • Ausgabe die Selbe wie ganz oben!

    Weitere Ideen?
    Greez

  19. #18

    Title
    Elite
    Join Date
    Oct 2007
    Location
    wien/OÖ
    Posts
    253
    Thanks Thanks Given 
    40
    Thanks Thanks Received 
    20
    Thanked in
    17 Posts
    bei meinem debian gabs beim programmieren probleme mit sämtlichen kernelversionen > 2.6.26, weshalb ich jetzt aus faulhaut immer einen 2.6.26er zum programmieren starte. (keine lust das problem zu suchen...)
    könnt sein dass sich bei deinem dist-upgrade das selbe problem ergeben hat. ubuntu 9.04 hat jedenfalls einen neueren kernel, keine ahnung welchen du vorher gehabt hast.

    hth oliver

  20. #19

    Title
    Principal
    Join Date
    Nov 2007
    Posts
    26
    Thanks Thanks Given 
    1
    Thanks Thanks Received 
    4
    Thanked in
    2 Posts
    Quote Originally Posted by HrevilO View Post
    bei meinem debian gabs beim programmieren probleme mit sämtlichen kernelversionen > 2.6.26 [...] ubuntu 9.04 hat jedenfalls einen neueren kernel, keine ahnung welchen du vorher gehabt hast.
    Hatte vorher Ubuntu 8.10 -> Kernel 2.6.27 meines Wissens...(damit ging es noch)
    Kann mir aber auch kaum vorstellen, dass es am Kernel liegt..
    Greez

  21. #20

    Title
    Elite
    Join Date
    Oct 2007
    Location
    wien/OÖ
    Posts
    253
    Thanks Thanks Given 
    40
    Thanks Thanks Received 
    20
    Thanked in
    17 Posts
    Quote Originally Posted by ichbins View Post
    Kann mir aber auch kaum vorstellen, dass es am Kernel liegt..
    hatte ursprünglich auch meine zweifel daran, aber nach dem wechsel lief es.

    welches problem hast du jetzt eigentlich genau?
    mfg

  22. #21

    Title
    Principal
    Join Date
    Nov 2007
    Posts
    26
    Thanks Thanks Given 
    1
    Thanks Thanks Received 
    4
    Thanked in
    2 Posts
    Quote Originally Posted by HrevilO View Post
    welches problem hast du jetzt eigentlich genau?
    mfg
    Dass ich einen Error beim "make install" bekomm... hab ich doch eh oben beschrieben: http://www.informatik-forum.at/showp...7&postcount=17


    Code:
    my@my-laptop:~/studium/uC/part2/Ex5.3$ make install
    at16prog -dlpt=/dev/ttyACM1 -dprog=dasa2 -dpart=atmega16 --segment=flash --erase
    Note: command line option `dprog' ignored
    Note: command line option `dlpt' ignored
    ATmega16 is found in target system
    Erasing Device ...
    at16prog -dlpt=/dev/ttyACM1 -dprog=dasa2 -dpart=atmega16 --segment=flash --upload if=main.hex
    Note: command line option `dprog' ignored
    Note: command line option `dlpt' ignored
    at16prog: can't enable spi serial programming mode: Resource temporarily unavailable
    make: *** [install_flash] Error 1
    Oh, doch nicht die selbe Fehlermeldung... :-P
    Last edited by ichbins; 30-04-2009 at 21:24.

  23. #22

    Title
    Elite
    Join Date
    Oct 2007
    Location
    wien/OÖ
    Posts
    253
    Thanks Thanks Given 
    40
    Thanks Thanks Received 
    20
    Thanked in
    17 Posts
    Quote Originally Posted by ichbins View Post
    Resource temporarily unavailable
    ist genau die gleiche fehlermeldung wie ich sie auch hatte.

  24. #23

    Title
    Principal
    Join Date
    Nov 2007
    Posts
    26
    Thanks Thanks Given 
    1
    Thanks Thanks Received 
    4
    Thanked in
    2 Posts
    hmm...

  25. #24

    Title
    Baccalaureus
    Join Date
    Oct 2007
    Location
    /dev/null
    Posts
    651
    Thanks Thanks Given 
    91
    Thanks Thanks Received 
    115
    Thanked in
    95 Posts
    Quote Originally Posted by ichbins View Post
    Code:
    at16prog: can't enable spi serial programming mode: Resource temporarily unavailable
    Die Fehlermeldung hatte ich auch (sowie Lewurm und afaik fieselschweife)
    Solution: http://informatik-forum.at/showpost....67&postcount=7

  26. #25
    WolfgangWallner's Avatar
    Title
    Master
    Join Date
    Aug 2007
    Location
    Posts
    116
    Thanks Thanks Given 
    24
    Thanks Thanks Received 
    23
    Thanked in
    10 Posts
    Hi all!

    Ich hab zwar keine Lösung, aber vlt hilft euch die Info bei der Fehlersuche:

    Am Kernel alleine kanns nicht liegen. Ich verwende ein Debian Etch mit Kernel 2.6.28, und es lief Out-of-the-Box.
    Allerdings ist die at16prog Version die ich verwende selbst kompiliert.

    mfg, woife
    Last edited by WolfgangWallner; 01-05-2009 at 16:59. Reason: Typo korrigiert
    Hex, Bugs and Rock 'n Roll

  27. #26

    Title
    Principal
    Join Date
    Nov 2007
    Posts
    26
    Thanks Thanks Given 
    1
    Thanks Thanks Received 
    4
    Thanked in
    2 Posts
    Quote Originally Posted by WolfgangWallner View Post
    Allerdings ist die at16prog Version die ich verwende selbst kompiliert.
    Ja, wollte heute auch schon eine Version selbst kompilieren... ich habe mir da gerade at16prog v2.0 runter geladen... nur sind die da irgenwie auf Borland's c++ umgestiegen.... -.-
    Habs jetzt noch nicht wirklich kompiliert...
    Welche Version hast du dir denn kompiliert?

  28. #27
    WolfgangWallner's Avatar
    Title
    Master
    Join Date
    Aug 2007
    Location
    Posts
    116
    Thanks Thanks Given 
    24
    Thanks Thanks Received 
    23
    Thanked in
    10 Posts
    Hi!

    Quote Originally Posted by ichbins View Post
    Ja, wollte heute auch schon eine Version selbst kompilieren... ich habe mir da gerade at16prog v2.0 runter geladen...
    v2.0 ?

    Laut LVA-Seite ist die aktuelle Version 0.99.6.

    Es gab mal eine recht informative Seite zu at16prog (www.eknv.net), aber die ist leider offline

    Quote Originally Posted by ichbins View Post
    nur sind die da irgenwie auf Borland's c++ umgestiegen.... -.-
    Woran erkennt man das?

    Quote Originally Posted by ichbins View Post
    Welche Version hast du dir denn kompiliert?
    Die oben erwähnte v0.99.6.

    mfg, woife
    Hex, Bugs and Rock 'n Roll

  29. #28
    bbking78's Avatar
    Title
    Elite
    Join Date
    Dec 2004
    Posts
    261
    Thanks Thanks Given 
    7
    Thanks Thanks Received 
    5
    Thanked in
    5 Posts
    Quote Originally Posted by ichbins View Post
    Also ich habe jetzt (seit einem Tag nach dist-update auf Ubuntu 9.04) das selbe Problem...
    'ls /dev/ | grep tty' ergab folgendes:
    Greez
    Hast Du schon eine Lösung? ich habe leider auch den Fehler gemacht, dist-upgrade ausgeführt zu haben.....komme jetzt überhaupt nicht weiter und morgen ist meine Abgabe....*grmmmmmml*

    Danke

  30. #29

    Title
    Principal
    Join Date
    Mar 2007
    Posts
    75
    Thanks Thanks Given 
    14
    Thanks Thanks Received 
    4
    Thanked in
    2 Posts
    hatte heute früh das selbe problem... habe leider auch keine lösung gefunden... verwende jetzt den alten kernel
    wäre interessant wenn jeamand eine lösung finden würde!
    mfg

  31. #30
    bbking78's Avatar
    Title
    Elite
    Join Date
    Dec 2004
    Posts
    261
    Thanks Thanks Given 
    7
    Thanks Thanks Received 
    5
    Thanked in
    5 Posts
    Quote Originally Posted by Seimuun View Post
    hatte heute früh das selbe problem... habe leider auch keine lösung gefunden... verwende jetzt den alten kernel
    wäre interessant wenn jeamand eine lösung finden würde!
    mfg
    bisschen OT, aber wie hast Du den Downgrade auf den alten Kernel gemacht? Ich habe eigentlich eine neue Installation durchgeführt, daher hab ich den alten Kernel nicht mehr...im Synaptic finde ich auch keine ältere Version....:/

    Danke

  32. #31

    Title
    Principal
    Join Date
    Mar 2007
    Posts
    75
    Thanks Thanks Given 
    14
    Thanks Thanks Received 
    4
    Thanked in
    2 Posts
    ubuntu upgrade gemacht, und im grub hab ich immer die auswahl zwischen dem neuen und vorigen kernel... (war bisher immer unnötig aber diesmal hat es sich ausgezahlt )
    mfg

  33. #32

    Title
    Principal
    Join Date
    Nov 2004
    Posts
    30
    Thanks Thanks Given 
    1
    Thanks Thanks Received 
    1
    Thanked in
    1 Post
    So kann man den kernel per apt downgraden... (Ich empfehle trotzdem vorher eine sicherung)
    Code:
    sudo su
    Code:
    cp /etc/apt/sources.list /root/sources.list.bak
    cat /etc/apt/sources.list | awk '{gsub("jaunty","intrepid");print $0}' > /etc/apt/sources.list
    apt-get update
    apt-get clean
    cat /root/sources.list.bak | awk '{gsub("jaunty","intrepid");print $0}' > /etc/apt/sources.list
    apt-get update
    Hier hat mir Ubuntu schon von selbst ein Kernel-"update" auf 2.6.27 vorgeschlagen (welches is dann auch gemacht habe, alternativ kann man sowas wie "apt-get -s install linux-image-2.6.27-14-generic" sicher machen

    Vor dem reboot sollte dann der apt wieder in den normalzustand befördert werden:
    Code:
    cp /root/sources.list.bak /etc/apt/sources.list
    apt-get clean
    apt-get update
    (( reboot now ))

    anmerkung: dem geübten linux user ist schon aufgefallen dass ich die sources.list 2x anpasse (2. mal vom backup), das musste ich machen weil ich nach dem 1. mal nach dem apt-get update eine leere sources.list hatte, warum - kA, so gings auf jeden fall
    Last edited by watchout; 16-05-2009 at 01:41.

  34. The Following User Says Thank You to watchout For This Useful Post:


  35. #33

    Title
    Principal
    Join Date
    Nov 2007
    Posts
    26
    Thanks Thanks Given 
    1
    Thanks Thanks Received 
    4
    Thanked in
    2 Posts
    Quote Originally Posted by WolfgangWallner View Post
    Es gab mal eine recht informative Seite zu at16prog (www.eknv.net), aber die ist leider offline
    Also die Seite war bis vor kurzem noch on... habe dort vor ein paar Tagen noch den Source von at16prog v2.0 runtergeladen... Was mich auch gleich zur zweiten Antwort bringt:
    Quote Originally Posted by WolfgangWallner View Post
    Woran erkennt man das?
    http://eknv.net/at16prog/at16progdoxy/a00011.html
    ABER: Das düfte - wie ich jetzt erst drauf gekommen bin - nur die anyoption.h betreffen.

    Greez

  36. #34
    WolfgangWallner's Avatar
    Title
    Master
    Join Date
    Aug 2007
    Location
    Posts
    116
    Thanks Thanks Given 
    24
    Thanks Thanks Received 
    23
    Thanked in
    10 Posts
    Hi all!

    Verwendet ihr 32-Bit oder 64-Bit Systeme?
    Zu meinem Post oben (dass es bei mir mit 2.6.28 funktioniert) sollte erwähnt werden, dass ich ein 32-Bit System habe!

    Kurze Google-Suche nach "libusb linux kernel 2.6.27" findet einen interessanten Thread der Kernel-Mailing-List, u.a. mit Greg KH:

    Kinda weird that the device works with libusb the first time it is used,
    but then fails on all subsequent runs of the same app, until replugged.
    Mmm.. broken only for 64-bit userspace, it seems.

    I've recompiled the same app against 32-bit libs,
    and it works just fine on that 64-bit system,
    as well as on 32-bit systems.

    But not when compiled for pure 64-bit operation on a 64-bit system.
    This is with libusb-0.1-4, which has been working fine with all prior kernels,
    including the 2.6.27.xx series.
    Vielleicht hilft euch die Info

    mfg, woife
    Hex, Bugs and Rock 'n Roll

  37. #35
    WolfgangWallner's Avatar
    Title
    Master
    Join Date
    Aug 2007
    Location
    Posts
    116
    Thanks Thanks Given 
    24
    Thanks Thanks Received 
    23
    Thanked in
    10 Posts
    Hi all!

    Never change a running system!

    Nach dem Umstieg auf das neue Kanotix Excalibur (basiert auf Debian Lenny) hab ich das Problem jetzt auch *juhu*.
    Kernel 2.6.28, 32-Bit.

    Jedesmal einen anderen Kernel zu booten bzw. alle Makefiles umzuändern ist mir zu viel Aufwand, deshalb habe ich mir zwei Skripts geschrieben, die auf dem von Lewurm geposteten Workaround basieren, das ganze aber komfortabler werden lassen.

    USB_Bind.sh:
    Code:
    #! /bin/bash                                                                                         
    # Bind or unbind an USB device                                                                                 
    
    # Absolute Paths to bind/unbind files
    BIND=/sys/bus/usb/drivers/usb/bind  
    UNBIND=/sys/bus/usb/drivers/usb/unbind
    
    # Check number of parameters
    if [ $# -ne 2 ]; then
            echo "Usage: $0 <u|b> <USB_ID>"
            exit    1                      
    fi                                     
    
    # Decide what to do
    case "$1" in
            b)      FILE=$BIND;;
            u)      FILE=$UNBIND;;
            *)      echo "Usage: $0 <u|b> <USB_ID>"
                    exit    1;;
    esac
    
    # Bind/Unbind device
    echo -n $2 > $FILE
    At16progWrapper.sh
    Code:
    #! /bin/bash                                                                                          
    # This wrapper-script for at16prog is a workaround for a bug with newer linux-kernels (>=2.6.28)     
    # The bug might be located in the current version of libusb                                                  
    
    # Edit the following parameters depending on your system
    USB_PORT=1-2.1                                          
    AT16PROG_BIN=at16prog-bin                               
    
    sudo USB_Bind u $USB_PORT
    sudo USB_Bind b $USB_PORT
    
    sleep 0.5
    
    # Root privileges might be needed for another bug
    #sudo $AT16PROG_BIN $*
    $AT16PROG_BIN $*
    Die Skripts liegen bei mir so wie das eigentliche at16prog-Binary in /opt/at16prog, gehören root und haben 755 als Permission.
    /usr/local/bin/at16prog ist ein Symlink auf /opt/at16prog/At16progWrapper.sh
    /usr/local/bin/at16prog-bin ist ein Symlink auf /opt/at16prog/at16prog
    /usr/local/bin/USB_Bind ist ein Symlink auf /opt/at16prog/USB_Bind.sh

    Damits als normaler User klappt, braucht man noch entsprechende Permissions für sudo:

    /ets/sudoers:
    Code:
    woife   ALL=(ALL) NOPASSWD: /usr/local/bin/USB_Bind
    woife   ALL=(ALL) NOPASSWD: /usr/local/bin/at16prog-bin
    Die sudo-Berechtigung für at16prog-bin brauch ich für die bei mir notwendige auskommentierte letzte Zeile in At16progWrapper.sh. Da dürften irgendwo die Berechtigungen beim Device-File/udev/etc. nicht stimmen, und ich bin momentan zu faul zum Suchen

    Was mich noch stört ist, dass die Devices *manchmal* andere Bus-IDs zugewiesen bekommen, d.h. man muss dann händisch im Skript die USB-ID ändern (in meinem Fall wechselts zwischen 1-1.1 und 1-2.1)
    Weiß jeman wie man diese IDs beeinflussen kann?

    mfg, woife

    PS: Ich hab fast keine Erfahrung in Shell-Programmierung (brauch ich immer nur für dreckige Workarounds ). Wenn ihr wisst, wie mans verbessern kann, immer her mit den Vorschlägen
    Last edited by WolfgangWallner; 09-06-2009 at 00:40.
    Hex, Bugs and Rock 'n Roll

  38. #36
    lewurm's Avatar
    Title
    Baccalaureus
    Join Date
    Aug 2007
    Location
    lolcathost
    Posts
    778
    Thanks Thanks Given 
    168
    Thanks Thanks Received 
    239
    Thanked in
    170 Posts
    Quote Originally Posted by WolfgangWallner View Post
    Was mich noch stört ist, dass die Devices *manchmal* andere Bus-IDs zugewiesen bekommen, d.h. man muss dann händisch im Skript die USB-ID ändern (in meinem Fall wechselts zwischen 1-1.1 und 1-2.1)
    Weiß jeman wie man diese IDs beeinflussen kann?
    am selben (physikalischen) port anstecken. sonst weiss ich leider auch nichts

    nette arbeit hast dir da angetan ich werde aber (unteranderem wegen diesen laestigen bug) das mc-board zurueck geben und mir einen usbprog ( http://www.embedded-projects.net/index.php?page_id=135 ) zulegen. geht mir am keks dieses scheiss at16prog

    @root-rechte fuer at16prog: mit udev sollte das ohne auch gehen (siehe http://www.informatik-forum.at/showp...3&postcount=16 )

    im anhang noch eine wenig aktuellere version von mir in der auch der hostname beruecksichtigt wird -- nuetzlich wenn man mal im tilab ist!


    lg wurm
    Attached Files Attached Files

  39. #37

    Title
    Elite
    Join Date
    Oct 2007
    Location
    wien/OÖ
    Posts
    253
    Thanks Thanks Given 
    40
    Thanks Thanks Received 
    20
    Thanked in
    17 Posts
    Quote Originally Posted by lewurm View Post
    ich werde aber (unteranderem wegen diesen laestigen bug) das mc-board zurueck geben und mir einen usbprog ( http://www.embedded-projects.net/index.php?page_id=135 ) zulegen.
    ich hab selbst einen neben dem at16prog einen usbprog liegen , vergiss nicht dass der usbprog nur einen atmega32 drauf hat. wenn du den für die übung verwenden willst wirds IMHO (hab mich damit zwecks zeitprobleme noch zuwenig beschäftigt, obwohl ich den usbprog jetzt schon fast ein jahr hab) kompliziert, weil du dass irgendwie über die selbstprogrammierfunktion per bootloader machen musst. wenn du den usbprog allerdings zum programmieren eines zweiten microcontroller boards verwendest dann sollte es funktionieren (auf diese art ist es am at16prog gelöst, allerdings mit nen microchip pic als programmiergerät weil der die usb funktion gleich enthält.).

    mfg oliver

  40. #38
    lewurm's Avatar
    Title
    Baccalaureus
    Join Date
    Aug 2007
    Location
    lolcathost
    Posts
    778
    Thanks Thanks Given 
    168
    Thanks Thanks Received 
    239
    Thanked in
    170 Posts
    ja, zum programmieren von anderen microcontrollern will ich den verwenden

    weisst du mehr ueber diesen pic chip der auf dem mc-board drauf ist? vllt sogar die software die da drauf ist? *g*

  41. #39

    Title
    Elite
    Join Date
    Oct 2007
    Location
    wien/OÖ
    Posts
    253
    Thanks Thanks Given 
    40
    Thanks Thanks Received 
    20
    Thanked in
    17 Posts

  42. #40
    WolfgangWallner's Avatar
    Title
    Master
    Join Date
    Aug 2007
    Location
    Posts
    116
    Thanks Thanks Given 
    24
    Thanks Thanks Received 
    23
    Thanked in
    10 Posts
    Hi!

    Quote Originally Posted by lewurm View Post
    am selben (physikalischen) port anstecken.
    Danke für die Info. Ich *dachte* ich *hätte* am selben physikalischen port angesteckt. Da habe ich wohl versehentlich den falschen Port erwischt und das Problem gleich auf den Kernel geschoben

    Quote Originally Posted by lewurm View Post
    ich werde [...] mir einen usbprog ( http://www.embedded-projects.net/index.php?page_id=135 ) zulegen.
    Die Seite von UsbProg-SHARP kennst du, oder? Ich hab auch vor mir in nächster einen USBProg zuzulegen, allerdings möchte ich den gern selbst ätzen/bestücken, und da ist die SHARP-Variante besser geeignet.

    // edit: Typo
    Quote Originally Posted by lewurm View Post
    @root-rechte fuer at16prog: mit udev sollte das ohne auch gehen (siehe http://www.informatik-forum.at/showp...3&postcount=16 )
    Das funktioniert bei mir leider nicht. Wenn ich das mitgelieferte Skript "/sbin/udev_at16prog" um folgende Debug-Zeilen erweitere:
    Code:
    LOG=/root/at16_log
    
    echo "----------------------------"    >> $LOG
    echo "Param = $1"                          >> $LOG
    echo "BusID = $budid"                    >> $LOG
    echo "DevID = $deviceid"                >> $LOG
    erhalte ich in der Datei /root/at16_log folgende Ausgabe:
    Code:
    ----------------------------                                                                                                                            
    Param = 1-1.1                                                                                                                                           
    BusID = 001                                                                                                                                             
    DevID = 000                                                                                                                                             
    ----------------------------                                                                                                                            
    Param = usbdev1.19_ep83                                                                                                                                 
    BusID = 001                                                                                                                                             
    DevID = 000                                                                                                                                             
    ----------------------------                                                                                                                            
    Param = usbdev1.19_ep04                                                                                                                                 
    BusID = 001                                                                                                                                             
    DevID = 000                                                                                                                                             
    ----------------------------                                                                                                                            
    Param = usbdev1.19_ep00                                                                                                                                 
    BusID = 001                                                                                                                                             
    DevID = 000                                                                                                                                             
    ----------------------------                                                                                                                            
    Param = usbdev1.19_ep84                                                                                                                                 
    BusID = 001                                                                                                                                             
    DevID = 000                                                                                                                                             
    ----------------------------                                                                                                                            
    Param = usbdev1.19_ep82                                                                                                                                 
    BusID = 001                                                                                                                                             
    DevID = 000                                                                                                                                             
    ----------------------------
    Param = ttyACM0
    BusID = 000
    DevID = 000
    ----------------------------
    Param = usbdev1.19_ep03
    BusID = 001
    DevID = 000
    Irgendwas läuft da schief:
    1) Das Skript wird insgesamt 8 mal aufgerufen.
    2) Es wird nie eine vernünftige Device-ID geliefert.

    Kann bitte jemand mit funktionierender udev-Konfiguration die Debug-Zeilen ausprobieren und posten wie ein "korrekter" Ablauf aussieht? Das würde mir bei der weiteren Fehlersuche helfen.


    mfg, woife

    // edit: Typo korrigiert
    Last edited by WolfgangWallner; 09-06-2009 at 16:38.
    Hex, Bugs and Rock 'n Roll

  43. #41

    Title
    Veteran
    Join Date
    Oct 2007
    Posts
    1
    Thanks Thanks Given 
    0
    Thanks Thanks Received 
    0
    Thanked in
    0 Posts

    Resource temporarily unavailable

    hi,

    ich hab einen quick&dirty fix für das nervige "Resource temporarily unavailable"-problem.
    funktioniert mit 2.6.29 & slackware 12, sollte auch mit jeder anderen distro gehen (harhar).

    patch this:
    Code:
    --- at16prog-0.99.6/src/usbdevice.c    2007-03-08 21:54:05.000000000 +0100
    +++ at16prog-0.99.6-patched/src/usbdevice.c    2009-06-09 20:06:47.478628351 +0200
    @@ -124,6 +124,9 @@
             /* should never happen */
             BailOut("unknown usb device endpoints");
           }
    +
    +      usb_clear_halt(udev, out_endpoint_dsc->bEndpointAddress);
    +      usb_clear_halt(udev, in_endpoint_dsc->bEndpointAddress);
         
           return 0;
         }

  44. #42
    lewurm's Avatar
    Title
    Baccalaureus
    Join Date
    Aug 2007
    Location
    lolcathost
    Posts
    778
    Thanks Thanks Given 
    168
    Thanks Thanks Received 
    239
    Thanked in
    170 Posts
    Quote Originally Posted by WolfgangWallner View Post
    Kann bitte jemand mit funktionierender udev-Konfiguration die Debug-Zeilen ausprobieren und posten wie ein "korrekter" Ablauf aussieht? Das würde mir bei der weiteren Fehlersuche helfen.
    Code:
    ----------------------------
    Param = 4-2
    BusID = 
    DevID = 000
    ----------------------------
    Param = usbdev4.2_ep04
    BusID = 
    DevID = 000
    ----------------------------
    Param = usbdev4.2
    BusID = 
    DevID = 002
    ----------------------------
    Param = usbdev4.2_ep03
    BusID = 
    DevID = 000
    ----------------------------
    Param = usbdev4.2_ep84
    BusID = 
    DevID = 000
    ----------------------------
    Param = usbdev4.2_ep82
    BusID = 
    DevID = 000
    ----------------------------
    Param = usbdev4.2_ep00
    BusID = 
    DevID = 000
    ----------------------------
    Param = usbdev4.2_ep83
    BusID = 
    DevID = 000
    ----------------------------
    Param = ttyACM0
    BusID = 
    DevID = 000
    @UsbProg-SHARP: mit selber aetzen und (smd-)loeten hab ichs ned so
    ausserdem wie programmierst du dann den usbprog? bei mir scheiterts da an der seriellen schnittstelle am pc.

  45. #43

    Title
    Elite
    Join Date
    Oct 2007
    Location
    wien/OÖ
    Posts
    253
    Thanks Thanks Given 
    40
    Thanks Thanks Received 
    20
    Thanked in
    17 Posts
    Quote Originally Posted by lewurm View Post
    wie programmierst du dann den usbprog? bei mir scheiterts da an der seriellen schnittstelle am pc.
    bei ihm kommt da wahrscheinlich mein usbprog ins spiel.
    Falls du dich auch für eine derartige lösung entscheidest kann ich dir gerne behilflich sein. ich bin allerdings von juli bis anfang oktober in OÖ.

    mfg

    edit: mit dem at16prog kann man eigentlich auch jeden atmega programmieren, es werden die programmiersignale zusatzlich auf die ICSP (In Circuit Serial Programming) Steckerreihe geleitet.
    Last edited by HrevilO; 09-06-2009 at 21:57.

  46. #44
    bbking78's Avatar
    Title
    Elite
    Join Date
    Dec 2004
    Posts
    261
    Thanks Thanks Given 
    7
    Thanks Thanks Received 
    5
    Thanked in
    5 Posts
    Quote Originally Posted by watchout View Post
    So kann man den kernel per apt downgraden... (Ich empfehle trotzdem vorher eine sicherung)
    so gings nicht ganz, aber habs endlich auch hinbekommen! Thx nochmal!

    Mir wurde der alte Kernel nicht angeboten und aus der Konsole habe ichs auch nicht geschafft - dafür kann man im Synaptic nach "linux-image" suchen und den aktuellen Kernel markieren und dann im Menüpunkt "Paket/Erzwinge Version" o.ä. wählen und dann die gewünschte Version selektieren

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •