Welcome! Log In Create A New Profile

Advanced

Debian on Shuttle KD20 (PLX OXNAS 7821)

Posted by Peacemaker 
Re: Debian on Shuttle KD20 (PLX OXNAS 7821)
September 29, 2014 12:34PM
-bodhi,

Thanks for your input :-)
I know and I allready have a pogoE02 but I liked the opinon of a dualcore and 2sata's and to all of it the KD20 had just a nice price ( 40€) .

Back to topic:

I have already looked at these lines but have only a vage Idea what to extract from the gpl sources.
Somehow I have the feeling that the whole sata driver in Kref's repo is hardcode or just dont have a 2 port option. Maybe Warhead has here a Info about that.

I try & error a bit to to make something like in the two port krikwood.dtsi



Edited 1 time(s). Last edit at 09/29/2014 02:00PM by Peacemaker.
Attachments:
open | download - ox820sata.h (20.6 KB)
open | download - hardware.h (29 KB)
Re: Debian on Shuttle KD20 (PLX OXNAS 7821)
September 29, 2014 06:15PM
#define SATA_REG_BASE			OXNAS_HW_PA_TO_VA(0x05900000)
#define SATA_PHY_BASE			OXNAS_HW_PA_TO_VA(0x04900000)
#define SATA_PHY_BASE_PA        0x44900000
#define SATA_REG_BASE_PA        0x45900000
#define SATA0_REGS_BASE     (SATA_REG_BASE + 0x00000)
#define SATA1_REGS_BASE     (SATA_REG_BASE + 0x10000)

#define OX820SATA_SGDMA_CORESIZE    (0x10)
#define OX820SATA_SGDMA_BASE0       ((u32* )(SATASGDMA_REGS_BASE + (0 * OX820SATA_SGDMA_CORESIZE)))
#define OX820SATA_SGDMA_BASE1       ((u32* )(SATASGDMA_REGS_BASE + (1 * OX820SATA_SGDMA_CORESIZE)))

The more I dig around, the more the described entry from bodhi seems accurate.

This only real difference I see is that you need to have the port @ 0x45910000, and they appear to have the same DMA/SGDMA/etc.

https://github.com/mibodhi/u-boot-oxnas/blob/oxnas/drivers/block/plxsata_ide.c
https://github.com/mibodhi/u-boot-oxnas/blob/oxnas/arch/arm/include/asm/arch-nas782x/hardware.h



Edited 3 time(s). Last edit at 09/29/2014 06:48PM by WarheadsSE.
Re: Debian on Shuttle KD20 (PLX OXNAS 7821)
September 30, 2014 12:00AM
Quote
WarheadsSE
> This only real difference I see is that you need
> to have the port @ 0x45910000, and they appear to
> have the same DMA/SGDMA/etc.

Good hints! then cloning the second port from the first one is straight forward.

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)
Re: Debian on Shuttle KD20 (PLX OXNAS 7821)
September 30, 2014 10:12AM
Thanks to both of you.

I tried to add to
dts:
	sata@45910000 {
		status = "okay";
	};
dtsi:
	sata@45910000 {
		compatible = "plxtech,nas782x-sata";
			/*	port		sgdma		core	*/
		reg = <0x45910000 0x100>, <0x459B0010 0x10>, <0x459E0000 0x2000>,
			/*	phy		descriptors (optional)	*/
			<0x44900000 0x0C>, <0x50000000 0x1000>;
		interrupts = <0 18 0x304>;
		clocks = <&stdclk 4>;
		resets = <&rst 11>, <&rst 12>, <&rst 13>;
		reset-names = "sata", "link", "phy";
		status = "disabled";
	};
And changed the max ports from 1 to 2. in the sata_oxnas.c
SATA_OXNAS_MAX_PORTS	= 2

Compiling was ok, but the kernel panics:
Reading data from 0x4bf800 -- 100% complete.
 2621440 bytes read: OK
## Booting image at 60500000 ...
   Image Name:   Linux-3.11.1+
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    3386100 Bytes =  3.2 MB
   Load Address: 60008000
   Entry Point:  60008000
   Verifying Checksum ... OK
OK
## Loading Ramdisk Image at 64000000 ...
   Image Name:   Wheezy Ramdisk
   Image Type:   ARM Linux RAMDisk Image (gzip compressed)
   Data Size:    1841056 Bytes =  1.8 MB
   Load Address: 00000000
   Entry Point:  00000000
   Verifying Checksum ... OK

Starting kernel ...

Uncompressing Linux... done, booting the kernel.
[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 3.15.3 (peacemaker@DebianWheezy) (gcc version 4.4.5 (Debian 4.4.5-8) ) #8 SMP Tue Sep 30 16:59:21 CEST 2014
[    0.000000] CPU: ARMv6-compatible processor [410fb025] revision 5 (ARMv7), cr=00c5387d
[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[    0.000000] Machine model: Shuttle KD20
[    0.000000] Memory policy: Data cache writealloc
[    0.000000] DT missing boot CPU MPIDR[23:0], fall back to default cpu_logical_map
[    0.000000] Start Ox820 platform
[    0.000000] PERCPU: Embedded 7 pages/cpu @cfde2000 s6496 r8192 d13984 u32768
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 65024
[    0.000000] Kernel command line: root=/dev/sdc1 console=ttyS0,115200 mac_adr=0x00,0x25,0xb1,0xff,0xff,0x00 mem=256M poweroutage=yes
[    0.000000] PID hash table entries: 1024 (order: 0, 4096 bytes)
[    0.000000] Dentry cache hash table entries: 32768 (order: 5, 131072 bytes)
[    0.000000] Inode-cache hash table entries: 16384 (order: 4, 65536 bytes)
[    0.000000] Memory: 253076K/262144K available (4748K kernel code, 212K rwdata, 1340K rodata, 154K init, 226K bss, 9068K reserved)
[    0.000000] Virtual kernel memory layout:
[    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
[    0.000000]     fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)
[    0.000000]     vmalloc : 0xd0800000 - 0xff000000   ( 744 MB)
[    0.000000]     lowmem  : 0xc0000000 - 0xd0000000   ( 256 MB)
[    0.000000]     modules : 0xbf000000 - 0xc0000000   (  16 MB)
[    0.000000]       .text : 0xc0008000 - 0xc05fa448   (6090 kB)
[    0.000000]       .init : 0xc05fb000 - 0xc0621960   ( 155 kB)
[    0.000000]       .data : 0xc0622000 - 0xc06572e0   ( 213 kB)
[    0.000000]        .bss : 0xc06572e8 - 0xc068fb60   ( 227 kB)
[    0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=2, Nodes=1
[    0.000000] Hierarchical RCU implementation.
[    0.000000] NR_IRQS:160
[    0.000015] sched_clock: 24 bits at 390kHz, resolution 2560ns, wraps every 42949670400ns
[    0.000192] Console: colour dummy device 80x30
[    0.000220] Calibrating delay loop... 348.97 BogoMIPS (lpj=1744896)
[    0.050035] pid_max: default: 32768 minimum: 301
[    0.050170] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.050186] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.050897] CPU: Testing write buffer coherency: ok
[    0.051235] Setting up static identity map for 0x6048ad90 - 0x6048adc8
[    0.052725] CPU1: Booted secondary processor
[    0.110192] Brought up 2 CPUs
[    0.110213] SMP: Total of 2 processors activated.
[    0.111093] devtmpfs: initialized
[    0.114024] pinctrl core: initialized pinctrl subsystem
[    0.116177] NET: Registered protocol family 16
[    0.116664] DMA: preallocated 256 KiB pool for atomic coherent allocations
[    0.120017] gpio-oxnas 44000000.gpio: at address d0846000
[    0.120258] gpio-oxnas 44100000.gpio: at address d0848000
[    0.120647] pinctrl-oxnas pinctrl.5: initialized OX820 pinctrl driver
[    0.238046] oxnas-pcie 47c0: PCIe version/deviceID 0x82510b5
[    0.248348] oxnas-pcie 47c0: link up
[    0.248558] oxnas-pcie 47c0: PCI host bridge to bus 0000:00
[    0.248581] pci_bus 0000:00: root bus resource [mem 0x48000000-0x49ffffff]
[    0.248596] pci_bus 0000:00: root bus resource [mem 0x4a000000-0x4bdfffff pref]
[    0.248611] pci_bus 0000:00: root bus resource [io  0x4be00000-0x4befffff]
[    0.248627] pci_bus 0000:00: root bus resource [bus 00-7f]
[    0.249072] PCI: bus0: Fast back to back transfers disabled
[    0.249146] pci 0000:00:00.0: BAR 0: assigned [mem 0x48000000-0x48007fff 64bit]
[    0.249482] vgaarb: loaded
[    0.249838] SCSI subsystem initialized
[    0.250549] usbcore: registered new interface driver usbfs
[    0.250636] usbcore: registered new interface driver hub
[    0.250836] usbcore: registered new device driver usb
[    0.250920] pps_core: LinuxPPS API ver. 1 registered
[    0.250933] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[    0.250964] PTP clock support registered
[    0.252103] cfg80211: Calling CRDA to update world regulatory domain
[    0.252387] Switched to clocksource rps_clocksource_timer
[    0.264279] NET: Registered protocol family 2
[    0.264867] TCP established hash table entries: 2048 (order: 1, 8192 bytes)
[    0.264929] TCP bind hash table entries: 2048 (order: 2, 16384 bytes)
[    0.264983] TCP: Hash tables configured (established 2048 bind 2048)
[    0.265059] TCP: reno registered
[    0.265085] UDP hash table entries: 256 (order: 1, 8192 bytes)
[    0.265126] UDP-Lite hash table entries: 256 (order: 1, 8192 bytes)
[    0.265354] NET: Registered protocol family 1
[    0.265779] RPC: Registered named UNIX socket transport module.
[    0.265799] RPC: Registered udp transport module.
[    0.265809] RPC: Registered tcp transport module.
[    0.265817] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    0.265858] pci 0000:00:00.0: enabling device (0140 -> 0142)
[    0.266777] futex hash table entries: 512 (order: 2, 16384 bytes)
[    0.280074] fuse init (API version 7.23)
[    0.280768] msgmni has been set to 494
[    0.282429] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 252)
[    0.282449] io scheduler noop registered
[    0.282462] io scheduler deadline registered
[    0.282744] io scheduler cfq registered (default)
[    0.283176] Serial: 8250/16550 driver, 1 ports, IRQ sharing disabled
[    0.284295] console [ttyS0] disabled
[    0.284334] 44200000.uart: ttyS0 at MMIO 0x44200000 (irq = 55, base_baud = 390625) is a 16550A
[    0.787479] console [ttyS0] enabled
[    0.791895] Unable to handle kernel NULL pointer dereference at virtual address 00000070
[    0.800005] pgd = c0004000
[    0.802698] [00000070] *pgd=00000000
[    0.806266] Internal error: Oops: 805 [#1] SMP ARM
[    0.811025] Modules linked in:
[    0.814062] CPU: 1 PID: 1 Comm: swapper/0 Not tainted 3.15.3 #8
[    0.819947] task: cf840000 ti: cf844000 task.ti: cf844000
[    0.825326] PC is at sata_oxnas_link_write+0x14/0x50
[    0.830264] LR is at sata_oxnas_post_reset_init+0x3c/0x178
[    0.835719] pc : [<c029cde8>]    lr : [<c029d404>]    psr: 80000113
[    0.835719] sp : cf845d80  ip : c06465c0  fp : cf8b3610
[    0.847137] r10: cf87f198  r9 : c029dc34  r8 : 00002368
[    0.852331] r7 : cf8b3610  r6 : 00000000  r5 : cf9d8000  r4 : cf87d880
[    0.858818] r3 : 00000000  r2 : 00030003  r1 : 0000000c  r0 : 00000000
[    0.865310] Flags: Nzcv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment kernel
[    0.872578] Control: 00c5787d  Table: 6000400a  DAC: 00000015
[    0.878289] Process swapper/0 (pid: 1, stack limit = 0xcf8441c0)
[    0.884259] Stack: (0xcf845d80 to 0xcf846000)
[    0.888596] 5d80: cf9d8000 cf87d880 cf87f130 cf8b3610 cf9d8000 c029dc34 cf87f198 c029d618
[    0.896734] 5da0: 00000001 cf87f198 c029dc34 50000800 cf9d4000 00000001 cf87f190 00000000
[    0.904872] 5dc0: cf87d830 c02873ac cf87f190 00000032 c0646620 00000080 d085a000 c029dc34
[    0.913011] 5de0: 00000000 c0288018 d085a000 c0287994 00000000 cf807300 cf807300 d085e000
[    0.921152] 5e00: d085c000 d0860000 d085a000 cf87f130 00000000 c029dbc8 c0646620 00000000
[    0.929287] 5e20: 00000001 50000000 50000fff cfdf7dc0 00000200 00000000 00000000 00000000
[    0.937428] 5e40: c04a2884 00000000 00000000 cf8b3610 c06465c4 c06465d8 00000000 00000000
[    0.945566] 5e60: c061f33c c0683868 00000000 c026e380 c0683868 cf8b3610 c06465d8 c026d108
[    0.953704] 5e80: cf8b3610 c06465d8 cf8b3644 00000000 0000008d c061f33c c0617c18 c026d328
[    0.961845] 5ea0: c06465d8 c026d29c cf845eb0 c026bb14 cf82445c cf8b40f4 c06457b8 c06465d8
[    0.969984] 5ec0: cf87f0c0 c06457b8 00000000 c026c2e4 c059471c c026d6bc c06465d8 c06465d8
[    0.978122] 5ee0: 00000007 cf844000 00000000 c026d68c c060edcc 00000007 cf844000 c00087f0
[    0.986260] 5f00: c067ad88 cf845f3c 00000000 00000000 00000000 c010847c 00000000 cf8a1540
[    0.994401] 5f20: 00000000 c06354e8 60000113 00000000 c05daa7c cfffc19f c05daa8c c00306f0
[    1.002539] 5f40: c05a0b90 c05da1bc 00000006 00000006 c06354b8 c0617c10 00000007 c0657300
[    1.010677] 5f60: c05fb5dc 0000008d c061f33c c0617c18 00000000 c05fb50c 00000006 00000006
[    1.018816] 5f80: c05fb5dc 00000000 00000000 c048503c 00000000 00000000 00000000 00000000
[    1.026954] 5fa0: 00000000 c0485044 00000000 c0009558 00000000 00000000 00000000 00000000
[    1.035092] 5fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[    1.043228] 5fe0: 00000000 00000000 00000000 00000000 00000013 00000000 00000000 00000000
[    1.051371] [<c029cde8>] (sata_oxnas_link_write) from [<c029d404>] (sata_oxnas_post_reset_init+0x3c/0x178)
[    1.060984] [<c029d404>] (sata_oxnas_post_reset_init) from [<c029d618>] (sata_oxnas_port_start+0xd8/0x12c)
[    1.070597] [<c029d618>] (sata_oxnas_port_start) from [<c02873ac>] (ata_host_start+0xe0/0x1c0)
[    1.079170] [<c02873ac>] (ata_host_start) from [<c0288018>] (ata_host_activate+0x20/0x100)
[    1.087398] [<c0288018>] (ata_host_activate) from [<c029dbc8>] (sata_oxnas_probe+0x218/0x284)
[    1.095884] [<c029dbc8>] (sata_oxnas_probe) from [<c026e380>] (platform_drv_probe+0x1c/0x4c)
[    1.104284] [<c026e380>] (platform_drv_probe) from [<c026d108>] (driver_probe_device+0x94/0x228)
[    1.113026] [<c026d108>] (driver_probe_device) from [<c026d328>] (__driver_attach+0x8c/0x90)
[    1.121431] [<c026d328>] (__driver_attach) from [<c026bb14>] (bus_for_each_dev+0x74/0x98)
[    1.129571] [<c026bb14>] (bus_for_each_dev) from [<c026c2e4>] (bus_add_driver+0x124/0x1d4)
[    1.137794] [<c026c2e4>] (bus_add_driver) from [<c026d68c>] (driver_register+0x78/0xf8)
[    1.145761] [<c026d68c>] (driver_register) from [<c00087f0>] (do_one_initcall+0x30/0x148)
[    1.153902] [<c00087f0>] (do_one_initcall) from [<c05fb50c>] (kernel_init_freeable+0xf4/0x1c4)
[    1.162480] [<c05fb50c>] (kernel_init_freeable) from [<c0485044>] (kernel_init+0x8/0xec)
[    1.170534] [<c0485044>] (kernel_init) from [<c0009558>] (ret_from_fork+0x14/0x3c)
[    1.178063] Code: e7903003 e3a00000 e5933000 ee070f9a (e5832070)
[    1.184248] ---[ end trace 31ab87e07c29be4e ]---
[    1.188861] Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b
[    1.188861]
[    1.197959] CPU0: stopping
[    1.200660] CPU: 0 PID: 0 Comm: swapper/0 Tainted: G      D       3.15.3 #8
[    1.207603] [<c000fb2c>] (unwind_backtrace) from [<c000c2d0>] (show_stack+0x10/0x14)
[    1.215313] [<c000c2d0>] (show_stack) from [<c0486e3c>] (dump_stack+0x74/0x90)
[    1.222507] [<c0486e3c>] (dump_stack) from [<c000e6bc>] (handle_IPI+0x13c/0x17c)
[    1.229867] [<c000e6bc>] (handle_IPI) from [<c0008578>] (gic_handle_irq+0x58/0x60)
[    1.237401] [<c0008578>] (gic_handle_irq) from [<c000cbe0>] (__irq_svc+0x40/0x50)
[    1.244840] Exception stack(0xc0623f50 to 0xc0623f98)
[    1.249863] 3f40:                                     00000000 00000000 00000000 00000000
[    1.258001] 3f60: c0622000 00000000 c06306b0 c0630650 c0657154 c0657154 00000001 c048c558
[    1.266140] 3f80: c0630650 c0623f98 c000a454 c000a458 60000113 ffffffff
[    1.272727] [<c000cbe0>] (__irq_svc) from [<c000a458>] (arch_cpu_idle+0x28/0x30)
[    1.280092] [<c000a458>] (arch_cpu_idle) from [<c004c054>] (cpu_startup_entry+0xa0/0x138)
[    1.288238] [<c004c054>] (cpu_startup_entry) from [<c05fbac4>] (start_kernel+0x290/0x2e0)
[    1.296376] [<c05fbac4>] (start_kernel) from [<6000806c>] (0x6000806c)
[    1.302873] ---[ end Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b
[    1.302873]


But if I let the sata_oxnas.c untouched, the kernel is booting, and finds both ports but there are some errors on port 2. But port 1, here sdb, seams to work ok.

Reading data from 0x4bf800 -- 100% complete.
 2621440 bytes read: OK
## Booting image at 60500000 ...
   Image Name:   Linux-3.11.1+
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    3386044 Bytes =  3.2 MB
   Load Address: 60008000
   Entry Point:  60008000
   Verifying Checksum ... OK
OK
## Loading Ramdisk Image at 64000000 ...
   Image Name:   Wheezy Ramdisk
   Image Type:   ARM Linux RAMDisk Image (gzip compressed)
   Data Size:    1841056 Bytes =  1.8 MB
   Load Address: 00000000
   Entry Point:  00000000
   Verifying Checksum ... OK

Starting kernel ...

Uncompressing Linux... done, booting the kernel.
[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 3.15.3 (peacemaker@DebianWheezy) (gcc version 4.4.5 (Debian 4.4.5-8) ) #10 SMP Tue Sep 30 17:21:04 CEST 2014
[    0.000000] CPU: ARMv6-compatible processor [410fb025] revision 5 (ARMv7), cr=00c5387d
[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[    0.000000] Machine model: Shuttle KD20
[    0.000000] Memory policy: Data cache writealloc
[    0.000000] DT missing boot CPU MPIDR[23:0], fall back to default cpu_logical_map
[    0.000000] Start Ox820 platform
[    0.000000] PERCPU: Embedded 7 pages/cpu @cfde2000 s6496 r8192 d13984 u32768
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 65024
[    0.000000] Kernel command line: root=/dev/sda1 console=ttyS0,115200 mac_adr=0x00,0x25,0xb1,0xff,0xff,0x00 mem=256M poweroutage=yes
[    0.000000] PID hash table entries: 1024 (order: 0, 4096 bytes)
[    0.000000] Dentry cache hash table entries: 32768 (order: 5, 131072 bytes)
[    0.000000] Inode-cache hash table entries: 16384 (order: 4, 65536 bytes)
[    0.000000] Memory: 253076K/262144K available (4748K kernel code, 212K rwdata, 1340K rodata, 154K init, 226K bss, 9068K reserved)
[    0.000000] Virtual kernel memory layout:
[    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
[    0.000000]     fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)
[    0.000000]     vmalloc : 0xd0800000 - 0xff000000   ( 744 MB)
[    0.000000]     lowmem  : 0xc0000000 - 0xd0000000   ( 256 MB)
[    0.000000]     modules : 0xbf000000 - 0xc0000000   (  16 MB)
[    0.000000]       .text : 0xc0008000 - 0xc05fa448   (6090 kB)
[    0.000000]       .init : 0xc05fb000 - 0xc0621960   ( 155 kB)
[    0.000000]       .data : 0xc0622000 - 0xc06572e0   ( 213 kB)
[    0.000000]        .bss : 0xc06572e8 - 0xc068fb60   ( 227 kB)
[    0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=2, Nodes=1
[    0.000000] Hierarchical RCU implementation.
[    0.000000] NR_IRQS:160
[    0.000017] sched_clock: 24 bits at 390kHz, resolution 2560ns, wraps every 42949670400ns
[    0.000197] Console: colour dummy device 80x30
[    0.000222] Calibrating delay loop... 348.97 BogoMIPS (lpj=1744896)
[    0.050037] pid_max: default: 32768 minimum: 301
[    0.050178] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.050193] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.050913] CPU: Testing write buffer coherency: ok
[    0.051246] Setting up static identity map for 0x6048ad68 - 0x6048ada0
[    0.052771] CPU1: Booted secondary processor
[    0.110195] Brought up 2 CPUs
[    0.110218] SMP: Total of 2 processors activated.
[    0.111104] devtmpfs: initialized
[    0.114083] pinctrl core: initialized pinctrl subsystem
[    0.116142] NET: Registered protocol family 16
[    0.116625] DMA: preallocated 256 KiB pool for atomic coherent allocations
[    0.120094] gpio-oxnas 44000000.gpio: at address d0846000
[    0.120332] gpio-oxnas 44100000.gpio: at address d0848000
[    0.120716] pinctrl-oxnas pinctrl.5: initialized OX820 pinctrl driver
[    0.238656] oxnas-pcie 47c0: PCIe version/deviceID 0x82510b5
[    0.248970] oxnas-pcie 47c0: link up
[    0.249177] oxnas-pcie 47c0: PCI host bridge to bus 0000:00
[    0.249200] pci_bus 0000:00: root bus resource [mem 0x48000000-0x49ffffff]
[    0.249218] pci_bus 0000:00: root bus resource [mem 0x4a000000-0x4bdfffff pref]
[    0.249233] pci_bus 0000:00: root bus resource [io  0x4be00000-0x4befffff]
[    0.249251] pci_bus 0000:00: root bus resource [bus 00-7f]
[    0.249692] PCI: bus0: Fast back to back transfers disabled
[    0.249766] pci 0000:00:00.0: BAR 0: assigned [mem 0x48000000-0x48007fff 64bit]
[    0.250122] vgaarb: loaded
[    0.250483] SCSI subsystem initialized
[    0.251179] usbcore: registered new interface driver usbfs
[    0.251264] usbcore: registered new interface driver hub
[    0.251468] usbcore: registered new device driver usb
[    0.251548] pps_core: LinuxPPS API ver. 1 registered
[    0.251560] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[    0.251591] PTP clock support registered
[    0.252720] cfg80211: Calling CRDA to update world regulatory domain
[    0.253004] Switched to clocksource rps_clocksource_timer
[    0.265144] NET: Registered protocol family 2
[    0.265733] TCP established hash table entries: 2048 (order: 1, 8192 bytes)
[    0.265794] TCP bind hash table entries: 2048 (order: 2, 16384 bytes)
[    0.265845] TCP: Hash tables configured (established 2048 bind 2048)
[    0.265927] TCP: reno registered
[    0.265955] UDP hash table entries: 256 (order: 1, 8192 bytes)
[    0.265994] UDP-Lite hash table entries: 256 (order: 1, 8192 bytes)
[    0.266216] NET: Registered protocol family 1
[    0.266644] RPC: Registered named UNIX socket transport module.
[    0.266662] RPC: Registered udp transport module.
[    0.266670] RPC: Registered tcp transport module.
[    0.266680] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    0.266721] pci 0000:00:00.0: enabling device (0140 -> 0142)
[    0.267622] futex hash table entries: 512 (order: 2, 16384 bytes)
[    0.280629] fuse init (API version 7.23)
[    0.281303] msgmni has been set to 494
[    0.283064] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 252)
[    0.283084] io scheduler noop registered
[    0.283097] io scheduler deadline registered
[    0.283386] io scheduler cfq registered (default)
[    0.283806] Serial: 8250/16550 driver, 1 ports, IRQ sharing disabled
[    0.284902] console [ttyS0] disabled
[    0.284945] 44200000.uart: ttyS0 at MMIO 0x44200000 (irq = 55, base_baud = 390625) is a 16550A
[    0.788152] console [ttyS0] enabled
[    0.793367] scsi0 : sata_oxnas
[    0.796940] ata1: SATA max UDMA/133 irq 50
[    0.801308] ox820sata: reseting SATA core
[    0.810268] scsi1 : sata_oxnas
[    0.813611] ata2: SATA max UDMA/133 irq 50
[    0.818688] nand: device found, Manufacturer ID: 0xad, Chip ID: 0xf1
[    0.825059] nand: Hynix H27U1G8F2BTR-BC
[    0.828879] nand: 128MiB, SLC, page size: 2048, OOB size: 64
[    0.830085] ox820sata: reseting SATA core
[    0.838512] Scanning device for bad blocks
[    0.891678] Bad eraseblock 618 at 0x000004d40000
[    0.928427] 2 ofpart partitions found on MTD device 41000000.nand
[    0.934497] Creating 2 MTD partitions on "41000000.nand":
[    0.939870] 0x000000000000-0x000000e00000 : "boot"
[    0.945766] 0x000000e00000-0x000008000000 : "ubi"
[    0.951866] stmmaceth 40400000.ethernet: snps,phy-addr property is deprecated
[    0.959065] stmmaceth 40400000.ethernet: no reset control found
[    0.964976] stmmac - user ID: 0x12, Synopsys ID: 0x35
[    0.969994]  Ring mode enabled
[    0.973050]  DMA HW capability register supported
[    0.977556]  Enhanced/Alternate descriptors
[    0.981882]  Enabled extended descriptors
[    0.985881]  RX Checksum Offload Engine supported (type 2)
[    0.991331]  TX Checksum insertion supported
[    0.995584]  Wake-Up On Lan supported
[    0.999224]  Enable RX Mitigation via HW Watchdog Timer
[    1.006935] libphy: stmmac: probed
[    1.010324] eth0: PHY ID 02430d91 at 1 IRQ 0 (stmmac-0:01) active
[    1.016604] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    1.023119] ehci-pci: EHCI PCI platform driver
[    1.027809] oxnas-ehci 40200100.ehci: EHCI Host Controller
[    1.033323] oxnas-ehci 40200100.ehci: new USB bus registered, assigned bus number 1
[    1.041044] oxnas-ehci 40200100.ehci: irq 39, io mem 0x40200100
[    1.062878] oxnas-ehci 40200100.ehci: USB 2.0 started, EHCI 1.00
[    1.069178] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
[    1.075983] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    1.083187] usb usb1: Product: EHCI Host Controller
[    1.088040] usb usb1: Manufacturer: Linux 3.15.3 ehci_hcd
[    1.093422] usb usb1: SerialNumber: 40200100.ehci
[    1.098826] hub 1-0:1.0: USB hub found
[    1.102622] hub 1-0:1.0: 2 ports detected
[    1.107246] usbcore: registered new interface driver usb-storage
[    1.113543] mousedev: PS/2 mouse device common for all mice
[    1.120286] usbcore: registered new interface driver usbhid
[    1.125859] usbhid: USB HID core driver
[    1.129871] TCP: cubic registered
[    1.134041] NET: Registered protocol family 10
[    1.139532] sit: IPv6 over IPv4 tunneling driver
[    1.145003] NET: Registered protocol family 17
[    1.250012] ata1: link resume succeeded after 1 retries
[    1.350016] ata2: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[    1.422894] usb 1-2: new high-speed USB device number 2 using oxnas-ehci
[    1.530014] ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[    1.583475] usb 1-2: New USB device found, idVendor=05dc, idProduct=a833
[    1.590184] usb 1-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[    1.597286] usb 1-2: Product: USB Flash Drive
[    1.601646] usb 1-2: Manufacturer: Lexar
[    1.605552] usb 1-2: SerialNumber: AABDM48HB1QX23XG
[    1.611712] usb-storage 1-2:1.0: USB Mass Storage device detected
[    1.618263] scsi2 : usb-storage 1-2:1.0
[    2.779095] scsi 2:0:0:0: Direct-Access     Lexar    USB Flash Drive  1100 PQ: 0 ANSI: 6
[    2.789790] sd 2:0:0:0: [sda] 62537728 512-byte logical blocks: (32.0 GB/29.8 GiB)
[    2.798535] sd 2:0:0:0: [sda] Write Protect is off
[    2.804403] sd 2:0:0:0: [sda] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
[    2.832642]  sda: sda1
[    2.840535] sd 2:0:0:0: [sda] Attached SCSI removable disk
[    6.350026] ata2.00: qc timeout (cmd 0xec)
[    6.354104] ox820sata: reseting SATA core
[    6.530012] ata1.00: qc timeout (cmd 0xec)
[    6.534087] ox820sata: reseting SATA core
[    6.800005] ata2: link resume succeeded after 1 retries
[    6.890017] ata1.00: failed to IDENTIFY (I/O error, err_mask=0x5)
[    6.920012] ata2.00: failed to IDENTIFY (I/O error, err_mask=0x4)
[    7.400012] ata1: SATA link up 1.5 Gbps (SStatus 113 SControl 310)
[    7.430018] ata2: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[   12.400015] ata1.00: qc timeout (cmd 0x27)
[   12.404090] ox820sata: reseting SATA core
[   12.760017] ata1.00: failed to read native max address (err_mask=0x4)
[   12.766428] ata1.00: HPA support seems broken, skipping HPA handling
[   13.280017] ata1: SATA link up 1.5 Gbps (SStatus 113 SControl 310)
[   13.287439] ata1.00: ATA-8: ST320LT007-9ZV142, 0004LVM1, max UDMA/133
[   13.293882] ata1.00: 625142448 sectors, multi 16: LBA48 NCQ (depth 0/32)
[   13.302028] ata1.00: configured for UDMA/133
[   13.306708] scsi 0:0:0:0: Direct-Access     ATA      ST320LT007-9ZV14 0004 PQ: 0 ANSI: 5
[   13.316057] sd 0:0:0:0: [sdb] 625142448 512-byte logical blocks: (320 GB/298 GiB)
[   13.323545] sd 0:0:0:0: [sdb] 4096-byte physical blocks
[   13.329154] sd 0:0:0:0: [sdb] Write Protect is off
[   13.334169] sd 0:0:0:0: [sdb] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[   13.385244]  sdb: sdb1
[   13.389155] sd 0:0:0:0: [sdb] Attached SCSI disk
[   17.430028] ata2.00: qc timeout (cmd 0xec)
[   17.434106] ox820sata: reseting SATA core
[   17.790013] ata2.00: failed to IDENTIFY (I/O error, err_mask=0x5)
[   17.796080] ata2: limiting SATA link speed to 1.5 Gbps
[   18.310016] ata2: SATA link up 1.5 Gbps (SStatus 113 SControl 310)
[   48.310028] ata2.00: qc timeout (cmd 0xec)
[   48.314101] ox820sata: reseting SATA core
[   48.670016] ata2.00: failed to IDENTIFY (I/O error, err_mask=0x4)
[   49.180024] ata2: SATA link up 1.5 Gbps (SStatus 113 SControl 310)
[   49.189068] EXT2-fs (sda1): error: couldn't mount because of unsupported optional features (240)
[   49.200816] EXT4-fs (sda1): couldn't mount as ext3 due to feature incompatibilities
[   49.222648] EXT4-fs (sda1): mounted filesystem with ordered data mode. Opts: (null)
[   49.230359] VFS: Mounted root (ext4 filesystem) readonly on device 8:1.
[   49.239864] devtmpfs: mounted
[   49.243107] Freeing unused kernel memory: 152K (c05fb000 - c0621000)
INIT: version 2.88 booting
[info] Using makefile-style concurrent boot in runlevel S.
[....] Starting the hotplug events dispatcher: udevd[   50.404328] udevd[170]: starting version 175
. ok
[ ok ] Synthesizing the initial hotplug events...done.
[....] Waiting for /dev to be fully populated...[   81.180052] ox820sata: reseting SATA core
[   81.540047] ata1.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x6 frozen
[   81.547072] ata1.00: failed command: IDENTIFY DEVICE
[   81.552051] ata1.00: cmd ec/00:01:00:00:00/00:00:00:00:00/00 tag 2 pio 512 in
[   81.552051]          res 40/00:00:00:00:00/00:00:00:00:00/00 Emask 0x4 (timeout)
[   81.566512] ata1.00: status: { DRDY }
[   81.570183] ata1: hard resetting link
[   82.080043] ata1: SATA link up 1.5 Gbps (SStatus 113 SControl 310)
[   82.089154] ata1.00: configured for UDMA/133
[   82.093537] ata1: EH complete
[   82.639011] random: nonblocking pool is initialized
done.
[ ok ] Activating swap...done.
[   83.767475] EXT4-fs (sda1): re-mounted. Opts: (null)
[ ok ] Cleaning up temporary files... /tmp.
[ ok ] Activating lvm and md swap...done.
[....] Checking file systems...fsck from util-linux 2.20.1
done.
[ ok ] Mounting local filesystems...done.
[ ok ] Activating swapfile swap...done.
[ ok ] Cleaning up temporary files....
[ ok ] Setting kernel variables ...done.
[ ok ] Configuring network interfaces...done.
[ ok ] Starting rpcbind daemon....
[ ok ] Starting NFS common utilities: statd.
[ ok ] Cleaning up temporary files....
INIT: Entering runlevel: 2
[info] Using makefile-style concurrent boot in runlevel 2.
[ ok ] Starting rpcbind daemon...[....] Already running..
[ ok ] Starting enhanced syslogd: rsyslogd.
[ ok ] Starting NFS common utilities: statd.
[ ok ] Starting periodic command scheduler: cron.
[ ok ] Starting OpenBSD Secure Shell server: sshd.
[   92.693073] stmmaceth 40400000.ethernet eth0: Link is Up - 1Gbps/Full - flow control rx/tx

Debian GNU/Linux 7 oxnas ttyS0

oxnas login:

So maybe someone has an idea how to fix somethink here.



Edited 2 time(s). Last edit at 09/30/2014 11:34AM by Peacemaker.
Re: Debian on Shuttle KD20 (PLX OXNAS 7821)
September 30, 2014 12:21PM
It would probably be est to get the sata@ so that it doesn't think there are actually 2 entries, but that you can specify nr-ports 2, and it uses the second port @ +0x10000
Re: Debian on Shuttle KD20 (PLX OXNAS 7821)
September 30, 2014 03:34PM
WarheadsSE Wrote:
-------------------------------------------------------
> It would probably be est to get the sata@ so that
> it doesn't think there are actually 2 entries, but
> that you can specify nr-ports 2, and it uses the
> second port @ +0x10000

I tried yesterday something like that - maybe I did it wrong - and adaped the syntax for the krikwood 2 port devices.
With these enteries
DTS:
sata@45900000{
			nr-ports = <2>;
			status = "okay";
DTSI:
	sata@45900000{
			compatible = "plxtech,nas782x-sata";
			/*	port		sgdma		core	*/
		reg = <0x45900000 0x100>, <0x459B0010 0x10>, <0x459E0000 0x2000>,
			/*	phy		descriptors (optional)	*/
			<0x44900000 0x0C>, <0x50000000 0x1000>;
		interrupts = <0 18 0x304>;
		clocks = <&stdclk 4>;
		resets = <&rst 11>, <&rst 12>, <&rst 13>;
		reset-names = "sata", "link", "phy";
		phys = <&sata_phy0>, <&sata_phy1>;
		phy-names = "port0", "port1";
		status = "disabled";
		};		
 sata_phy0: sata-phy@45900000 {
			compatible = "plxtech,nas782x-sata";
			reg = <0x45900000 0x100>;
			clock-names = "sata";
			#phy-cells = <0>;
			status = "ok";
		};

		sata_phy1: sata-phy@45910000 {
			compatible = plxtech,nas782x-sata";
			reg = <45910000 0x100>;
			clock-names = "sata";
			#phy-cells = <0>;
			status = "ok";
		};

But I get with these configs compiling errors with "no entery for sata_phy0" and something like these.
So I changed it to 2 sata enteries and now it compiles the kernel and somehow finds the second sata, but with errors.
Re: Debian on Shuttle KD20 (PLX OXNAS 7821)
September 30, 2014 05:32PM
Yes.. because it is attempting to treat it as 2 separate PHY. There is only 1.
Re: Debian on Shuttle KD20 (PLX OXNAS 7821)
October 01, 2014 08:32AM
Okay, I see what you mean.

But how can I use 2. ports on one PHY? I see here nothing in the driver code nor I have any Idea how to insert the second correctly into the dts.
Re: Debian on Shuttle KD20 (PLX OXNAS 7821)
October 01, 2014 04:13PM
I am saying it needs added.
Re: Debian on Shuttle KD20 (PLX OXNAS 7821)
October 03, 2014 03:51AM
Am I understanding you right:
The 2 port option has to be integreated in the sata_oxnas driver, and not only activated? As I have absolutly no idea how to do this as the structure from the old driver is totaly diffrent to the newer one.

If it's right, maybe - for me - it is easyer to integrade the vendors sata driver in the new kernel.
Re: Debian on Shuttle KD20 (PLX OXNAS 7821)
October 03, 2014 08:22AM
Except, the vendors sata driver will 99% likely not work with the newer kernel. I have seen that pile of steaming crap.
Re: Debian on Shuttle KD20 (PLX OXNAS 7821)
October 03, 2014 11:28AM
> Except, the vendors sata driver will 99% likely
> not work with the newer kernel. I have seen that
> pile of steaming crap.

:) yes.

