domingo, 29 de octubre de 2023

dump1090 en Linux - ADS-B Debian 12 y MX23

  Página principal

LINUX
dump1090  -  ADS-B
Debian 12  y  MX23

Las siglas ADS-B (Automatic dependent surveillance-broadcast) significan Vigilancia dependiente automática.
Después de 10 años he vuelto a probar el dump1090. raspavi.html  y ra_rtl1.html
Dump1090 es un programa que utilizando el receptor de TDT que emplea el chip RTL2832U+R820T (7€ - 20€) recibe las señales que emiten los aviones para indicar su posicionamiento.
Los mensajes ADS-B, son transmitidos por el equipo a bordo de los aviones de manera periódica, y utilizan la banda de 1090 MHz, tanto a otras aeronaves como a las estaciones de control en tierra.
El dump1090-mutability es un fork de dump1090 , es el que viene con las distribuciones.
Al intentar instalarlo en una distribución de Linux, me surgieron bastantes problemas, por lo que decidí hacer un video-tutorial.
Después de muchas pruebas he tenido que borrar la configuración que viene por defecto en nginx, de otra forma no me funciona.

Los dos programas que tenemos que instalar son:
nginx   - servidor web
dump1090-mutability - el programa receptor de señales ADS-B

Serie de comandos para la instalación:

/etc/init.d/dump1090-mutability stop
sudo dpkg-reconfigure dump1090-mutability
/etc/init.d/dump1090-mutability start

ln -s /etc/nginx/sites-available/dump1090-mutability /etc/nginx/sites-enabled/dump1090.conf
rm /etc/nginx/sites-enabled/default
ls /etc/nginx/sites-enabled/
/etc/init.d/nginx restart
nginx -T




En algún caso no funciona debido a que no reconoce la tarjeta receptora usb.

Lo podemos ver con la orden:

more /var/log/dump1090-mutability.log


Wed Nov  1 18:40:23 2023 CET  EB_SOURCE EB_VERSION starting up.
Using sample converter: UC8, integer/table path
No supported RTLSDR devices found.

Editamos el fichero  con la orden:

nano /etc/udev/rules.d/rtl-sdr.rules

Copia lo siguiente:

SUBSYSTEMS=="usb", ATTRS{idVendor}=="0bda", ATTRS{idProduct}=="2838", MODE:="0666"

Para ver que ID del USB tiene tu tarjeta ejecuta la orden lsusb . En mi caso es:
      Bus 002 Device 002: ID 0bda:2838 Realtek Semiconductor Corp. RTL2838 DVB-T
Modifica para tu receptor 0bda and 2838  para que coincida con el tuyo.

Guarda el fichero.


Editamos  con la orden:

sudo nano /etc/modprobe.d/no-rtl.conf

Añade las lineas:

blacklist dvb_usb_rtl28xxu
 blacklist rtl2832
 blacklist rtl2830


Guarda el fichero y reinicia el ordenador.

Después tecleamos:

more /var/log/dump1090-mutability.log

Wed Nov  1 18:40:23 2023 CET  EB_SOURCE EB_VERSION starting up.
Using sample converter: UC8, integer/table path
No supported RTLSDR devices found.
Wed Nov  1 18:48:32 2023 CET  EB_SOURCE EB_VERSION starting up.
Using sample converter: UC8, integer/table path
Found 1 device(s):
0: Realtek, RTL2838UHIDIR, SN: 00000001 (currently selected)
Found Rafael Micro R820T tuner
Max available gain is: 49.60 dB
Setting gain to: 49.60 dB
Gain reported by device: 49.60 dB
Allocating 15 zero-copy buffers

La tarjeta receptora ha sido detectada y ya podemos ver los aviones en el navegador en la dirección:

localhost/dump1090





VIDEO




Saludos.
Juan Galaz


Bibliografía:



https://github.com/adsb-related-code/dump1090-mutability


martes, 3 de octubre de 2023

Linux - Test de velocidad de discos duros.

 


Test de velocidad de discos duros.


Mirando como podía hacer más rápido el trabajo con ficheros, y la compilación de programas, decidí hacer una prueba con diferente tipo de discos, HDD, SSD, RAM.
El resultado es muy revelador, el disco RAM es el mejor método de trabajar con ficheros.
Solo debemos acordarnos de que al reiniciar el ordenador, el disco RAM se borra, y todos los ficheros desaparecen.


Método 1.


apt-get install hdparm
hdparm -tT /dev/sda


Disco HDD
---------
/dev/sda:
 Timing cached reads:   22794 MB in  1.99 seconds = 11431.63 MB/sec
 Timing buffered disk reads: 466 MB in  3.01 seconds = 155.03 MB/sec

