Hi,

Vreemde problemen met met Linux Fedora-42 laptop.
De Arduino IDE ziet wel welke Arduino er aan en dat is op het ogenblik de UNO R4 Minima.
Maar een stukje simpele code naar deze Minima schrijven lukt niet.

Ik heb al wat aangepast zodat er meer rechten zijn voor de gebruiker waarmee ik ben ingelogt voor de serial port,
maar nog steeds errors bij het uploaden.
Zie het plaatje.

Weten de Linux gebruikers hier op het forum hier meer over?
De Arduino IDE is deze versie: 2.3.6

Dank en groet,
Bram

LIBUSB ERROR ACCESS

Dus een probleem met access-rights.

Dat had ik ook op Debian. Opgelost door een extra udev rule toe te voegen in /etc/udev/rules.d

Voor mij was dat : /etc/udev/rules.d/46-udev-Uno-R4.rules



# Arduino UNO R4 Renesas RA4M1
# Vendor/product as used by Arduino bootloader and Arduino serialPort
SUBSYSTEMS=="usb", ATTRS{idVendor}=="2341", ATTRS{idProduct}=="0069", \
    OWNER="kees", GROUP="plugdev", MODE="0666"
SUBSYSTEMS=="usb", ATTRS{idVendor}=="2341", ATTRS{idProduct}=="0369", \
    OWNER="kees", GROUP="plugdev", MODE="0666"
#
# If you share your linux system with other users, or just don't like the
# idea of write permission for everybody, you can replace MODE:="0666" with
# OWNER:="yourusername" to create the device owned by you, or with
# GROUP:="somegroupname" and mange access using standard unix groups.
#

# Vendor/product as used by Renesas virtual SerialPort
# Also used by my BareMetal Virtual com port
SUBSYSTEM=="tty", SUBSYSTEMS=="usb", ATTRS{idVendor}=="045b", ATTRS{idProduct}=="5310", ATTRS{serial}=="0000000000001", \
    OWNER="kees", GROUP="dialout", MODE="0666"   \
    SYMLINK+="ttyACM5"

# To activate new udev rules:
# - "sudo udevadm control --reload"
# To activate without unplugging stlink:
# - "sudo udevadm trigger"

Maar voor jou zal je wel een andere OWNER moeten zetten. :)

====
Arduino heeft gekozen voor een nogal complexe procedure, waar je meestal geen last van hebt:
-- De renesas processor heeft een eigen bootloader. Maar die wordt niet gebruikt.
-- Arduino heeft een speciale Arduino DFU-bootloader in de processor geladen (op de USB port) maar die is normaal niet aktief.
-- Normaal is er een Arduino serial port driver aktief op USB, die je kunt gebruiken als serial port voor je applicatie. En die driver heeft als speciale feature dat hij kan omschakelen naar de DFU bootloder.

====
Je kunt lsusb op de command line gebruiken. De Arduino mini moet dan zichtbaar zijn als :

Bus 001 Device 039: ID 2341:0069 Arduino SA UNO R4 Minima

Switchen naar de DFU bootloader gaat door om te schakelen naar 1200 baud:

stty -F /dev/ttyACM0 1200

-- Maar elke machine heeft en andere device name.

Dan wordt de bootloader zichtbaar (via 'lsusb') als :

Bus 001 Device 040: ID 2341:0369 Arduino SA UNO R4 Minima DFU

Wow, wat een verademing om duidelijke foutmeldingen te zien! En een dikke proficiat @ deKees, ik leer alweer stevig bij! lsusb kende ik wel, maar geknutsel in udev en de bijhorende rules ging altijd mijn petje te boven. Nu heb ik tenminste al een klokje horen luiden, al zal ik nog niet zo gauw de klepel weten te vinden.

[Bericht gewijzigd door Paulinha_B op (46%)]

De regels zijn niet heel moeilijk: Feitelijk is het een tekst-bestand in /dev/udev/rules.d.

Per bestand kun je meerdere regels toevoegen. (en met backslash kun je die over meerdere regels uitspreiden).

Per regel heb je eerst een selector:

SUBSYSTEMS=="usb", ATTRS{idVendor}=="2341", ATTRS{idProduct}=="0069"

Deze geeft aan dat de regel geldt voor een apparaat op de USB bus met vendor-id/productId = 2341:0069. Er zijn nog veel meer selectors mogelijk.

Als zo een apparaat zich meldt dan krijgt het de volgende instellingen:

OWNER="kees", GROUP="plugdev", MODE="0666"

Ofwel OWNER en GROUP worden ingesteld en toegangsrechten. MODE=0666 betekent lees en schrijf rechten toegestaan voor iedereen. MODE=0600 geeft die rechten alleen aan de OWNER.

En je kunt ook andere attributen instellen.
Bijv

SYMLINK+="ttyACM5"

Daarmee kun je een devicenaam instellen.Dat wordt dan "/dev/ttyACM5"

Op internet is trouwens genoeg info te vinden. al raak je snel de weg kwijt in de veelheid aan opties.

huh, op mijn ubuntu is het dan wel /usr/lib/udev/rules.d ; en wat staat er daar veel zeg, meer dan 100 bestandjes!
Bedankt voor de uitleg, ik probeer het te onthouden. Vooral goed om de grote lijnen te kennen.

Op zaterdag 16 augustus 2025 12:22:28 schreef deKees:
En je kunt ook andere attributen instellen.
Bijv

SYMLINK+="ttyACM5"

Daarmee kun je een devicenaam instellen.Dat wordt dan "/dev/ttyACM5"

Hier is "ttyACM5" een verrekt onhandige keuze: Het systeem noemt een bepaalde klasse devices (ACM) namelijk vanzelf ttyACMx waarbij x een getal beginnend bij 0 is.

Wat je hier WEL handig kan doen is om "mijnR4" als symlink toe te voegen. Nu krijg je naast /dev/ttyACM<randomnummer> ook "/dev/mijnR4" als naam waaronder je je 'R4 kan benaderen.

Met

SUBSYSTEMS=="usb", ATTRS{idVendor}=="2341", ATTRS{idProduct}=="0069"

heb je geselecteerd op een bepaalde fabrikant en <apparaat-van-hun> . Maar je kan ook een serienummer opgeven zodat je naast de development-R4 bijvoorbeeld een R4-die-de-gordijnen-regelt SYMLINK+=gordijn kan geven en dat de software voor de gordijnen dan DAT gebruikt ongeacht het /dev/ttyACMx nummer.

Hi,

Dank Heren voor de responce!

Hieronder een plaatje van een Virtuele Fedora-42 op mijn werkstation, draait onder VMWare Workstation Pro met W11 Pro als Host.
https://www.bramcam.nl/Diversen/Arduino-Rechten-Fedora-01.png

.
Het volgende plaatje is van mijn nieuwe Lenovo Linux laptop, waar ik trouwens zeer tevreden over ben met Fedora er op.
https://www.bramcam.nl/Diversen/Arduino-Rechten-Fedora-Laptop-01.png

.
In het eerste plaatje is zichtbaar dat in de /etc/udev/rules.d één bestand staat dat is een bestand voor een printer.
In het tweede plaatje is deze printer nog niet zichtbaar, waarschijnlijk omdat hij daar nog niet ge-instaleerd is.

Mijn vraag gaat voor nu even hier om, waarom de vreemde benaming van het bestand => *79-udev-epson.rules
En het bestand dat deKees aangeeft om aan te maken => 46-udev-Uno-R4.rules <= deze is zonder *

Waarom beginnen deze bestandnamen met een cijfer en/of sterretje aan het begin?
Opmerking: Als ik het goed heb is Fedora-42 gebasseerd op SE Linux, ik weet niet of dit iets uit maakt betreffende de rechten structuur voor b.v. Arduino IDE.

Nog veel meer te melden, maar eerst kijken of ik de de inhoud van wat deKees voorsteld voor de 46-udev-Uno-R4.rules file ook werkend kan gaan krijgen op de Linux laptop.
Kan die file ook b.v. ook zo heten, ik weet het, het is onzin maar het gaat mij om de werking 15-udev-Kaas-Koekje.rules ?

Dank en groet,
Bram

Dat sterretje is misschien een grapje van de door u gebruikte midnight commander. Staat het er ook als output van een ls-commando vanaf de command line? Ik vermoed dat het zou kunnen wijzen op een uitvoerbaar bestand, ttz. met een x-vlagje voor uw account of voor meerdere.

Het nummer zou misschien relevant kunnen zijn voor de volgorde van uitvoering, de rest van de bestandsnaam is zeker vrijelijk te kiezen.

NB "man udev" is ook zeer lezenswaard.

NNBB Fedora is een van de drie poten van Linux-OSontwikkeling bij RedHat, degene die het kortst op de bal speelt kwa updates en bijwerkingen. Wat voldoende stabiel wordt bevonden schuift door naar CentOS, en vandaar naar de (betalende) RedHat Enterprise Linux.

[Bericht gewijzigd door Paulinha_B op (22%)]

Hi Paulinha_B, :-)

Je had gelijk, MC geeft een sterretje bij een bepaalde eigenschap van een file.
Even met LS kijken in die map gaf uitsluitsel.

DeKees, jouw file met aanpassing van de rechten werkt onder Fedora-42, zoals je al aangaf, moest mijn gebruikersnaam er in worden aangepast, HULDE!

