How to workaround about KiCAD IO_ERROR: BUILD_GITHUB_PLUGIN not enabled

KiCAD is a nice EDA software, but unfortunately the Debian package has some issues, as you can see here: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=820261

Then you can fix it this way:

Get the script used to download the KiCAD components libraries/footprints:

$ wget https://bazaar.launchpad.net/~kicad-product-committers/kicad/product/download/head:/libraryreposinstall.-20131202165949-wv7mnbj220s2m4cy-1/library-repos-install.sh

Execute it:

$ chmod a+x library-repos-install.sh
$ ./library-repos-install.sh --install-or-update

It will download the components libraries to ~/kicad_sources/library-repos

Now edit your ~/.config/kicad/fp-lib-table and replace “(type Github)” by “(type KiCad)” and replace also “${KIGITHUB}” by “~/kicad_sources/library-repos”

Start-up KiCAD, now it will find all components correctly!

How to encrypt your disk after installation

If you have a working Linux system and want to encrypt its disk then you could to follow these steps:

1) Use a Live CD to boot your computer and using gparted create a new partition with 100MB to be used as /boot

2) Mount your main root disk partition (ie.: /dev/sda1) to /mnt/disk1 and you new boot partition to /dev/disk2 and copy the original boot file to there:

$ sudo cp -ax /mnt/disk1/boot/* /mnt/disk2/

Now move your original boot partition to boot_old:

$ sudo mv /mnt/disk1/boot /mnt/disk1/boot_old

It is important to keep the original boot because if you get some issues could return it to original place.

4) Include the needed crypto modules to initramfs:

# echo "dm_crypt" >> /mnt/disk1/etc/initramfs-tools/modules
# echo "sha256" >> /mnt/disk1/etc/initramfs-tools/modules
# echo "aes-i586" >> /mnt/disk1/etc/initramfs-tools/modules
# echo "luks" >> /mnt/disk1/etc/initramfs-tools/modules

5) Update the fstab to include the /dev/mapper/root:

# vi /mnt/disk1/etc/fstab
/dev/mapper/root    /    ext4    defaults,errors=remount-ro    0    1

6) Update the /etc/crypttab to map the encrypted partition:

# vi /mnt/disk1/etc/crypttab
root    /dev/sda1    none    luks

7) Now that the basic setup is in place you need to save this filesystem:

# mkdir /rootfs_backup
# cp -ax /mnt/disk1/* /rootfs_backup/

8) Umount the file system and encrypt it:

# umount /mnt/disk1
# apt-get install cryptsetup
# dd if=/dev/urandom of=/dev/sda1
# cryptsetup -c aes-cbc-essiv:sha256 -y luksFormat /dev/sda1
# cryptsetup luksOpen /dev/sda1 root
# mkfs.ext4 /dev/mapper/root
# mount /dev/mapper/root /mnt/disk1

9) Restore the filesystem backup to mounted crypted partition:

# cp -ax /rootfs_backup/* /mnt/disk1

Now create a /boot directory there and mount the boot partition:

# mkdir /mnt/disk1/boot
# mount /dev/sda2 /mnt/disk1/boot

10) Create the initramfs with configurated files:

# chroot /mnt/disk1
# mount proc -t proc /proc
# update-initramfs -k all -u

11) Update the GRUB to boot from encrypted disk:

# vi /etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="root=/dev/mapper/root"
GRUB_DISABLE_LINUX_UUID=true
# update-grub
# grub-install /dev/sda

More info:

http://wejn.org/how-to-make-passwordless-cryptsetup.html#ed5e44ec607a374cc7496b66a7e37ce5

https://www.debian-administration.org/article/428/System_encryption_on_Debian_Etch

https://help.ubuntu.com/community/EncryptedFilesystemHowto4

http://madduck.net/docs/cryptdisk/

https://www.debian-administration.org/article/639/Encrypting_an_existing_Debian_lenny_installation

http://stackoverflow.com/questions/19713918/how-to-load-luks-passphrase-from-usb-falling-back-to-keyboard

Mais um caso de sucesso de reembolso do Windows

1) Primeiro Reembolso

No dia 11 de Dezembro de 2012 escrevi este email solicitando que a Dell resolvesse meu problema:

TO: suporte_midia_social@dell.com
    br_vendas@dell.com
    br_techsupport@dell.com
    br_gts@dell.com 

Caro senhores,

Eu comprei um notebook Dell 14R no Shoptime por R$ 2.291,00 e ele veio
sem o selo de autenticidade do Windows na parte debaixo. Após entrar
em contato com a Dell (o caso número: 868335035) eles não me explicaram
por que o selo não estava embaixo do notebook e nem onde ele deveria
estar caso tivessem mudado de lugar.

Então o representante da Dell (Juliano F.) entrou em contato e
disse que cobriria o preço e eu poderia compra direto da Dell. Então
devolvi o notebook ao Shoptime, mas após faze-lo o Juliano não cumpriu
o prometido. Por fim comprei o mesmo notebook do Magazine Luiza por R$
2.429,10 (etiqueta de serviço XXXXXXX), que novamente veio sem o selo
na parte debaixo dele. Eu filmei o processo de abertura da caixa e
filmei a primeira inicialização para comprovar que eu não aceitei a
EULA do Windows.

Postei minha reclamação em vários sites e no meu blog pessoal, então
um amigo sugeriu que eu verificasse debaixo da tampa, pois no HP Mini
o selo vinha neste local. Mas o selo não estava lá, porém resolvi
verificar embaixo da bateria e lá estava o selo. Ou seja, o suporte da
Dell falhou em avisar onde estava o selo.

Como eu sou usuário Linux desde 1998 e não uso Windows deste 2000 eu
instalei o Linux Ubuntu 12.04 sobre o sistema original e solicitei
reembolso da licença do Windows EOM da Dell, mas vocês se recusaram a
efetuar o reembolso alegando que o revendedor (Magazine Luiza) deveria
ter solicitado o reembolso no prazo de 7 dias.

Porém eu solicitei o reembolso 1 dia após a compra (protocolo
8039279), então não faz sentido vocês usarem o tempo da compra do
distribuidor como base, pois ele não é o consumidor final.

Após entrar em contato com a Dell via telefone a atendente disse que
eu deveria ter o direito se eu houvesse comprado direto da Dell, porém
eu não consegui comprar da Dell porque o atendente (Juliano F.)
havia prometido cobrir o valor da oferta que eu encontrei (no
Shoptime), mas depois se negou a cumprir com o combinado.

Então não tive outra opção a não ser comprar do Magazine Luiza. Passei
por vários aborrecimentos, que caso o suporte da Dell tivesse sido
pró-ativo e o vendedor um pouco mais "sério" eu não teria passado.

Gostaria que a Dell pensasse melhor e reconsiderasse esta decisão do
reembolso, pois já passei por muitos aborrecimentos e receber o
reembolso do Windows é uma questão de justiça. Prefiro resolver isso
fora dos tribunais. Mas caso vocês não queiram reconsiderar, vou
acionar a justiça e lutar pelos meu direito como consumidor até o fim.

Desde já obrigado,

Alan

P.S.: O reembolso do Windows é um direito assegurado na própria
licença (EULA) do sistema operacional e a Dell já realizou vários
casos de reembolso:

http://vinicius.soylocoporti.org.br/conseguindo-o-reembolso-da-licenca-do-microsoft-windows/
https://redemoinhos.wordpress.com/2012/03/11/relato-do-reembolso-de-licencas-de-software/
https://nonoperatingsystem.wordpress.com/
http://hacklab.com.br/2012/10/02/finalmente-a-dell-nos-reembolsa-pelos-windows-que-nao-usamos/

No dia 15/12 perdi uma ligação do DDD 51, que provavelmente era da Dell.
E enviei um email avisando o ocorrido e solicitando que ligassem novamente, então no
dia 19/12 recebi um email com o seguinte

FROM: BR_TechSupport 
Continuar com a tratativa deste caso. > Original Message Follows: > ------------------------ > Caros senhores, > > Na sexta-feira recebi uma ligação da DELL de um número do DDD 51, > provavelmente para falar sobre o assunto abaixo, porém eu estava em > reunião e não pude atender.

Porém até o dia 12/01/2013 não recebi mais nenhuma comunicação e resolvi
enviar um email solicitando alguma ação:

TO: BR_TechSupport 
CC: suporte_midia_social BR Vendas
BR GTS
Caros senhores, No Dia 19/12 você enviou este email solicitando que alguém da Dell continuasse com a tratativa deste caso, porém até o momento (12/01/2013) ninguém entrou em contato. Agora tenho mais um caso de sucesso (e com danos morais) para apresentar perante ao juíz: http://ottoteixeira.com/2013/01/09/reembolso-pelo-windows-novamente-dessa-vez-com-danos-morais/ Por favor, resolvam este assunto para mim, pois via justiça o gasto que vocês terão será maior. Att. Alan

Então no dia 15 de Janeiro de 2015 recebi um email da Dell:

From: Tamir_Junior
To: acassis@gmail.com

Boa tarde Prezado Alan,

Tentei contato com o senhor, mas sem sucesso.

Seria para conversar com o senhor, referente a possibilidade de reembolso do Windows.

O senhor tem alguma fone alternativo?

Tentei contato no fone (31) 8666-XXXX, onde estava desligado.

Fico no aguardo e caso não leia este email, retorno no dia posterior.

Tamir Junior

Especialista em Atendimento ao Cliente

O Tamir solicitou o envio da Nota Fiscal, e após enviar o email com a nota fiscal no dia 22 de Janeiro de 2013, recebi o reembolso poucos dias depois.

Apesar de ter comprado o Notebook no Magazine Luiza a Dell efetuou o pagamento do reembolso corretamente.

2) Segundo Reembolso

O fato da Dell ter efetuado o reembolso corretamente me deu mais segurança p/ comprar um novo notebook com eles, e assim no final do mês de Maio de 2013 comprei um novo notebook p/ minha esposa, desta vez comprei direto da Dell.

Imaginei que pelo fato de ter comprado direto da Dell seria mais rápido, mas o tempo p/ receber o reembolso foi quase o mesmo.

No dia 8 de Junho de 2013 enviei o seguinte email para a Dell:

Caro senhores da Dell,

Gostaria de solicitar o reembolso do Windows 8 e demais software
instalados no notebook, pois não aceitei a licença do Windows e já
instalei o Linux (distro ElementaryOS Luna) sobre a versão do Windows
que veio de fábrica.
Eu postei o video da abertura da caixa e a inicialização do sistema
onde eu afirmo que não aceito a licença do Windows:


Seguem os dados da compra:

Número do pedido: 445967XXX
Número do cliente : 107006XXX
Nome de cobrança do cliente: Alan Carvalho de Assis
Endereço de e-mail : acassis@gmail.com
Número de telefone do contato: 319120XXXX
Etiqueta de serviço: XXXXXXX

Eu já obtive o reembolso do outro notebook que comprei há mais de 6
meses (Service Tag: XXXXXXX). Caso fosse possível gostaria de ser
atendido pelo mesmo especialista em suporte ao cliente (ele chamava
Tamir Junior), pois ele é muito educado e entende bem as questões
legais envolvidas na parte de reembolso e direito dos consumidores.

O fato da Dell respeitar o direito dos consumidores (de não aceitar a
venda casada com o Windows e o direito ao reembolso) foi fator chave
para que eu comprasse outro notebook da mesma marca.

Desde já agradeço pela ajuda.

Um abraço,

Alan

Então o BR_TechSupport retornou dizendo que eu entrasse em contato com a Dell via chat e assim eu fiz:

This is an automated email sent from Dell Chat. The following information is a log of your session. Please save the log for your records.
Your session ID for this incident is 58473046.
Time 	Details
06/10/2013 08:40:21AM 	URL Shown: "https://chatadengine.dell.com/chatadsengine/adengine/Default.aspx?Queue=FD58EF2A-8EEB-4FC6-89AE-C1C3BAFE7598"
06/10/2013 08:40:29AM 	Session Started with Agent (STL_Bruna_245525)
06/10/2013 08:40:29AM 	Alan Carvalho: "Reembolso Windows"
06/10/2013 08:40:38AM 	Agent (STL_Bruna_245525): "Bom dia, obrigada por entrar em contato com o Suporte Técnico Dell, meu nome é Bruna. Em que posso ajudá-lo?"
06/10/2013 08:41:29AM 	Alan Carvalho: "Bom dia Bruna, eu entrei em contato com o BRTechSupport e eles pediram para que eu entrasse com a solicitação por telefone ou via chat"
06/10/2013 08:41:42AM 	Alan Carvalho: "Segue abaixo o conteudo do email"
06/10/2013 08:41:45AM 	Alan Carvalho: "Caro senhores da Dell,

Gostaria de solicitar o reembolso do Windows 8 e demais software
instalados no notebook, pois não aceitei a licença do Windows e já
instalei o Linux (distro ElementaryOS Luna) sobre a versão do Windows
que veio de fábrica.
Eu postei o video da abertura da caixa e a inicialização do sistema
onde eu afirmo que não aceito a licença do Windows...

Seguem os dados da compra:

Número do pedido: 445967XXX
Número do cliente : 107006XXX
Nome de cobrança do cliente: Alan Carvalho de Assis
Endereço de e-mail : acassis@gmail.com
Número de telefone do contato: 319120XXXX
Etiqueta de serviço: XXXXXXX

Eu já obtive o reembolso do outro notebook que comprei há mais de 6
meses (Service Tag: XXXXXXX). Caso fosse possível gostaria de ser
atendido pelo mesmo especialista em suporte ao cliente (ele chamava
T. Junior), pois ele é muito educado e entende bem as questões
legais envolvidas na parte de reembolso e direito dos consumidores.

O fato da Dell respeitar o direito dos consumidores (de não aceitar a
venda casada com o Windows e o direito ao reembolso) foi fator chave
para que eu comprasse outro notebook da mesma marca.
06/10/2013 08:43:07AM 	Agent (STL_Bruna_245525): "Entendi. Alan, aguarde um instante enquanto verifico algumas informações."
06/10/2013 08:44:00AM 	Alan Carvalho: "Ok, obrigado"
06/10/2013 08:46:08AM 	Agent (STL_Bruna_245525): "Alan, esse tipo de assunto não tenho como resolver daqui, pois somos do suporte técnico. Você pode estar verificando a solicitação através do telefone 0800 701 1268. Falar com o setor de pós vendas."
06/10/2013 08:47:02AM 	Alan Carvalho: "OK"
06/10/2013 08:47:26AM 	Agent (STL_Bruna_245525): "Algo mais que posso ajudá-lo?"
06/10/2013 08:47:39AM 	Alan Carvalho: "Não, obrigado, era só isso mesmo"
06/10/2013 08:47:50AM 	Agent (STL_Bruna_245525): "Agradecemos o contato, tenha um ótimo dia."
06/10/2013 08:48:06AM 	Alan Carvalho: "Pra você também"
06/10/2013 08:48:09AM 	Session Ended

Após ligar para o 0800 e explicar todo o problema novamente recebi no dia seguinte um email da Dell avisando que fariam o reembolso:

Boa tarde!

Ref: Nº do Pedido 45967XXX

Assunto: Estorno

Prezado Sr Alan,

Recebemos a sua solicitação de reembolso do valor de R$ 176,07, referente a WIN 8 e MCAFEE ,

e gostaríamos de esclarecer todos os passos do procedimento a ser adotado:

1. Solicitaremos as aprovações internas para que o processo reembolso seja gerado em nosso sistema;

2. Após as aprovações, nossa área financeira encaminhará o pagamento ou crédito;

3. Assim que o pagamento / crédito estiver disponível, entremos em contato para que o Sr(a) confirme as informações.

O prazo para a finalização deste processo é de 15 dias.

Cumpridos os termos do processo de devolução, darão as partes plena, rasa, irrestrita e mútua quitação, nada mais podendo reclamar, direta ou indiretamente, a qualquer título, em juízo ou fora dele, renunciando expressamente o direito de arrependimento.

Aguardaremos sua resposta em até 24 horas. Na falta de retorno, daremos início ao processo citado acima.

Qualquer dúvida, estou à disposição.

Atenciosamente,

Lisiane Souza
 

Finalmente no dia 21 de Junho de 2013 recebo o email avisando que o reembolso foi realizado:

From: Giovane_Bernardes
To: acassis@gmail.com

Bom dia,  

Gostaria de formalizar a conclusão do seu atendimento referente ao processo de 445967XXX.

A partir do fechamento da sua solicitação, reforço que a nossa pesquisa de satisfação poderá ser enviada para o seu email para contínua melhoria em nossos processos e atendimento. A sua opinião é muito importante para o meu desenvolvimento e para a área de Atendimento Pós Vendas.

Ao receber a pesquisa, contamos com a sua contribuição na resposta da pergunta 01 para avaliar o meu atendimento, e da pergunta referente a avaliação da resolução da sua solicitação. A pesquisa dispõe de um campo para observações, caso queira adicionar algum comentário.

Caso você entenda que sua solicitação não está plenamente solucionada, ou você não está satisfeito com o encerramento, por favor, informe em que posso lhe auxiliar, respondendo a esse e-mail.

Desde já obrigado.

Atte.

Giovane Bernardes

Neste mesmo dia verifiquei minha conta e o valor do reembolso havia caído corretamente na conta.

Espero que este relato destes dois reembolsos que recebi da Dell seja útil para outras pessoas solicitando o reembolso do Windows.

How to protect GRUB to avoid init=/bin/bash

Normally the GRUB bootloader of our computer enable any people to edit it and change the kernel command line to add “init=/bin/bash” and get irrestricted access to all files in your system.

Fortunately GRUB lets you to add a password to it as explained here:

https://www.gnu.org/software/grub/manual/html_node/Security.html

All you need to do is edit your /boot/grub/grub.conf and add:

set superusers="root"
password_pbkdf2 root grub.pbkdf2.sha512.10000.biglongstring

Also you need to create a password’s hash using this command:

$ grub-mkpasswd-pbkdf2

Then replace the above “grub.pbkdf2.sha512.10000.biglongstring” with this generated hash.

But this solution is not good enough because it will prevent the GRUB menu editing but also will annoy you asking a password everytime you try to boot your system.

You can fix it adding “- – unrestricted” to menuentry in the grub.conf:

menuentry 'Debian GNU/Linux' ... --unrestricted {
...

That is all!

Getting started with RFM69

The RF transceivers RFM69 are really nice for low power applications. There are many projects using it currently.

It supports FSK, GFSK, MSK, GMSK and OOK modulations. Also it has AES and CRC-16 engines internally.

I decide to list some projects here as future reference.

First project is called RadioHead (no! it is not the music band). The main advantage of RadioHead is because it supports many types of transceivers (nRF24, CC1100, MRF89, etc) :
http://www.airspayce.com/mikem/arduino/RadioHead/

The second project is from LowPowerLab, it is devoted exclusively to RFM69 family:
https://github.com/LowPowerLab/RFM69

Other project devoted to RFM69 is plainRFM69, this project has some optimization to enter on low power mode as soon os possible and doesn’t have all features from previous project:
https://github.com/iwanders/plainRFM69

There is an interesting thread from iwanders (Ivor Wanders is the author of plainRFM69) :
https://forum.pjrc.com/archive/index.php/t-27442.html

Another interesting project: Using a RFM69 to control a KaKu switch with OOK modulation:
http://members.home.nl/hilcoklaassen/

I receive some RFM69HW modules (bought from Alibaba) and my plan is to use it with NuttX, this transceiver has many features, then creating a Network Driver is not so easy. The datasheet is here: http://www.hoperf.com/upload/rf/RFM69HW-V1.3.pdf

Running NuttX on Teensy 3.1

The PJRC Teensy 3.1 board is a very nice and powerful board. It has a small form-factor powered by NXP/Freescale MK20DX256 ARM Cortex-M4 microcontroller at 72MHz.

Normally it is used to run Arduino compatible sketches. Since I’m not a great Arduino fan the logic thing to do is run something else on it.

Fortunately NuttX has support to this board.

These are the steps I did to get it running:

1) Download the teensy loader for your platform:

https://www.pjrc.com/teensy/loader_linux.html

$ gunzip teensy.64bit.gz 
teensy.64bit
$ mv teensy.64bit teensy_loader
$ chmod a+x teensy_loader
$ sudo cp teensy_loader /usr/local/bin/

3) Get the udev rules and copy it to right place:

$ wget https://www.pjrc.com/teensy/49-teensy.rules
Resolving www.pjrc.com (www.pjrc.com)... 67.19.59.50
Connecting to www.pjrc.com (www.pjrc.com)|67.19.59.50|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1622 (1.6K) [text/plain]
Saving to: ‘49-teensy.rules’

49-teensy.rules                100%[=================================================>]   1.58K  --.-KB/s    in 0s      

2016-04-16 15:23:31 (47.7 MB/s) - ‘49-teensy.rules’ saved [1622/1622]

$ sudo cp 49-teensy.rules /etc/udev/rules.d/

3) Clone NuttX mainline bitbucket apps and nuttx repositories.

$ mkdir nuttx_teensy
$ cd nuttx_teensy
$ git clone https://bitbucket.org/nuttx/nuttx
$ git clone https://bitbucket.org/nuttx/apps

4) Compile NuttX to Teensy 3.1:

$ cd nuttx
$ cd tools/
$ ./configure.sh teensy-3.x/nsh
$ cd ..
$ make menuconfig
  Build Setup  --->
    Build Host Platform (Linux)  --->

$ make
...
LD: nuttx
make[1]: Leaving directory '/comum/workspace/NuttX/nuttx/nuttx/arch/arm/src'
CP: nuttx.hex
CP: nuttx.bin
$

5) Plug Teensy 3.1 on USB cable and press the board’s button.

6) Now run the teensy loader:

$ teensy_loader
File ->
  Open HEX File
    Select nuttx.hex

Click on Program icon Button it will program nuttx.hex in the board

7) Connect a USB/Serial 3.3V to Teensy 3.1 board, this way:

-----------------------------
USB Serial | Teensy Board pin
-----------------------------
   GND     |       GND
   TXD     |        0
   RXD     |        1
-----------------------------

8) Run minicom or other serial console program
Configure it to use your USB/Serial port as 115200 8n1

Now in the teensy load program click on Reset icon Button, the NuttX shell will appear:

NuttShell (NSH)
nsh> ?
help usage:  help [-v] []

  [           cmp         free        mkfifo      set         unset       
  ?           dirname     help        mh          sh          usleep      
  basename    dd          hexdump     mv          sleep       xd          
  break       echo        kill        mw          test        
  cat         exec        ls          pwd         time        
  cd          exit        mb          rm          true        
  cp          false       mkdir       rmdir       uname       

Builtin Apps:
nsh> 

Moving all files and directories to a new subdirectory with a single command

This is a nice trick I learned today thank to this post.

If you are inside a directory with many files and subdirectories and you want to move everything to a new subdirectory you don’t need to move one-by-one, you can use this trick:

$ cd ~/Download
$ ls
fileA fileB fileC
dirAA dirBB dirCC
$ mkdir Download
$ shopt -s extglob
$ mv !(Download) Download

This command will move all files and directories to a new subdirectory, except the hidden files and directories (files/dir started with .something).