Console série de debug pour BeagleBone Black

Publié par cpb
Mai 17 2013

BeagleBone Black Serial DebugSi vous désirez voir les messages de boot du noyau Linux, ou vous connecter sur l’interface du bootloader Uboot, ou encore ouvrir une console texte d’administration rapidement, vous pouvez facilement employer le connecteur Serial Debug du BeagleBone Black.

Attention ! Comme c’est souvent le cas, ce connecteur vous présente directement les signaux de l’UART 0 du microprocesseur, sans conversion de niveau. Aussi les signaux sont-ils en [0, +3.3V].

Pour ouvrir une console série sur votre hôte de développement, vous utiliserez probablement un petit adaptateur USB-FTDI. Je vous avais présenté celui que j’utilise pour le Raspberry Pi dans cet article. Pour le réutiliser, vous devrez connecter les 3 broches suivantes du port Serial Debug.

  • broche numéro 1 identifiée J1 sur le circuit imprimé (celle se trouvant du côté de la prise Ethernet RJ-45) : masse (câble noir)
  • broche numéro 4 : RX de l’UART0 : câble vert.
  • broche numéro 5 : TX de l’UART0 : câble blanc.

BeagleBone Black Serial Debug

La configuration de votre terminal (par exemple minicom) sera : 115200 bits/secondes, 8 bits de données, pas de parité, 1 bit d’arrêt.

Voici une trace de boot de la distribution Ångström incluse dans la mémoire EMMC du BeagleBone Black.

U-Boot SPL 2013.04-rc1-14237-g90639fe-dirty (Apr 13 2013 - 13:57:11)
musb-hdrc: ConfigData=0xde (UTMI-8, dyn FIFOs, HB-ISO Rx, HB-ISO Tx, SoftConn)
musb-hdrc: MHDRC RTL version 2.0 
musb-hdrc: setup fifo_mode 4
musb-hdrc: 28/31 max ep, 16384/16384 memory
USB Peripheral mode controller at 47401000 using PIO, IRQ 0
musb-hdrc: ConfigData=0xde (UTMI-8, dyn FIFOs, HB-ISO Rx, HB-ISO Tx, SoftConn)
musb-hdrc: MHDRC RTL version 2.0 
musb-hdrc: setup fifo_mode 4
musb-hdrc: 28/31 max ep, 16384/16384 memory
USB Host mode controller at 47401800 using PIO, IRQ 0
OMAP SD/MMC: 0
mmc_send_cmd : timeout: No status update
reading u-boot.img
reading u-boot.img

U-Boot 2013.04-rc1-14237-g90639fe-dirty (Apr 13 2013 - 13:57:11)

I2C:   ready
DRAM:  512 MiB
WARNING: Caches not enabled
NAND:  No NAND device found!!!
0 MiB
MMC:   OMAP SD/MMC: 0, OMAP SD/MMC: 1
*** Warning - readenv() failed, using default environment

musb-hdrc: ConfigData=0xde (UTMI-8, dyn FIFOs, HB-ISO Rx, HB-ISO Tx, SoftConn)
musb-hdrc: MHDRC RTL version 2.0 
musb-hdrc: setup fifo_mode 4
musb-hdrc: 28/31 max ep, 16384/16384 memory
USB Peripheral mode controller at 47401000 using PIO, IRQ 0
musb-hdrc: ConfigData=0xde (UTMI-8, dyn FIFOs, HB-ISO Rx, HB-ISO Tx, SoftConn)
musb-hdrc: MHDRC RTL version 2.0 
musb-hdrc: setup fifo_mode 4
musb-hdrc: 28/31 max ep, 16384/16384 memory
USB Host mode controller at 47401800 using PIO, IRQ 0
Net:    not set. Validating first E-fuse MAC
cpsw, usb_ether
Hit any key to stop autoboot:  0 
gpio: pin 53 (gpio 53) value is 1
mmc_send_cmd : timeout: No status update
Card did not respond to voltage select!
mmc0(part 0) is current device
mmc_send_cmd : timeout: No status update
Card did not respond to voltage select!
No micro SD card found, setting mmcdev to 1
mmc_send_cmd : timeout: No status update
mmc1(part 0) is current device
mmc_send_cmd : timeout: No status update
gpio: pin 54 (gpio 54) value is 1
SD/MMC found on device 1
reading uEnv.txt
14 bytes read in 4 ms (2.9 KiB/s)
Loaded environment from uEnv.txt
Importing environment from mmc ...
gpio: pin 55 (gpio 55) value is 1
4215264 bytes read in 771 ms (5.2 MiB/s)
gpio: pin 56 (gpio 56) value is 1
22780 bytes read in 36 ms (617.2 KiB/s)
Booting from mmc ...
## Booting kernel from Legacy Image at 80007fc0 ...
   Image Name:   Angstrom/3.8.6/beaglebone
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    4215200 Bytes = 4 MiB
   Load Address: 80008000
   Entry Point:  80008000
   Verifying Checksum ... OK
## Flattened Device Tree blob at 80f80000
   Booting using the fdt blob at 0x80f80000
   XIP Kernel Image ... OK
OK
   Using Device Tree in place at 80f80000, end 80f888fb

Starting kernel ...

