Open sjg20 opened 1 month ago
Same problem on beaglebone black booting from uSD. This misses even the autoboot prompt, so cannot pass the 'U-Boot' test
U-Boot SPL 2020.04 (May 14 2024 - 07:57:58 -0600)
WDT: Not found!
Trying to boot from MMC1
Loading Environment from FAT... ** No partition table - mmc 0 **
Loading Environment from MMC... *** Warning - bad CRC, using default environment
U-Boot 2020.04 (May 14 2024 - 07:57:58 -0600)
CPU : AM335X-GP rev 2.1
Model: TI AM335x BeagleBone Black
DRAM: 512 MiB
MMC: OMAP SD/MMC: 0, OMAP SD/MMC: 1
Loading Environment from FAT... MMC: no card present
Loading Environment from MMC... *** Warning - bad CRC, using default environment
<ethaddr> not set. Validating first E-fuse MAC
Net: eth0: ethernet@4a100000
Warning: usb_ether MAC addresses don't match:
Address in ROM is de:ad:be:ef:00:01
Address in environment is 34:84:e4:e7:f2:ef
, eth1: usb_ether
Press SPACE to abort autoboot in 2 seconds
labgrid-client console
uses microcom as a telnet/RFC2217 client. That means, that the console is started after the strategy has reached to selected state (here: -s start
). So any serial output from the board in the time between the completion of the state transition and microcom connecting is lost.
Usually, this is not a problem, as the strategy leaves the board in a "stable" state (at the bootloader promt, at the linux prompt, powered off, ...). So I'd suggest handling the bootloader autoboot interruption in the Strategy, by activating a UBootDriver with a config matching your UBoot setup.
Alternatively, you can try keeping a labgrid-client console
open in second shell and running the setup from the first shell. Depending on your ser2net
version, it might support multiple parallel connections.
In the longer term, we'd like to replace microcom with something built on top of the SerialDriver/ConsoleDriver, so that a connection activated earlier can be used and no data is lost. That would also be a prerequisite for triggering actions from labgrid-client console
(e.g. cycle power).
Thanks for the info.
In fact it turns out that the extreme loss for bbb was due to a serial adaptor failure: [306094.679130] pl2303 ttyUSB14: pl2303_set_control_lines - failed: -32
Re the terminal, perhaps this terminal code from tbot would help?
https://github.com/Rahix/tbot/blob/master/tbot/machine/channel/channel.py#L1019
Re the terminal, perhaps this terminal code from tbot would help?
https://github.com/Rahix/tbot/blob/master/tbot/machine/channel/channel.py#L1019
While we can't use that code due to the license, we'll likely need something similar. Internally, it was not urgent enough to find time for this (compared to other things like the move away from crossbar/authbahn). :/
OK, I implemented a simple internal terminal, which fixes this problem. I will come up with a PR at some point
Using a sunxi board I find that the initial serial output does not appear with 'labgrid-client console' when sending U-Boot over USB.
I see this:
But if I telnet to kea:52691 I see the full output:
What could be dropping the initial output? I have the console device enabled before the USB loading starts.