Piero V.

A small journey with my Orange Pi Zero

A couple of weeks ago, Debian Bookworm became stable. I have a few devices running stable, including an Orange Pi Zero I use to open and close my garage door with a Telegram bot.

So, I SSH’ed in it, and ran the following commands:

apt update
apt upgrade
apt dist-upgrade

Without even changing my /etc/apt/sources.list because I already keep stable instead of the codename 😎️.

End of the story, just like any other major Debian update there in the last 6 years… Or is it?

I just wanted a new kernel…

Many boot files were dated June 2017, so the system probably started as Debian Stretch. And actually, it was an Armbian installation (which uses the official Debian repos, contrarily to Raspbian, plus a custom repository for a few additional packages).

The Linux kernel was one of these custom packages, and its version was 4.11.3, released on May 25, 2017, so quite old. I wanted a more recent kernel with security vulnerabilities fixed and all the other improvements.

Debian supports a configuration they call ARMMP (ARM multiplatform). With a single kernel and DeviceTree, it targets many different devices, and the Orange Pi is one of them. So, I tried to install Debian’s official kernel instead of the one I was using… and for the first time in 6 years, I screwed up to the point I needed to remove the thumb drive I use as storage on that system. It was somehow annoying because the board is in an electrical box, and there were several things I needed to move to get to it. I tried to troubleshoot it for an entire evening without success. Eventually, I went back to the old kernel, closed the box, and moved everything again. … [Leggi il resto]

Debian on an encrypted microSD on a Surface Pro 2017

Wow, I have not needed to write a guide about installing a Linux system for years (well, these are my notes rather than a complete guide).

Partly because I found it quite easy in the latest… 5 years? Partly because I avoid reinstalling my systems unless strictly needed.

This time is different: I am targeting a peculiar device (a Surface Pro 2017) with a microSD (I am too lazy to repartition its SSD) and full disk encryption (including /boot).

But I am happy because I have learned a lot! For example, if you choose the expert installation for Debian, you can disable the source repositories immediately!

Big caveat: my initial plan was to install GRUB on the microSD, but it did not work. If I understood correctly, the Surface cannot boot from SDs. So, I used the ESP of the SSD. If you wanted a completely autonomous system on a microSD that disappears as soon as you remove it, I fear you cannot get one.

Preparing the install drive

After I discovered Rufus, I have always used it to prepare installation drives on Windows.

But Debian ISOs have a feature I really appreciate: in UEFI mode, you can just extract the image to a FAT32 partition. The advantages are that you do not need Windows, and you do not have to format the drive, you do not lose any existing data. And, on top of that, secure boot worked at the first try (with Microsoft & 3rd party CAs, but I do not remember if it is the default). I have tried with other distributions, but none worked in the same way. … [Leggi il resto]

Disconnessioni con Atheros AR9485

Da alcuni mesi ho un bug decisamente antipatico con il WiFi nel mio portatile ASUS N550, dotato di una Qualcomm Atheros AR9485.

La scheda ha sempre funzionato abbastanza bene, viene gestita dal leggendario driver ath9k, uno dei migliori driver prima dell’arrivo di 802.11AC, anche se comunque il mio modello di scheda non è mai stato considerato uno dei migliori.

Ad un certo punto, però, ho cominciato a riscontrare continue disconnessioni, o in alcuni test con wget e altri computer della LAN, riscontravo un brusco calo della velocità di download fino al fermarsi dello stesso.

In particolare, su dmesg riscontravo questo errore:

[   65.582958] ath: phy0: DMA failed to stop in 10 ms AR_CR=0x00000024 AR_DIAG_SW=0x02000020 DMADBG_7=0x00006100
[   66.744578] wlp4s0: authenticate with e8:de:27:xx:xx:xx
[   66.764530] wlp4s0: send auth to e8:de:27:xx:xx:xx (try 1/3)
[   66.769890] wlp4s0: authenticated
[   66.771192] wlp4s0: associate with e8:de:27:xx:xx:xx (try 1/3)
[   66.775556] wlp4s0: RX AssocResp from e8:de:27:xx:xx:xx (capab=0x431 status=0 aid=6)
[   66.775668] wlp4s0: associated

Come potete vedere, è capitato a solo un minuto dal boot. … [Leggi il resto]

Ralink RT3070, chip di 10 anni, vs. Network Manager

Di recente, mi sono stufato di usare la Edimax EW-7811UTC, perché aveva un sacco di problemi sia su Linux, con i costanti driver da tenere tramite DKMS, che su Windows.

D’altra parte, però, investire oggi su una scheda PCI Express con supporto al WiFi 5, come viene chiamato oggi 802.11ac, non ne vale la pena, proprio perché c’è il nuovo WiFi 6 (nome che sostituisce 802.11ax).

Per questa nuova tecnologia, ho trovato solo una Intel Killer AX1650, che sarebbe anche supportata da Debian, ma l’ho trovata solo in formato M.2. Tra scheda e adattatore PCI/antenne andrei a spendere non meno di 50-60€. Su Amazon marketplace ci sarebbero anche delle AX200 a meno soldi, ma i venditori non mi sembrano troppo affidabili e comunque richiederebbero sempre un convertitore.

Siccome questo bisogno di WiFi potrebbe essere una cosa temporanea, ho deciso allora di rispolverare una vecchia chiavetta D-Link compatibile con 802.11n a 150Mbps, 2,4GHz, basata su un vecchio Ralink RT3070. … [Leggi il resto]

Debian Stretch e Raspberry Pi 3

A Ottobre dei miei amici mi hanno regalato una Raspberry Pi 3 e avevo già fatto qualche esperimento con le varie distribuzioni Linux.

In particolare avevo provato Debian testing con architettura Arm64, però a quel tempo non ne ero rimasto molto soddisfatto perché avevo dovuto usare un kernel di Ubuntu che non funzionava con dell’hardware come il Wi-Fi ed era poco integrato nel sistema.

Stato corrente

Da dieci giorni Stretch è in freeze completo e tra poco sarà la nuova stable, quindi è un ottimo momento per installarla sulla Raspberry.

Una cosa molto interessante è che è dotata di Linux 4.9, il che è veramente ottimo, perché già dalla versione 4.8 il BCM2837, ovvero il SoC della Raspberry Pi 3, è nella mainline del kernel.

Sulla pagina principale sulle Raspberry Pi sul Wiki di Debian c’è ancora un’informazione errata, ovvero che Debian necessita di un kernel di terze parti per funzionare. Infatti, nella pagina dedicata esclusivamente alla versione 3, viene confermata la compatibilità col kernel fornito e c’è una lista di bug, di cui ho potuto verificare solo il terzo: … [Leggi il resto]