@peacemaker, I think the correct DTS syntax for 2 SATA ports is what you need.

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)
Re: Debian on Shuttle KD20 (PLX OXNAS 7821)
October 03, 2014 11:41AM
@bodhi - yes, PLUS additions to the driver to be able to address the second port.
Re: Debian on Shuttle KD20 (PLX OXNAS 7821)
October 04, 2014 12:28AM
@WarheadsSE,

Indeed.

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)



Edited 1 time(s). Last edit at 10/04/2014 01:44AM by bodhi.
Re: Debian on Shuttle KD20 (PLX OXNAS 7821)
October 05, 2014 03:36AM
Big thanks to both of you.
I'll see what I can do. But I have first to undersand how the driver works (old and new) to patch the second pord in. But this is the first time I try something like this.

And your right with this vendor's sata, I've not beliefed how many warnings( used init's instad of pointers...) and errors there are to fix :-/
Re: Debian on Shuttle KD20 (PLX OXNAS 7821)
October 05, 2014 03:42AM
I thought I already hit the "Post Message" button early today :) when I meant to post this:

The new driver is robust enough that it seems the necessary change might be as simple as this:

drivers/ata/sata_oxnas.c

SATA_OXNAS_MAX_PORTS = 2,

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)
Re: Debian on Shuttle KD20 (PLX OXNAS 7821)
October 05, 2014 04:48AM
I already tried this and then I get a kernel panic. (posted it earlyer).

