Linkstation LS421D

From Buffalo NAS Wiki

Specs

Linkstation LS421D

CPU 1.2 GHz dual issue ARM (Marvell 88F6707)
Memory 512 MB DDR3
Bays 2
Network 1x 10/100/1000 Mbps (Marvell 88E1518)
Sata 2x SATA II (SoC)
NAND Flash 512MB
SPI Flash 1 MB (MX25L8006E)
USB 2.0 1 (Rear)
USB 3.0 1 (Front) (D720202)
Fan Yes
Power 12V - 4A

Additional Hardware Info

The OpenWRT site has additional information about this device including the location of UART and other exposed GPIO connections. https://openwrt.org/toh/buffalo/ls421de

It also links to an OpenWRT install process which I have never attempted. If you do choose to look into it note that it involves re-flashing the NAND and modifying the bootloader which may require soldering a serial connection to the board to undo.

Stock Firmware Installation

Custom Firmware/Operating System installation

Installing Debian on Armada-370 Devices

See above note about OpenWRT

Disassembly

  • Remove both screws from the back
  • Slide cover back then remove

Pictures

DMESG output

Booting Linux on physical CPU 0
Initializing cgroup subsys cpu
Linux version 3.3.4 (root@nasbuild) (gcc version 4.6.2 (Linaro GCC branch-4.6.2. Marvell GCC 201201-883.01c949de) ) #1 Wed Jun 21 11:44:00 JST 2017
CPU: Marvell PJ4Bv7 Processor [561f5811] revision 1 (ARMv7), cr=10c53c7d
CPU: PIPT / VIPT nonaliasing data cache, PIPT instruction cache
Machine: Marvell Armada-370
Using UBoot passing parameters structure
>>>>>>>Tag MAC 64:83:58:43:50:00
>>>>>>>Tag MAC 20:50:cd:3f:6f:10
Memory policy: ECC disabled, Data cache writealloc
On node 0 totalpages: 131072
free_area_init_node: node 0, pgdat c058d394, node_mem_map c05c7000
  Normal zone: 1024 pages used for memmap
  Normal zone: 0 pages reserved
  Normal zone: 130048 pages, LIFO batch:31
pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768
pcpu-alloc: [0] 0 
Built 1 zonelists in Zone order, mobility grouping off.  Total pages: 130048
Kernel command line: console=ttyS0,115200 root=/dev/nfs rw BOOTVER=0.16 UBOOT_DATE=2015/01/15 mtdparts=armada-nand:0x2000000(boot),0x1e000000(rootfs)
PID hash table entries: 2048 (order: 1, 8192 bytes)
Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
Memory: 512MB = 512MB total
Memory: 498080k/498080k available, 26208k reserved, 0K highmem
Virtual kernel memory layout:
    vector  : 0xffff0000 - 0xffff1000   (   4 kB)
    fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)
    vmalloc : 0xe0800000 - 0xff000000   ( 488 MB)
    lowmem  : 0xc0000000 - 0xe0000000   ( 512 MB)
    pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
    modules : 0xbf000000 - 0xbfe00000   (  14 MB)
      .text : 0xc0008000 - 0xc0538a4c   (5315 kB)
      .init : 0xc0539000 - 0xc055e000   ( 148 kB)
      .data : 0xc055e000 - 0xc058e160   ( 193 kB)
       .bss : 0xc058e184 - 0xc05c6b50   ( 227 kB)
NR_IRQS:256
axp_time_init
Calibrating delay loop... 1196.85 BogoMIPS (lpj=5984256)
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
hw perfevents: no hardware support available
Setting up static identity map for 0x3dd9c8 - 0x3dda0c
devtmpfs: initialized
xor: measuring software checksum speed
   arm4regs  :  1151.600 MB/sec
   8regs     :   816.800 MB/sec
   32regs    :  1149.200 MB/sec
xor: using function: arm4regs (1151.600 MB/sec)
NET: Registered protocol family 16
L0 cache Enabled
Speculative Prefetch Disabled
aurora_l2_init 
Aurora: Enabling L2
AuroraL2: System L2 cache support initialised
Support IO coherency.
Enable DLB and DRAM write coalescing
        
