# Honeycomb lx 2 boots to uboot automatically when no serial connection cable is attached

**URL:** <https://community.solid-run.com/t/honeycomb-lx-2-boots-to-uboot-automatically-when-no-serial-connection-cable-is-attached/881>\
**Category:** NXP LX2160\
**Created:** [August 29, 2024, 7:21pm UTC](https://community.solid-run.com/t/honeycomb-lx-2-boots-to-uboot-automatically-when-no-serial-connection-cable-is-attached/881 "2024-08-29T19:21:59Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![koiralajen](https://avatars.discourse-cdn.com/v4/letter/k/258eb7/32.png) [@koiralajen](https://community.solid-run.com/u/koiralajen)\
**Post date:** [August 29, 2024, 7:21pm UTC](https://community.solid-run.com/t/honeycomb-lx-2-boots-to-uboot-automatically-when-no-serial-connection-cable-is-attached/881/1 "2024-08-29T19:21:59Z")

</div>

I am having an issue. I have successfully been able boot from eMMC. I have also configured the dip switch to use OFF ON ON OFF OFF so the boot media would be eMMC. I have been able to bring up the machine on ubuntu (using serial comm and putty on my desktop) and install tools I wanted. and perform normal task I wanted from the console. The problem I am having is when I disconnect the serial connection (micro usb cable) from the board and reboot it, it goes directly into uboot mode and gets stuck in uboot. To get the system out of uboot I have to re-connect the micro usb cable and reboot using putty terminal (from my desktop). Why does the system get into uboot automatically if there serial connection is not connected? is there anything I can configure from uboot mode to avoid this from happening?

here are my environment variables:

=\> printenv  
BOARD=lx2160acex7  
arch=arm  
baudrate=115200  
board=lx2160a  
board\_name=lx2160a  
boot\_a\_script=load ${devtype} ${devnum}:${distro\_bootpart} ${scriptaddr} ${prefix}${script}; env exists secureboot && load ${devtype} ${devnum}:${distro\_bootpart} ${scripthdraddr} ${prefix}${boot\_script\_hdr} && esbc\_validate ${scripthdraddr};source ${scriptaddr}  
boot\_efi\_binary=load ${devtype} ${devnum}:${distro\_bootpart} ${kernel\_addr\_r} efi/boot/bootaa64.efi; if fdt addr ${fdt\_addr\_r}; then bootefi ${kernel\_addr\_r} ${fdt\_addr\_r};else bootefi ${kernel\_addr\_r} ${fdtcontroladdr};fi  
boot\_efi\_bootmgr=if fdt addr ${fdt\_addr\_r}; then bootefi bootmgr ${fdt\_addr\_r};else bootefi bootmgr;fi  
boot\_extlinux=sysboot ${devtype} ${devnum}:${distro\_bootpart} any ${scriptaddr} ${prefix}${boot\_syslinux\_conf}  
boot\_net\_usb\_start=usb start  
boot\_pci\_enum=pci enum  
boot\_prefixes=/ /boot/  
boot\_script\_dhcp=boot.scr.uimg  
boot\_scripts=boot.scr.uimg boot.scr  
boot\_syslinux\_conf=extlinux/extlinux.conf  
boot\_targets=mmc1 mmc0 usb0 scsi0 nvme0 dhcp  
bootargs=console=ttyAMA0,115200 earlycon=pl011,mmio32,0x21c0000 default\_hugepagesz=1024m hugepagesz=1024m hugepages=2 pci=pcie\_bus\_perf  
bootcmd=mmc dev 1; env exists mcinitcmd && mmcinfo; mmc read 0x80d00000 0x6800 0x800; env exists mcinitcmd && env exists secureboot && mmc read 0x806C0000 0x3600 0x20 && esbc\_validate 0x806C0000;env exists mcinitcmd && fsl\_mc lazyapply dpl 0x80d00000;run distro\_bootcmd;run sd2\_bootcmd;env exists secureboot && esbc\_halt;  
bootcmd\_dhcp=setenv devtype dhcp; run boot\_net\_usb\_start; run boot\_pci\_enum; if dhcp ${scriptaddr} ${boot\_script\_dhcp}; then source ${scriptaddr}; fi;setenv efi\_fdtfile ${fdtfile}; setenv efi\_old\_vci ${bootp\_vci};setenv efi\_old\_arch ${bootp\_arch};setenv bootp\_vci PXEClient:Arch:00011:UNDI:003000;setenv bootp\_arch 0xb;if dhcp ${kernel\_addr\_r}; then tftpboot ${fdt\_addr\_r} dtb/${efi\_fdtfile};if fdt addr ${fdt\_addr\_r}; then bootefi ${kernel\_addr\_r} ${fdt\_addr\_r}; else bootefi ${kernel\_addr\_r} ${fdtcontroladdr};fi;fi;setenv bootp\_vci ${efi\_old\_vci};setenv bootp\_arch ${efi\_old\_arch};setenv efi\_fdtfile;setenv efi\_old\_arch;setenv efi\_old\_vci;  
bootcmd\_mmc0=devnum=0; run mmc\_boot  
bootcmd\_mmc1=devnum=1; run mmc\_boot  
bootcmd\_nvme0=devnum=0; run nvme\_boot  
bootcmd\_scsi0=devnum=0; run scsi\_boot  
bootcmd\_usb0=devnum=0; run usb\_boot  
bootdelay=10  
console=ttyAMA0,38400n8  
cpu=armv8  
distro\_bootcmd=scsi\_need\_init=; setenv nvme\_need\_init; for target in ${boot\_targets}; do run bootcmd\_${target}; done  
efi\_dtb\_prefixes=/ /dtb/ /dtb/current/  
emmc\_bootcmd=echo Trying load from emmc card…;mmc dev 1; mmcinfo; mmc read $load\_addr $kernel\_addr\_sd $kernel\_size\_sd ;env exists secureboot && mmc read $kernelheader\_addr\_r $kernelhdr\_addr\_sd $kernelhdr\_size\_sd && esbc\_validate ${kernelheader\_addr\_r};bootm $load\_addr#$BOARD  
eth10addr=D0:63:B4:05:AA:4C  
eth11addr=D0:63:B4:05:AA:4D  
eth12addr=D0:63:B4:05:AA:4E  
eth13addr=D0:63:B4:05:AA:4F  
eth14addr=D0:63:B4:05:AA:50  
eth15addr=D0:63:B4:05:AA:51  
eth1addr=D0:63:B4:05:AA:43  
eth2addr=D0:63:B4:05:AA:44  
eth3addr=D0:63:B4:05:AA:45  
eth4addr=D0:63:B4:05:AA:46  
eth5addr=D0:63:B4:05:AA:47  
eth6addr=D0:63:B4:05:AA:48  
eth7addr=D0:63:B4:05:AA:49  
eth8addr=D0:63:B4:05:AA:4A  
eth9addr=D0:63:B4:05:AA:4B  
ethact=DPMAC17@rgmii-id  
ethaddr=D0:63:B4:05:AA:42  
ethprime=DPMAC17@rgmii-id  
fdt\_addr=0x81000000  
fdt\_addr\_r=0x81000000  
fdt\_high=0xa0000000  
fdtcontroladdr=fbb1bda0  
fdtfile=fsl-lx2160a-clearfog-cx.dtb  
fdtheader\_addr\_r=0x80100000  
fsl\_bootcmd\_mcinitcmd\_set=y  
hwconfig=fsl\_ddr:bank\_intlv=auto  
initrd\_high=0xffffffffffffffff  
kernel\_addr\_r=0x81100000  
kernel\_addr\_sd=0x8000  
kernel\_comp\_addr\_r=0x9f000000  
kernel\_comp\_size=0x10000000  
kernel\_size=0x2800000  
kernel\_size\_sd=0x14000  
kernel\_start=0x1000000  
kernelhdr\_addr\_sd=0x3000  
kernelhdr\_size\_sd=0x20  
kernelheader\_addr\_r=0x80200000  
kernelheader\_size=0x40000  
kernelheader\_start=0x600000  
load\_addr=0xa0000000  
load\_efi\_dtb=load ${devtype} ${devnum}:${distro\_bootpart} ${fdt\_addr\_r} ${prefix}${efi\_fdtfile}  
lx2160acex7\_vdd\_mv=800  
mcinitcmd=mmc dev 1; mmc read 0x80a00000 0x5000 0x1200;mmc read 0x80e00000 0x7000 0x800;env exists secureboot && mmc read 0x80640000 0x3200 0x20 && mmc read 0x80680000 0x3400 0x20 && esbc\_validate 0x80640000 && esbc\_validate 0x80680000 ;fsl\_mc start mc 0x80a00000 0x80e00000  
mcmemsize=0x70000000  
mmc\_boot=if mmc dev ${devnum}; then devtype=mmc; run scan\_dev\_for\_boot\_part; fi  
nvme\_boot=run boot\_pci\_enum; run nvme\_init; if nvme dev ${devnum}; then devtype=nvme; run scan\_dev\_for\_boot\_part; fi  
nvme\_init=if ${nvme\_need\_init}; then setenv nvme\_need\_init false; nvme scan; fi  
nvme\_need\_init=true  
ramdisk\_addr=0x85100000  
ramdisk\_addr\_r=0x85100000  
ramdisk\_size=0x2000000  
scan\_dev\_for\_boot=echo Scanning ${devtype} ${devnum}:${distro\_bootpart}…; for prefix in ${boot\_prefixes}; do run scan\_dev\_for\_extlinux; run scan\_dev\_for\_scripts; done;run scan\_dev\_for\_efi;  
scan\_dev\_for\_boot\_part=part list ${devtype} ${devnum} devplist; env exists devplist || setenv devplist 1; for distro\_bootpart in ${devplist}; do if fstype ${devtype} ${devnum}:${distro\_bootpart} bootfstype; then run scan\_dev\_for\_boot; fi; done  
scan\_dev\_for\_efi=setenv efi\_fdtfile ${fdtfile}; for prefix in ${efi\_dtb\_prefixes}; do if test -e ${devtype} ${devnum}:${distro\_bootpart} ${prefix}${efi\_fdtfile}; then run load\_efi\_dtb; fi;done;run boot\_efi\_bootmgr;if test -e ${devtype} ${devnum}:${distro\_bootpart} efi/boot/bootaa64.efi; then echo Found EFI removable media binary efi/boot/bootaa64.efi; run boot\_efi\_binary; echo EFI LOAD FAILED: continuing…; fi; setenv efi\_fdtfile  
scan\_dev\_for\_extlinux=if test -e ${devtype} ${devnum}:${distro\_bootpart} ${prefix}${boot\_syslinux\_conf}; then echo Found ${prefix}${boot\_syslinux\_conf}; run boot\_extlinux; echo SCRIPT FAILED: continuing…; fi  
scan\_dev\_for\_scripts=for script in ${boot\_scripts}; do if test -e ${devtype} ${devnum}:${distro\_bootpart} ${prefix}${script}; then echo Found U-Boot script ${prefix}${script}; run boot\_a\_script; echo SCRIPT FAILED: continuing…; fi; done  
scriptaddr=0x80000000  
scripthdraddr=0x80080000  
scsi\_boot=run scsi\_init; if scsi dev ${devnum}; then devtype=scsi; run scan\_dev\_for\_boot\_part; fi  
scsi\_init=if ${scsi\_need\_init}; then scsi\_need\_init=false; scsi scan; fi  
sd\_bootcmd=echo Trying load from sd card…;mmcinfo; mmc read $load\_addr $kernel\_addr\_sd $kernel\_size\_sd ;env exists secureboot && mmc read $kernelheader\_addr\_r $kernelhdr\_addr\_sd $kernelhdr\_size\_sd && esbc\_validate ${kernelheader\_addr\_r};bootm $load\_addr#$BOARD  
serdes0=0  
serdes1=0  
serdes2=0  
soc=fsl-layerscape  
stderr=serial\_pl01x  
stdin=serial\_pl01x  
stdout=serial\_pl01x  
usb\_boot=usb start; if usb dev ${devnum}; then devtype=usb; run scan\_dev\_for\_boot\_part; fi  
vendor=solidrun  
xspi\_bootcmd=echo Trying load from flexspi…;sf probe 0:0 && sf read $load\_addr $kernel\_start $kernel\_size ; env exists secureboot &&sf read $kernelheader\_addr\_r $kernelheader\_start $kernelheader\_size && esbc\_validate ${kernelheader\_addr\_r}; bootm $load\_addr#$BOARD

---

<div class="post-metadata">

**Author:** ![Terminada](https://avatars.discourse-cdn.com/v4/letter/t/839c29/32.png) [@Terminada](https://community.solid-run.com/u/Terminada)\
**Post date:** [August 30, 2024, 4:42am UTC](https://community.solid-run.com/t/honeycomb-lx-2-boots-to-uboot-automatically-when-no-serial-connection-cable-is-attached/881/2 "2024-08-30T04:42:38Z")

</div>

You may need to short the J39 header.

J39 header can be used to ensure that the board will automatically restart after power failure.  
See: [LX2160 Always restart on power failure - #2 by jnettlet](https://community.solid-run.com/t/lx2160-always-restart-on-power-failure/648/2)
