Skip to content

Instantly share code, notes, and snippets.

@bantu
Last active February 16, 2024 12:16
Show Gist options
  • Star 5 You must be signed in to star a gist
  • Fork 2 You must be signed in to fork a gist
  • Save bantu/d456865b91be6c99320b to your computer and use it in GitHub Desktop.
Save bantu/d456865b91be6c99320b to your computer and use it in GitHub Desktop.
Seagate BlackArmor 4XX (e.g. 400, 420, 440) NAS

Device Status

  • A serial cable was soldered onto the board's CN4 connector which can be used for debugging.
  • A USB drive is attached containing a debootstrapped Debian Jessie armel on an ext4 filesystem.
  • The original flash was completely erased.
  • A new version of u-boot provided by Evgeni was installed onto the flash.
  • The new u-boot version is capable of loading files from ext4 filesystems, the old one was not.
  • u-boot loads three files: /boot/uInitrd, /boot/uDtb, /boot/uImage
  • The kernel is provided by the linux-image-kirkwood debian package.
  • The uDtb is a Device Tree Binary describing how the different parts of the hardware interact.
  • A new device tree has been constructed

Working hardware (under Debian Jessie)

  • 2x Gigabit Ethernet
  • 4x SATA
  • USB
  • FAN (via DT and installing fancontrol package)
  • LCD (See new-lcd.sh)

Open Problems

  1. The device does not properly shut down yet.
  2. Wake on LAN (if supported at all).
  3. Checking that buttons and LEDs work correctly.

Device Analysis (2015)

Hardware

  • Board: DB-88F6281A-BP
  • SoC: 88F6281 A1 LE
  • CPU: Feroceon 88FR131 rev 1 (v5l)
  • NAND: Samsung NAND 32MiB 3,3V 8-bit
  • 256 MiB RAM
  • 2x Gigabit Ethernet
  • 4x SATA II
  • 4x USB 2.0

Stock Software

Random Notes

  • Seagate Download Finder maps the Serial Number to Model Number: STAR400
  • Would like to run Debian Jessie using Debian Kernel (linux-image-kirkwood)
  • Debian's fw_printenv does not work, the fw_printenv provided by the rootfs works (Marvell specific?).

Useful links