Maybe I had the wrong syntax in the dts(i), but I don't even see how the driver read the dts and switches between ports like the vendors driver.
So there might be more to do. I guess this driver is written for single sata, as the SATA_OXNAS_MAX_PORTS is hardcoded and not readed from dts.

But I'm happy about any input, to figure out how to enable the second port.
Re: Debian on Shuttle KD20 (PLX OXNAS 7821)
October 05, 2014 06:25PM
Peacemaker Wrote:
-------------------------------------------------------
> I already tried this and then I get a kernel
> panic. (posted it earlyer).
>
> Maybe I had the wrong syntax in the dts(i), but I
> don't even see how the driver read the dts and
> switches between ports like the vendors driver.
> So there might be more to do. I guess this driver
> is written for single sata, as the
> SATA_OXNAS_MAX_PORTS is hardcoded and not readed
> from dts.
>
> But I'm happy about any input, to figure out how
> to enable the second port.

Yes. I think possibly the kernel caused a panic is because of your dts. FDT is relatively new, so you wont find lots of drivers that have code handling it directly. Instead, this sata driver is typical (eg. sata_mv). As long as you have both dts and driver in sync then it will hopefully initialize the ports.

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)
Re: Debian on Shuttle KD20 (PLX OXNAS 7821)
October 12, 2014 05:52AM
Hey, so I tried to understand what is causing exectly the kernel panic.