Dan nog even dit, de Uno R4 MINIMA aansluiten en dan op het knopje "Upload" in de Arduino IDE klikken werkt niet.
Dan heb je nog steeds een foutmelding dat hij niet kan uploaden met error 74.
Iedere keer is het dan het makkelijkst als je gaat uploaden om twee keer snel op de reset toets te drukken zodat de R4 MINIMA in de goede stand gaat staan.
Dit wordt aangegeven door een langzaam knipperende oranje LED "L" wat de standaard LED is en dus niet de Power LED.
Dit voor de gene die het nog niet weten.

Ik heb nog niet alle Arduino's werkend onder Fedora-42, maar ik heb nog veel meer uit te zoeken.
Zoals dat Wine niet werkend te krijgen is onder Fedora-42 maar weer wel met Fedora-42 onder VMWare op mijn dikke werkstation...
Waarom Wine gebruiken? ik mis Irfanview onder Fedora en dat vind ik een groot gemis dat van Irfanview geen Linux versie is.

Maar dat is voor later, voor nu, ben ik weer tevreden. :-)
Dank weer en gegroet.

Bram

Ha inderdaad, 2 keer snel op reset drukken en de bootloader wordt aktief.
Dat wist ik niet. Maar bij mij werkt dat inderdaad ook. En dan krijg je de Arduino bootloader:

Bus 001 Device 010: ID 2341:0369 Arduino SA UNO R4 Minima DFU

Tot nu toe was dat nooit nodig, want de Arduino ide activeert de bootloader ook zonder op de reset te drukken. Dus door stiekem de baudrate naar 1200 te schakelen.

Je krijgt de renesas bootloader als je MD ingedrukt houdt tijdens reset:

Bus 001 Device 015: ID 045b:0261 Hitachi, Ltd RA USB Boot

Maar daar kan de Arduino IDE niet mee overweg. Daarvoor heb je een renesas utility nodig en je moet de compiler settings aanpassen.

Code 74 zegt me niks. Zie ook https://support.arduino.cc/hc/en-us/articles/11011849739804-dfu-util-e…

Maar als ik het goed begrijp kun je wel een programma downloaden door eerst 2 keer op reset te drukken?

Kun je wel de Serial.print() gebruiken in je programma?

Hi deKees, :-)

Dat is een goede!
Ik deed de aanname dat als ik rechtsonder zag dat de UNO R4 Minima verbonden was met /dev/ttyACM0 dat het wel goed zat...

Dit heb ik net getest met de simpele "pushButton" voorbeeld code en het werkt, af en toe heb je mazzel met een aanname. :-)

Groet,
Bram

Hi,

Mijn nieuwe Linux laptop dit weekeinde van weer een nieuwe SSD voorzien,
dit is de Samsung 9100 Pro, lekker zuinig en snel.

Fedora-42 in de Gnome versie er weer op geïnstalleerd om voldoende ervaring op te doen, ondanks dat ik de Gnome shell niet optimaal vind,
later daar meer over in een ander topic.
Gisteren de Arduino IDE geïnstalleerd op deze laptop en de Uno R4 MINIMA was natuurlijk niet te programmeren "Out Of The Box"
Dat wist ik vrijwel zeker dat dit zou gebeuren...

Bij de vorige Fedore-42 installatie met Gnome op de andere harddisk, had ik aardig wat gerommeld aan de comm poort instellingen om het werkend te krijgen en niets hielp.
Alleen de actie van deKees bracht licht in de duisternis. :-)
Dus nu met de schone nieuwe installatie een config file zoals deKees beschreef aangebracht in /etc/udef/rules.d/ en gaan met de Arduino banaan.

Het plaatsen van de file in de grafische omgeving is een beetje horror gedrag, ik begrijp het wel dat de file manager net als in Windows niet in systeem folder mag schrijven,
maar er is zover mijn kennis nu reikt geen mogelijkheid om admin rechten te krijgen bij het kopieën van het bestand van een USB stick naar de gewenste folder.
Nu heb ik het opgelost door de file manager MC op te starten met sudo en daarna de file te kopiëren.

Nog een leuke die voorbij kwam bij al deze handelingen, ik plaats deze informatie hier omdat denk ik anderen er ook van kunnen leren.
Bij de installatie van Fedora-42 wordt gevraagd welke naam je wilt gebruiken en welke naam je "hebt"

Vaak geef ik een gebruikers profiel de naam waarmee ik hier lokaal inlog op de shares, ik vind dat makkelijker
(en ja ik gebruik ook regelmatig scripts met andere namen en wachtwoorden in het zelfde gebruikers profiel voor shares).

Zeg dat mijn voornaam jan is en de gebruikersnaam "grootkop" in Fedora-42 :-)
Bij het inloggen zegt Fedora "dag jan" en geef je wachtwoord.