CPU Interface
-------------
SDRAM_CS0 ....base 00000000, size 512MB 
SDRAM_CS1 ....disable
SDRAM_CS2 ....disable
SDRAM_CS3 ....disable
DEVICE_CS0 ....base f2000000, size  32MB 
DEVICE_CS1 ....no such
DEVICE_CS2 ....no such
DEVICE_CS3 ....no such
PEX0_MEM ....base e0000000, size  32MB 
PEX0_IO ....base f1100000, size   1MB 
PEX1_MEM ....base e2000000, size  32MB 
PEX1_IO ....base f1200000, size   1MB 
INTER_REGS ....base d0000000, size   1MB 
DMA_UART ....no such
SPI_CS0 ....base f0000000, size  16MB 
SPI_CS1 ....no such
SPI_CS2 ....no such
SPI_CS3 ....no such
SPI_CS4 ....no such
SPI_CS5 ....no such
SPI_CS6 ....no such
SPI_CS7 ....no such
BOOT_ROM_CS ....no such
DEV_BOOTCS ....base f5000000, size  16MB 
PMU_SCRATCHPAD ....no such
CRYPT0_ENG ....base c8010000, size  64KB 
        
  Marvell Armada370 Board-- YANAGI  Soc: MV6710 A1 LE
  LSP version: Armada370_LSP_3.1.0_p15_NQ
        
        
 Detected Tclk 200000000, SysClk 600000000, FabricClk 600000000
