Welcome! Log In Create A New Profile

Advanced

No Netconsole on NSA325v2

Posted by SanderV 
No Netconsole on NSA325v2
December 03, 2020 07:08AM
Hi everyone,

About a year ago, I flashed the latest U-Boot from this forum to my NSA325v2, and then made it boot Arch.

Now, I wish to make some modifications, but I hope to do so without having to take the device apart again to reach the serial pins. That's why I'd like to get the netconsole working before I move ahead.

However, despite trying my best to follow the instructions from this forum, I can't get the netconsole to start.

My envs:

arcNumber=4495
bootcmd=run bootcmd_uenv; run scan_disk; run set_bootargs; run bootcmd_exec
bootcmd_exec=run load_uimage; if run load_initrd; then if run load_dtb; then bootm $load_uimage_addr $load_initrd_addr $load_dtb_addr; else bootm $load_uimage_addr $load_initrd_addr; fi; else if run load_dtb; then bootm $load_uimage_addr - $load_dtb_addr; else bootm $load_uimage_addr; fi; fi
bootcmd_uenv=run uenv_load; if test $uenv_loaded -eq 1; then run uenv_import; fi
bootdelay=10
bootdev=usb
device=0:1
devices=usb ide mmc
disks=0 1 2 3
dtb_file=/boot/dts/kirkwood-pogo_e02.dtb
ethact=egiga0
ethaddr=52:3b:20:9c:11:51
if_netconsole=ping $serverip
led_error=orange blinking
led_exit=green off
led_init=green blinking
load_dtb=echo loading DTB $dtb_file ...; load $bootdev $device $load_dtb_addr $dtb_file
load_dtb_addr=0x1c00000
load_initrd=echo loading uInitrd ...; load $bootdev $device $load_initrd_addr /boot/uInitrd
load_initrd_addr=0x1100000
load_uimage=echo loading uImage ...; load $bootdev $device $load_uimage_addr /boot/uImage
load_uimage_addr=0x800000
mainlineLinux=yes
mtdids=nand0=orion_nand
mtdparts=mtdparts=orion_nand:1M(u-boot),4M(uImage),32M(rootfs),-(data)
partition=nand0,2
preboot_nc=run if_netconsole start_netconsole
scan_disk=echo running scan_disk ...; scan_done=0; setenv scan_usb "usb start";  setenv scan_ide "ide reset";  setenv scan_mmc "mmc rescan"; for dev in $devices; do if test $scan_done -eq 0; then echo Scan device $dev; run scan_$dev; for disknum in $disks; do if test $scan_done -eq 0; then echo device $dev $disknum:1; if load $dev $disknum:1 $load_uimage_addr /boot/uImage 1; then scan_done=1; echo Found bootable drive on $dev $disknum; setenv device $disknum:1; setenv bootdev $dev; fi; fi; done; fi; done
set_bootargs=setenv bootargs console=ttyS0,115200 root=/dev/sda1 rootdelay=10 $mtdparts $customparams
start_netconsole=setenv ncip $serverip; setenv bootdelay 10; setenv stdin nc; setenv stdout nc; setenv stderr nc; version;
stderr=serial
stdin=serial
stdout=serial
uenv_addr=0x810000
uenv_import=echo importing envs ...; env import -t $uenv_addr $filesize
uenv_init_devices=setenv init_usb "usb start";  setenv init_ide "ide reset";  setenv init_mmc "mmc rescan"; for devtype in $devices; do run init_$devtype; done;
uenv_load=run uenv_init_devices; setenv uenv_loaded 0; for devtype in $devices;  do for disknum in 0; do run uenv_read_disk; done; done;
uenv_read=echo loading envs from $devtype $disknum ...; if load $devtype $disknum:1 $uenv_addr /boot/uEnv.txt; then setenv uenv_loaded 1; fi
uenv_read_disk=if test $devtype -eq mmc; then if $devtype part; then run uenv_read;  fi; else if $devtype part $disknum; then run uenv_read; fi;  fi
usb_ready_retry=15
serverip=192.168.1.106
ethprime=egiga0
ipaddr=192.168.1.104

If I kept my notes well, the only changes I made in these envs compared to the defaults in the provided U-boot are:
- Boot from /dev/sda1 instead of "rootfs" label
- ethprime=egiga0, which I tried in order to get the netconsole working.

If I understood the instructions, the above envs should make the NSA325 ping to 192.168.1.106 and if it finds it, redirect the boot console to the network. I tried the given nc commands on the machine at 192.168.1.106 but am getting nothing.

Tried with:

nc -l -u -p 6666

And also with

nc -l -u -p 6666 192.168.1.106 6666

And with

nc -l -u -p 6666 192.168.1.104 6666

(wasn't sure what hostnames to put there).

Note that pinging to 192.168.1.106 works without issues once the device is booted.

I also noticed, using wireshark, that there is zero network activity coming from the device during the boot. Until the point that I am able to SSH into it after booting, Wireshark doesn't log any activity from the device.

Can anyone help me figure this out?
One thing I noticed is that once I am booted (into Arch Linux ARM), the main ethernet device is called "eth0" and not "egiga0" as it is set in the envs above. Could this be an issue?

Thanks in any case.
Re: No Netconsole on NSA325v2
December 03, 2020 07:12AM
Sorry - I just realized I should post this on the uBoot section.
Author:

Subject:


Spam prevention:
Please, enter the code that you see below in the input field. This is for blocking bots that try to post this form automatically. If the code is hard to read, then just try to guess it right. If you enter the wrong code, a new image is created and you get another chance to enter it right.
Message: