-
Notifications
You must be signed in to change notification settings - Fork 20
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
CPU reset when loading bootloader/kernel on BA110 #7
Comments
Yes, was following that issue too and I have no clue on what's wrong with my box. I tried two different USB sticks with the same result. Is your kernel/bootloader suppose to work on TFTP? |
fatload just reads a binary file into memory and does not execute any code. You can even try to fatload some random JPEG-file into memory just to see if loading data works in principle. Try small/big files. Please post the full U-Boot bootlog with SoC, DRAM, NAND information and compare it to #6 |
I have verified that files bigger than 4096 bytes are not loadable at address 0x40000, as follows: Marvell>> usb start 30 file(s), 0 dir(s) Marvell>> fatload usb 0:1 0x40000 dummy4096 4096 bytes read Below is the full U-Boot bootlog:
| | | | | __ ) ___ ___ | |_ ** MARVELL BOARD: MONO LE U-Boot 1.1.4 (Nov 6 2009 - 11:15:26) Marvell version: 3.4.18 U-Boot code: 00600000 -> 0067FFF0 BSS: -> 006CDE60 Soc: 88F6192 A1 (DDR2) DRAM CAS Latency = 3 tRP = 3 tRAS = 8 tRCD=3 Marvell Serial ATA Adapter CPU : Marvell Feroceon (Rev 1) Streaming disabled USB 0: host mode |
You're using the original (very very old) U-Boot bootloader. There might be all kind of problems with that, maybe fatload is broken ... I don't know. You can try to load kernel/initrd via TFTP (just to do a test boot or even to flash U-Boot, kernel and initrd to NAND flash). Load kernel to 0x40000, initrd to 0x800000 and then "bootm 0x40000 0x80000" |
Definitely this is a bug with fatload. Formatting USB stick with ext2 and loading with ext2load works with no issues: Marvell>> usb start 2053978 bytes read 12457575 bytes read However, bootm fails: Marvell>> bootm 0x40000 0x800000 Starting kernel ... data abort |
Your (very very old, I'm repeating ;-) ) U-Boot might not be able to start an up to date kernel (I think kernel+dtb combined files aren't supported by those early U-Boot versions at all, but I might be wrong with that). I think it's time to take a deep breath and update U-Boot + U-Boot Environment ... |
Is there a way to backup u-boot? I was able to do a nand read, but I'm not able to find a command to save the content to a file. nand read 0x800000 0x0 0x87200 NAND read: device 0 offset 0x0, size 0x87200 |
I think that U-Boot does not support writing files (especially those old versions). But I don't know for sure. If you boot into the original Seagate Linux System, you can "dd" the mtd partitions to a file (see #5 (comment)) |
It worked like a charm! Thanks @hn. Some hints:
Full log:
|
Thanks for sharing! For installation/production use, do not start the kernel without setting the "mtdparts" variable before "bootm". Otherwise the NAND partitions aren't initialized (see "bootcmd_usb" and "bootcmd_nand") |
Just finished the whole process. I was able to install Debian 10 directly on the USB stick. It's amazing seeing this old piece of hardware jump 10 years in future and be usable again with a very updated kernel and OS. Thanks @hn for sharing your work. I'm closing the issue. |
The version of U-Boot on my refurbished NAS220 was even a few months older. The fatload didn't work, but ext2load worked like a charm. After the reset I now have a far more recent U-Boot working. Thanks for providing the procedure! |
Hi, I don't know what's wrong with my device. I tried already 6 diffrent sticks and an HDD-Drive, tried fat32 and ext2, but the device seems to not mounting the USB-drives. `| | | | | __ ) ___ ___ | |_ ** MARVELL BOARD: MONO LE U-Boot 1.1.4 (Sep 9 2010 - 16:02:07) Marvell version: 3.4.18 U-Boot code: 00600000 -> 0067FFF0 BSS: -> 006CDE60 Soc: 88F6192 A1 (DDR2) DRAM CAS Latency = 3 tRP = 3 tRAS = 8 tRCD=3 Marvell Serial ATA Adapter CPU : Marvell Feroceon (Rev 1) Streaming disabled USB 0: host mode Is there any chance for TFTP-Rescuing or changing to Debian Bullseye? - I was so frustrated that I updated the OEM now... but no diffrence. I installed BA_NAS_110_sg1000-1000.1321 |
Here is the log with hdd
| | | | | __ ) ___ ___ | |_ ** MARVELL BOARD: MONO LE U-Boot 1.1.4 (Sep 9 2010 - 16:02:07) Marvell version: 3.4.18 U-Boot code: 00600000 -> 0067FFF0 BSS: -> 006CDE60 Soc: 88F6192 A1 (DDR2) DRAM CAS Latency = 3 tRP = 3 tRAS = 8 tRCD=3 Marvell Serial ATA Adapter CPU : Marvell Feroceon (Rev 1) Streaming disabled USB 0: host mode NAND read: device 0 offset 0xc4000, size 0x195200 Reading data from 0x259000 -- 100% complete. NAND read: device 0 offset 0x2c4000, size 0x21be00 Reading data from 0x4dfc00 -- 100% complete. Booting image at 00040000 ...Image Name: Linux-2.6.22.18 Starting kernel ... Uncompressing Linux.......................................................................................................................................... done, ing the kernel. CPU InterfaceSDRAM_CS0 ....base 00000000, size 128MB Marvell Development Board (LSP Version KW_LSP_4.2.7_patch21_with_rx_desc_tuned)-- MONO Soc: 88F6192 A1 LE Detected Tclk 166666667 and SysClk 200000000 PCI: bus0: Fast back to back transfers enabled Warning: Giga 1 is Powered Off mvFpRuleDb (c73af000): 1024 entries, 4096 bytes ==> Assembling MD arrays ................................... md: md3 stopped. ==> Mounting /dev/md3 to /DataVolume ... lo Link encap:Local Loopback SIOCSIFADDR: No such device ==> Reexporting list of NFS exported file systems ......... [ OK ] ==> Starting backup getIPd................................. [ OK ] ==> Starting WiAutoConfig ................................. [ OK ] ==> Generating Factory Default Restore page ...............
==> Set parmaters for lan ports ........................... ==> Starting I/O Monitor for HDD standby .................. Starting pid 1466, console /dev/ttyS0: '/sbin/insmod' BA-23805F login: BA-23805F login: alex
|
If you insert an USB stick, does it get detected within Linux ( You can always try to upload the new U-Boot via kwboot. And then transfer (and flash) all the other necessary files (u-boot-env, uImage, uInitrd ...) via TFTP. Alternatively you can flash all files from within the Linux system (with
|
Hey Hajo,
could you please help me a bit with the tftpd commands?
Here is my log:
__ __ _ _
| \/ | __ _ _ ____ _____| | |
| |\/| |/ _` | '__\ \ / / _ \ | |
| | | | (_| | | \ V / __/ | |
|_| |_|\__,_|_| \_/ \___|_|_|
_ _ ____ _
| | | | | __ ) ___ ___ | |_
| | | |___| _ \ / _ \ / _ \| __|
| |_| |___| |_) | (_) | (_) | |_
\___/ |____/ \___/ \___/ \__| ** uboot_ver:v0.0.6 **
** MARVELL BOARD: MONO LE
U-Boot 1.1.4 (Sep 9 2010 - 16:02:07) Marvell vers4.18
U-Boot code: 00600000 -> 0067FFF0 BSS: -> 006CDE60
Soc: 88F6192 A1 (DDR2)
Clock = 200Mhz , TClock = 166Mhz 400Mhz
DRAM CAS Latency = 3 tRP = 3 tRAS = 8 tRCD=3
DRAM CS[0] base 0x00000000 size 128MB
DRATotal size 128MB 16bit width
Addresses 8M - 0M are saved for the U-Boot usage.
Mem malloc Initialization (8M - 7M): Done
NAND:32 MB
Marvell Serial ATA Adapter
Integrated Sata device found
[0 0 0]: Enable DMA mode (6)
Device 0 @ 0 0:
Model: ST32000542AS Firm: CC95 Ser#: 5XW2QDR3
Type: Hard Disk
Supports 48-bit addressing
Capacity: 1907729.0 MB = 1863.0 GB (3907029168 x 512)
CPU : Marvell Feroceon (Rev 1)
Scanning partition header:
Found sign PrEr at c0000
Found sign KrNl at 2c0000
Found sign RoOt at 540000
Streaming disabled
Write allocate disabled
USB 0: host mode
PEX 0: interface detected no Link.
Net: egiga0 [PRIME]
Hit any key to stop autoboot: 0
Marve
Marvell>>
Marvell>> help
? - alias for 'help'
SatR - sample at reset sub-system, relevent for DB only
base - print or set address offset
boot - boot default, i.e., run 'bootcmd'
bootd - boot default, i.e., run 'bootcmd'
bootext2 dev:boot_part1,boot_part2 addr boot_image linux_dev_name
bootm - boot application image from memory
bootp - boot image via network using BootP/TFTP protocol
bubt - Burn an image on the Boot Nand Flash.
check_crc32 - checksum calculation
chpart - change active partition
cmp - memory compare
cmpm - Compare Memory
cp - memory copy
cpumap - Display CPU memory mapping settings.
crc32 - checksum calculation
date - get/set/reset date & time
dclk - Display the MV device CLKs.
dhcp - invoke DHCP client to obtain IP/boot params
diskboot- boot from IDE device
echo - echo args to console
eeprom - EEPROM sub-system
erase - erase FLASH memory
ext2load- load binary file from a Ext2 filesystem
ext2ls - list files in a directory (default /)
fatinfo - print information about filesystem
fatload - load binary file from a dos filesystem
fatls - list files in a directory (default /)
fi - Find value in the memory.
flinfo - print FLASH memory information
fsinfo - print information about filesystems
fsload - load binary file from a filesystem image
g - start application at cached address 'addr'(default addr 0x40000)
go - start application at address 'addr'
help - print online help
icrc32 - checksum calculation
ide - IDE sub-system
iloop - infinite loop on address range
imd - i2c memory display
imm[.b, .s, .w, .l] - i2c memory modify (auto-incrementing)
imw - memory write (fill)
inm - memory modify (constant address)
iprobe - probe to discover valid I2C chip addresses
ir - reading and changing MV internal register values.
loop - infinite loop on address range
ls - list files in a directory (default /)
map - Diasplay address decode windows
md - memory display
me - PCI master enable
mm - memory modify (auto-incrementing)
mp - map PCI BAR
mtdparts- define flash/nand partitions
mtest - simple RAM test
mw - memory write (fill)
nand - NAND sub-system
nboot - boot from NAND device
nbubt - Burn a boot loader image on the Boot Nand Flash.
nm - memory modify (constant address)
pci - list and access PCI Configuration Space
phyRead - Read PCI-E Phy register
pciePhyWrite - Write PCI-E Phy register
phyRead - Read Phy register
phyWrite - Write Phy register
ping - send ICMP ECHO_REQUEST to network host
printenv- print environment variables
protect - enable or disable FLASH write protection
rarpboot- boot image via network using RARP/TFTP protocol
rcvr - Satrt recovery process (Distress Beacon with TFTP server)
reset - Perform RESET of the CPU
resetenv - Return all environment variable to default.
run - run commands in an environment variable
saveenv - save environment variables to persistent storage
se - PCI Slave enable
setenv - set environment variables
sflash - read, write or erase the external SPI Flash.
sg - scanning the PHYs status
sp - Scan PCI bus.
tftpboot- boot image via network using TFTP protocol
usb - USB sub-system
usbboot - boot from USB device
version - print monitor version
Marvell>> c
cmpm cpumap chpart cp cmp check_crc32 crc32
Marvell>> c
cmpm cpumap chpart cp cmp check_crc32 crc32
Marvell>> usb
Usage:
usb - USB sub-system
Marvell>> printenv ethaddr
ethaddr=00:10:75:23:80:5F
Marvell>> printenv eth1addr
## Error: "eth1addr" not defined
Marvell>> usb start
(Re)start USB...
USB: scanning bus for devices... 1 USB Device(s) found
scanning bus for storage devices... 0 Storage Device(s) found
Marvell>> usb start
(Re)start USB...
USB: scanning bus for devices... 1 USB Device(s) found
scanning bus for storage devices... 0 Storage Device(s) found
Marvell>> usb start
Unknown command 'usb' - try 'help'
Marvell>> usb start
(Re)start USB...
USB: scanning bus for devices... 1 USB Device(s) found
scanning bus for storage devices... 0 Storage Device(s) found
Marvell>>
It seems that I can't get access to USB. It is also not working with OEM-Firmware. If I connect my Iphone it charges. So I guess Power should be ok. - Is it possible that my uboot is so old that USB-Support was not implemented? Any suggestions? - I would love to bring Debian Bullseye to work or would you recommend for NAS110 Debian Buster?
Cheers and thanks again.
Alex
Gesendet: Donnerstag, 18. Mai 2023 um 07:41 Uhr
Von: "Hajo Noerenberg" ***@***.***>
An: "hn/seagate-blackarmor-nas" ***@***.***>
Cc: "suppenkasper0815" ***@***.***>, "Comment" ***@***.***>
Betreff: Re: [hn/seagate-blackarmor-nas] CPU reset when loading bootloader/kernel on BA110 (#7)
If you insert an USB stick, does it get detected within Linux (dmesg, lsusb, ...)? Are you able to mount the stick within Linux? If not, your USB port hardware might be broken.
You can always try to upload the new U-Boot via kwboot. And then transfer (and flash) all the other necessary files (u-boot-env, uImage, uInitrd ...) via TFTP.
Alternatively you can flash all files from within the Linux system (with nandwrite). I've copied this from an old test script, please double-check before using:
nanddump -o -b -f $NASHW-vendor-mtd0-uboot.bin /dev/mtd0
nanddump -o -b -f $NASHW-vendor-mtd1-param.bin /dev/mtd1
nanddump -o -b -f $NASHW-vendor-mtd2-preroot.bin /dev/mtd2
nanddump -o -b -f $NASHW-vendor-mtd3-uimage.bin /dev/mtd3
nanddump -o -b -f $NASHW-vendor-mtd4-rootfs.bin /dev/mtd4
nanddump -o -b -f $NASHW-vendor-mtd5-misc.bin /dev/mtd5
nanddump -o -b -f $NASHW-vendor-mtd6-flash-full.bin /dev/mtd6
# backup above files to a safe place
nandtest -e /dev/mtd6
nandwrite -p -s 0x000000 /dev/mtd6 u-boot-$NASFW.kwb
nandwrite -p -s 0x0a0000 /dev/mtd6 u-boot-env.bin
nandwrite -p -s 0x0c0000 /dev/mtd6 uImage-dtb
nandwrite -p -s 0x5c0000 /dev/mtd6 uInitrd
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you commented.Message ID: ***@***.***>
|
You'll find various tutorials on how to set up an TFTP server on the web, please have a look. It's probably easier to dump and write (as shown above) from within the running Linux system. |
Hello
I'm facing a problem with BA110. When I try to load de bootloader/kernel I get a data abort and a CPU reset:
Marvell>> usb start
(Re)start USB...
USB: scanning bus for devices... 3 USB Device(s) found
scanning bus for storage devices... 1 Storage Device(s) found
Marvell>> fatls usb 0:1
553356 u-boot.kwb
65536 u-boot-env.bin
2053978 uimage-dtb
12457575 uinitrd
4 file(s), 0 dir(s)
Marvell>> fatload usb 0:1 0x40000 uImage-dtb
reading uImage-dtb
data abort
pc : [<006488b4>] lr : [<0063ee88>]
sp : 005fdb04 ip : 005fda24 fp : 005fdb20
r10: 0000009b r9 : 00040000 r8 : 005fffcc
r7 : 005fdb70 r6 : 0000009b r5 : 005fdb70 r4 : 00000000
r3 : 005fdddc r2 : 00000c00 r1 : 00000000 r0 : 00000006
Flags: nZCv IRQs off FIQs off Mode SVC_32
Resetting CPU ...
Marvell>> usb start
(Re)start USB...
USB: scanning bus for devices... 3 USB Device(s) found
scanning bus for storage devices... 1 Storage Device(s) found
Marvell>> fatls usb 0:1
553356 u-boot.kwb
65536 u-boot-env.bin
2053978 uimage-dtb
12457575 uinitr*
d
4 file(s), 0 dir(s)
Marvell>> fatload usb 0:1 0x800000 uInitrd
reading uInitrd
data abort
pc : [<006488b4>] lr : [<0063ee88>]
sp : 005fdb04 ip : 005fda24 fp : 005fdb20
r10: 00000291 r9 : 00800000 r8 : 005fffcc
r7 : 005fdb70 r6 : 00000291 r5 : 005fdb70 r4 : 00000000
r3 : 005fe5b4 r2 : 00000c00 r1 : 00000000 r0 : 00000006
Flags: nZCv IRQs off FIQs off Mode SVC_32
Resetting CPU ...
Could you help me?
Bests.
The text was updated successfully, but these errors were encountered: