DVB-T+FM+DAB 820T2 & SDR [Prise de notes]

Quand on le branche sur le pc:

$ dmesg
[101575.106304] usb 2-1.5: USB disconnect, device number 3
[101575.106692] usb 2-1.5: dvb_usb_v2: rc.query() failed=-71
[101575.151830] r820t 10-001a: destroying instance
[101575.152432] dvb_usb_v2: 'Realtek RTL2832U reference design:2-1.5' successfully deinitialized and disconnected
[101577.934613] usb 2-1.5: new high-speed USB device number 4 using ehci-pci
[101578.055016] usb 2-1.5: New USB device found, idVendor=0bda, idProduct=2838, bcdDevice= 1.00
[101578.055021] usb 2-1.5: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[101578.055023] usb 2-1.5: Product: RTL2838UHIDIR
[101578.055024] usb 2-1.5: Manufacturer: Realtek
[101578.055025] usb 2-1.5: SerialNumber: 00000001
[101578.062272] usb 2-1.5: dvb_usb_v2: found a 'Realtek RTL2832U reference design' in warm state
[101578.121186] usb 2-1.5: dvb_usb_v2: will pass the complete MPEG2 transport stream to the software demuxer
[101578.121192] dvbdev: DVB: registering new adapter (Realtek RTL2832U reference design)
[101578.121195] usb 2-1.5: media controller created
[101578.121414] dvbdev: dvb_create_media_entity: media entity 'dvb-demux' registered.
[101578.123639] i2c i2c-9: Added multiplexed i2c bus 10
[101578.123642] rtl2832 9-0010: Realtek RTL2832 successfully attached
[101578.123650] usb 2-1.5: DVB: registering adapter 0 frontend 0 (Realtek RTL2832 (DVB-T))...
[101578.123655] dvbdev: dvb_create_media_entity: media entity 'Realtek RTL2832 (DVB-T)' registered.
[101578.123728] r820t 10-001a: creating new instance
[101578.130888] r820t 10-001a: Rafael Micro r820t successfully identified
[101578.132635] rtl2832_sdr rtl2832_sdr.2.auto: Registered as swradio0
[101578.132637] rtl2832_sdr rtl2832_sdr.2.auto: Realtek RTL2832 SDR attached
[101578.132639] rtl2832_sdr rtl2832_sdr.2.auto: SDR API is still slightly experimental and functionality changes may follow
[101578.139777] Registered IR keymap rc-empty
[101578.139824] rc rc0: Realtek RTL2832U reference design as /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.5/rc/rc0
[101578.139917] rc rc0: lirc_dev: driver dvb_usb_rtl28xxu registered at minor = 0, raw IR receiver, no transmitter
[101578.139947] input: Realtek RTL2832U reference design as /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.5/rc/rc0/input27
[101578.140128] usb 2-1.5: dvb_usb_v2: schedule remote query interval to 200 msecs
[101578.152771] usb 2-1.5: dvb_usb_v2: 'Realtek RTL2832U reference design' successfully initialized and connected
Langage du code : PHP (php)

Installer le packet

sudo apt install rtl-sdr rtl-433

Puis lancement du rtl_test:

$ rtl_test
Found 1 device(s):
  0:  Realtek, RTL2838UHIDIR, SN: 00000001

Using device 0: Generic RTL2832U OEM
Detached kernel driver
Found Rafael Micro R820T tuner
Supported gain values (29): 0.0 0.9 1.4 2.7 3.7 7.7 8.7 12.5 14.4 15.7 16.6 19.7 20.7 22.9 25.4 28.0 29.7 32.8 33.8 36.4 37.2 38.6 40.2 42.1 43.4 43.9 44.5 48.0 49.6 
[R82XX] PLL not locked!
Sampling at 2048000 S/s.

Info: This tool will continuously read from the device, and report if
samples get lost. If you observe no further output, everything is fine.

Reading samples in async mode...
Allocating 15 zero-copy buffers

^CSignal caught, exiting!

User cancel, exiting...
Samples per million lost (minimum): 0
Reattached kernel driver
Langage du code : JavaScript (javascript)

On arrive bien à chopper les trames du capteur de température lacrosse :

$ rtl_433 -f 433.92M
rtl_433 version 21.12 (2021-12-14) inputs file rtl_tcp RTL-SDR SoapySDR
Use -h for usage help and see https://triq.org/ for documentation.
Trying conf file at "rtl_433.conf"...
Trying conf file at "/home/fabien/.config/rtl_433/rtl_433.conf"...
Trying conf file at "/usr/local/etc/rtl_433/rtl_433.conf"...
Trying conf file at "/etc/rtl_433/rtl_433.conf"...
Registered 176 out of 207 device decoding protocols [ 1-4 8 11-12 15-17 19-23 25-26 29-36 38-60 63 67-71 73-100 102-105 108-116 119 121 124-128 130-149 151-161 163-168 170-175 177-197 199 201-207 ]
Detached kernel driver
Found Rafael Micro R820T tuner
Exact sample rate is: 250000.000414 Hz
[R82XX] PLL not locked!
Sample rate set to 250000 S/s.
Tuner gain set to Auto.
Tuned to 433.920MHz.
Allocating 15 zero-copy buffers
baseband_demod_FM: low pass filter for 250000 Hz at cutoff 25000 Hz, 40.0 us
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
time      : 2026-09-05 11:50:40
model     : LaCrosse-TX141THBv2                    Sensor ID : fc
Channel   : 00           Battery   : 1             Temperature: 23.20 C      Humidity  : 66 %          Test?     : Yes           Integrity : CRC
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
time      : 2026-09-05 11:50:40
model     : LaCrosse-TX141THBv2                    Sensor ID : fc
Channel   : 00           Battery   : 1             Temperature: 23.20 C      Humidity  : 66 %          Test?     : Yes           Integrity : CRC
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
time      : 2026-09-05 11:50:43
model     : LaCrosse-TX141THBv2                    Sensor ID : fc
Channel   : 00           Battery   : 1             Temperature: 23.20 C      Humidity  : 66 %          Test?     : Yes           Integrity : CRC
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
time      : 2026-09-05 11:50:43
model     : LaCrosse-TX141THBv2                    Sensor ID : fc
Channel   : 00           Battery   : 1             Temperature: 23.20 C      Humidity  : 66 %          Test?     : Yes           Integrity : CRC
Langage du code : JavaScript (javascript)
Publié dans Non classé | Marqué avec , , , , , , , | Laisser un commentaire

RFXcom [Prise de note]

Le RFXcom est un récepteur radio USB qui permet de snifer sur les fréquences du 433Mhz notamment.

Connexion de l’adaptateur :

$ dmesg 
[95735.700130] usb 1-1.5.4.2: new full-speed USB device number 31 using ehci-pci
[95735.822854] usb 1-1.5.4.2: New USB device found, idVendor=0403, idProduct=6001, bcdDevice= 6.00
[95735.822858] usb 1-1.5.4.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[95735.822860] usb 1-1.5.4.2: Product: RFXtrx433
[95735.822861] usb 1-1.5.4.2: Manufacturer: RFXCOM
[95735.822862] usb 1-1.5.4.2: SerialNumber: A12IVAC6
[95735.825069] ftdi_sio 1-1.5.4.2:1.0: FTDI USB Serial Device converter detected
[95735.825163] usb 1-1.5.4.2: Detected FT232RL
[95735.826515] usb 1-1.5.4.2: FTDI USB Serial Device converter now attached to ttyUSB0
Langage du code : PHP (php)

Un port série apparait en plus du /dev/ttyUSB0:

$ ls /dev/serial/by-id/usb-RFXCOM_RFXtrx433_A12IVAC6-if00-port0 
/dev/serial/by-id/usb-RFXCOM_RFXtrx433_A12IVAC6-if00-port0

Publié dans Non classé | Laisser un commentaire

Bus Pirate 5 [prise de notes]

Bus pirate est un couteau suisse de l’électronique. Grâce à ce petit appareil qui se branche sur votre ordinateur avec un connecteur USB-C vous pouvez émuler n’importe quel bus standard de l’électronique :

La version 5 possède en prime un écran LCD couleurs pour afficher tout un tas de données utiles.

Lorsque l’on branche son bus pirate sur l’ordinateur on obtient les dmesg suivants:

[fabien:~] $ dmesg
[87004.811126] usb 1-1.5.2: new full-speed USB device number 26 using ehci-pci
[87004.922117] usb 1-1.5.2: New USB device found, idVendor=1209, idProduct=7332, bcdDevice= 1.01
[87004.922121] usb 1-1.5.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[87004.922122] usb 1-1.5.2: Product: Bus Pirate 5
[87004.922124] usb 1-1.5.2: Manufacturer: Bus Pirate
[87004.922124] usb 1-1.5.2: SerialNumber: 123456789012
[87004.923364] cdc_acm 1-1.5.2:1.0: ttyACM0: USB ACM device
[87004.923982] cdc_acm 1-1.5.2:1.2: ttyACM1: USB ACM device
[87004.924287] usb-storage 1-1.5.2:1.4: USB Mass Storage device detected
[87004.924473] scsi host7: usb-storage 1-1.5.2:1.4
[87005.947961] scsi 7:0:0:0: Direct-Access     BP5      Storage          1.0  PQ: 0 ANSI: 2
[87005.948249] sd 7:0:0:0: Attached scsi generic sg4 type 0
[87005.949034] sd 7:0:0:0: [sde] 47824 2048-byte logical blocks: (97.9 MB/93.4 MiB)
[87005.950280] sd 7:0:0:0: [sde] Write Protect is off
[87005.950283] sd 7:0:0:0: [sde] Mode Sense: 03 00 00 00
[87005.951385] sd 7:0:0:0: [sde] No Caching mode page found
[87005.951390] sd 7:0:0:0: [sde] Assuming drive cache: write through
[87005.962891]  sde: sde1
[87005.966259] sd 7:0:0:0: [sde] Attached SCSI removable disk
Langage du code : PHP (php)

La documentation en ligne est très bien fournie et permet de se mettre à l’ouvrage rapidement.

Ormis un terminal tty, il n’y a rien à installer sur son ordinateur. Perso je suis devenu fan de tio pour me connecter à en série :

$ tio /dev/ttyACM0
[tio 08:02:41] tio v1.32
[tio 08:02:41] Press ctrl-t q to quit
[tio 08:02:41] Connected


VT100 compatible color mode? (Y/n)> 

On arrive sur une super console pleine de couleurs :

Publié dans électronique | Marqué avec , , | Laisser un commentaire

Archiver en local tous ses projets github

Visiblement github devient de plus en plus aléatoire dans sa gestion des projets qu’on lui confie. Pour être sur de ne pas perdre ses projets et pour éviter d’avoir à passer des heures à faire le tri entre les projets qui comptent ou pas on peut simplement faire un script pour tous les archiver en local.

Pour se logger en console sur github et lister les dépots de son compte on utilisera gh :

sudo apt install gh
# S'authentifier sur github
gh auth login
# Lister ses dépots
gh repo list --limit 1000Langage du code : PHP (php)

On peut ensuite faire un git clone --mirror dans une boucle sur tous les projets.

gh repo list --limit 1000 --json nameWithOwner --jq '.[].nameWithOwner' |
while read repo; do
    name="${repo#*/}"
    echo "=== $repo ==="

    tmp=$(mktemp -d)

    git clone --mirror "https://github.com/$repo.git" "$tmp/$name.git" &&
    tar -cjf "$name.tar.bz2" -C "$tmp" "$name.git"

    rm -rf "$tmp"
doneLangage du code : PHP (php)

Merci à Chatgpt … 😉

Publié dans Non classé | Marqué avec , , , | Laisser un commentaire

Quilt : Pour tripoter les patches d’un paquet buildroot.

Buildroot télécharge les sources officielles des logiciels pour ensuite les modifier avec des patches inclus dans le paquet.

Si on prend l’exemple du paquet uboot. Pour le compiler on fait simplement un :

$ make uboot

À la racine de buildroot.

Cette règle générale cache en fait tout un tas d’étapes de constructions visibles par les timbres (.stamp) dans le répertoire build :

$ cd output/build/uboot-VERSION/
$ ls -l
.stamp_downloaded
.stamp_extracted
.stamp_patched
.stamp_dotconfig
.stamp_kconfig_fixup_done
.stamp_configured
.stamp_built
.stamp_target_installed
.stamp_images_installed
.stamp_installed

Les fichiers .stamp ont été ici mis dans l’ordre d’exécution.

Extraction du paquet

L’étape qui nous intéresse présentement est .stamp_patched.

Pour pouvoir éditer les patches à la main il va nous falloir faire cette étape à la main.

Tout d’abord on télécharge et extrait le paquet avec buildroot :

make uboot-extract

Notez que si votre paquet est déjà compilé il faudra faire table rase avec un :

make uboot-dirclean

Ce qui aura pour effet de supprimer le répertoire output/build/uboot-VERSION

