<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Eduardo Silva</title>
    <description>The latest articles on DEV Community by Eduardo Silva (@duardodev).</description>
    <link>https://dev.to/duardodev</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3031080%2F15aea0cb-9335-446a-9684-f9fd53af1125.png</url>
      <title>DEV Community: Eduardo Silva</title>
      <link>https://dev.to/duardodev</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/duardodev"/>
    <language>en</language>
    <item>
      <title>Mangas no Kindle</title>
      <dc:creator>Eduardo Silva</dc:creator>
      <pubDate>Sat, 26 Apr 2025 21:44:59 +0000</pubDate>
      <link>https://dev.to/duardodev/mangas-no-kindle-1p10</link>
      <guid>https://dev.to/duardodev/mangas-no-kindle-1p10</guid>
      <description>&lt;p&gt;O objetivo desse post é mostrar um passo a passo para baixar e colocar mangás no Kindle. Existem alguns sites que disponibilizam volumes completos de mangás em formato &lt;code&gt;.MOBI&lt;/code&gt;, mas, geralmente, esses são apenas mangás antigos. Com o método que apresento aqui, é possível baixar capítulos recentes e convertê-los para o formato mais compatível: &lt;code&gt;.AZW3&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Eu desenvolvi uma aplicação CLI que une o &lt;strong&gt;mangadl-downloader&lt;/strong&gt; e o &lt;strong&gt;calibri&lt;/strong&gt;. A aplicação permite baixar um conjunto de capítulos em um único arquivo PDF e depois convertê-lo para o formato desejado, que pode ser o &lt;strong&gt;AZW3&lt;/strong&gt;, compatível com o Kindle.&lt;/p&gt;

&lt;h2&gt;
  
  
  Como Usar
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Instalação
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Clone o repositório&lt;/strong&gt;:&lt;br&gt;
&lt;/p&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git clone https://github.com/duardoliveiras/manga-ebook-converter
&lt;span class="nb"&gt;cd &lt;/span&gt;manga-ebook-converter
&lt;/code&gt;&lt;/pre&gt;

&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Instalação do Calibri (Ubuntu)&lt;/strong&gt;:&lt;/p&gt;

&lt;p&gt;Para instalar o Calibri, execute o seguinte comando no terminal:&lt;br&gt;
&lt;/p&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo&lt;/span&gt; &lt;span class="nt"&gt;-v&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; wget &lt;span class="nt"&gt;-nv&lt;/span&gt; &lt;span class="nt"&gt;-O-&lt;/span&gt; https://download.calibre-ebook.com/linux-installer.sh | &lt;span class="nb"&gt;sudo &lt;/span&gt;sh /dev/stdin
&lt;/code&gt;&lt;/pre&gt;

&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Instale as dependências necessárias&lt;/strong&gt;:&lt;/p&gt;

&lt;p&gt;Em seguida, instale as dependências usando o pip:&lt;br&gt;
&lt;/p&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;pip &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;-r&lt;/span&gt; requirements.txt
&lt;/code&gt;&lt;/pre&gt;

&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Verifique se as ferramentas estão instaladas&lt;/strong&gt;:&lt;/p&gt;

&lt;p&gt;Certifique-se de que as ferramentas &lt;strong&gt;ebook-convert&lt;/strong&gt; e &lt;strong&gt;mangadex-dl&lt;/strong&gt; estão instaladas no seu sistema:&lt;br&gt;
&lt;/p&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;which mangadex-dl
which ebook-convert
&lt;/code&gt;&lt;/pre&gt;

&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Como Usar a Aplicação
&lt;/h3&gt;

&lt;p&gt;A aplicação possui dois principais comandos: &lt;strong&gt;manga&lt;/strong&gt; e &lt;strong&gt;converter&lt;/strong&gt;.&lt;/p&gt;

&lt;h4&gt;
  
  
  1. Comando &lt;code&gt;manga&lt;/code&gt;
&lt;/h4&gt;