Uncompressing Linux... done, booting the kernel.
[    0.106027] pinctrl-single 44e10800.pinmux: prop pinctrl-0 index 0 invalid phandle
[    0.222610] omap2_mbox_probe: platform not supported
[    0.491859] tps65217-bl tps65217-bl: no platform data provided
[    0.574826] bone-capemgr bone_capemgr.8: slot #0: No cape found
[    0.611932] bone-capemgr bone_capemgr.8: slot #1: No cape found
[    0.649041] bone-capemgr bone_capemgr.8: slot #2: No cape found
[    0.686150] bone-capemgr bone_capemgr.8: slot #3: No cape found
[    0.770674] pinctrl-single 44e10800.pinmux: pin 44e1080c already requested by mmc.4; cannot claim for gpio-leds.7
[    0.781499] pinctrl-single 44e10800.pinmux: pin-3 (gpio-leds.7) status -22
[    0.788710] pinctrl-single 44e10800.pinmux: could not request pin 3 on device pinctrl-single
[    6.427019] libphy: PHY 4a101000.mdio:01 not found
[    6.432078] net eth0: phy 4a101000.mdio:01 not found on slave 1
systemd-fsck[82]: Angstrom: clean, 64453/112672 files, 338835/449820 blocks
[    9.810503] systemd-udevd[86]: worker [115] terminated by signal 11 (Segmentation fault)
[    9.836958] systemd-udevd[86]: worker [115] failed while handling '/devices/ocp.2/47400000.usb/musb-hdrc.0.auto/gadget/net/usb0'

.---O---.                                           
|       |                  .-.           o o        
|   |   |-----.-----.-----.| |   .----..-----.-----.
|       |     | __  |  ---'| '--.|  .-'|     |     |
|   |   |  |  |     |---  ||  --'|  |  |  '  | | | |
'---'---'--'--'--.  |-----''----''--'  '-----'-'-'-'
                -'  |
                '---'

The Angstrom Distribution beaglebone ttyO0

Angstrom v2012.12 - Kernel 3.8.6

beaglebone login: root
Last login: Sat Jan  1 00:20:38 UTC 2000 on ttyO0
root@beaglebone:~#

Oui, vous avez bien vu : pas de mot passe pour root par défaut…

2 Réponses

  1. Tee Eff dit :

    J’ai acheté sur eBay un adaptateur à base de CP2102 (CP2102 USB to Serial Converter) et ça marche nickel.
    Je suis sous Linux Mint, je mets quelques infos ici:
    On peut soit utiliser la commande screen /dev/ttyUSB0 115200 dans le terminal ou bien utiliser PuTTY avec la configuration donnée par Christophe.

    Par contre, il faut ajouter les utilisateurs dans le groupe dialout:
    Système > Administration > utilisateurs et groupes
    Cliquer sur gérer les groupes, sélectionner le groupe dialout et cliquer sur propriétés.
    La liste des utilisateurs est affichée, il suffit de sélectionner les utilisateurs qui auront de droit d’utiliser le port série et de valider.
    Cette configuration ne prendra effet qu’à la prochaine cession.

  2. Tee Eff dit :

    J’en profite pour indiquer comment utiliser le bureau à distance. Ça permet de voir à quoi ressemble le bureau Gnome 3 de Angstrom sans écran, clavier ni souris, juste avec le câble USB:
    (Les infos proviennent de http://digitaldiner.blogspot.fr/2013/05/quick-hint-for-beaglebone-black-user.html)

    Installation du serveur VNC sur le BeagleBone Black (à partir d’une session ssh ou la session de débug):
    opkg update
    opkg install x11vnc

    Sur mon BBB avec l’image Ångström du 27/05, x11vnc était déjà installé.

    Ensuite la commande magique pour démarrer le serveur:
    x11vnc -bg -o %HOME/.x11vnc.log.%VNCDISPLAY -auth /var/run/gdm/auth-for-gdm*/database -display :0

    On peut alors lancer une cession VNC à l’adresse 192.168.7.2 pour l’utilisateur root.
    Sous Linux mint, j’utilise le visualiseur de bureaux distants Remmina.

    Pour faire en sorte que le serveur VNC démarre en même temps que le BBB, il faut créer un script qui serra lancé au démarrage :
    Dans root’s Home créer un fichier (ex : VNC_startup.sh)
    (clic droit, Create Document > Empty file)

    Avec gEdit, éditer le fichier créé :
    #!/bin/sh

    terminal -x x11vnc -bg -o %HOME/.x11vnc.log.%VNCDISPLAY -auth /var/run/gdm/auth-for-gdm*/database -display :0

    Sauvegarder et fermer l’éditeur.

    Donner les droits d’exécution sur ce fichier :
    clic droit sur le fichier, Properties, onglet permission, cocher « Allow executing file as program »
    ou utiliser la commande chmod dans un terminal :
    chmod +x VNC_startup.sh

    Pour que le script s’exécute au démarrage du BBB
    dans system > preferences > startup applications, cliquer sur Add, donner un nom (VNC_startup par exemple), indique le script à exécuter (/home/root/VNC_startup.sh) ou utiliser l’explorateur, ajouter un commentaire (par exemple Démarrage de VNC) et sauvegarder.
    Vérifier que le nouveau programme est dans la liste et fermer la boite de dialogue startup application.

URL de trackback pour cette page