Buildroot va passer toute les étapes précédentes (téléchargement, décompression) et s’arrêter juste avant les patches.

Patchons avec quilt

Pour patcher à la main il faut d’abord se rendre dans le répertoire de build du paquet fraichement créé puis importer les patch avec quilt.

$ quilt import ../../../../br-external-oposa5e-sp/boot/uboot/patches/*.patchLangage du code : JavaScript (javascript)

Ici les patches proviennent d’un br-external, mais c’est une autre histoire.

La commande import a pour effet de copier les patches dans un répertoire patches/ et ajoute un fichier texte nommé series qui les liste.

À cette étape, les patches ne sont pas encore appliqués. Il faut pour cela les pousser avec la commande quilt push.

Si l’on souhaite appliquer d’un coup tous les patches de la série on utilisera l’option -a:

$ quilt push -a
Applying patch patches/0001-oposa5esp-065b-devicetree.patch
patching file arch/arm/dts/oposa5e_sp_065b.dts
patching file configs/oposa5e_sp_065b_defconfig
patching file arch/arm/dts/oposa5e_sp_065b-u-boot.dtsi

Now at patch patches/0001-oposa5esp-065b-devicetree.patch

Pour le coup ici il n’y a qu’un patch.

Si vous souhaitez ajouter des patches utilisez new et pour ajouter des fichiers à modifier utiliser add avant de modifier le fichier. Tout ceci est très bien expliqué dans la page man et n’est pas le sujet de ce billet.

Continuer le build du paquet

Maintenant que nous avons patché à la main il faut le dire à buildroot en ajoutant le timbre :

$ touch .stamp_patched

Puis on retourne dans le répertoire principal de buildroot pour finir la construction du paquet.

$ cd ../../../
$ make uboot

Modification d’un patch une fois le paquet construit

Pour revenir à l’étape de modification des patches on supprime tous les timbres correspondant aux étapes d’après .stamp_patched .

$ rm .stamp_*
$ touch .stamp_downloaded .stamp_extracted .stamp_patched

Puis on remet son quilt pour tripoter les patches.

On peut également utiliser la cible «rebuild» pour automatiser tout ça :

$ make uboot-rebuild

Ressources

Publié dans embarqué, informatique, Non classé, programmation | Marqué avec , , , , , , , | Laisser un commentaire

Debug de device tree linux/uboot

Petit truc pour debuger un device tree.

Pour s’assurer que l’on a chargé le bon dt, il est possible d’ajouter des registres personnalisés dans son dts/dtsi. Il n’y a pas de règle de nommage mais à titre personnel j’ajoute le nom du fichiers dts que je préfix avec debug :

debug_socfpga_agilex5_dts = "Message pour indiquer ce qui a changé";Langage du code : JavaScript (javascript)

Une fois compilé puis démarré on peut lire le registre.

Sous uboot

# fdt addr $fdtcontroladdr
Working FDT set to ffb02080
#  fdt list /                         
/ {
	compatible = "intel,socfpga-agilex";
	#address-cells = <0x00000002>;
	#size-cells = <0x00000002>;
	model = "SoCFPGA Agilex5 SoCDK";
	debug_socfpga_agilex5_dts = "Message pour indiquer ce qui a changé";
	fit-images {
	};
	reserved-memory {
	};
	cpus {
	};
	pmu {
	};
	psci {
	};
	intc@fffc1000 {
	};
	soc {
	};
	aliases {
	};
	leds {
	};
	memory {
	};
	binman {
	};
	chosen {
	};
};
Langage du code : PHP (php)

On retrouve notre registre de debug parmis la liste des nœuds s’assurant ainsi que nous avons chargé le bon dt.

Sous Linux

Sous Linux la liste des nœuds est donnée dans le répertoire /proc/device-tree et le contenu des registres se lit simplement avec cat:

# ls /proc/device-tree/
...
# cat /proc/device-tree/debug_socfpga_agilex5_dts
Message pour indiquer ce qui a changé# Langage du code : PHP (php)

Méthode très utile pour s’assurer qu’on fait bien tourner le device tree que l’on vient de modifier.

Publié dans Non classé | Marqué avec , , , , , | Laisser un commentaire

GM861 UART/USB

Branchement sous Linux du lecteur de Qr code GM861 :

[78976.298243] usb 1-2.4.1: USB disconnect, device number 20
[78980.566616] usb 1-2.4.1: new full-speed USB device number 21 using xhci_hcd
[78980.663171] usb 1-2.4.1: New USB device found, idVendor=002c, idProduct=261a, bcdDevice= 0.00
[78980.663187] usb 1-2.4.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[78980.663194] usb 1-2.4.1: Product: USBKey Module
[78980.663200] usb 1-2.4.1: Manufacturer: USBKey Chip
[78980.663206] usb 1-2.4.1: SerialNumber: 202730041341
[78980.722765] input: USBKey Chip USBKey Module as /devices/pci0000:00/0000:00:08.1/0000:04:00.3/usb1/1-2/1-2.4/1-2.4.1/1-2.4.1:1.0/0003:002C:261A.0009/input/input29
[78980.806861] hid-generic 0003:002C:261A.0009: input,hidraw4: USB HID v1.10 Keyboard [USBKey Chip USBKey Module] on usb-0000:04:00.3-2.4.1/input0
Langage du code : PHP (php)

Documentation

Publié dans Non classé | Laisser un commentaire

MK20 boot

En ouvrant le MK20 on trouve 6 pads sur le coté dont un semble correspondre à l’UART de boot du T113-S3.

Si on branche un adaptateur USB-UART dessus on obtient la sortie suivante :

$ tio -b 115200 /dev/ttyUSB0
[tio 22:20:30] tio v1.32
[tio 22:20:30] Press ctrl-t q to quit
[tio 22:20:30] Connected
[192]HELLO! BOOT0 is starting!
[195]BOOT0 commit : 4d16602
[198]set pll start
[200]fix vccio detect value:0xc0
[207]periph0 has been enabled
[210]set pll end
[211][pmu]: bus read error
[214]board init ok
[216]ZQ value = 0x2d
[218]get_pmu_exist() = -1
[221]ddr_efuse_type: 0xa
[223]trefi:7.8ms
[225][AUTO DEBUG] single rank and full DQ!
[230]ddr_efuse_type: 0xa
[232]trefi:7.8ms
[234][AUTO DEBUG] rank 0 row = 13 
[238][AUTO DEBUG] rank 0 bank = 8 
[241][AUTO DEBUG] rank 0 page size = 2 KB 
[245]DRAM BOOT DRIVE INFO: V0.33
[248]DRAM CLK = 792 MHz
[250]DRAM Type = 3 (2:DDR2,3:DDR3)
[253]DRAMC read ODT  off.
[256]DRAM ODT value: 0x42.
[259]ddr_efuse_type: 0xa
[262]DRAM SIZE =128 M
[264]dram_tpr4:0x0
[266]PLL_DDR_CTRL_REG:0xf8004100
[269]DRAM_CLK_REG:0xc0000000
[272][TIMING DEBUG] MR2= 0x18
[279]DRAM simple test OK.
[281]rtc standby flag is 0x0, super standby flag is 0x0
[286]dram size =128
[289]card no is 0
[291]sdcard 0 line count 4
[293][mmc]: mmc driver ver 2021-05-21 14:47
[303][mmc]: Wrong media type 0x0
[306][mmc]: ***Try SD card 0***
[316][mmc]: HSSDR52/SDR25 4 bit
[319][mmc]: 50000000 Hz
[321][mmc]: 3840 MB
[323][mmc]: ***SD/MMC 0 init OK!!!***
[422]Loading boot-pkg Succeed(index=0).
[426]Entry_name        = u-boot
[433]Entry_name        = optee
[437]Entry_name        = dtb
[440]mmc not para
[442]Jump to second Boot.
M/TC: OP-TEE version: 6aef7bb2-dirty (gcc version 5.3.1 20160412 (Linaro GCC 5.3-2016.05)) #1 Fri Jul 23 09:25:11 UTC 2021 arm


U-Boot 2018.05-g6c4e831 (Sep 28 2025 - 10:28:48 +0000) Allwinner Technology

[00.498]CPU:   Allwinner Family
[00.501]Model: sun8iw20
[00.503]DRAM:  128 MiB
[00.506]Relocation Offset is: 04e9b000
[00.535]secure enable bit: 0
[00.538]CPU=1008 MHz,PLL6=600 Mhz,AHB=200 Mhz, APB1=100Mhz  MBus=300Mhz
[00.544]gic: sec monitor mode
[00.551]flash init start
[00.553]workmode = 0,storage type = 1
[00.556][mmc]: mmc driver ver uboot2018:2021-06-15 14:00:00
[00.562][mmc]: get sdc_type fail and use default host:tm1.
[00.568][mmc]: can't find node "mmc0",will add new node
[00.572][mmc]: fdt err returned <no error>
[00.576][mmc]: Using default timing para
[00.580][mmc]: SUNXI SDMMC Controller Version:0x50310
[00.598][mmc]: card_caps:0x3000000a
[00.601][mmc]: host_caps:0x3000003f
[00.606]sunxi flash init ok
[00.608]line:703 init_clocks
[00.611]drv_disp_init
request pwm success, pwm7:pwm7:0x2000c00.
[00.624]drv_disp_init finish
[00.627]boot_gui_init:start
[00.629]set disp.dev2_output_type fail. using defval=0
FDT ERROR:fdt_get_all_pin:get property handle pinctrl-0 error:FDT_ERR_INTERNAL
disp_sys_pin_set_state, fdt_set_all_pin, ret=-1
[00.646]




[00.648]info: LCD model is MK20 
[00.711]info: LCD_power_on_MK20_PLUS run 
[00.714]




[00.716]boot_gui_init:finish
part[00.746]




[00.748]info: LCD model is MK20 
[00.751]info: LCD_panel_init_MK20_PLUS run 
[00.755]info : init hardwave spi ... 
[00.760]info : init hardwave spi finish 
partno erro : can't find partition bootloader
522061878098556 bytes read in 0 ms (12.9 MiB/s)
[00.817]info: load image... 
[01.467]




no erro : can't find partition bootloader
54 bytes read in 3 ms (17.6 KiB/s)
[01.487]bmp_name=bootlogo.bmp size 76938
76938 bytes read in 9 ms (8.2 MiB/s)
[01.536]Loading Environment from SUNXI_FLASH... OK
[01.572]Item0 (Map) magic is bad
[01.575]the secure storage item0 copy0 magic is bad
[01.581]Item0 (Map) magic is bad
[01.584]the secure storage item0 copy1 magic is bad
[01.589]Item0 (Map) magic is bad
secure storage read widevine fail
[01.595]secure storage read widevine fail with:-1
secure storage read ec_key fail
[01.602]secure storage read ec_key fail with:-1
secure storage read ec_cert1 fail
[01.609]secure storage read ec_cert1 fail with:-1
secure storage read ec_cert2 fail
[01.617]secure storage rea[01.620]LCD open finish
d ec_cert2 fail with:-1
secure storage read ec_cert3 fail
[01.627]secure storage read ec_cert3 fail with:-1
secure storage read rsa_key fail
[01.635]secure storage read rsa_key fail with:-1
secure storage read rsa_cert1 fail
[01.642]secure storage read rsa_cert1 fail with:-1
secure storage read rsa_cert2 fail
[01.650]secure storage read rsa_cert2 fail with:-1
secure storage read rsa_cert3 fail
[01.657]secure storage read rsa_cert3 fail with:-1
[01.662]out of usb burn from boot: not need burn key
partno erro : can't find partition private
root_partition is rootfs
set root to /dev/mmcblk0p5
[01.682]update part info
[01.689]update bootcmd
[01.696]change working_fdt 0x46a5ae70 to 0x46a3ae70
[01.717]update dts
geth_sys_init:624: get node 'gmac0' error
geth_sys_init fail!
[01.724]Board Net Initialization Failed
[01.728]No ethernet found.
Hit any key to stop autoboot:  0 
[01.972]no vendor_boot partition is found
Android's image name: t113-pro
[01.985]Starting kernel ...

[01.987][mmc]: MMC Device 2 not found
[01.991][mmc]: mmc 2 not find, so not exit
Langage du code : JavaScript (javascript)

Les trois PADs du dessus sont certainement une UART pour le GD32.

Publié dans électronique | Marqué avec , , , , | Laisser un commentaire

MK18

Le MK20 que j’ai acheté n’est pas le seul clavier multi-écrans de la gamme proposé par waveshare. Il existe également le MK18 avec 18 touches/écrans et disponible à un tarif nettement moins cher (~60€).

Voici une photo de l’intérieur une fois ouvert:

Publié dans électronique | Marqué avec , , , , | Laisser un commentaire

Au détour d’un site de vente en ligne, je découvre un concurrent du MK20.

Le truc est nettement moins cher (mais a moins de touches).

Est-il plus bidouillable ?

Publié le par admin | Laisser un commentaire