&lt;p&gt;O comando &lt;code&gt;manga&lt;/code&gt; baixa um mangá do &lt;strong&gt;Mangadex&lt;/strong&gt; no formato &lt;code&gt;.pdf&lt;/code&gt; e converte para o formato desejado.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Exemplo de uso&lt;/strong&gt;:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4wxjaefsimvexahc6425.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4wxjaefsimvexahc6425.png" alt="mangadev.org" width="800" height="865"&gt;&lt;/a&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;python manga_converter.py manga &lt;span class="se"&gt;\&lt;/span&gt;
&lt;span class="nt"&gt;--url&lt;/span&gt; &lt;span class="s2"&gt;"https://mangadex.org/title/..."&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
&lt;span class="nt"&gt;--out&lt;/span&gt; &lt;span class="s2"&gt;"azw3"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
&lt;span class="nt"&gt;--sc&lt;/span&gt; 1 &lt;span class="se"&gt;\&lt;/span&gt;
&lt;span class="nt"&gt;--ec&lt;/span&gt; 10 &lt;span class="se"&gt;\&lt;/span&gt;
&lt;span class="nt"&gt;--lang&lt;/span&gt; &lt;span class="s2"&gt;"pt-br"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
&lt;span class="nt"&gt;--ecp&lt;/span&gt; &lt;span class="s2"&gt;"/usr/bin/ebook-convert"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
&lt;span class="nt"&gt;--name&lt;/span&gt; &lt;span class="s2"&gt;"manga_convertido"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Argumentos&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;--url&lt;/code&gt;: URL do mangá no Mangadex.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;--out&lt;/code&gt;: Formato de saída (ex: &lt;code&gt;azw3&lt;/code&gt;, &lt;code&gt;epub&lt;/code&gt;, &lt;code&gt;mobi&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;-sc&lt;/code&gt;: Capítulo inicial para download.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;-ec&lt;/code&gt;: Capítulo final para download.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;--lang&lt;/code&gt;: Idioma (opcional).&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;--ecp&lt;/code&gt;: Caminho para o executável do &lt;strong&gt;ebook-convert&lt;/strong&gt; (o padrão é &lt;code&gt;/usr/bin/ebook-convert&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;--name&lt;/code&gt;: Nome para o arquivo de saída.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Movendo para o Kindle
&lt;/h4&gt;

&lt;p&gt;Pluge o kindle via USB e acesse a pasta interna &lt;code&gt;/Kindle/documents/Downloads/&lt;/code&gt; e coloque o arquivo &lt;code&gt;.AZW3&lt;/code&gt; dentro da pasta &lt;code&gt;Items&lt;/code&gt;:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fegn4b8p6bd5sz9r4bxh1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fegn4b8p6bd5sz9r4bxh1.png" alt="movendo_para_o_kindle" width="800" height="383"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>python</category>
    </item>
    <item>
      <title>MT7922 não funciona bluetooth no Linux Mint</title>
      <dc:creator>Eduardo Silva</dc:creator>
      <pubDate>Tue, 08 Apr 2025 21:42:48 +0000</pubDate>
      <link>https://dev.to/duardodev/mt7922-nao-funciona-bluetooth-no-linux-mint-3dae</link>
      <guid>https://dev.to/duardodev/mt7922-nao-funciona-bluetooth-no-linux-mint-3dae</guid>
      <description>&lt;h2&gt;
  
  
  Problema
&lt;/h2&gt;

&lt;p&gt;Recentemente adquiri um adaptador wifi + bluetooth pci express. O modelo é o TP-LINK Archer T50E V3. A versão 3 utiliza o chipset da Mediatek 7922, ao contrário das versões anteriores que usam o chipseat da Intel AX200. A "vantagem" é que essa versão usa o bluetooth 5.3, entretanto me deu uma dor de cabeça para fazer funcionar.&lt;/p&gt;

&lt;h2&gt;
  
  
  Linux
&lt;/h2&gt;

&lt;p&gt;No linux mint, o wifi reconheceu plug and play, mas o bluetooth não funcionava de jeito nenhum. Vi várias supostas soluções na internet, mas nenhuma funcionou para mim. Atualmente eu uso o linux mint 22.1 que vem com o kernel nativo 6.8. &lt;/p&gt;

&lt;p&gt;Algumas soluções que eu encontrei e não funcionaram para mim: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.cnx-software.com/2024/07/19/how-to-mediatek-mt7922-bluetooth-ubuntu-24-04/" rel="noopener noreferrer"&gt;Usar o kernel 6.10 no Ubuntu.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/morrownr/USB-WiFi/blob/main/home/How_to_Install_Firmware_for_Mediatek_based_USB_WiFi_adapters.md" rel="noopener noreferrer"&gt;Atualizar o firmware em /var/firmware/mediatek.&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Em meio a tentativas testei a versão do kernel 6.14, a mais recente na data desse artigo e para minha surpresa, funcionou. Entretanto, para instala-la tive que desinstalar o driver nvidia pré compilado pela distro. Resolvi testar as versões do kernel compativeis e a partir da 6.12 o módulo bluetooth funcionou, atualmente estou na &lt;strong&gt;6.12.22&lt;/strong&gt;. &lt;/p&gt;

&lt;h3&gt;
  
  
  Instalação do kernel:
&lt;/h3&gt;

&lt;p&gt;O Mainline é uma aplicação gráfica para baixar e instalar kernels linux direto da Canonical.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo add-apt-repository ppa:cappelikan/ppa
sudo apt install mainline
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Com o Mainline instalado, basta selecionar a versão e clicar em &lt;code&gt;Install&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Obs:&lt;/strong&gt; pode ser que algum driver DKMS instalado seja incompatível com a versão do kernel. Exemplo de erro: &lt;code&gt;Error! Bad return status for module build on kernel: 6.10.6-061006-generic (x86_64). Consult /var/lib/dkms/nvidia/550.120/build/make.log for more information.&lt;/code&gt; Use: &lt;code&gt;sudo dkms remove nvidia/550 --all&lt;/code&gt; para apagar o driver dkms.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ft4tslu3n0bkcqez09h0r.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ft4tslu3n0bkcqez09h0r.png" alt="Mainline kernels" width="797" height="524"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Em relação aos drivers da nvidia, eu tive uma certa dificuldade com algumas versões. Atualmente estou usando a &lt;a href="https://us.download.nvidia.com/XFree86/Linux-x86_64/565.77/NVIDIA-Linux-x86_64-565.77.run" rel="noopener noreferrer"&gt;565.77&lt;/a&gt;, essa foi a mais compatível com a minha versão do kernel. &lt;/p&gt;

&lt;p&gt;Para fazer a instalação tive que baixar o gcc-14, pois os drivers da nvidia são escritos para essa versão do compilador. No linux mint a versão nativa do gcc é a 13 e isso me causou o seguinte problema: &lt;code&gt;gcc-13: error: unrecognized command-line option ‘-fmin-function-alignment=16’; did you mean ‘-flimit-function-alignment’&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Para instalar o gcc-14:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;apt &lt;span class="nb"&gt;install &lt;/span&gt;gcc-14 g++-14
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Para fazer a instalção do .run da nvidia é necessário acessar o console virtual e desativar a interface gráfica. &lt;/p&gt;

&lt;p&gt;Para acessar o console virtual tty1 aperte: &lt;code&gt;ctrl + alt + f1&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Para desativar a interface gráfica:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo service lightdm stop
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Definindo a versão do compilador que será usada nessa sessão:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;export &lt;/span&gt;&lt;span class="nv"&gt;CC&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;/usr/bin/gcc-14
&lt;span class="nb"&gt;export &lt;/span&gt;&lt;span class="nv"&gt;CXX&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;/usr/bin/g++-14
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Executando o instalador da nvidia:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo chmod +x NVIDIA-Linux-x86_64-&amp;lt;version&amp;gt;.run
sudo ./NVIDIA-Linux-x86_64-&amp;lt;version&amp;gt;.run
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Com isso, sera possível ter um kernel compatível com o adaptador bluetooth + wifi mt7922 e uma versão atualizada do driver nvidia. &lt;/p&gt;

&lt;h2&gt;
  
  
  Extra: Windows
&lt;/h2&gt;

&lt;p&gt;A instalação no windows foi tranquila, tirando o fato que esse produto não deve ser comercializado oficialmente no Brasil, então não da para baixar os drivers no site da TP-Link Brasil, é necessário acessar o site &lt;a href="https://static.tp-link.com/upload/driver/2024/202407/20240701/Archer%20TX50E(UN)_V3.0_00.034_240620.zip" rel="noopener noreferrer"&gt;global&lt;/a&gt;. &lt;/p&gt;

</description>
      <category>mt7922</category>
      <category>linuxmint</category>
      <category>bluetooth</category>
      <category>t50e</category>
    </item>
  </channel>
</rss>
