Correct Arduino installation

master
Sergio Alvariño 1 year ago
parent bfa519e49a
commit 1c783e1efb

@ -592,7 +592,7 @@ sudo apt-get update
sudo apt-get install syncthing sudo apt-get install syncthing
``` ```
# Utilidades \#g Utilidades
## Utilidades variadas ## Utilidades variadas
@ -775,6 +775,10 @@ Otro navegador para el protocolo *Gemini* programado en *Rust*.
Instalado desde las fuentes siguiendo instrucciones de su [página Instalado desde las fuentes siguiendo instrucciones de su [página
web](https://sr.ht/~julienxx/Castor/) web](https://sr.ht/~julienxx/Castor/)
## Whalebird: Cliente de Mastodon
Descargada *appimage* desde la página web de la aplicación.
## Sengi: Cliente de Mastodon ## Sengi: Cliente de Mastodon
Instalada *appimage* desde su Instalada *appimage* desde su
@ -1841,85 +1845,11 @@ Además también incluye un script (`arduino-linux-setup.sh`) para crear
las *devrules* y que además desinstala el driver *modemmanager* y crea las *devrules* y que además desinstala el driver *modemmanager* y crea
grupos nuevos en el sistema si no existen. grupos nuevos en el sistema si no existen.
No tengo claro lo de desinstalar el driver así que creamos las No tengo claro lo de desinstalar el driver así que comentamos la sección
*devrules* a mano mirando por el fichero. que borra el *modemmanager* del fichero `arduino-linux-setup.sh` y lo
ejecutamos para que instale el resto.
Hay que añadir nuestro usuario a los grupos *tty*, *dialout*, *uucp* y
*plugdev* (no hay que crear grupos nuevos, ya tenemos todos en el
sistema)
sudo gpasswd --add <usrname> tty
sudo gpasswd --add <usrname> dialout
sudo gpasswd --add <usrname> uucp
sudo gpasswd --add <usrname> plugdev
Creamos los siguientes ficheros en el directorio `/etc/udev/rules.d`
Fichero `90-extraacl.rules` mete mi usario en el fichero de reglas
(¬\_¬)
# Setting serial port rules
KERNEL=="ttyUSB[0-9]*", TAG+="udev-acl", TAG+="uaccess", OWNER="salvari"
KERNEL=="ttyACM[0-9]*", TAG+="udev-acl", TAG+="uaccess", OWNER="salvari"
Fichero `98-openocd.rules`
# Adding Arduino M0/M0 Pro, Primo UDEV Rules for CMSIS-DAP port
ACTION!="add|change", GOTO="openocd_rules_end"
SUBSYSTEM!="usb|tty|hidraw", GOTO="openocd_rules_end"
#Please keep this list sorted by VID:PID
#CMSIS-DAP compatible adapters
ATTRS{product}=="*CMSIS-DAP*", MODE="664", GROUP="plugdev"
LABEL="openocd_rules_end"
Fichero `avrisp.rules`
# Adding AVRisp UDEV rules
SUBSYSTEM!="usb_device", ACTION!="add", GOTO="avrisp_end"
# Atmel Corp. JTAG ICE mkII
ATTR{idVendor}=="03eb", ATTRS{idProduct}=="2103", MODE="660", GROUP="dialout"
# Atmel Corp. AVRISP mkII
ATTR{idVendor}=="03eb", ATTRS{idProduct}=="2104", MODE="660", GROUP="dialout"
# Atmel Corp. Dragon
ATTR{idVendor}=="03eb", ATTRS{idProduct}=="2107", MODE="660", GROUP="dialout"
LABEL="avrisp_end" Tenemos que crear los ficheros `.desktop`.
Fichero `40-defuse.rules`:
# Adding STM32 bootloader mode UDEV rules
# Example udev rules (usually placed in /etc/udev/rules.d)
# Makes STM32 DfuSe device writeable for the "plugdev" group
ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="df11", MODE="664", GROUP="plugdev", TAG+="uaccess"
Fichero `99-arduino-101.rules`:
# Arduino 101 in DFU Mode
SUBSYSTEM=="tty", ENV{ID_REVISION}=="8087", ENV{ID_MODEL_ID}=="0ab6", MODE="0666", ENV{ID_MM_DEVICE_IGNORE}="1", ENV{ID_MM_CANDIDATE}="0"
SUBSYSTEM=="usb", ATTR{idVendor}=="8087", ATTR{idProduct}=="0aba", MODE="0666", ENV{ID_MM_DEVICE_IGNORE}="1"
Yo añado el fichero `99-arduino.rules` que se encarga de inhibir el
modemmanager para que no capture al *CircuitPlayground Express*:
# for arduino brand, stop ModemManager grabbing port
ATTRS{idVendor}=="2a03", ENV{ID_MM_DEVICE_IGNORE}="1"
# for sparkfun brand, stop ModemManager grabbing port
ATTRS{idVendor}=="1b4f", ENV{ID_MM_DEVICE_IGNORE}="1"
Una vez añadidos todos los ficheros de reglas recargamos con:
``` bash
udevadm control --reload-rules && udevadm trigger
```
### Añadir soporte para *Feather M0* ### Añadir soporte para *Feather M0*

@ -461,7 +461,7 @@ sudo apt-get update
sudo apt-get install syncthing sudo apt-get install syncthing
</code> </code>
====== Utilidades ====== #g Utilidades
===== Utilidades variadas ===== ===== Utilidades variadas =====
@ -597,6 +597,10 @@ Un navegador para el protocolo //Gemini//. Instalado con la //appimage// desde s
Otro navegador para el protocolo //Gemini// programado en //Rust//. Instalado desde las fuentes siguiendo instrucciones de su [[https://sr.ht/~julienxx/Castor/|página web]] Otro navegador para el protocolo //Gemini// programado en //Rust//. Instalado desde las fuentes siguiendo instrucciones de su [[https://sr.ht/~julienxx/Castor/|página web]]
===== Whalebird: Cliente de Mastodon =====
Descargada //appimage// desde la página web de la aplicación.
===== Sengi: Cliente de Mastodon ===== ===== Sengi: Cliente de Mastodon =====
Instalada //appimage// desde su [[https://github.com/NicolasConstant/sengi|github]] Instalada //appimage// desde su [[https://github.com/NicolasConstant/sengi|github]]
@ -1592,94 +1596,9 @@ La distribución del IDE incluye ahora un fichero ''%%install.sh%%''que se encar
Además también incluye un script (''%%arduino-linux-setup.sh%%'') para crear las //devrules// y que además desinstala el driver //modemmanager// y crea grupos nuevos en el sistema si no existen. Además también incluye un script (''%%arduino-linux-setup.sh%%'') para crear las //devrules// y que además desinstala el driver //modemmanager// y crea grupos nuevos en el sistema si no existen.
No tengo claro lo de desinstalar el driver así que creamos las //devrules// a mano mirando por el fichero. No tengo claro lo de desinstalar el driver así que comentamos la sección que borra el //modemmanager// del fichero ''%%arduino-linux-setup.sh%%'' y lo ejecutamos para que instale el resto.
Hay que añadir nuestro usuario a los grupos //tty//, //dialout//, //uucp// y //plugdev// (no hay que crear grupos nuevos, ya tenemos todos en el sistema)
<code>
sudo gpasswd --add <usrname> tty
sudo gpasswd --add <usrname> dialout
sudo gpasswd --add <usrname> uucp
sudo gpasswd --add <usrname> plugdev
</code>
Creamos los siguientes ficheros en el directorio ''%%/etc/udev/rules.d%%''
Fichero ''%%90-extraacl.rules%%'' mete mi usario en el fichero de reglas (¬_¬)
<code>
# Setting serial port rules
KERNEL=="ttyUSB[0-9]*", TAG+="udev-acl", TAG+="uaccess", OWNER="salvari"
KERNEL=="ttyACM[0-9]*", TAG+="udev-acl", TAG+="uaccess", OWNER="salvari"
</code>
Fichero ''%%98-openocd.rules%%''
<code>
# Adding Arduino M0/M0 Pro, Primo UDEV Rules for CMSIS-DAP port
ACTION!="add|change", GOTO="openocd_rules_end"
SUBSYSTEM!="usb|tty|hidraw", GOTO="openocd_rules_end"
#Please keep this list sorted by VID:PID
#CMSIS-DAP compatible adapters
ATTRS{product}=="*CMSIS-DAP*", MODE="664", GROUP="plugdev"
LABEL="openocd_rules_end"
</code>
Fichero ''%%avrisp.rules%%''
<code>
# Adding AVRisp UDEV rules
SUBSYSTEM!="usb_device", ACTION!="add", GOTO="avrisp_end"
# Atmel Corp. JTAG ICE mkII
ATTR{idVendor}=="03eb", ATTRS{idProduct}=="2103", MODE="660", GROUP="dialout"
# Atmel Corp. AVRISP mkII
ATTR{idVendor}=="03eb", ATTRS{idProduct}=="2104", MODE="660", GROUP="dialout"
# Atmel Corp. Dragon
ATTR{idVendor}=="03eb", ATTRS{idProduct}=="2107", MODE="660", GROUP="dialout"
LABEL="avrisp_end" Tenemos que crear los ficheros ''%%.desktop%%''.
</code>
Fichero ''%%40-defuse.rules%%'':
<code>
# Adding STM32 bootloader mode UDEV rules
# Example udev rules (usually placed in /etc/udev/rules.d)
# Makes STM32 DfuSe device writeable for the "plugdev" group
ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="df11", MODE="664", GROUP="plugdev", TAG+="uaccess"
</code>
Fichero ''%%99-arduino-101.rules%%'':
<code>
# Arduino 101 in DFU Mode
SUBSYSTEM=="tty", ENV{ID_REVISION}=="8087", ENV{ID_MODEL_ID}=="0ab6", MODE="0666", ENV{ID_MM_DEVICE_IGNORE}="1", ENV{ID_MM_CANDIDATE}="0"
SUBSYSTEM=="usb", ATTR{idVendor}=="8087", ATTR{idProduct}=="0aba", MODE="0666", ENV{ID_MM_DEVICE_IGNORE}="1"
</code>
Yo añado el fichero ''%%99-arduino.rules%%'' que se encarga de inhibir el modemmanager para que no capture al //CircuitPlayground Express//:
<code>
# for arduino brand, stop ModemManager grabbing port
ATTRS{idVendor}=="2a03", ENV{ID_MM_DEVICE_IGNORE}="1"
# for sparkfun brand, stop ModemManager grabbing port
ATTRS{idVendor}=="1b4f", ENV{ID_MM_DEVICE_IGNORE}="1"
</code>
Una vez añadidos todos los ficheros de reglas recargamos con:
<code bash>
udevadm control --reload-rules && udevadm trigger
</code>
==== Añadir soporte para Feather M0 ==== ==== Añadir soporte para Feather M0 ====

Binary file not shown.

@ -430,8 +430,7 @@ Añadimos el ppa:
echo &quot;deb [ signed-by=/usr/local/share/keyrings/synching-archive-keyring.gpg ] https://apt.syncthing.net/ syncthing stable&quot; | sudo tee /etc/apt/sources.list.d/syncthing.list echo &quot;deb [ signed-by=/usr/local/share/keyrings/synching-archive-keyring.gpg ] https://apt.syncthing.net/ syncthing stable&quot; | sudo tee /etc/apt/sources.list.d/syncthing.list
sudo apt-get update sudo apt-get update
sudo apt-get install syncthing</pre> sudo apt-get install syncthing</pre>
<span id="utilidades"></span> #g Utilidades
= Utilidades =
<span id="utilidades-variadas"></span> <span id="utilidades-variadas"></span>
== Utilidades variadas == == Utilidades variadas ==
@ -560,6 +559,11 @@ Un navegador para el protocolo ''Gemini''. Instalado con la ''appimage'' desde s
Otro navegador para el protocolo ''Gemini'' programado en ''Rust''. Instalado desde las fuentes siguiendo instrucciones de su [https://sr.ht/~julienxx/Castor/ página web] Otro navegador para el protocolo ''Gemini'' programado en ''Rust''. Instalado desde las fuentes siguiendo instrucciones de su [https://sr.ht/~julienxx/Castor/ página web]
<span id="whalebird-cliente-de-mastodon"></span>
== Whalebird: Cliente de Mastodon ==
Descargada ''appimage'' desde la página web de la aplicación.
<span id="sengi-cliente-de-mastodon"></span> <span id="sengi-cliente-de-mastodon"></span>
== Sengi: Cliente de Mastodon == == Sengi: Cliente de Mastodon ==
@ -1402,71 +1406,10 @@ La distribución del IDE incluye ahora un fichero <code>install.sh</code>que se
Además también incluye un script (<code>arduino-linux-setup.sh</code>) para crear las ''devrules'' y que además desinstala el driver ''modemmanager'' y crea grupos nuevos en el sistema si no existen. Además también incluye un script (<code>arduino-linux-setup.sh</code>) para crear las ''devrules'' y que además desinstala el driver ''modemmanager'' y crea grupos nuevos en el sistema si no existen.
No tengo claro lo de desinstalar el driver así que creamos las ''devrules'' a mano mirando por el fichero. No tengo claro lo de desinstalar el driver así que comentamos la sección que borra el ''modemmanager'' del fichero <code>arduino-linux-setup.sh</code> y lo ejecutamos para que instale el resto.
Hay que añadir nuestro usuario a los grupos ''tty'', ''dialout'', ''uucp'' y ''plugdev'' (no hay que crear grupos nuevos, ya tenemos todos en el sistema)
<pre>sudo gpasswd --add &lt;usrname&gt; tty
sudo gpasswd --add &lt;usrname&gt; dialout
sudo gpasswd --add &lt;usrname&gt; uucp
sudo gpasswd --add &lt;usrname&gt; plugdev</pre>
Creamos los siguientes ficheros en el directorio <code>/etc/udev/rules.d</code>
Fichero <code>90-extraacl.rules</code> mete mi usario en el fichero de reglas (¬_¬)
<pre># Setting serial port rules
KERNEL==&quot;ttyUSB[0-9]*&quot;, TAG+=&quot;udev-acl&quot;, TAG+=&quot;uaccess&quot;, OWNER=&quot;salvari&quot;
KERNEL==&quot;ttyACM[0-9]*&quot;, TAG+=&quot;udev-acl&quot;, TAG+=&quot;uaccess&quot;, OWNER=&quot;salvari&quot;</pre>
Fichero <code>98-openocd.rules</code>
<pre># Adding Arduino M0/M0 Pro, Primo UDEV Rules for CMSIS-DAP port
ACTION!=&quot;add|change&quot;, GOTO=&quot;openocd_rules_end&quot;
SUBSYSTEM!=&quot;usb|tty|hidraw&quot;, GOTO=&quot;openocd_rules_end&quot;
#Please keep this list sorted by VID:PID
#CMSIS-DAP compatible adapters
ATTRS{product}==&quot;*CMSIS-DAP*&quot;, MODE=&quot;664&quot;, GROUP=&quot;plugdev&quot;
LABEL=&quot;openocd_rules_end&quot;</pre>
Fichero <code>avrisp.rules</code>
<pre># Adding AVRisp UDEV rules Tenemos que crear los ficheros <code>.desktop</code>.
SUBSYSTEM!=&quot;usb_device&quot;, ACTION!=&quot;add&quot;, GOTO=&quot;avrisp_end&quot;
# Atmel Corp. JTAG ICE mkII
ATTR{idVendor}==&quot;03eb&quot;, ATTRS{idProduct}==&quot;2103&quot;, MODE=&quot;660&quot;, GROUP=&quot;dialout&quot;
# Atmel Corp. AVRISP mkII
ATTR{idVendor}==&quot;03eb&quot;, ATTRS{idProduct}==&quot;2104&quot;, MODE=&quot;660&quot;, GROUP=&quot;dialout&quot;
# Atmel Corp. Dragon
ATTR{idVendor}==&quot;03eb&quot;, ATTRS{idProduct}==&quot;2107&quot;, MODE=&quot;660&quot;, GROUP=&quot;dialout&quot;
LABEL=&quot;avrisp_end&quot;</pre>
Fichero <code>40-defuse.rules</code>:
<pre># Adding STM32 bootloader mode UDEV rules
# Example udev rules (usually placed in /etc/udev/rules.d)
# Makes STM32 DfuSe device writeable for the &quot;plugdev&quot; group
ACTION==&quot;add&quot;, SUBSYSTEM==&quot;usb&quot;, ATTRS{idVendor}==&quot;0483&quot;, ATTRS{idProduct}==&quot;df11&quot;, MODE=&quot;664&quot;, GROUP=&quot;plugdev&quot;, TAG+=&quot;uaccess&quot;</pre>
Fichero <code>99-arduino-101.rules</code>:
<pre># Arduino 101 in DFU Mode
SUBSYSTEM==&quot;tty&quot;, ENV{ID_REVISION}==&quot;8087&quot;, ENV{ID_MODEL_ID}==&quot;0ab6&quot;, MODE=&quot;0666&quot;, ENV{ID_MM_DEVICE_IGNORE}=&quot;1&quot;, ENV{ID_MM_CANDIDATE}=&quot;0&quot;
SUBSYSTEM==&quot;usb&quot;, ATTR{idVendor}==&quot;8087&quot;, ATTR{idProduct}==&quot;0aba&quot;, MODE=&quot;0666&quot;, ENV{ID_MM_DEVICE_IGNORE}=&quot;1&quot;</pre>
Yo añado el fichero <code>99-arduino.rules</code> que se encarga de inhibir el modemmanager para que no capture al ''CircuitPlayground Express'':
<pre># for arduino brand, stop ModemManager grabbing port
ATTRS{idVendor}==&quot;2a03&quot;, ENV{ID_MM_DEVICE_IGNORE}=&quot;1&quot;
# for sparkfun brand, stop ModemManager grabbing port
ATTRS{idVendor}==&quot;1b4f&quot;, ENV{ID_MM_DEVICE_IGNORE}=&quot;1&quot;</pre>
Una vez añadidos todos los ficheros de reglas recargamos con:
<syntaxhighlight lang="bash">udevadm control --reload-rules && udevadm trigger</syntaxhighlight>
<span id="añadir-soporte-para-feather-m0"></span> <span id="añadir-soporte-para-feather-m0"></span>
=== Añadir soporte para ''Feather M0'' === === Añadir soporte para ''Feather M0'' ===

Binary file not shown.

Binary file not shown.

@ -891,8 +891,7 @@ Añadimos el ppa:
\end{Highlighting} \end{Highlighting}
\end{Shaded} \end{Shaded}
\hypertarget{utilidades}{% \#g Utilidades
\section{Utilidades}\label{utilidades}}
\hypertarget{utilidades-variadas}{% \hypertarget{utilidades-variadas}{%
\subsection{Utilidades variadas}\label{utilidades-variadas}} \subsection{Utilidades variadas}\label{utilidades-variadas}}
@ -1113,6 +1112,12 @@ Otro navegador para el protocolo \emph{Gemini} programado en
\emph{Rust}. Instalado desde las fuentes siguiendo instrucciones de su \emph{Rust}. Instalado desde las fuentes siguiendo instrucciones de su
\href{https://sr.ht/~julienxx/Castor/}{página web} \href{https://sr.ht/~julienxx/Castor/}{página web}
\hypertarget{whalebird-cliente-de-mastodon}{%
\subsection{Whalebird: Cliente de
Mastodon}\label{whalebird-cliente-de-mastodon}}
Descargada \emph{appimage} desde la página web de la aplicación.
\hypertarget{sengi-cliente-de-mastodon}{% \hypertarget{sengi-cliente-de-mastodon}{%
\subsection{Sengi: Cliente de \subsection{Sengi: Cliente de
Mastodon}\label{sengi-cliente-de-mastodon}} Mastodon}\label{sengi-cliente-de-mastodon}}
@ -2487,102 +2492,12 @@ Además también incluye un script (\texttt{arduino-linux-setup.sh}) para
crear las \emph{devrules} y que además desinstala el driver crear las \emph{devrules} y que además desinstala el driver
\emph{modemmanager} y crea grupos nuevos en el sistema si no existen. \emph{modemmanager} y crea grupos nuevos en el sistema si no existen.
No tengo claro lo de desinstalar el driver así que creamos las No tengo claro lo de desinstalar el driver así que comentamos la sección
\emph{devrules} a mano mirando por el fichero. que borra el \emph{modemmanager} del fichero
\texttt{arduino-linux-setup.sh} y lo ejecutamos para que instale el
Hay que añadir nuestro usuario a los grupos \emph{tty}, \emph{dialout}, resto.
\emph{uucp} y \emph{plugdev} (no hay que crear grupos nuevos, ya tenemos
todos en el sistema)
\begin{verbatim}
sudo gpasswd --add <usrname> tty
sudo gpasswd --add <usrname> dialout
sudo gpasswd --add <usrname> uucp
sudo gpasswd --add <usrname> plugdev
\end{verbatim}
Creamos los siguientes ficheros en el directorio
\texttt{/etc/udev/rules.d}
Fichero \texttt{90-extraacl.rules} mete mi usario en el fichero de
reglas (¬\_¬)
\begin{verbatim}
# Setting serial port rules
KERNEL=="ttyUSB[0-9]*", TAG+="udev-acl", TAG+="uaccess", OWNER="salvari"
KERNEL=="ttyACM[0-9]*", TAG+="udev-acl", TAG+="uaccess", OWNER="salvari"
\end{verbatim}
Fichero \texttt{98-openocd.rules}
\begin{verbatim}
# Adding Arduino M0/M0 Pro, Primo UDEV Rules for CMSIS-DAP port
ACTION!="add|change", GOTO="openocd_rules_end"
SUBSYSTEM!="usb|tty|hidraw", GOTO="openocd_rules_end"
#Please keep this list sorted by VID:PID
#CMSIS-DAP compatible adapters
ATTRS{product}=="*CMSIS-DAP*", MODE="664", GROUP="plugdev"
LABEL="openocd_rules_end"
\end{verbatim}
Fichero \texttt{avrisp.rules}
\begin{verbatim}
# Adding AVRisp UDEV rules
SUBSYSTEM!="usb_device", ACTION!="add", GOTO="avrisp_end"
# Atmel Corp. JTAG ICE mkII
ATTR{idVendor}=="03eb", ATTRS{idProduct}=="2103", MODE="660", GROUP="dialout"
# Atmel Corp. AVRISP mkII
ATTR{idVendor}=="03eb", ATTRS{idProduct}=="2104", MODE="660", GROUP="dialout"
# Atmel Corp. Dragon
ATTR{idVendor}=="03eb", ATTRS{idProduct}=="2107", MODE="660", GROUP="dialout"
LABEL="avrisp_end"
\end{verbatim}
Fichero \texttt{40-defuse.rules}:
\begin{verbatim}
# Adding STM32 bootloader mode UDEV rules
# Example udev rules (usually placed in /etc/udev/rules.d)
# Makes STM32 DfuSe device writeable for the "plugdev" group
ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="df11", MODE="664", GROUP="plugdev", TAG+="uaccess"
\end{verbatim}
Fichero \texttt{99-arduino-101.rules}:
\begin{verbatim}
# Arduino 101 in DFU Mode
SUBSYSTEM=="tty", ENV{ID_REVISION}=="8087", ENV{ID_MODEL_ID}=="0ab6", MODE="0666", ENV{ID_MM_DEVICE_IGNORE}="1", ENV{ID_MM_CANDIDATE}="0"
SUBSYSTEM=="usb", ATTR{idVendor}=="8087", ATTR{idProduct}=="0aba", MODE="0666", ENV{ID_MM_DEVICE_IGNORE}="1"
\end{verbatim}
Yo añado el fichero \texttt{99-arduino.rules} que se encarga de inhibir
el modemmanager para que no capture al \emph{CircuitPlayground Express}:
\begin{verbatim} Tenemos que crear los ficheros \texttt{.desktop}.
# for arduino brand, stop ModemManager grabbing port
ATTRS{idVendor}=="2a03", ENV{ID_MM_DEVICE_IGNORE}="1"
# for sparkfun brand, stop ModemManager grabbing port
ATTRS{idVendor}=="1b4f", ENV{ID_MM_DEVICE_IGNORE}="1"
\end{verbatim}
Una vez añadidos todos los ficheros de reglas recargamos con:
\begin{Shaded}
\begin{Highlighting}[]
\ExtensionTok{udevadm}\NormalTok{ control }\AttributeTok{{-}{-}reload{-}rules} \KeywordTok{\&\&} \ExtensionTok{udevadm}\NormalTok{ trigger}
\end{Highlighting}
\end{Shaded}
\hypertarget{auxf1adir-soporte-para-feather-m0}{% \hypertarget{auxf1adir-soporte-para-feather-m0}{%
\subsubsection{\texorpdfstring{Añadir soporte para \emph{Feather \subsubsection{\texorpdfstring{Añadir soporte para \emph{Feather

@ -1,4 +1,4 @@
# Utilidades #g Utilidades
## Utilidades variadas ## Utilidades variadas
@ -174,6 +174,10 @@ Un navegador para el protocolo _Gemini_. Instalado con la _appimage_ desde su [p
Otro navegador para el protocolo _Gemini_ programado en _Rust_. Instalado desde las fuentes siguiendo instrucciones de su [página web](https://sr.ht/~julienxx/Castor/) Otro navegador para el protocolo _Gemini_ programado en _Rust_. Instalado desde las fuentes siguiendo instrucciones de su [página web](https://sr.ht/~julienxx/Castor/)
## Whalebird: Cliente de Mastodon
Descargada _appimage_ desde la página web de la aplicación.
## Sengi: Cliente de Mastodon ## Sengi: Cliente de Mastodon
Instalada _appimage_ desde su [github](https://github.com/NicolasConstant/sengi) Instalada _appimage_ desde su [github](https://github.com/NicolasConstant/sengi)

@ -12,101 +12,11 @@ Además también incluye un script (`arduino-linux-setup.sh`) para crear
las _devrules_ y que además desinstala el driver _modemmanager_ y crea las _devrules_ y que además desinstala el driver _modemmanager_ y crea
grupos nuevos en el sistema si no existen. grupos nuevos en el sistema si no existen.
No tengo claro lo de desinstalar el driver así que creamos las No tengo claro lo de desinstalar el driver así que comentamos la
_devrules_ a mano mirando por el fichero. sección que borra el _modemmanager_ del fichero
`arduino-linux-setup.sh` y lo ejecutamos para que instale el resto.
Tenemos que crear los ficheros `.desktop`.
Hay que añadir nuestro usuario a los grupos _tty_, _dialout_, _uucp_ y
_plugdev_ (no hay que crear grupos nuevos, ya tenemos todos en el
sistema)
~~~~
sudo gpasswd --add <usrname> tty
sudo gpasswd --add <usrname> dialout
sudo gpasswd --add <usrname> uucp
sudo gpasswd --add <usrname> plugdev
~~~~
Creamos los siguientes ficheros en el directorio `/etc/udev/rules.d`
Fichero `90-extraacl.rules` mete mi usario en el fichero de reglas (¬_¬)
~~~~
# Setting serial port rules
KERNEL=="ttyUSB[0-9]*", TAG+="udev-acl", TAG+="uaccess", OWNER="salvari"
KERNEL=="ttyACM[0-9]*", TAG+="udev-acl", TAG+="uaccess", OWNER="salvari"
~~~~
Fichero `98-openocd.rules`
~~~~
# Adding Arduino M0/M0 Pro, Primo UDEV Rules for CMSIS-DAP port
ACTION!="add|change", GOTO="openocd_rules_end"
SUBSYSTEM!="usb|tty|hidraw", GOTO="openocd_rules_end"
#Please keep this list sorted by VID:PID
#CMSIS-DAP compatible adapters
ATTRS{product}=="*CMSIS-DAP*", MODE="664", GROUP="plugdev"
LABEL="openocd_rules_end"
~~~~
Fichero `avrisp.rules`
~~~~
# Adding AVRisp UDEV rules
SUBSYSTEM!="usb_device", ACTION!="add", GOTO="avrisp_end"
# Atmel Corp. JTAG ICE mkII
ATTR{idVendor}=="03eb", ATTRS{idProduct}=="2103", MODE="660", GROUP="dialout"
# Atmel Corp. AVRISP mkII
ATTR{idVendor}=="03eb", ATTRS{idProduct}=="2104", MODE="660", GROUP="dialout"
# Atmel Corp. Dragon
ATTR{idVendor}=="03eb", ATTRS{idProduct}=="2107", MODE="660", GROUP="dialout"
LABEL="avrisp_end"
~~~~
Fichero `40-defuse.rules`:
~~~~
# Adding STM32 bootloader mode UDEV rules
# Example udev rules (usually placed in /etc/udev/rules.d)
# Makes STM32 DfuSe device writeable for the "plugdev" group
ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="df11", MODE="664", GROUP="plugdev", TAG+="uaccess"
~~~~
Fichero `99-arduino-101.rules`:
~~~~
# Arduino 101 in DFU Mode
SUBSYSTEM=="tty", ENV{ID_REVISION}=="8087", ENV{ID_MODEL_ID}=="0ab6", MODE="0666", ENV{ID_MM_DEVICE_IGNORE}="1", ENV{ID_MM_CANDIDATE}="0"
SUBSYSTEM=="usb", ATTR{idVendor}=="8087", ATTR{idProduct}=="0aba", MODE="0666", ENV{ID_MM_DEVICE_IGNORE}="1"
~~~~
Yo añado el fichero `99-arduino.rules` que se encarga de inhibir el
modemmanager para que no capture al _CircuitPlayground Express_:
~~~~
# for arduino brand, stop ModemManager grabbing port
ATTRS{idVendor}=="2a03", ENV{ID_MM_DEVICE_IGNORE}="1"
# for sparkfun brand, stop ModemManager grabbing port
ATTRS{idVendor}=="1b4f", ENV{ID_MM_DEVICE_IGNORE}="1"
~~~~
Una vez añadidos todos los ficheros de reglas recargamos con:
```bash
udevadm control --reload-rules && udevadm trigger
```
### Añadir soporte para _Feather M0_ ### Añadir soporte para _Feather M0_

Loading…
Cancel
Save