gpiochip_add: registered GPIOs 0 to 64 on device: mv_gpio
hw-breakpoint: debug architecture 0x4 unsupported.
Marvell USB EHCI Host controller #0: d004c400
Marvell USB EHCI Host controller #1: d004c200
PCI host bridge to bus 0000:00
pci_bus 0000:00: root bus resource [io  0x0000-0xfffff]
pci_bus 0000:00: root bus resource [mem 0xe0000000-0xe1ffffff]
pci 0000:00:01.0: [1912:0015] type 0 class 0x000c03
pci 0000:00:01.0: reg 10: [mem 0x40000000-0x40001fff 64bit]
pci 0000:00:01.0: PME# supported from D0 D3hot D3cold
PCI: bus0: Fast back to back transfers disabled
PCI host bridge to bus 0000:01
pci_bus 0000:01: root bus resource [io  0x100000-0x1fffff]
pci_bus 0000:01: root bus resource [mem 0xe2000000-0xe3ffffff]
PCI: bus1: Fast back to back transfers enabled
pci 0000:00:01.0: BAR 0: assigned [mem 0xe0000000-0xe0001fff 64bit]
bio: create slab <bio-0> at 0
raid6: int32x1    135 MB/s
raid6: int32x2    210 MB/s
raid6: int32x4    203 MB/s
raid6: int32x8    244 MB/s
raid6: using algorithm int32x8 (244 MB/s)
vgaarb: loaded
SCSI subsystem initialized
libata version 3.00 loaded.
Switching to clocksource armada370_clocksource
NET: Registered protocol family 2
IP route cache hash table entries: 4096 (order: 2, 16384 bytes)
TCP established hash table entries: 16384 (order: 5, 131072 bytes)
TCP bind hash table entries: 16384 (order: 4, 65536 bytes)
TCP: Hash tables configured (established 16384 bind 16384)
TCP reno registered
UDP hash table entries: 256 (order: 0, 4096 bytes)
UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
NET: Registered protocol family 1
RPC: Registered named UNIX socket transport module.
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module.
PCI: CLS 32 bytes, default 32
Trying to unpack rootfs image as initramfs...
Freeing initrd memory: 11648K
cesadev_init(c0540b7c)
mvCesaInit: channels=1, session=640, queue=64
Armada XP hwmon thermal sensor initialized.
Initializing Armada-XP CPU power management  (DISABLED)
MICON ctrl (C) BUFFALO INC. V.1.00 installed.
Buffalo Gpio Control Driver (C) BUFFALO INC. Ver.1.00 installed.
[Switch Driver]irq = -1 install
[Switch Driver] fail install irq(-1)[Switch Driver]irq = 144 install
Buffalo Switch Driver (C) BUFFALO INC. Ver.0.01 installed.
Kernel event proc (C) BUFFALO INC. V.1.00 installed.
initial_polarity_val = 0x0001f800
initial_polarity_val_high = 0x00000000
Buffalo GPIO SATA Hotplug Event Driver (C) BUFFALO INC. Ver.1.00 installed.
VFS: Disk quotas dquot_6.5.2
Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
JFFS2 version 2.2. (NAND) \xffffffc2\xffffffa9 2001-2006 Red Hat, Inc.
fuse init (API version 7.18)
led     with ACLs, security attributes, large block/inode numbers, no debug enab--More--
SGI XFS Quota Management subsystem
msgmni has been set to 995
async_tx: api initialized (async)
io scheduler noop registered
io scheduler deadline registered
io scheduler cfq registered (default)
Initializing ths8200_init
Initializing dove_adi9889_init
mv_xor_shared mv_xor_shared.0: Marvell shared XOR driver
mv_xor_shared mv_xor_shared.1: Marvell shared XOR driver
mv_xor mv_xor.0: Marvell XOR: ( xor )
mv_xor mv_xor.1: Marvell XOR: ( xor )
mv_xor mv_xor.2: Marvell XOR: ( cpy )
mv_xor mv_xor.3: Marvell XOR: ( fill cpy )
Serial: 8250/16550 driver, 2 ports, IRQ sharing disabled
serial8250.0: ttyS0 at MMIO 0xd0012000 (irq = 41) is a 16550A
console [ttyS0] enabled
brd: module loaded
loop: module loaded
sata_mv sata_mv.0: version 1.28
** BUFFALO Disable Command Queuing Function [sata_mv sata_mv.0] **
sata_mv sata_mv.0: slots 32 ports 2
scsi0 : sata_mv
scsi1 : sata_mv
ata1: SATA max UDMA/133 irq 55
ata2: SATA max UDMA/133 irq 55
SPI Serial flash detected @ 0xf0000000, 1024KB (16sec x 64KB)
ed using BCH 4bit ECCnd.0: Initialize HAL based NFC in 8bit mode with DMA Disabl--More--
Bad block table found at page 262080, version 0x01(Hynix NAND 512MiB 3,3V 8-bit)--More--
Bad block table found at page 262016, version 0x01
nand_read_bbt: bad block at 0x000000e00000
nand_read_bbt: bad block at 0x00000fd60000
2 cmdlinepart partitions found on MTD device armada-nand
Creating 2 MTD partitions on "armada-nand":
0x000000000000-0x000002000000 : "boot"
0x000002000000-0x000020000000 : "rootfs"
mv_eth_probe: port_mask=0x3, cpu_mask=0x1 
0 - Base 0x00000000 , Size = 0x20000000.
4 - Base 0xf2000000 , Size = 0x02000000.
8 - Base 0xe0000000 , Size = 0x02000000.
9 - Base 0xf1100000 , Size = 0x00100000.
10 - Base 0xe2000000 , Size = 0x02000000.
11 - Base 0xf1200000 , Size = 0x00100000.
12 - Base 0xd0000000 , Size = 0x00100000.
14 - Base 0xf0000000 , Size = 0x01000000.
23 - Base 0xf5000000 , Size = 0x01000000.
25 - Base 0xc8010000 , Size = 0x00010000.
  o 2 Giga ports supported
  o NETA acceleration mode 1
  o RX Queue support: 1 Queues * 128 Descriptors
  o TX Queue support: 1 Queues * 512 Descriptors
  o GSO supported
  o GRO supported
  o Receive checksum offload supported
  o Transmit checksum offload supported
  o Driver ERROR statistics enabled
  o Switch support enabled
        
  o Loading network interface(s)
        
  o Port 0 is connected to Linux netdevice
        giga p=0: mtu=1500, mac=d002beec
    o eth0, ifindex = 2, GbE port = 0
        
  o Port 1 is connected to Linux netdevice
        giga p=1: mtu=1500, mac=d002beec
    o eth1, ifindex = 3, GbE port = 1
        