# Installing Debian Jessie onto tiny 4 GB USB drive
mkfs.ext4 -E lazy_itable_init=0,lazy_journal_init=0 /dev/sdc
# Note UUID=af762f80-1448-11e5-ab80-ffa929a7edf3
mount /dev/sdc /mnt
# This bootstrap was performed on the same architecture (armel).
# The command may have to be modified when using another platform.
debootstrap --arch=armel --include="rsync,u-boot-tools,htop,iftop,wget,mc,vim,ssh,bash-completion,command-not-found,lsof,tcpdump,debootstrap,debian-archive-keyring" jessie /mnt
mount -o bind /dev /mnt/dev
mount -o bind /dev/pts /mnt/dev/pts
mount -t sysfs /sys /mnt/sys
mount -t proc /proc /mnt/proc
chroot /mnt /bin/bash
mkdir -p /root/.ssh
cd /root/.ssh
wget 10.100.0.2/authorized_keys
echo "blackarmor" > /etc/hostname
echo "UUID=af762f80-1448-11e5-ab80-ffa929a7edf3 / ext4 errors=remount-ro 0 1" > /etc/fstab
echo "deb http://http.debian.net/debian jessie main" > /etc/apt/sources.list
echo "deb http://http.debian.net/debian jessie-updates main" >> /etc/apt/sources.list
echo "deb http://security.debian.org/ jessie/updates main" >> /etc/apt/sources.list
echo 'auto eth0
iface eth0 inet dhcp' >> /etc/network/interfaces
apt-get update
apt-get install aptitude
update-command-not-found
aptitude update
aptitude install locales
dpkg-reconfigure locales # en_GB.UTF-8 only
aptitude install linux-image-kirkwood
mkimage -A arm -O linux -T kernel -C none -a 0x6400000 -e 0x6400000 -n "Linux kernel" -d /vmlinuz /boot/uImage
mkimage -A arm -O linux -T ramdisk -C none -a 0x1100000 -e 0x1100000 -n "Linux Initrd" -d /initrd.img /boot/uInitrd
aptitude install mdadm --without-recommends
# Configure u-boot-tools, e.g. fw_printenv
echo "/dev/mtd0 0xa0000 0x10000 0xa000" > /etc/fw_env.config
git clone --depth 1 --branch kw-ba-400-dts https://github.com/bantu/linux.git
cd linux
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- kirkwood-blackarmor-nas400.dtb
# Move arch/arm/boot/dts/kirkwood-blackarmor-nas400.dtb to /boot/uDtb on thumb drive.
#!/usr/bin/js
# See https://www.npmjs.com/package/lcd
"use strict";
var Lcd = require('./node_modules/lcd/lcd.js');
var lcd = new Lcd({rs: 35, e: 45, data: [40, 41, 42, 43], cols: 16, rows: 2});
lcd.on('ready', function () {
setInterval(function () {
lcd.setCursor(0, 0);
lcd.print(new Date().toISOString().substring(11, 19));
}, 1000);
});
#!/bin/sh
for i in 7 44
do
if [ ! -d "/sys/class/gpio/gpio$i" ]
then
echo $i > /sys/class/gpio/export
echo out > /sys/class/gpio/gpio$i/direction
fi
done
echo 1 > /sys/class/gpio/gpio7/value # 1 = Display on
echo 0 > /sys/class/gpio/gpio44/value # 0 = Write
HERE=$(dirname "$0")
"$HERE/lcd.js"
git clone --depth 1 --branch sg-ba-440 https://github.com/bantu/u-boot.git
cd u-boot
make clean
make mrproper
make nas440_defconfig
make CROSS_COMPILE=arm-linux-gnueabi- u-boot.kwb
# The relevant file is u-boot.kwb
setenv ethaddr AA:BB:CC:DD:EE:FF
setenv eth1addr FF:EE:DD:CC:BB:AA
setenv ipaddr 10.100.111.222
setenv serverip 10.100.0.2
setenv mtdparts mtdparts=orion_nand:1M(u-boot)
setenv bootdelay 10
setenv bootargs
setenv console console=ttyS0,115200
setenv rootuuid af762f80-1448-11e5-ab80-ffa929a7edf3
setenv bootcmd_args 'setenv bootargs ${console} ${mtdparts} root=UUID=${rootuuid} rw'
setenv bootcmd 'usb start; ext4load usb 0:0 0x1100000 /boot/uInitrd; ext4load usb 0:0 0x6000000 /boot/uDtb; ext4load usb 0:0 0x6400000 /boot/uImage; run bootcmd_args; bootm 0x6400000 0x1100000 0x6000000'
console=ttyS0,115200 mtdparts=nand_mtd:0x000a0000@0x0(uboot),0x00010000@0x000a0000(param),0x00200000@0x000c0000(preroot),0x00280000@0x002c0000(uimage),0x01a00000@0x00540000(rootfs),0x000c0000@0x01f40000(misc),32m@0x0(flash) root=/dev/ram0 rootfstype=cramfs init=/etc/rc.preroot initrd=0x800000,0x4800000
Processor : Feroceon 88FR131 rev 1 (v5l)
BogoMIPS : 1192.75
Features : swp half thumb fastmult edsp
CPU implementer : 0x56
CPU architecture: 5TE
CPU variant : 0x2
CPU part : 0x131
CPU revision : 1
Hardware : Feroceon-KW
Revision : 0000
Serial : 0000000000000000
Linux version 2.6.31.8 (arsene@localhost.localdomain) (gcc version 4.2.1) #1 Fri Nov 4 18:48:15 CST 2011 v0.3.2
CPU: Feroceon 88FR131 [56251311] revision 1 (ARMv5TE), cr=00053977
CPU: VIVT data cache, VIVT instruction cache
Machine: Feroceon-KW
Using UBoot passing parameters structure
Memory policy: ECC disabled, Data cache writeback
On node 0 totalpages: 65536
free_area_init_node: node 0, pgdat c04ece68, node_mem_map c5000000
Normal zone: 512 pages used for memmap
Normal zone: 0 pages reserved
Normal zone: 65024 pages, LIFO batch:15
Built 1 zonelists in Zone order, mobility grouping off. Total pages: 65024
Kernel command line: console=ttyS0,115200 mtdparts=nand_mtd:0x000a0000@0x0(uboot),0x00010000@0x000a0000(param),0x00200000@0x000c0000(preroot),0x00280000@0x002c0000(uimage),0x01a00000@0x00540000(rootfs),0x000c0000@0x01f40000(misc),32m@0x0(flash) root=/dev/ram0 rootfstype=cramfs init=/etc/rc.preroot initrd=0x800000,0x4800000
PID hash table entries: 1024 (order: 10, 4096 bytes)
Dentry cache hash table entries: 32768 (order: 5, 131072 bytes)
Inode-cache hash table entries: 16384 (order: 4, 65536 bytes)
Memory: 256MB = 256MB total
Memory: 174592KB available (4696K code, 316K data, 136K init, 0K highmem)
Hierarchical RCU implementation.
NR_IRQS:128
Console: colour dummy device 80x30
Calibrating delay loop... 1192.75 BogoMIPS (lpj=5963776)
Security Framework initialized
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
xor: measuring software checksum speed
arm4regs : 1042.400 MB/sec
8regs : 796.400 MB/sec
32regs : 892.000 MB/sec
xor: using function: arm4regs (1042.400 MB/sec)
NET: Registered protocol family 16
Feroceon L2: Enabling L2
Feroceon L2: Cache support initialised.
CPU Interface
-------------
SDRAM_CS0 ....base 00000000, size 256MB
SDRAM_CS1 ....disable
SDRAM_CS2 ....disable
SDRAM_CS3 ....disable
PEX0_MEM ....base e0000000, size 128MB
PEX0_IO ....base f2000000, size 1MB
INTER_REGS ....base f1000000, size 1MB
NFLASH_CS ....base fa000000, size 2MB
SPI_CS ....base f4000000, size 16MB
BOOT_ROM_CS ....no such
DEV_BOOTCS ....no such
CRYPT_ENG ....base f0000000, size 2MB
Marvell Development Board (LSP Version KW_LSP_5.1.3)-- SHASTA Soc: 88F6281 A1 LE
Detected Tclk 200000000 and SysClk 400000000
MV Buttons Device Load
Marvell USB EHCI Host controller #0: c8040740
PEX0 interface detected Link X1
pci 0000:00:01.0: reg 10 io port: [0x00-0x07]
pci 0000:00:01.0: reg 14 io port: [0xf0000008-0xf000000b]
pci 0000:00:01.0: reg 18 io port: [0x00-0x07]
pci 0000:00:01.0: reg 1c io port: [0xf0000018-0xf000001b]
pci 0000:00:01.0: reg 20 io port: [0xf0000020-0xf000002f]
pci 0000:00:01.0: reg 24 32bit mmio: [0x40000000-0x400003ff]
pci 0000:00:01.0: supports D1
pci 0000:00:01.0: PME# supported from D0 D1 D3hot
pci 0000:00:01.0: PME# disabled
PCI: bus0: Fast back to back transfers disabled
bio: create slab <bio-0> at 0
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
raid6: int32x1 91 MB/s
raid6: int32x2 107 MB/s
raid6: int32x4 122 MB/s
raid6: int32x8 107 MB/s
raid6: using algorithm int32x4 (122 MB/s)
NET: Registered protocol family 2
IP route cache hash table entries: 2048 (order: 1, 8192 bytes)
TCP established hash table entries: 8192 (order: 4, 65536 bytes)
TCP bind hash table entries: 8192 (order: 3, 32768 bytes)
TCP: Hash tables configured (established 8192 bind 8192)
TCP reno registered
NET: Registered protocol family 1
Trying to unpack rootfs image as initramfs...
rootfs image is not initramfs (junk in compressed archive); looks like an initrd
Freeing initrd memory: 73728K
rtc mv_rtc: rtc core: registered kw-rtc as rtc0
RTC registered
XOR registered 4 channels
XOR 2nd invalidate WA enabled
cesadev_init(c000ecec)
mvCesaInit: sessions=640, queue=64, pSram=f0000000
Warning: TS unit is powered off.
MV Buttons Driver Load
VFS: Disk quotas dquot_6.5.2
Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
Installing knfsd (copyright (C) 1996 okir@monad.swb.de).
JFFS2 version 2.2. (NAND) \xffffffc2\xffffffa9\xffffffa9 2001-2006 Red Hat, Inc.
fuse init (API version 7.12)
SGI XFS with security attributes, large block/inode numbers, no debug enabled
msgmni has been set to 485
alg: No test for cipher_null (cipher_null-generic)
alg: No test for ecb(cipher_null) (ecb-cipher_null)
alg: No test for digest_null (digest_null-generic)
alg: No test for compress_null (compress_null-generic)
alg: No test for stdrng (krng)
alg: No test for hmac(digest_null) (hmac(digest_null-generic))
async_tx: api initialized (sync-only)
Block layer SCSI generic (bsg) driver version 0.4 loaded (major 253)
io scheduler noop registered
io scheduler anticipatory registered (default)
Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled
serial8250.0: ttyS0 at MMIO 0xf1012000 (irq = 33) is a 16550A
console [ttyS0] enabled
brd: module loaded
loop: module loaded
set 6121 Transmitter Pre-Emphasis to 4
Marvell Storage Controller is found, using IRQ 9.
scsi0 : Marvell Storage Controller
Integrated Sata device found
IRQ 21/mvSata: IRQF_DISABLED is not guaranteed on shared IRQs
scsi1 : Marvell SCSI to SATA adapter
scsi2 : Marvell SCSI to SATA adapter
Loading Marvell Ethernet Driver:
o Cached descriptors in DRAM
o DRAM SW cache-coherency
o 2 Giga ports supported
o Single RX Queue support - ETH_DEF_RXQ=0
o Single TX Queue support - ETH_DEF_TXQ=0
o TCP segmentation offload (TSO) supported
o Large Receive offload (LRO) supported
o Receive checksum offload supported
o Transmit checksum offload supported
o Network Fast Processing (Routing) supported - (Disabled)
o Driver ERROR statistics enabled
o Driver INFO statistics enabled
o Proc tool API enabled
o SKB Reuse supported - (Disabled)
o SKB Recycle supported - (Disabled)
o Rx descripors: q0=256
o Tx descripors: q0=532
o Loading network interface(s):
o register under mv88fx_eth platform
o egiga0, ifindex = 2, GbE port = 0
o egiga1, ifindex = 3, GbE port = 1
mvFpRuleDb (ccb1c000): 2048 entries, 8192 bytes
Counter=0, opIdx=6, overhead=16
Counter=1, opIdx=2, overhead=0
Counter=2, opIdx=1, overhead=18
Counter=3, opIdx=2, overhead=0
NAND device: Manufacturer ID: 0xec, Chip ID: 0x75 (Samsung NAND 32MiB 3,3V 8-bit)
Scanning device for bad blocks
7 cmdlinepart partitions found on MTD device nand_mtd
Using command line partition definition
Creating 7 MTD partitions on "nand_mtd":
0x000000000000-0x0000000a0000 : "uboot"
0x0000000a0000-0x0000000b0000 : "param"
0x0000000c0000-0x0000002c0000 : "preroot"
0x0000002c0000-0x000000540000 : "uimage"
0x000000540000-0x000001f40000 : "rootfs"
0x000001f40000-0x000002000000 : "misc"
0x000000000000-0x000002000000 : "flash"
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
ehci_marvell ehci_marvell.70059: Marvell Orion EHCI
ehci_marvell ehci_marvell.70059: new USB bus registered, assigned bus number 1
ehci_marvell ehci_marvell.70059: irq 19, io base 0xf1050100
ehci_marvell ehci_marvell.70059: USB 2.0 started, EHCI 1.00
usb usb1: configuration #1 chosen from 1 choice
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 1 port detected
usbcore: registered new interface driver usblp
Initializing USB Mass Storage driver...
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
i2c /dev entries driver
adt7473_detect....
adt7473 0-002e: adt7473 chip found
md: linear personality registered for level -1
md: raid0 personality registered for level 0
md: raid1 personality registered for level 1
md: raid10 personality registered for level 10
md: raid6 personality registered for level 6
md: raid5 personality registered for level 5
md: raid4 personality registered for level 4
device-mapper: ioctl: 4.15.0-ioctl (2009-04-01) initialised: dm-devel@redhat.com
dm_crypt using the OCF package.
usbcore: registered new interface driver hiddev
usbcore: registered new interface driver usbhid
usbhid: v2.6:USB HID core driver
wix gpio_init
wix_lcm: WIX LCM driver version 0.1
TCP cubic registered
NET: Registered protocol family 17
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
rtc mv_rtc: setting system clock to 2015-02-28 03:40:36 UTC (1425094836)
md: Waiting for all devices to be available before autodetect
md: If you don't use raid, use raid=noautodetect
md: Autodetecting RAID arrays.
md: Scanned 0 and added 0 devices.
md: autorun ...
md: ... autorun DONE.
RAMDISK: cramfs filesystem found at block 0
RAMDISK: Loading 1632KiB [1 disk] into ram disk... |\x08/\x08-\x08\\x08|\x08/\x08-\x08\\x08|\x08/\x08-\x08\\x08|\x08/\x08-\x08\\x08|\x08/\x08-\x08\\x08|\x08/\x08-\x08\\x08|\x08/\x08-\x08\\x08|\x08/\x08-\x08\\x08|\x08/\x08-\x08\\x08|\x08/\x08-\x08\\x08|\x08/\x08-\x08\\x08|\x08/\x08-\x08\\x08|\x08/\x08-\x08\\x08|\x08/\x08-\x08\\x08|\x08/\x08-\x08\\x08|\x08/\x08-\x08\\x08|\x08/\x08-\x08\\x08|\x08/\x08-\x08\\x08|\x08/\x08-\x08\\x08|\x08/\x08-\x08\\x08|\x08/\x08-\x08\\x08|\x08/\x08-\x08\\x08|\x08/\x08-\x08\\x08|\x08/\x08-\x08\\x08|\x08/\x08-\x08\\x08|\x08/\x08done.
VFS: Mounted root (cramfs filesystem) readonly on device 1:0.
Freeing init memory: 136K
usb 1-1: new high speed USB device using ehci_marvell and address 2
usb 1-1: configuration #1 chosen from 1 choice
hub 1-1:1.0: USB hub found
hub 1-1:1.0: 4 ports detected
usb 1-1.2: new high speed USB device using ehci_marvell and address 3
usb 1-1.2: configuration #1 chosen from 1 choice
scsi3 : SCSI emulation for USB Mass Storage devices
usb-storage: device found at 3
usb-storage: waiting for device to settle before scanning
EXT3-fs: unable to read superblock
FAT: unable to read boot sector
EXT3-fs: unable to read superblock
EXT2-fs: unable to read superblock
EXT4-fs (md0): unable to read superblock
FAT: unable to read boot sector
FAT: unable to read boot sector
egiga0: link down
egiga0: started
scsi 3:0:0:0: Direct-Access PMAP PQ: 0 ANSI: 0 CCS
sd 3:0:0:0: Attached scsi generic sg0 type 0
egiga0: link up, full duplex, speed 100 Mbps
usb-storage: device scan complete
sd 3:0:0:0: [sda] 7831552 512-byte logical blocks: (4.00 GB/3.73 GiB)
sd 3:0:0:0: [sda] Write Protect is off
sd 3:0:0:0: [sda] Mode Sense: 23 00 00 00
sd 3:0:0:0: [sda] Assuming drive cache: write through
sd 3:0:0:0: [sda] Assuming drive cache: write through
sda: unknown partition table
sd 3:0:0:0: [sda] Assuming drive cache: write through
sd 3:0:0:0: [sda] Attached SCSI removable disk
EXT3-fs: sda: couldn't mount because of unsupported optional features (240).
EXT3-fs: sda: couldn't mount because of unsupported optional features (240).
EXT2-fs: sda: couldn't mount because of unsupported optional features (244).
EXT4-fs (sda): barriers enabled
kjournald2 starting: pid 766, dev sda:8, commit interval 5 seconds
EXT4-fs (sda): internal journal on sda:8
EXT4-fs (sda): delayed allocation enabled
EXT4-fs: file extents enabled
EXT4-fs: mballoc enabled
EXT4-fs (sda): recovery complete
EXT4-fs (sda): mounted filesystem with ordered data mode
egiga1: link down
egiga1: started
egiga1: link up, full duplex, speed 100 Mbps
01: None 00.0: 10107 System
[Created at sys.63]
Unique ID: rdCR.n_7QNeEnh23
Hardware Class: system
Model: "System"
Config Status: cfg=new, avail=yes, need=no, active=unknown
02: None 00.0: 10102 Main Memory
[Created at memory.61]
Unique ID: rdCR.CxwsZFjVASF
Hardware Class: memory
Model: "Main Memory"
Memory Range: 0x00000000-0x0f2dffff (rw)
Memory Size: 240 MB
Config Status: cfg=new, avail=yes, need=no, active=unknown
03: PCI 01.0: 0101 IDE interface
[Created at pci.318]
Unique ID: vSkL.3BDQRy6s0cC
SysFS ID: /devices/pci0000:00/0000:00:01.0
SysFS BusID: 0000:00:01.0
Hardware Class: storage
Model: "Marvell 88SE6121 SATA II Controller"
Vendor: pci 0x11ab "Marvell Technology Group Ltd."
Device: pci 0x6121 "88SE6121 SATA II Controller"
SubVendor: pci 0x11ab "Marvell Technology Group Ltd."
SubDevice: pci 0x6121
Revision: 0xb2
Driver: "mv_mv61xx"
Driver Modules: "mv61xx"
I/O Ports: 0x1010-0x1017 (rw)
I/O Ports: 0x1020-0x1023 (rw)
I/O Ports: 0x1018-0x101f (rw)
I/O Ports: 0x1024-0x1027 (rw)
I/O Ports: 0x1000-0x100f (rw)
Memory Range: 0xe0000000-0xe00003ff (rw,non-prefetchable)
IRQ: 9 (no events)
Module Alias: "pci:v000011ABd00006121sv000011ABsd00006121bc01sc01i8f"
Config Status: cfg=new, avail=yes, need=no, active=unknown
04: None 00.0: 0700 Serial controller
[Created at misc.449]
Unique ID: rdCR.7RG8lK_UzJ9
Hardware Class: unknown
Model: "Serial controller"
IRQ: 33 (51 events)
Config Status: cfg=new, avail=yes, need=no, active=unknown
05: None 00.0: 10600 Disk
[Created at block.243]
Unique ID: YMG9.Fxp0d3BezAE
SysFS ID: /class/block/mtdblock0
SysFS BusID: mtd0
SysFS Device Link: /devices/virtual/mtd/mtd0
Hardware Class: disk
Model: "Disk"
Device File: /dev/mtdblock0
Device Number: block 31:0
Size: 1280 sectors a 512 bytes
Config Status: cfg=new, avail=yes, need=no, active=unknown
06: None 00.0: 10600 Disk
[Created at block.243]
Unique ID: +XWD.Fxp0d3BezAE
SysFS ID: /class/block/mtdblock1
SysFS BusID: mtd1
SysFS Device Link: /devices/virtual/mtd/mtd1
Hardware Class: disk
Model: "Disk"
Device File: /dev/mtdblock1
Device Number: block 31:1
Size: 128 sectors a 512 bytes
Config Status: cfg=new, avail=yes, need=no, active=unknown
07: None 00.0: 10600 Disk
[Created at block.243]
Unique ID: SjmH.Fxp0d3BezAE
SysFS ID: /class/block/mtdblock2
SysFS BusID: mtd2
SysFS Device Link: /devices/virtual/mtd/mtd2
Hardware Class: disk
Model: "Disk"
Device File: /dev/mtdblock2
Device Number: block 31:2
Size: 4096 sectors a 512 bytes
Config Status: cfg=new, avail=yes, need=no, active=unknown
08: None 00.0: 10600 Disk
[Created at block.243]
Unique ID: vu0M.Fxp0d3BezAE
SysFS ID: /class/block/mtdblock3
SysFS BusID: mtd3
SysFS Device Link: /devices/virtual/mtd/mtd3
Hardware Class: disk
Model: "Disk"
Device File: /dev/mtdblock3
Device Number: block 31:3
Size: 5120 sectors a 512 bytes
Config Status: cfg=new, avail=yes, need=no, active=unknown
09: None 00.0: 10600 Disk
[Created at block.243]
Unique ID: M4HQ.Fxp0d3BezAE
SysFS ID: /class/block/mtdblock4
SysFS BusID: mtd4
SysFS Device Link: /devices/virtual/mtd/mtd4
Hardware Class: disk
Model: "Disk"
Device File: /dev/mtdblock4
Device Number: block 31:4
Size: 53248 sectors a 512 bytes
Config Status: cfg=new, avail=yes, need=no, active=unknown
10: None 00.0: 10600 Disk
[Created at block.243]
Unique ID: pFXU.Fxp0d3BezAE
SysFS ID: /class/block/mtdblock5
SysFS BusID: mtd5
SysFS Device Link: /devices/virtual/mtd/mtd5
Hardware Class: disk
Model: "Disk"
Device File: /dev/mtdblock5
Device Number: block 31:5
Size: 1536 sectors a 512 bytes
Config Status: cfg=new, avail=yes, need=no, active=unknown
11: None 00.0: 10600 Disk
[Created at block.243]
Unique ID: GRnY.Fxp0d3BezAE
SysFS ID: /class/block/mtdblock6
SysFS BusID: mtd6
SysFS Device Link: /devices/virtual/mtd/mtd6
Hardware Class: disk
Model: "Disk"
Device File: /dev/mtdblock6
Device Number: block 31:6
Size: 65536 sectors a 512 bytes
Config Status: cfg=new, avail=yes, need=no, active=unknown
12: SCSI 300.0: 10600 Disk
[Created at block.243]
Unique ID: BobO.ZdcqAHZAmr4
SysFS ID: /class/block/sda
SysFS BusID: 3:0:0:0
SysFS Device Link: /devices/platform/ehci_marvell.70059/usb1/1-1/1-1.2/1-1.2:1.0/host3/target3:0:0/3:0:0:0
Hardware Class: disk
Model: "Disk"
Vendor: usb 0x13fe
Device: usb 0x3600
Revision: "PMAP"
Serial ID: "90AA1E00FFFF003C"
Driver: "usb-storage", "sd"
Driver Modules: "usb_storage"
Device File: /dev/sda (/dev/sg0)
Device Number: block 8:0-8:15 (char 21:0)
Geometry (Logical): CHS 1018/124/62
Size: 7831552 sectors a 512 bytes
Speed: 480 Mbps
Module Alias: "usb:v13FEp3600d0100dc00dsc00dp00ic08isc06ip50"
Config Status: cfg=new, avail=yes, need=no, active=unknown
13: USB 00.0: 10a00 Hub
[Created at usb.122]
Unique ID: k4bc.930ZJXLdHT9
SysFS ID: /devices/platform/ehci_marvell.70059/usb1/1-0:1.0
SysFS BusID: 1-0:1.0
Hardware Class: hub
Model: "Linux 2.6.31.8 ehci_hcd Marvell Orion EHCI"
Hotplug: USB
Vendor: usb 0x1d6b "Linux 2.6.31.8 ehci_hcd"
Device: usb 0x0002 "Marvell Orion EHCI"
Revision: "2.06"
Serial ID: "ehci_marvell.70059"
Driver: "hub"
Driver Modules: "usbcore"
Speed: 480 Mbps
Module Alias: "usb:v1D6Bp0002d0206dc09dsc00dp01ic09isc00ip00"
Config Status: cfg=new, avail=yes, need=no, active=unknown
14: USB 00.0: 10a00 Hub
[Created at usb.122]
Unique ID: ADDn.d7FDLX76qXB
Parent ID: k4bc.930ZJXLdHT9
SysFS ID: /devices/platform/ehci_marvell.70059/usb1/1-1/1-1:1.0
SysFS BusID: 1-1:1.0
Hardware Class: hub
Model: "Genesys Logic USB2.0 Hub"
Hotplug: USB
Vendor: usb 0x05e3 "Genesys Logic, Inc."
Device: usb 0x0608 "USB2.0 Hub"
Revision: "77.63"
Driver: "hub"
Driver Modules: "usbcore"
Speed: 480 Mbps
Module Alias: "usb:v05E3p0608d7763dc09dsc00dp01ic09isc00ip00"
Config Status: cfg=new, avail=yes, need=no, active=unknown
Attached to: #13 (Hub)
16: Serial 00.0: 10801 Console
[Created at kbd.154]
Unique ID: Fyby.5lXXuQkv_C5
Hardware Class: keyboard
Model: "serial console"
Device: "serial console"
Device File: /dev/ttyS0
Speed: 115.2 kbps
Config Status: cfg=new, avail=yes, need=no, active=unknown
17: None 00.0: 10700 Loopback
[Created at net.124]
Unique ID: ZsBS.GQNx7L4uPNA
SysFS ID: /class/net/lo
Hardware Class: network interface
Model: "Loopback network interface"
Device File: lo
Link detected: yes
Config Status: cfg=new, avail=yes, need=no, active=unknown
18: None 00.0: 10701 Ethernet
[Created at net.124]
Unique ID: z40q.ndpeucax6V1
SysFS ID: /class/net/egiga0
SysFS Device Link: /devices/platform/mv88fx_eth.0
Hardware Class: network interface
Model: "Ethernet network interface"
Driver: "mv88fx_eth"
Device File: egiga0
HW Address: 00:10:75:35:18:aa
Link detected: yes
Config Status: cfg=new, avail=yes, need=no, active=unknown
19: None 01.0: 10701 Ethernet
[Created at net.124]
Unique ID: QGGu.ndpeucax6V1
SysFS ID: /class/net/egiga1
Hardware Class: network interface
Model: "Ethernet network interface"
Device File: egiga1
HW Address: 00:10:75:35:18:ab
Link detected: yes
Config Status: cfg=new, avail=yes, need=no, active=unknown
_none_
description: Computer
width: 32 bits
*-core
description: Motherboard
physical id: 0
*-memory
description: System memory
physical id: 0
size: 242MiB
*-cpu
physical id: 2
bus info: cpu@0
*-ide
description: IDE interface
product: 88SE6121 SATA II / PATA Controller
vendor: Marvell Technology Group Ltd.
physical id: 1
bus info: pci@0000:00:01.0
logical name: scsi0
version: b2
width: 32 bits
clock: 33MHz
capabilities: ide pm msi pciexpress bus_master cap_list scsi-host
configuration: driver=mv61xx latency=0
resources: irq:9 ioport:1010(size=8) ioport:1020(size=4) ioport:1018(size=8) ioport:1024(size=4) ioport:1000(size=16) memory:e0000000-e00003ff
*-scsi:0
physical id: 1
bus info: scsi@1
logical name: scsi1
capabilities: scsi-host
configuration: driver=mvSata
*-scsi:1
physical id: 2
bus info: scsi@2
logical name: scsi2
capabilities: scsi-host
configuration: driver=mvSata
*-scsi:2
physical id: 3
bus info: scsi@3
logical name: scsi3
capabilities: scsi-host
configuration: driver=usb-storage
*-network:0
description: Ethernet interface
physical id: 4
logical name: egiga0
serial: REMOVED
capabilities: ethernet physical
configuration: broadcast=yes ip=192.168.1.2 multicast=yes
*-network:1
description: Ethernet interface
physical id: 5
logical name: egiga1
serial: REMOVED
capabilities: ethernet physical
configuration: broadcast=yes ip=REMOVED multicast=yes
dev: size erasesize name
mtd0: 000a0000 00004000 "uboot"
mtd1: 00010000 00004000 "param"
mtd2: 00200000 00004000 "preroot"
mtd3: 00280000 00004000 "uimage"
mtd4: 01a00000 00004000 "rootfs"
mtd5: 000c0000 00004000 "misc"
mtd6: 02000000 00004000 "flash"
autoload=no
baudrate=115200
bootargs_end=:::DB88FXX81:eth0:none
bootargs_root=root=/dev/ram0 rootfstype=cramfs init=/etc/rc.preroot initrd=0x800000,0x4800000
bootcmd_f=nand reset; nand read.e 0x800000 0x000c4000 0x00198200; check_crc32 PrEr;
bootcmd=nand reset; nand read.e 0x800000 0x000c4000 0x00198200; check_crc32 PrEr; nand reset; nand read.e 0x40000 0x002c4000 0x00230400; check_crc32 KrNl; setenv bootargs $(console) $(bootargs_root); bootm 0x40000;
bootdelay=3
CASset=min
console=console=ttyS0,115200 mtdparts=nand_mtd:0x000a0000@0x0(uboot),0x00010000@0x000a0000(param),0x00200000@0x000c0000(preroot),0x00280000@0x002c0000(uimage),0x01a00000@0x00540000(rootfs),0x000c0000@0x01f40000(misc),32m@0x0(flash)
disaMvPnp=no
disL2Cache=no
disL2Prefetch=yes
enaAutoRecovery=yes
enaCpuStream=no
enaDCPref=yes
enaICPref=yes
enaMonExt=no
enaWrAllo=no
eth1addr=REMOVED
eth1mtu=1500
ethact=egiga0
ethaddr=REMOVED
ethmtu=1500
ethprime=egiga0
extendDiskMode=extend
ftpserver=192.168.43.4
fw_ver=4000.1411
image_name=uImage
ipaddr=10.4.50.165
loadaddr=0x02000000
loads_echo=0
mainlineLinux=no
MALLOC_len=1
mfgmodel=shasta
mfgtest_state=final_tested_ok
mfgutil_update=1
mkraid5=ok
modelname=9SJ5PA-500
mvNetConfig=mv_net_config=(00:11:88:0f:62:81,0:1:2:3),mtu=1500
nandEcc=1bit
netbsd_en=no
netmask=255.255.255.0
netretry=no
pexMode=RC
preroot_ver=0.1.9
raclient_leaseExpires=REMOVED
raclient_securityKey=REMOVED
raidlevel=5
rcvrip=169.254.100.100
rootpath=/mnt/ARM_FS/
runintime=8400
sata_dma_mode=yes
serialNo=REMOVED
serial_number=REMOVED
serverip=10.4.50.5
setL2CacheWT=yes
standalone=fsload 0x2000000 $(image_name);setenv bootargs $(console) root=/dev/mtdblock0 rw ip=$(ipaddr):$(serverip)$(bootargs_end); bootm 0x2000000;
stderr=serial
stdin=serial
stdout=serial
testfile=100M
uboot_ver=v0.2.0
usb0Mode=host
vxworks_en=no
yuk_ethaddr=00:00:00:EE:51:81
__ __ _ _
| \/ | __ _ _ ____ _____| | |
| |\/| |/ _` | '__\ \ / / _ \ | |
| | | | (_| | | \ V / __/ | |
|_| |_|\__,_|_| \_/ \___|_|_|
_ _ ____ _
| | | | | __ ) ___ ___ | |_
| | | |___| _ \ / _ \ / _ \| __|
| |_| |___| |_) | (_) | (_) | |_
\___/ |____/ \___/ \___/ \__| ** uboot_ver:v0.2.0 **
** MARVELL BOARD: SHASTA LE
U-Boot 1.1.4 (Sep 9 2010 - 14:52:19) Marvell version: 3.4.18
U-Boot code: 00600000 -> 0067FFF0 BSS: -> 006CF620
Soc: 88F6281 A1 (DDR2)
CPU running @ 1200Mhz L2 running @ 400Mhz
SysClock = 400Mhz , TClock = 200Mhz
DRAM CAS Latency = 5 tRP = 5 tRAS = 18 tRCD=6
DRAM CS[0] base 0x00000000 size 256MB
DRAM Total size 256MB 16bit width
Found ADT7473, program PWM1 ... OK
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
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
Module 0 is RGMII
Module 1 is RGMII
USB 0: host mode
PEX 0: PCI Express Root Complex Interface
PEX interface detected Link X1
SCSI: AHCI 0001.0000 32 slots 3 ports 3 Gbps 0x7 impl IDE mode
flags: 64bit ncq stag led pmp slum part
scanning bus for devices...
Net: egiga0 [PRIME], egiga1
Hit any key to stop autoboot: 0
NAND read: device 0 offset 0xc4000, size 0x198200
Reading data from 0x25c000 -- 100% complete.
1671680 bytes read: OK
Calculate CRC32:
crc32 checksum Pass
NAND read: device 0 offset 0x2c4000, size 0x26ee00
Reading data from 0x532c00 -- 100% complete.
2551296 bytes read: OK
Calculate CRC32:
crc32 checksum Pass
## Booting image at 00040000 ...
Image Name: Linux-2.6.31.8
Created: 2011-11-04 10:48:25 UTC
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 2550764 Bytes = 2.4 MB
Load Address: 00008000
Entry Point: 00008000
Verifying Checksum ... OK
OK
Starting kernel ...
Uncompressing Linux................................................................................................................................................................ done, booting the kernel.
Linux version 2.6.31.8 (arsene@localhost.localdomain) (gcc version 4.2.1) #1 Fri Nov 4 18:48:15 CST 2011 v0.3.2
CPU: Feroceon 88FR131 [56251311] revision 1 (ARMv5TE), cr=00053977
CPU: VIVT data cache, VIVT instruction cache
Machine: Feroceon-KW
Using UBoot passing parameters structure
Memory policy: ECC disabled, Data cache writeback
Built 1 zonelists in Zone order, mobility grouping off. Total pages: 65024
Kernel command line: console=ttyS0,115200 mtdparts=nand_mtd:0x000a0000@0x0(uboot),0x00010000@0x000a0000(param),0x00200000@0x000c0000(preroot),0x00280000@0x002c0000(uimage),0x01a00000@0x00540000(rootfs),0x000c0000@0x01f40000(misc),32m@0x0(flash) root=/dev/ram0 rootfstype=cramfs init=/etc/rc.preroot initrd=0x800000,0x4800000
PID hash table entries: 1024 (order: 10, 4096 bytes)
Dentry cache hash table entries: 32768 (order: 5, 131072 bytes)
Inode-cache hash table entries: 16384 (order: 4, 65536 bytes)
Memory: 256MB = 256MB total
Memory: 174592KB available (4696K code, 316K data, 136K init, 0K highmem)
Hierarchical RCU implementation.
NR_IRQS:128
Console: colour dummy device 80x30
Calibrating delay loop... 1192.75 BogoMIPS (lpj=5963776)
Security Framework initialized
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
xor: measuring software checksum speed
arm4regs : 1042.400 MB/sec
8regs : 822.000 MB/sec
32regs : 922.000 MB/sec
xor: using function: arm4regs (1042.400 MB/sec)
NET: Registered protocol family 16
Feroceon L2: Enabling L2
Feroceon L2: Cache support initialised.
CPU Interface
-------------
SDRAM_CS0 ....base 00000000, size 256MB
SDRAM_CS1 ....disable
SDRAM_CS2 ....disable
SDRAM_CS3 ....disable
PEX0_MEM ....base e0000000, size 128MB
PEX0_IO ....base f2000000, size 1MB
INTER_REGS ....base f1000000, size 1MB
NFLASH_CS ....base fa000000, size 2MB
SPI_CS ....base f4000000, size 16MB
BOOT_ROM_CS ....no such
DEV_BOOTCS ....no such
CRYPT_ENG ....base f0000000, size 2MB
Marvell Development Board (LSP Version KW_LSP_5.1.3)-- SHASTA Soc: 88F6281 A1 LE
Detected Tclk 200000000 and SysClk 400000000
MV Buttons Device Load
Marvell USB EHCI Host controller #0: c8040740
PEX0 interface detected Link X1
pci 0000:00:01.0: PME# supported from D0 D1 D3hot
pci 0000:00:01.0: PME# disabled
PCI: bus0: Fast back to back transfers disabled
bio: create slab <bio-0> at 0
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
raid6: int32x1 91 MB/s
raid6: int32x2 107 MB/s
raid6: int32x4 122 MB/s
raid6: int32x8 107 MB/s
raid6: using algorithm int32x4 (122 MB/s)
NET: Registered protocol family 2
IP route cache hash table entries: 2048 (order: 1, 8192 bytes)
TCP established hash table entries: 8192 (order: 4, 65536 bytes)
TCP bind hash table entries: 8192 (order: 3, 32768 bytes)
TCP: Hash tables configured (established 8192 bind 8192)
TCP reno registered
NET: Registered protocol family 1
Trying to unpack rootfs image as initramfs...
rootfs image is not initramfs (junk in compressed archive); looks like an initrd
Freeing initrd memory: 73728K
rtc mv_rtc: rtc core: registered kw-rtc as rtc0
RTC registered
XOR registered 4 channels
XOR 2nd invalidate WA enabled
cesadev_init(c000ecec)
mvCesaInit: sessions=640, queue=64, pSram=f0000000
Warning: TS unit is powered off.
MV Buttons Driver Load
VFS: Disk quotas dquot_6.5.2
Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
Installing knfsd (copyright (C) 1996 okir@monad.swb.de).
JFFS2 version 2.2. (NAND) © 2001-2006 Red Hat, Inc.
fuse init (API version 7.12)
SGI XFS with security attributes, large block/inode numbers, no debug enabled
msgmni has been set to 485
alg: No test for cipher_null (cipher_null-generic)
alg: No test for ecb(cipher_null) (ecb-cipher_null)
alg: No test for digest_null (digest_null-generic)
alg: No test for compress_null (compress_null-generic)
alg: No test for stdrng (krng)
alg: No test for hmac(digest_null) (hmac(digest_null-generic))
async_tx: api initialized (sync-only)
Block layer SCSI generic (bsg) driver version 0.4 loaded (major 253)
io scheduler noop registered
io scheduler anticipatory registered (default)
Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled
serial8250.0: ttyS0 at MMIO 0xf1012000 (irq = 33) is a 16550A
console [ttyS0] enabled
brd: module loaded
loop: module loaded
set 6121 Transmitter Pre-Emphasis to 4
Marvell Storage Controller is found, using IRQ 9.
scsi0 : Marvell Storage Controller
Integrated Sata device found
IRQ 21/mvSata: IRQF_DISABLED is not guaranteed on shared IRQs
scsi1 : Marvell SCSI to SATA adapter
scsi2 : Marvell SCSI to SATA adapter
Loading Marvell Ethernet Driver:
o Cached descriptors in DRAM
o DRAM SW cache-coherency
o 2 Giga ports supported
o Single RX Queue support - ETH_DEF_RXQ=0
o Single TX Queue support - ETH_DEF_TXQ=0
o TCP segmentation offload (TSO) supported
o Large Receive offload (LRO) supported
o Receive checksum offload supported
o Transmit checksum offload supported
o Network Fast Processing (Routing) supported - (Disabled)
o Driver ERROR statistics enabled
o Driver INFO statistics enabled
o Proc tool API enabled
o SKB Reuse supported - (Disabled)
o SKB Recycle supported - (Disabled)
o Rx descripors: q0=256
o Tx descripors: q0=532
o Loading network interface(s):
o register under mv88fx_eth platform
o egiga0, ifindex = 2, GbE port = 0
o egiga1, ifindex = 3, GbE port = 1
mvFpRuleDb (ccb2c000): 2048 entries, 8192 bytes
Counter=0, opIdx=6, overhead=16
Counter=1, opIdx=2, overhead=0
Counter=2, opIdx=1, overhead=18
Counter=3, opIdx=2, overhead=0
NAND device: Manufacturer ID: 0xec, Chip ID: 0x75 (Samsung NAND 32MiB 3,3V 8-bit)
Scanning device for bad blocks
7 cmdlinepart partitions found on MTD device nand_mtd
Using command line partition definition
Creating 7 MTD partitions on "nand_mtd":
0x000000000000-0x0000000a0000 : "uboot"
0x0000000a0000-0x0000000b0000 : "param"
0x0000000c0000-0x0000002c0000 : "preroot"
0x0000002c0000-0x000000540000 : "uimage"
0x000000540000-0x000001f40000 : "rootfs"
0x000001f40000-0x000002000000 : "misc"
0x000000000000-0x000002000000 : "flash"
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
ehci_marvell ehci_marvell.70059: Marvell Orion EHCI
ehci_marvell ehci_marvell.70059: new USB bus registered, assigned bus number 1
ehci_marvell ehci_marvell.70059: irq 19, io base 0xf1050100
ehci_marvell ehci_marvell.70059: USB 2.0 started, EHCI 1.00
usb usb1: configuration #1 chosen from 1 choice
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 1 port detected
usbcore: registered new interface driver usblp
Initializing USB Mass Storage driver...
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
i2c /dev entries driver
adt7473_detect....
adt7473 0-002e: adt7473 chip found
md: linear personality registered for level -1
md: raid0 personality registered for level 0
md: raid1 personality registered for level 1
md: raid10 personality registered for level 10
md: raid6 personality registered for level 6
md: raid5 personality registered for level 5
md: raid4 personality registered for level 4
device-mapper: ioctl: 4.15.0-ioctl (2009-04-01) initialised: dm-devel@redhat.com
dm_crypt using the OCF package.
usbcore: registered new interface driver hiddev
usbcore: registered new interface driver usbhid
usbhid: v2.6:USB HID core driver
wix gpio_init
wix_lcm: WIX LCM driver version 0.1
TCP cubic registered
NET: Registered protocol family 17
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
rtc mv_rtc: setting system clock to 2015-03-18 23:16:32 UTC (1426720592)
md: Waiting for all devices to be available before autodetect
md: If you don't use raid, use raid=noautodetect
md: Autodetecting RAID arrays.
md: Scanned 0 and added 0 devices.
md: autorun ...
md: ... autorun DONE.
RAMDISK: cramfs filesystem found at block 0
RAMDISK: Loading 1632KiB [1 disk] into ram disk... done.
VFS: Mounted root (cramfs filesystem) readonly on device 1:0.
Freeing init memory: 136K
Enter Pre-Root FileSystem:
usb 1-1: new high speed USB device using ehci_marvell and address 2
FW_UPDATE_FLAG_RES:1
BOARDTEST_FALG:0
usb 1-1: configuration #1 chosen from 1 choice
hub 1-1:1.0: USB hub found
hub 1-1:1.0: 4 ports detected
RESET_VAL: 1
usb 1-1.2: new high speed USB device using ehci_marvell and address 3
usb 1-1.2: configuration #1 chosen from 1 choice
scsi3 : SCSI emulation for USB Mass Storage devices
USB_VAL: 1
DSK1_RES:1
DSK2_RES:1
DSK3_RES:1
DSK4_RES:1
DSK1_S_RES:
DSK2_S_RES:
DSK3_S_RES:
DSK4_S_RES:
CHK_RES:1
MD0CHK_RES:1
init started: BusyBox v1.1.1 (2008.10.08-08:58+0000) multi-call binary
Starting pid 720, console /dev/ttyS0: '/etc/init.d/rcS'
Starting network...
Starting inetd... OK
NOT_DEF_RES:0
EXT3-fs: unable to read superblock
FAT: unable to read boot sector
EXT3-fs: unable to read superblock
EXT2-fs: unable to read superblock
EXT4-fs (md0): unable to read superblock
FAT: unable to read boot sector
FAT: unable to read boot sector
egiga0: started
#
@modernmediagrp
Copy link

Hmm I got a Seagate BlackArmor 440 well it was a 420 cuz It came with 2 drives instead of 4. Its one of the first models. Wondering if this is possible with my unit and if "A serial cable was soldered onto the board's CN4 connector which can be used for debugging." IS REQUIRED. I have very little hardware experience but am willing to give it a go. Any thoughts?

@bantu
Copy link
Author

bantu commented Jan 6, 2020

@modernmediagrp The serial cable is not required, e.g. you could flash the updated u-boot from the stock system.

@hn
Copy link

hn commented Jul 23, 2021

I further modified @bantu's patches: https://github.com/hn/seagate-blackarmor-nas#NAS-440-patch-details . LCD works, LEDs work, some GPIO mappings have been improved/corrected, but unfortunately HDDs 1 and 2 do not work. Any help is welcome.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment