Bascom auf Linux (Zorin Os)

    This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

    Aufgrund technischer Veränderungen ist der Mailverkehr innerhalb des Forums (Private Nachrichten) nur noch eingeschränkt möglich. Die Einschränkung ist notwendig, um zusätzliche Betriebskosten für das Forum zu vermeiden. Näheres zu den Hintergründen im Thread "Aktuelles zum Forum".Wir bitten um Verständnis.

    Hinweis kann nach Kenntnisnahme deaktiviert werden!

    • Ich hab ja jetzt das reine ubuntu in der neuesten Version (denke ich), da geht es ja schon relativ gut, also mit bascom ein eigenes Programm auf einen arduino flashen, natürlich über den bootloader. Ohne avrdude.
      Raum für Notizen

      -----------------------------------------------------------------------------------------------------

      -----------------------------------------------------------------------------------------------------
    • Also, mein Ziel ist, von win wegzukommen. Linux bietet office, cad und Browser. Was ich derzeit noch zum Basteln brauche ist bascom und eagle. Eagle hat mit wine gut funktioniert (unter zorin probiert) und jetzt sollte auch bascom so funktionieren, wie ich es unter win kenne. Flashen von arduino boards und flashen mit dem avrispmk2. Letzteres hat ja six1 schon ausgearbeitet. Ich bin also mit ubuntu schon nahe am Ziel. Fehlen halt noch paar Kleinigkeiten, wie das noch nicht sainSmart boards nicht funktionieren. Unter der arduino ide für ubuntu übrigens auch nicht a_27_b277ca12 )
      Raum für Notizen

      -----------------------------------------------------------------------------------------------------

      -----------------------------------------------------------------------------------------------------
    • Finde ich gut, den Faden. Mein nächstes Projekt steht in den Startlöchern, da kann ich vielleicht was von brauchen, vielen Dank :D
      Ich bin nach Ubuntu mit Xfce (18.04 bis 22.04) auf Mint mit Xfce umgestiegen und happy, habe die Familie gleich mit beglückt ;) Die machen aber nicht so komische Sachen wie Bascom oder so :D

      Bzgl. Eagle: die 7.7.0 gibt's noch für Linux, zumindest habe ich sie irgendwo als .deb rumfliegen. Aber ich probiere gerade Kicad aus, für meine 08/15-Sachen reicht das.


      Zum Bootloadergedöns kann ich leider noch nichts beitragen.
    • An der eagle wäre ich interessiert. Ich hab grad meine mit wine installiert, aber ich muss jetzt die eagle.exe auch mit wine starten. Bei bascom ist das nicht so. Ist auch nur die hobbyist Version, aber ich finde die ulp zum Isolationsfräsen genial.
      Raum für Notizen

      -----------------------------------------------------------------------------------------------------

      -----------------------------------------------------------------------------------------------------
    • Ich habe die Datei auf einer alten Festplatte gefunden - aber völlig unnötig gesucht ;)

      Unter ihrem Namen findet man sie nämlich noch direkt bei Eagle (Autodesk):
      eagle.autodesk.com/eagle/software-versions/1
      -->
      eagle-lin64-7.7.0.run

      Wenn ich Eagle verwende, dann verwendet ich sie in einer Win7-VM (ohne Netzwerk), aber ich will ja wechseln :D
      Ist bei mir übrigens analog zu Bascom, auch unter Win7 auf VirtualBox im Seamless Mode (also ohne Win7-Dekstop). Da konnte ich den Programmer bisher auch ohne Probleme ansprechen. Ich hatte es auch mal unter wine probiert, aber das war mir irgendwie zu zäh. Vielleicht probiere ich es demnächst noch mal :D
    • Hi @Mitch64, kannst du mal was ausprobieren? Wenn du unter file system den dev Ordner öffnest, das Fenster groß machst und die icons klein, dass du möglichst viel Einträge, speziell was mit tty anfängt siehst, und dann immer wieder einen arduino an- und abstöpselst, wird da bei dir regelmäßig und zuverlässig ein ttyAM0 für einen uno, bzw. ttyusb0 für einen nano erzeugt, das auch bis zum Abstöpseln bleibt?
      Wenn ich das mit einer liveversion von mint mache, dann kommt es auch vor, dass ein Eintrag erstellt wird, der nach kurzer Zeit wieder verschwindet. Beim erneuten Einstöpsel kann er dann erhalten bleiben, bis zum Ausstöpseln, also sehr unzuverlässig.
      Raum für Notizen

      -----------------------------------------------------------------------------------------------------

      -----------------------------------------------------------------------------------------------------
    • tschoeatsch wrote:

      Wenn du unter file system den dev Ordner öffnest, das Fenster groß machst und die icons klein, dass du möglichst viel Einträge, speziell was mit tty anfängt siehst, und dann immer wieder einen arduino an- und abstöpselst, wird da bei dir regelmäßig und zuverlässig ein ttyAM0 für einen uno, bzw. ttyusb0 für einen nano erzeugt, das auch bis zum Abstöpseln bleibt?
      Bei mir war anfangs nie ein Eintrag ttyACM0 oder dergleichen vorhanden. Erst als ich die Arduino-IDE gestartet habe und den Port (ttyACM0) ausgewählt habe.
      Dann konnte ich den Arduino beliebig ein und ausstecken, jedesmal war der ttyACM0 da. Nach einem Neustart allerdings nicht mehr. Man musste die Procedur wiederholen mit der Arduino-IDE.

      Erst als ich als Benutzer der Gruppe "user" beigetreten war (und Neustart), seit dem kommt der Port direkt und bleibt auch. Egal wie oft ich ein oder aussteckt.

      Du arbeitest mit einer LifeCD oder Stick.
      Da kann man nichts installieren, wo soll das auch hingespeichert werden?
      Vielleicht ist das der Grund in Verbindung mit Gruppe 'user' warum du Probleme hast.

      Installiere mal dein Linux nativ auf einem Rechner. Dann kannste auch Wine und Bascom installieren.
      Dann hat man eine vernünftige Basis um das Problem zu lösen.

      tschoeatsch wrote:

      bei mir wird die eaglexxx.run nicht als linux Programm erkannt.
      Aus welchem Ordner wolltest du denn die Datei starten?
      Und hast du der Datei Ausführungsrechte gegeben?
      Wie versuchst du das Programm zu starten? Von einem Datei-Explorer oder von der Console aus?
    • Die liveversion war nur ein Versuch mit mint. Der ttyacm0 und der ttyusb0 sind ohne board nicht da. Da ändert sich auch nicht, wenn man die Arduino ide startet (ohne board). Ok, ich schau mal, was mit der Gruppe user los ist.
      Die eaglexxx.run hat für linux eine unbekannt Endung, das ich keine Rechte hätte, diese auszuführen, davon stand nix in der Meldung. Ich wollte es vom Explorer aus installieren.
      Raum für Notizen

      -----------------------------------------------------------------------------------------------------

      -----------------------------------------------------------------------------------------------------
    • tschoeatsch wrote:

      Der ttyacm0 und der ttyusb0 sind ohne board nicht da.
      Richtig. Auch wenn alles richtig konfiguriert ist. Der Arduino muss schon eingesteckt sein. Sonst gibts keine ttyACM0 oder ähnliches.

      Ich sagte aber, dass trotz eingestecktem Arduino das ttyACM0 nicht erschien, außer ich starte die Arduino IDE und wähle dort den Port ttyACM0 aus. Verstanden?
      Dann kann ich die IDE schließen und das ttyACM wird immer dann angezeigt, wenn ein Arduino angeschlossen ist Ausgesteckt verschwindet das wieder.
      Aber nach einem Neustart von Linux kam das ttyACM0 nicht mehr.

      Und genau dieses Phänomen konnte ich lösen, indem ich als Benutzer der Grußße "users" beigetreten bin. Das setzt aber voraus, dass du diese Datei von six1 auch in dem Ordner angelegt hast.

      Hoffe das war jetzt klar ausgedrückt!


      tschoeatsch wrote:

      Die eaglexxx.run hat für linux eine unbekannt Endung, das ich keine Rechte hätte, diese auszuführen, davon stand nix in der Meldung. Ich wollte es vom Explorer aus installieren.
      Linux benutzt keine Endungen um zu erkennen, ob eine Datei ausführbar ist oder nicht. Dort gibt es keine EXE-Dateien. Vergess Windows.

      Für linux sind alle Dateien einfach nur dateien. Auch eine Ausführbare.
      Willst du eine Datei, die ausführbar sein sollte, wie deine xxx.run, dann muss man das Linux einmalig mitteilen, dass diese Datei ausgeführt werden darf.
      Das macht man über Dateirechte. In der Console startet man die Programme mit einem Punkt davor oder einem ./ davor.

      Beispiel:
      du bist in der console in dem Verzeichnis in dem deine eaglexxx.run liegt. dann tippst du ein
      ./eaglexxx.run
      und Enter
      Dem Linux ist es egal, ob da ein run dahinter steht. Du könntest die datei auch umbenennen in z.B. eaglexxx.bratwurscht
      Auch dann startet Linux die Datei. Vorausgesetzt es ist eine ausführbare datei. Dazu liest es die ersten Bytes in der Datei und erkennt daran, ob es eine ausführbare datei ist oder nicht.
      Dateien, die nicht als ausführbar markiert sind, werden ebenfalls nicht gestartet.

      Es gibt Ordner, in denen dürfen ausführbare Programme ausgeführt werden. On Home-Order typischerweise nicht.
      Auch nicht im Download-Ordner.

      Aber man kann sie dort trotzdem ausführen, wenn man die Datei als ausführbar markiert.
      Dann entweder in der Console mit Prefix './' starten oder in einem Datei-Verwaltungsprogramm.

      Bei Mint kann man oder den Dateiexplorer und Rechtsklick auf die Datei die Datei als Ausführbar markieren und dann auch ober rechtsklick starten.
    • tschoeatsch wrote:

      Die eaglexxx.run hat für linux eine unbekannt Endung, das ich keine Rechte hätte, diese auszuführen, davon stand nix in der Meldung. Ich wollte es vom Explorer aus installieren.
      Mitch hat schon fast alles geschrieben. Denke Linux, nicht Windows! :D

      Wenn Du eine Datei aus dem Web lädst, hat sie erst mal keine Ausführungsberechtigung. Mache mal ein Terminal auf und "ll" oder "ls -ltr" das mal:


      christoph@Laptop:~$ ll eagle-lin64-7.7.0.run
      -rw-rw-r-- 1 christoph christoph 51108322 2025-01-28 21:52 eagle-lin64-7.7.0.run


      Das fehlt das "x" ;D

      Also chmod:
      christoph@Laptop:~$ chmod 755 eagle-lin64-7.7.0.run
      christoph@Laptop:~$ ll eagle-lin64-7.7.0.run

      -rwxr-xr-x 1 christoph christoph 51108322 2025-01-28 21:52 eagle-lin64-7.7.0.run


      (alternativ, wie Mitch schrieb, in den Eigenschaften der Datei via "Explorer" auf Ausführbar setzen).

      Jetzt hat die Datei das Execute-Flag.
      Wenn Du in der Konsole nur die Datei angibst und "Enter" drückst (oder nun die Datei doppelklickst), sollte die Installation starten. Ich habe es gerade im Terminal versucht und folgende Text-Meldung bekommen, die evtl. bei Mausklickerei nicht angezeigt wird:
      Ensure the following libraries are available:
      libssl.so.1.0.0 => not found
      libcrypto.so.1.0.0 => not found


      Du könntest noch mal versuchen, mit sudo die Datei zu installieren, aber vermutlich erhältst Du die gleiche Fehlermeldung nochmals :
      christoph@Laptop:~$ sudo eagle-lin64-7.7.0.run


      Versuch macht kluch. Ich will mir jetzt kein Eagle installieren, daher probiere ich hier jetzt mal nicht weiter...



      Wenn die Fehlermeldung bei Dir bei mit oder ohne sudo nicht auftritt: bingo. Falls doch, könntest Du die libs vielleicht nachinstallieren.


      Probier mal aus.



      Viele Grüße

      Christoph
    • Es macht keinen Spaß. Unter windows funktioniert bascom und auch die Arduino Ide viel zuverlässiger.
      Z.B. ich habe zwei uno-boards, eines ist blau, made in Italy und es steht Uno R3 drauf. Das zweite ist schwarz, von sainSmart. Ich erkenne keinen Unterschied in der Bestückung.
      Unter win kann ich mit bascom beide boards auslesen, das Ausgelesene Speichern und in das board flashen. Kein Unterschied zwischen den boards. Alles unter bascom. Mit der Arduino Ide auch.
      Unter Linux, egal ob ubuntu oder zorin, kann ich mit bascom das blaue board auslesen und beschreiben, das schwarze gibt nur den Typ des controllers preis, lässt sich aber weder auslesen, noch beschreiben. Nur die chip Id kann gelesen werden. Unter der Linux Arduino Ide 2.3.4 kann ich das schwarze und das blaue board beschreiben.
      Wenn ich unter windows einen nano einstecke, wird mir der comport angezeigt und unter dem habe ich Zugriff mit bascom und der Arduino Ide.
      Unter linux habe ich mit bascom Zugriff, nur, wenn momentan zumindest, der ttyUSBx Eintrag in Verzeichnis dev bestehen bleibt. Angelegt wird er immer, aber die Haltbarkeit kann auch bei einer viertel Sekunde liegen. Ohne Eintrag, kein Zugriff unter bascom, bzw unter Arduino Ide.
      Und ja, ich bin in der Gruppe users und ja, unter Ubuntu wird öfters ein haltbarer Eintrag von ttyUSBx angelegt, als in zorin (was ja auch auf ubuntu basiert) bei gleichen Zugehörigkeiten zu den Gruppen.
      Raum für Notizen

      -----------------------------------------------------------------------------------------------------

      -----------------------------------------------------------------------------------------------------
    • tschoeatsch wrote:

      Es macht keinen Spaß. Unter windows funktioniert bascom und auch die Arduino Ide viel zuverlässiger.
      Aller Anfang ist schwer.
      Alternativ kannst du auch linux nutzen, dort eine Vortual-Box installieren und darin das Windows deiner Wahl betreiben.
      So kannst du alles unter Windows weiter nutzen.


      tschoeatsch wrote:

      Und ja, ich bin in der Gruppe users und ja, unter Ubuntu wird öfters ein haltbarer Eintrag von ttyUSBx angelegt, als in zorin (was ja auch auf ubuntu basiert) bei gleichen Zugehörigkeiten zu den Gruppen.
      Die 'rules' datei vom six1 liegt auch in dem vorgesehenen Verzeichnis?

      Irgendwo hakt es. Fragt sich nur wo.

      Als erstes, wenn der Arduino eingesteckt ist und linux den erkennt, wird der mit dem folgenden Befehl auch angezeigt:

      lsusb

      Wenn also kein Eintrag wie ttyACM0 oder ttyUSB0 im Verzeichnis /dev/ vorhanden ist, aber der Arduino eingesteckt ist, dann mach mal lsusb
      Die Ausgabe hier Posten.

      Vielleicht noch ein Hinweis.

      Wenn du etwas eingibst, immer auf Groß-Klein-Schreibweise achten. AAA ist nicht das gleiche wie aaa oder aAa. Du verstehst?
    • Die virtualbox wird mit unter zorin zur Installation angeboten. Hab ich gemacht. Dann konnte ich ram und disk Größe angeben. Dann wollte es die Win-iso und danach ist ein grober Fehler aufgetreten. Option war nur ein Beenden. Deinstalliert, neu installiert > grober Fehler a_76_270feff1
      Frustlevel hat sich erhöht, mehr ist nicht passiert.
      Die rules von six1 betreffen doch nur den avrispmk2. Dieser Teil geht ja.

      Das mit isusb werde ich probieren.

      Das casesensitive macht die Sache nicht leichter.
      Raum für Notizen

      -----------------------------------------------------------------------------------------------------

      -----------------------------------------------------------------------------------------------------
    • tschoeatsch wrote:

      Die rules von six1 betreffen doch nur den avrispmk2. Dieser Teil geht ja.
      Demnach hast du die Datei nicht angelegt?

      Außerdem betrifft das nicht nur den avrispmk2 sondern 3 weitere Geräte.
      Hier nochmal der Dateiinhalt:

      Source Code

      1. # Atmel AVR ISP mkII
      2. SUBSYSTEM=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2104", GROUP="users", MODE="0660"
      3. # usbprog bootloader
      4. ATTRS{idVendor}=="1781", ATTRS{idProduct}=="0c62", GROUP="users", MODE="0660"
      5. # USBasp programmer
      6. ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="05dc", GROUP="users", MODE="0660"
      7. # USBtiny programmer
      8. ATTRS{idVendor}=="1781", ATTRS{idProduct}=="0c9f", GROUP="users", MODE="0660"


      In Zeile 3 siehst du, dass es auch um Bootloader geht.
      Du solltest die Datei unbedingt "installieren".

      Zum Verständnis.
      Die Raute # am Anfang leitet einen Zeilenkommentar ein.
      Die Attribute sind die ID's der USB-Geräte. Diese ID's finden sich auch in der liste mit lsusb wieder.
      Danach kommt die Gruppe "users", denen diese Geräte zugeordnet werden.
      Deswegen hacke ich so auf dem Beitreten der Gruppe rum.
      Das Mode bestimmt, welche Rechte, also wer wie darauf zugreifen kann.

      Wenn du in Linux ein USB-Programmer oder ein Arduino einsteckst, erkennt Linux diesen Stick an und zeigt diesen auch mit lsusb an.
      Das heißt aber nicht zwangsläufig, dass man darauf zugreifen kann. Denn linux weiß nicht wie er damit umzugehen hat.
      Es ist ja kein USB-Speicherstick oder sowas.
      Deswegen braucht es diese Rules, die festlegen, wie linux mit diesen USB Geräten umgehen muss.
      Im Hintergrund werden diese Geräte dann als Zeichentreiber dem Kernel bekannt gemacht. Und das zeigt sich dann in Form der tty... Geräten in dem Ordner /dev/

      Ich weiß jetzt nicht ob bei Mode die Rechte in Hex angegeben sind oder dezimal.
      Aber normal sind es 3 Ziffern (hex) wobei jede Ziffer die Werte 0-7 annehmen kann.
      Die erste Ziffer bestimmt die Rechte des Eigentümers, die 2. die Rechte der Gruppe (hier 'users') und die 3. Ziffer aller anderen.

      Eine Ziffer (Werte 0 bis 7) sind 3 Bit. Jedes Bit bestimmt wie ein Schalter An/Aus, ob man ausführen, lesen, schreiben darf. Alles wäre dann 7, keine rechte wären 0.

      Mit 'groups' kannst du dir auflisten, von welchen Gruppen der aktuelle User Mitglied ist.

      So sieht das bei mir aus:

      Source Code

      1. michael@Werkstatt:~$ groups
      2. michael adm cdrom sudo dip plugdev users lpadmin sambashare vboxusers
      3. michael@Werkstatt:~$
      Wie du siehst bin ich mit 'michael' angemeldet und bin Mitglied auch von der Gruppe 'users'.

      Und hier die relevanten Einträge mit 'lsusb' für einen eingesteckten UNO und dem eingesteckten MK2 Programmer:

      Source Code

      1. michael@Werkstatt:~$ lsusb
      2. Bus 002 Device 010: ID 2a03:0043 dog hunter AG Arduino Uno Rev3
      3. Bus 002 Device 009: ID 03eb:2104 Atmel Corp. AVR ISP mkII
      Zeile 2 ist jetzt der Bootloader.

      Genaueres zu den Dateirechten und die Aufschlüsselung findest du hier: wiki.ubuntuusers.de/Rechte/

      The post was edited 1 time, last by Mitch64 ().