Disco SSD
---------
/dev/sdb:
 Timing cached reads:   22918 MB in  1.99 seconds = 11493.75 MB/sec
 Timing buffered disk reads: 1538 MB in  3.00 seconds = 512.05 MB/sec





Método 2.

apt-get install ioping


Disco HDD
--------- WRITE
root@debian11:/mnt/DATOS2# ioping -S64M -L -s4k -W -c 10 .
......
--- . (fuseblk /dev/sda6 300.0 GiB) ioping statistics ---
9 requests completed in 301.1 ms, 36 KiB written, 29 iops, 119.6 KiB/s
generated 10 requests in 9.03 s, 40 KiB, 1 iops, 4.43 KiB/s
min/avg/max/mdev = 27.4 ms / 33.5 ms / 38.7 ms / 5.04 ms

Disco HDD
--------- READ
root@debian11:/mnt/DATOS2# ioping -A -D -s16k -c 10 .
.....
--- . (fuseblk /dev/sda6 300.0 GiB) ioping statistics ---
9 requests completed in 1.47 ms, 144 KiB read, 6.12 k iops, 95.6 MiB/s
generated 10 requests in 9.00 s, 160 KiB, 1 iops, 17.8 KiB/s
min/avg/max/mdev = 158.0 us / 163.4 us / 170.0 us / 3.92 us

Disco SSD
--------- WRITE
root@debian11:/mnt/DATOS2# cd ~
root@debian11:~# ioping -S64M -L -s4k -W -c 10 .
....
--- . (ext4 /dev/sdb7 39.1 GiB) ioping statistics ---
9 requests completed in 6.78 ms, 36 KiB written, 1.33 k iops, 5.18 MiB/s
generated 10 requests in 9.00 s, 40 KiB, 1 iops, 4.44 KiB/s
min/avg/max/mdev = 417.0 us / 753.8 us / 892.0 us / 178.5 us


Disco SSD
--------- READ
root@debian11:~# ioping -A -D -s16k -c 10 .
.....

--- . (ext4 /dev/sdb7 39.1 GiB) ioping statistics ---
9 requests completed in 3.06 ms, 144 KiB read, 2.94 k iops, 46.0 MiB/s
generated 10 requests in 9.00 s, 160 KiB, 1 iops, 17.8 KiB/s
min/avg/max/mdev = 324.2 us / 339.6 us / 351.9 us / 10.4 us



Método 3.

dd if=/dev/zero of=speed_test bs=64k count=16k conv=fdatasync

Escribir 1Gb fichero grande.

Disco SSD
--------- WRITE
root@debian11:/home/seta# dd if=/dev/zero of=speed_test bs=64k count=16k conv=fdatasync
16384+0 registros leídos
16384+0 registros escritos
1073741824 bytes (1,1 GB, 1,0 GiB) copied, 3,79558 s, 283 MB/s

Disco HDD
--------- WRITE
root@debian11:/mnt/DATOS1# dd if=/dev/zero of=speed_test bs=64k count=16k conv=fdatasync
16384+0 registros leídos
16384+0 registros escritos
1073741824 bytes (1,1 GB, 1,0 GiB) copied, 13,2229 s, 81,2 MB/s

Disco RAM
--------- WRITE
root@debian11:/mnt/ramdisk# dd if=/dev/zero of=speed_test bs=64k count=16k conv=fdatasync
16384+0 registros leídos
16384+0 registros escritos
1073741824 bytes (1,1 GB, 1,0 GiB) copied, 0,274335 s, 3,9 GB/s




Escribir 839MG en ficheros pequeños de 1K

Disco SSD ficheros pequeños
--------- WRITE
root@debian11:~# dd if=/dev/zero of=speed_test bs=1k count=800k conv=fdatasync
819200+0 registros leídos
819200+0 registros escritos
838860800 bytes (839 MB, 800 MiB) copied, 3,66511 s, 229 MB/s

Disco HDD ficheros pequeños
--------- WRITE
root@debian11:/mnt/DATOS1# dd if=/dev/zero of=speed_test bs=1k count=800k conv=fdatasync
819200+0 registros leídos
819200+0 registros escritos
838860800 bytes (839 MB, 800 MiB) copied, 30,8502 s, 27,2 MB/s


Disco RAM ficheros pequeños
--------- WRITE -pru3
root@debian11:/mnt/ramdisk# dd if=/dev/zero of=speed_test bs=1k count=800k conv=fdatasync
819200+0 registros leídos
819200+0 registros escritos
838860800 bytes (839 MB, 800 MiB) copied, 1,02066 s, 822 MB/s




Saludos.
Juan Galaz


Bibliografía:

https://www.analyticslane.com/2023/01/25/medir-la-velocidad-de-escritura-del-disco-en-linux/
https://blog.webuphosting.com/medir-la-velocidad-del-disco-duro-en-linux/