For the seagate central's cns3420 cpu, openwrt has bump up to kernel to 4.4.y. And with a little change, it works on Seagate Central too. SMP/ETHENET works, but not USB and RTC. A 4.4 kernel with debian stretch rootfs can be found here https://github.com/KL-Yang/seagate_central_linux And the kernel is compiled on seagate central itself.by echor - Debian
Hi Yama, It's almost the same patch. I attached to the UART console to my Seagate Central, and found in environment variable that bootcmd=scsi init;ext2load scsi 0:1 0x4000000 uImage;bootm And try to change it to something like setenv bootcmd 'scsi init; ext2load scsi 0:1 0x2000000 boot.scr; autoscr 0x2000000' saveenv and the boot.scr was a script image of the two commandby echor - Debian
I got an experimental kernel working on the single driver version Seagate Central with the same CPU. If anyone have such a device can give it a try. SMP and Ethernet working, rtc and usb not working. An Jessie rootfs can be found on https://github.com/KL-Yang/seagate_central_linux Similar finding as Yama, have to set "hwaddress ether xx:xx:xx:xx:xx:xx" in /etc/network/interfacesby echor - Debian
My patch only works for Seagate Central. Please try tftp boot to see if ethernet works. On Seagate Central, OpenWRT's ethernet driver works only when boot from tftp. UBoot will initiate some configuration register, and only after that ethernet works in linux. If that works, we can check the value in those register and make it work when boot from sata too.by echor - Debian
go to openwrt 15.05 reponsitory, copy files in target/linux /cns3xxx/files/ on top of linux-3.18.y stable tree apply the patches in target/linux /cns3xxx/patches-3.18 on top of previous step apply my patch 901_seagate_central_ethernet_smp.patch on top of that use the config_seagate_smp to compile the kernel for Seagate Central NAS, good luck. I used debian jessie's "gcc-arm-none-eby echor - Debian
Hi Tommy, Strange that I cannot get Seagate kernel compiled correctly for my Central NAS. I currently run 3.18 and Jessie for testing for a few days, now both SMP and ethernet is working reasonable, but USB and RTC are not working yet. I can compile the kernel itself on the Central NAS (1Bay) with make -j2 use debian jessie rootfs. I clean up the patches and configure file, it applies on toby echor - Debian
I have spent too much time on it. Here is a summary. The openwrt.cc.patch applies on top of openwrt CC's patch for cns3xxx (3.18.x kernel) The config_seagate_good0 with smp disabled and good ethernet on Seagate Central NAS (faster than 500Mbps) The other with smp and can seen 2 cpu, but ethernet only a few handrunds Kbps Both can successfully boot into Debian Jessie armel rootfs. Good lby echor - Debian
I examine the difference of struct switch_regs , the ethernet driver doesn't initiate the bit of MAC[012]_CLOCK_ENABLE, and the CLOCK_SKEW for gigabit mac, and the lower 12bit of mac_cfg, I have found the definition of the most important bits in seagate's GPL source code, but the lower 8bit of switch_regs->mac_cfg is unknown, but seems the value does not affect my device. If there isby echor - Debian
Good news again. A new patch was updated on github and now ethernet works too when booting from sata. When booting with tftp, u-boot initiated ethernet and leave us a working configuration in some register. That configuration acquired from u-boot source code was added to the patch. The speed can go beyond 500Mbps when testing with iperf connect directly with another PC. The patch only testedby echor - Debian
The fix is probably not that good. I was testing use tftp boot, and when I thought the ethernet was fixed, I switch to boot from sata, then the ethernet does not work any more. And switch back to tftp, boot into debian, ethernet is good again. Looks like U-boot did something right to initiate the ethernet that missed in our drive. Sorry for the bad news. Mine is a seagate central with only 1by echor - Debian
Good news, after some digging, the ethernet is working now with the following patch on openwrt's driver cns3xxx_eth.c and my previous patch. 59d58 < #define IP_CHECKSUM 0x00040000 717,725c716,722 < rx_ring->cur_index = i; < if (!received) { < napi_complete(napi); < enable_irq(sw->rx_irq); < < /* if rby echor - Debian
To sum up, with my patch, the Ethernet driver respond to cable plug/unplug, show in dmesg as link up/link down. But cannot ping or dhcp. With some hint from luke and a very blue video, the UART port of seagate central is marked in the picture. I am totally lost and hope those information may help others to carry on.by echor - Debian
It may not be a DHCP problem. In the patch, the following code controls which MAC connect to which PHY port. Based on stock kernel config (CONFIG_RTL8211_MAC0_PHYADDR1=y), it seems to be MAC0 and PHY1 connects a RTL8211. But my following configuration does not work. May need other more experience people take a look. file: arch/arm/mach-cns3xxx/cns3420vb.c static struct cns3xxx_plat_info lagby echor - Debian
The attached patch on top of Bodhi's can bring up the eth0, but the network is still unusable, related information in dmesg: libphy: Fixed MDIO Bus: probed libphy: CNS3xxx MII Bus: probed eth0: RGMII PHY 1 on cns3xxx Switch Listening on LPF/eth0/00:10:75:43:91:17 Sending on LPF/eth0/00:10:75:43:91:17 Sending on Socket/fallback DHCPDISCOVER on eth0 to 255.255.255.255 port 67 inteby echor - Debian
Thanks to bodhi and luke. I can boot and login a debian squeeze rootfs through serial console. The sata drive is working fine, but Ethernet and usb doesn't working yet. I applied bodhi's patch on v3.18.21, and modified luke's config a little bit, attached for reference.by echor - Debian