What I think is the core of the Problem:

void __iomem *port_base[SATA_OXNAS_MAX_PORTS];
void __iomem *sgdma_base[SATA_OXNAS_MAX_PORTS];

Here you get with max_ports=2 an array of 2. And thow I have to write an Array and only a number.

So I tried to change this
ata@45900000 {
		compatible = "plxtech,nas782x-sata";
			/*	port		sgdma		core	*/
		reg = <0x45900000 0x100>, <0x459B0000 0x10>, <0x459E0000 0x2000>,
			/*	phy		descriptors (optional)	*/
			<0x44900000 0x0C>, <0x50000000 0x1000>;
		interrupts = <0 18 0x304>;
		clocks = <&stdclk 4>;
		resets = <&rst 11>, <&rst 12>, <&rst 13>;
		reset-names = "sata", "link", "phy";
		status = "disabled";
	};
to this
ata@45900000 {
		compatible = "plxtech,nas782x-sata";
			/*	port		sgdma		core	*/
		reg = <0x45900000,0x45910000 0x100>, <0x459B0000,0x459B0010 0x10>, <0x459E0000 0x2000>,
			/*	phy		descriptors (optional)	*/
			<0x44900000 0x0C>, <0x50000000 0x1000>;
		interrupts = <0 18 0x304>;
		clocks = <&stdclk 4>;
		resets = <&rst 11>, <&rst 12>, <&rst 13>;
		reset-names = "sata", "link", "phy";
		status = "disabled";
	};