Is jan nu de gebruiker of grootkop? dit is nogal verwarrend, met een Terminal inloggen en je ziet de echte gebruikers naam staan, grootkop dus.
Dus als je de file van deKees aanpast van kees naar bram, dan werkt het nog niet, want de echte gebruiker is grootkop. :-)

De volgende stap is nu weer "Wine" werkend krijgen, dat is een beetje een "buggy zooitje", dit om Irvanview werkend te krijgen onder Linux(Virtueel op mijn werkstation werkt het).
Ik zal in de koffiehoek laten zien waar ik tegenaan loop, tenminste als jullie het kunnen zien...
Het is duidelijk dat voldoende testen niet tot de bedrijscultuur hoort bij de makers van Wine en ik ben zeker niet de enige waarbij deze fout optreed. :-)

En dan is het nu "Facturen maken tijd!"

Groet,
Bram

Gnome ken ik niet, (alleen van horen zeggen).

Ik heb hier Debian met KDE.

En dan gebruik ik kate als editor. Dat bevalt mij heel goed. Zo een beetje alle features die ik nodig heb.

En met kate kun je ook de udev rules editen. Geen probleem met de beveiliging, al vraagt hij wel om het root wachtwoord als je wilt opslaan.

De access rechten voor /etc/udev staan bij mij op 'lezen voor iedereen, schrijven alleen voor eigenaar (root)' :

drwxr-xr-x   2 root root  4096 aug 17 00:25 rules.d

PS: irfanview mis ik wel een beetje, maar ik gebruik dat zo weinig dat ik daar geen tijd in steek.

Hi,

Wine heb ik nu een beetje "bewegend" en Irfanview draaid er in.
Klembord bewerkingen gaat nog niet soepel, dus vanuit Irvanview naar de Host applicaties toe.

Vanmorgen W11 Pro onder KVM/QEMU draaiend gekregen en ik denk dat alle drivers nu goed staan en ook het klembord voor text werkt, voor plaatjes nog niet getest.

Iets dat echt opvalt onder KVM/QEMU, de virtualisatie is veel soepeler dan mijn VMWare Workstation Pro versie...
Ook het pauseren en weer opstarten van een W11 sessie is zeker 10x sneller onder Fedora-42 met KVM/QEMU dat is in ieder geval een succes.
Hierdoor is het Irvanview probleem kleiner geworden. :-)

Ik gebruik Irfanview eigenlijk iedere dag, en als ik op CO post of EEVBlog dan is het hier constand in gebruik.
Ik heb de 32 en de 64 Bit versie van Irvanview geinstalleerd staan op mijn Windows-11 werkstation, de 32 bit versie voor het scannen.

Als je een scanner hebt en deze werkt dan kan je onder het menu item "File" Select Scan/Twain Source, kies je twain module van de scanner.
Onder W11 met de 32 bit versie van Irfanviev heb ik deze link bij de hand op het bureaublad of de taakbalk:

https://www.bramcam.nl/Diversen/Irvanview-Snelscan-Snelkoppeling.png

Leg wat op/in de scanner, dubbel klik het aangemaakte icoontje met de gegevens uit het plaatje en Irfanview start in de scan modus en begint direct te scannen.
Daarna gebruik je Irfanview voor je plaatjes bewerkingen en als je klaar bent gebuik je de letter "s" voor de Save As functie als nodig of control+c voorde copy past functie.

Ik heb meerdere plaatjes programm's nu onder Linux getest, maar velen hebben het niet begrepen van wat echt handig is,
Irfan Skiljan heeft ze wat mij betrteft op een rijtje wat basis bewerkingen en handige snele tools betreft. :-)

De komende dagen zal ik ook nog wat andere Arduino typen tensten en wat ESP modellen, we gaan eens kijken of dat ook Comm poort problemen gaat geven.

Groet,
Bram

Hi,

Ik heb denk ik een stuk of 10 verschillende typen Arduino boards getest of ik ze kon programmeren.
Op een enkeling na ging dat wel goed, verder ook aan het stoeien geweest met /dev/ttyUSB0 deze aangepast wat rechten betreft.
Hierna kon ik weer een aantal Arduino variaties programmren, het blijft wel goochelen hoor met alle instellingen voor verschillende boards.

Bij seriele poort aanpassingen is het het beste dat je het systeem opnieuw opstart,
pas je de comm poort rechten aan, dan loopt de Arduino IDE regelmatig vast...

Uninstall de Arduino IDE en installeer hem daarna weer en je probleem is over, tenminste op mijn Linux laptop. :-)
Dit heb ik op twee verschillende Fedora-42 instalaties nu gehad, dus dat zal wel vaker voor komen.

Onder Linux met de Arduino IDE 2.3.6 gaat het programmeren als en speer!
Een hele prettige snelheids winst t.o.v. W10 of W11.

De volgende stap is kijken of ik mijn Teensy microcontrolers ook onder Linux kan programeren.

Groet,
Bram