sky2: driver version 1.30
i2c /dev entries driver
rtc-rs5c372 0-0032: rs5c372a found, 24hr, driver version 0.6
rtc-rs5c372 0-0032: create wakealarm
rtc-rs5c372 0-0032: rtc core: registered rtc-rs5c372 as rtc0
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
cpuidle: using governor ladder
cpuidle: using governor menu
mmc0: mvsdio driver initialized, lacking card detect (fall back to polling)
TCP cubic registered
NET: Registered protocol family 17
VFP support v0.3: implementor 56 architecture 2 part 20 variant 9 rev 6
ata1: SATA link down (SStatus 0 SControl F300)07-10-31 15:39:02 UTC (1193845142)--More--
ata2: SATA link up 3.0 Gbps (SStatus 123 SControl F300)
ata2.00: ATA-8: KINGSTON SNV425S264GB, C091126a, max UDMA/100
ata2.00: 125045424 sectors, multi 16: LBA48 
ata2.00: configured for UDMA/100
scsi 1:0:0:0: Direct-Access     ATA      KINGSTON SNV425S C091 PQ: 0 ANSI: 5
sd 1:0:0:0: [sda] 125045424 512-byte logical blocks: (64.0 GB/59.6 GiB)
sd 1:0:0:0: [sda] Write Protect is off
sd 1:0:0:0: [sda] Mode Sense: 00 3a 00 00
 or FUA :0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO--More--
 sda: sda1 sda2 sda3 sda4 sda5 sda6
sd 1:0:0:0: [sda] Attached SCSI disk
Freeing init memory: 148K
kjournald starting.  Commit interval 5 seconds
EXT3-fs (sda1): mounted filesystem with writeback data mode
mdadm: sending ioctl 800c0910 to a partition!
mdadm: sending ioctl 800c0910 to a partition!
mdadm: sending ioctl 1261 to a partition!
mdadm: sending ioctl 1261 to a partition!
mdadm: sending ioctl 1261 to a partition!
mdadm: sending ioctl 1261 to a partition!
mdadm: sending ioctl 1261 to a partition!
mdadm: sending ioctl 1261 to a partition!
mdadm: sending ioctl 1261 to a partition!
mdadm: sending ioctl 1261 to a partition!
md: md2 stopped.
md: bind<sda5>
bio: create slab <bio-1> at 1
md/raid1:md2: active with 1 out of 2 mirrors
md2: detected capacity change from 0 to 1023410176
scsi_verify_blk_ioctl: 76 callbacks suppressed
mdadm: sending ioctl 800c0910 to a partition!
mdadm: sending ioctl 800c0910 to a partition!
mdadm: sending ioctl 1261 to a partition!
mdadm: sending ioctl 1261 to a partition!
mdadm: sending ioctl 800c0910 to a partition!
mdadm: sending ioctl 800c0910 to a partition!
mdadm: sending ioctl 1261 to a partition!
mdadm: sending ioctl 1261 to a partition!
mdadm: sending ioctl 800c0910 to a partition!
mdadm: sending ioctl 800c0910 to a partition!
md: md1 stopped.
md: bind<sda2>
md/raid1:md1: active with 1 out of 2 mirrors
md1: detected capacity change from 0 to 5114888192
scsi_verify_blk_ioctl: 6 callbacks suppressed
mdadm: sending ioctl 800c0910 to a partition!
mdadm: sending ioctl 800c0910 to a partition!
mdadm: sending ioctl 1261 to a partition!
mdadm: sending ioctl 1261 to a partition!
mdadm: sending ioctl 1261 to a partition!
mdadm: sending ioctl 1261 to a partition!
mdadm: sending ioctl 1261 to a partition!
mdadm: sending ioctl 1261 to a partition!
mdadm: sending ioctl 1261 to a partition!
mdadm: sending ioctl 1261 to a partition!
md: md0 stopped.
md: bind<sda1>
md/raid1:md0: active with 1 out of 2 mirrors
md0: detected capacity change from 0 to 1023868928
 md0: unknown partition table
kjournald starting.  Commit interval 5 seconds
EXT3-fs (md0): using internal journal
EXT3-fs (md0): mounted filesystem with writeback data mode
 md1: unknown partition table
kjournald starting.  Commit interval 5 seconds
EXT3-fs (md1): using internal journal
EXT3-fs (md1): mounted filesystem with writeback data mode
kjournald starting.  Commit interval 5 seconds
EXT3-fs (md1): using internal journal
EXT3-fs (md1): mounted filesystem with writeback data mode
 md2: unknown partition table
Adding 999420k swap on /dev/md2.  Priority:-1 extents:1 across:999420k 
kjournald starting.  Commit interval 5 seconds
EXT3-fs (md0): using internal journal
EXT3-fs (md0): mounted filesystem with writeback data mode
ufsd: module license 'Commercial product' taints kernel.
Disabling lock debugging due to kernel taint
f000000 iver (8.7 U87E_r192070_b6, LBD=ON, delalloc, acl, ioctl, do) loaded at b--More--
NTFS (with native replay) support included
exFAT support included
optimized: speed
Build_for__Buffalo_LS400_LS-M_k3.3.4_2012-10-26_U87E_r192070_b6
        
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
xhci_hcd 0000:00:01.0: xHCI Host Controller
xhci_hcd 0000:00:01.0: new USB bus registered, assigned bus number 1
xhci_hcd 0000:00:01.0: irq 58, io mem 0xe0000000
xHCI xhci_add_endpoint called for root hub
xHCI xhci_check_bandwidth called for root hub
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 2 ports detected
xhci_hcd 0000:00:01.0: xHCI Host Controller
xhci_hcd 0000:00:01.0: new USB bus registered, assigned bus number 2
xHCI xhci_add_endpoint called for root hub
xHCI xhci_check_bandwidth called for root hub
hub 2-0:1.0: USB hub found
hub 2-0:1.0: 2 ports detected
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
ehci_marvell ehci_marvell.0: Marvell Orion EHCI
ehci_marvell ehci_marvell.0: new USB bus registered, assigned bus number 3
ehci_marvell ehci_marvell.0: irq 45, io base 0xfbb50100
ehci_marvell ehci_marvell.0: USB 2.0 started, EHCI 1.00
hub 3-0:1.0: USB hub found
hub 3-0:1.0: 1 port detected
ehci_marvell ehci_marvell.1: Marvell Orion EHCI
ehci_marvell ehci_marvell.1: new USB bus registered, assigned bus number 4
ehci_marvell ehci_marvell.1: irq 46, io base 0xfbb51100
ehci_marvell ehci_marvell.1: USB 2.0 started, EHCI 1.00
hub 4-0:1.0: USB hub found
hub 4-0:1.0: 1 port detected
ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
Initializing USB Mass Storage driver...
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
usbcore: registered new interface driver usblp
mv_eth_start_internals mtu=1500
pool #1: pkt_size=1536, buf_size=1632 - 256 of 256 buffers added
eth1: link up
eth1: started
scsi_verify_blk_ioctl: 20 callbacks suppressed
mdadm: sending ioctl 1261 to a partition!
mdadm: sending ioctl 1261 to a partition!
mdadm: sending ioctl 1261 to a partition!
mdadm: sending ioctl 1261 to a partition!
mdadm: sending ioctl 1261 to a partition!
mdadm: sending ioctl 1261 to a partition!
mdadm: sending ioctl 800c0910 to a partition!
mdadm: sending ioctl 800c0910 to a partition!
mdadm: sending ioctl 1261 to a partition!
mdadm: sending ioctl 1261 to a partition!
md: md101 stopped.
md: bind<sda6>
md/raid1:md101: active with 1 out of 2 mirrors
created bitmap (1 pages) for device md101
md101: bitmap initialized from disk: read 1/1 pages, set 6 of 668 bits
md101: detected capacity change from 0 to 44798181376
 md101: unknown partition table
scsi_verify_blk_ioctl: 186 callbacks suppressed
mdadm: sending ioctl 1261 to a partition!
eth1: stopped
mv_eth_start_internals mtu=1500
eth1: link up
eth1: started

U-Boot env

 
CASset=min
MALLOC_len=5
autoload=n
baudrate=115200
bootargs_end=:10.4.50.254:255.255.255.0:KW40:eth0:none
bootargs_root=root=/dev/nfs rw
bootcmd=for i in $bootorder; do run ${i}bootcmd; done
bootcommon=setenv bootargs $console $bootargs_root $bootargs_func $buffalo_ver $uboot_date $mtdparts $bootsystem; ;sf protect off; bootm 0x1200000 0x2600000
bootcommon-u=setenv bootargs $console $bootargs_func $buffalo_ver $uboot_date $mtdparts $bootsystem; ;sf protect off; bootm 0x1200000
bootdelay=3
bootorder=ide nand usb fail tftp
buffalo_ver=BOOTVER=0.16
cacheShare=no
console=console=ttyS0,115200
disL2Cache=yes
disaMvPnp=no
eeeEnable=no
enaAutoRecovery=yes
enaClockGating=no
enaFPU=no
enaWrAllo=no
eth1mtu=1500
ethaddr=00:50:43:c9:99:9e
ethmtu=1500
ethprime=egiga1
failbootcmd=bootfail
idebootcmd=ext2load ide 0:1 0x1200000 /$kernel; ext2load ide 0:1 0x2600000 /$initrd; setenv bootsystem hddboot=yes; run bootcommon
image_name=uImage
initrd=initrd.buffalo
initrd_name=uInitrd
ipaddr=192.168.11.150
kernel=uImage.buffalo
loadaddr=0x02000000
loads_echo=0
mtdids=nand0=armada-nand
mtdparts=mtdparts=armada-nand:4m(boot),-(rootfs)
mvNetConfig=switch_config=none
nandEcc=1bit
netbsd_en=no
netmask=255.255.255.0
netretry=no
pexMode=rc
pxe_files_load=:default.arm-armada370-db:default.arm-armadaxp:default.arm
pxefile_addr_r=3100000
rcvrip=169.254.100.100
rootpath=/srv/oneiric
sata_delay_reset=0
sata_dma_mode=yes
serverip=192.168.11.1
standalone=fsload $load_addr $image_name;setenv bootargs $console $mtdparts root=/dev/mtdblock0 rw ip=$ipaddr:$serverip$bootargs_end; bootm $load_addr;
stderr=serial
stdin=serial
stdout=serial
tftpbootcmd=tftp 0x1200000 $kernel; tftp 0x2600000 $initrd; setenv bootsystem tftpboot=yes; run bootcommon
uboot_date=UBOOT_DATE="2015/01/15"
usb0Mode=host
usb1Mode=host
usb1bootcmd=setenv usbActive 0;usb start;fatload usb 0 0x1200000 /boot/uImage370;sf protect off;run bootcommon-u
usb2Mode=device
usb2bootcmd=fatload usb 0 0x1200000 /boot/uImage.buffalo;fatload usb 0 0x2600000 /boot/initrd.buffalo;setenv bootsystem usbboot=yes;run bootcommon
usbActive=0
usbbootcmd=setenv usbActive 0;usb start;fatload usb 0 0x1200000 /uImage.buffalo;fatload usb 0 0x2600000 /initrd.buffalo;if fatIsSettingRecoveryDisk usb 0;then setenv bootsystem usbboot=yes mode=rescue; elif fatIsSettingInitializeDisk usb 0;then setenv bootsystem usbboot=yes mode=initialize; else setenv bootsystem usbboot=yes;fi;run bootcommon
vxworks_en=no
sn=375910016221D58XXXX
eth1addr=10:6F:3F:CB:XX:XX
deviceid=_tysgkFFSEbCzovfmKB1-YiMsKY6XXXX
SerialNo=8005573452XXXX

Buffalo Resources