To give write an array, but I got syntax errors. :-(

I've not an idea how the device tree writes into an array in this file. And I don't found a helpfull manual to this.

Maybe someone have an idea or a link, that is helpfull



Edited 3 time(s). Last edit at 10/13/2014 09:25AM by Peacemaker.
Re: Debian on Shuttle KD20 (PLX OXNAS 7821)
October 13, 2014 09:10AM
<0x45900000,0x45910000}
That } is a problem.

And we still need it to truly understand it is _one_ controller with _two_ ports. This really needs to be handled @ the driver code, and then only the difference adjusted @ the dts would be nr-ports.
Re: Debian on Shuttle KD20 (PLX OXNAS 7821)
October 13, 2014 09:43AM
Hey, the } was a mistake within the copy & past.

I tried several ways to input an array

Quote
And we still need it to truly understand it is _one_ controller with _two_ ports. This really needs to be handled @ the driver code, and then only the difference adjusted @ the dts would be nr-ports.

Sry warhead I do not realy get what you mean.

I realized that this board has 1 sata controler (phy) with 2 ports.
The number of ports is at the moment hardcoded, and as I see it this controls just the arraysize of 2 pointers.
I think the kernel panics because only the first entery of these arrays are written. My appproch was now, why don't easy write an array of an register instat of a single register.

Maybe you can tell me what is wrong with this idea
Re: Debian on Shuttle KD20 (PLX OXNAS 7821)
October 13, 2014 09:53AM
When the kernel attempts to initialize the sgdma controller for a second time, "You're gonna have a bad day"
Re: Debian on Shuttle KD20 (PLX OXNAS 7821)
October 13, 2014 10:06AM
Sure, but why do you think the drive is goning to inital the controller a second time, with an arraysize of 2 instead of 1 ?

As I read the bootlog it panics on instand, and there is no second initial with SATA_OXNAS_MAX_PORTS = 2
Re: Debian on Shuttle KD20 (PLX OXNAS 7821)
October 13, 2014 03:55PM
There should never be an array! Thats the point!
Re: Debian on Shuttle KD20 (PLX OXNAS 7821)
October 14, 2014 03:04AM
Thanks, Warhead
I see that the *.dts does not accept an array.

But what do you think of the array in the driver (sata_oxnas.c)? In the vendores driver there are similar code for the with an pointer-array for the port address.
Daniel
Re: Debian on Shuttle KD20 (PLX OXNAS 7821)
December 03, 2014 11:04AM
In order to support more than 1 port, proper locking got to be implemented in the sata_oxnas driver.
The vendor SDK uses a quite complex setup for that to allow both, direct access and hardware raid with two disks. As we are quite far from supporting hardware-raid features in vanilla kernels, the best for now would be to implement locking as seen in
https://raw.githubusercontent.com/hynnet/hiwifi-openwrt-HC5661-HC5761/master/target/linux/oxnas/files-3.3/drivers/ata/sata_ox820.c
and having device-tree nodes for each port/phy and add them to the controller, similar to how it's done in
https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/arch/arm/boot/dts/kirkwood.dtsi

If I find the time, I'll give it a shot somewhen in the next days...
Re: Debian on Shuttle KD20 (PLX OXNAS 7821)
December 06, 2014 04:06AM
Hey, your right so far, Warhead has this driver in an old git. https://github.com/WarheadsSE/OX820-3.1-Linux

And beside from raid, cardreader, front usb3.0 and gpio, this non-fdt works so far.

The cardreader, front usb3.0 and gpio is I not the hard task.

With try to use the raid here I got:
[  273.010000] ata2.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x6 frozen
[  273.020000] ata2.00: cmd 35/00:00:80:24:04/00:04:00:00:00/e0 tag 0 dma 524288 out
[  273.020000]          res 40/00:01:00:00:00/00:00:00:00:00/00 Emask 0x4 (timeout)
[  273.030000] ata2: hard resetting link
[  273.120000] ata1.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x6 frozen
[  273.120000] ata1.00: cmd 25/00:00:80:28:04/00:04:00:00:00/e0 tag 0 dma 524288 in
[  273.120000]          res 40/00:01:00:00:00/00:00:00:00:00/00 Emask 0x4 (timeout)
[  273.130000] ata1: hard resetting link
[  273.550000] ata2: SATA link up 1.5 Gbps (SStatus 113 SControl 310)
[  273.710000] ata1: SATA link up 1.5 Gbps (SStatus 113 SControl 310)
[  273.710000] ata1.00: failed to IDENTIFY (INIT_DEV_PARAMS failed, err_mask=0x80)
[  273.720000] ata1.00: revalidation failed (errno=-5)
udevd[291]: timeout: killing '/sbin/blkid -o udev -p /dev/md0' [1412]

udevd[291]: timeout: killing '/sbin/blkid -o udev -p /dev/md0' [1412]

udevd[291]: timeout: killing '/sbin/blkid -o udev -p /dev/md0' [1412]

udevd[291]: timeout: killing '/sbin/blkid -o udev -p /dev/md0' [1412]

udevd[291]: timeout: killing '/sbin/blkid -o udev -p /dev/md0' [1412]

[  278.710000] ata1: hard resetting link
[  278.710000] ata2.00: configured for UDMA/133
[  278.710000] ata2.00: device reported invalid CHS sector 0
[  278.720000] ata2: EH complete
udevd[291]: timeout: killing '/sbin/blkid -o udev -p /dev/md0' [1412]

[  279.220000] ata1: SATA link up 1.5 Gbps (SStatus 113 SControl 310)
udevd[291]: timeout: killing '/sbin/blkid -o udev -p /dev/md0' [1412]

udevd[291]: timeout: killing '/sbin/blkid -o udev -p /dev/md0' [1412]


I'm not sure if this driver is capable of fdt, so maybe it might be better to work on the "newer" sata driver and add there the second port. But after many hours of looking into the code of the sata_oxnas.c I realized my coding skills are to low :-(.
Re: Debian on Shuttle KD20 (PLX OXNAS 7821)
December 12, 2014 04:29PM
WarheadsSE Wrote:
-------------------------------------------------------
>
> #define
> SATA_REG_BASE			OXNAS_HW_PA_TO_VA(0x05900000)
> #define
> SATA_PHY_BASE			OXNAS_HW_PA_TO_VA(0x04900000)
> #define SATA_PHY_BASE_PA        0x44900000
> #define SATA_REG_BASE_PA        0x45900000
> #define SATA0_REGS_BASE     (SATA_REG_BASE +
> 0x00000)
> #define SATA1_REGS_BASE     (SATA_REG_BASE +
> 0x10000)
> 
> #define OX820SATA_SGDMA_CORESIZE    (0x10)
> #define OX820SATA_SGDMA_BASE0       ((u32*
> )(SATASGDMA_REGS_BASE + (0 *
> OX820SATA_SGDMA_CORESIZE)))
> #define OX820SATA_SGDMA_BASE1       ((u32*
> )(SATASGDMA_REGS_BASE + (1 *
> OX820SATA_SGDMA_CORESIZE)))
>
>
> The more I dig around, the more the described
> entry from bodhi seems accurate.
>
> This only real difference I see is that you need
> to have the port @ 0x45910000, and they appear to
> have the same DMA/SGDMA/etc.
>
> https://github.com/mibodhi/u-boot-oxnas/blob/oxnas
> /drivers/block/plxsata_ide.c
> https://github.com/mibodhi/u-boot-oxnas/blob/oxnas
> /arch/arm/include/asm/arch-nas782x/hardware.h

So - do you think it might be possible to use the second port only with a couple of changes and leaving first port unused?

It might help make both sata ports work if there was possibility to make them work separately first. If there was some way to find out what it needs to change used port, it might be a step forward.
Re: Debian on Shuttle KD20 (PLX OXNAS 7821)
December 12, 2014 05:04PM
Re: Debian on Shuttle KD20 (PLX OXNAS 7821)
December 14, 2014 04:51AM
Ohhhhh,... this is looking not so bad.

I compiled this openwrt, for so far, it is working.
+ uboot find 2 HDD
+ openwrt find 2 HDD
- Uboot Mac address must be set manual
- usb is not working (ehci timeouts)

But as I'm not a big fan of openwrt on a nas, I'll try to patch this for the debian-kernel.

For now on everything compiles quite well but I've got to fix the machine ID, as I got an error within wrong ID



Edited 3 time(s). Last edit at 12/14/2014 03:06PM by Peacemaker.
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: