Building the ath79 DSA driver for RTL8366RB

Please look at this.
https://dflund.se/~triad/krad/dlink-dir-685/

There are patches already merged to 4.19, that should fix the rtl8366rb.

The problem is that they are the dsa drivers, I tried them and I could not start the switch, the dsa from 14 is different to 19, the api was changed. I could boot 15, but starting from 16 and up it will lock at random generator part

1 Like

As k4.19 is ready for ath79, it would be nice to try out those DSA drivers.

Anyone tried that? What should I do after checking out the PR?

4.19.16 firstboot:

dmesg
[    0.000000] Linux version 4.19.16 (xabolcs@debian-wsl) (gcc version 7.4.0 (OpenWrt GCC 7.4.0 r9097+4-74450124f6)) #0 Tue Jan 22 09:37:04 2019
[    0.000000] bootconsole [early0] enabled
[    0.000000] CPU0 revision is: 00019374 (MIPS 24Kc)
[    0.000000] MIPS: machine is TP-Link TL-WR1043ND Version 1
[    0.000000] SoC: Atheros AR9132 rev 2
[    0.000000] Determined physical RAM map:
[    0.000000]  memory: 02000000 @ 00000000 (usable)
[    0.000000] Initrd not found or empty - disabling initrd
[    0.000000] Primary instruction cache 64kB, VIPT, 4-way, linesize 32 bytes.
[    0.000000] Primary data cache 32kB, 4-way, VIPT, cache aliases, linesize 32 bytes
[    0.000000] Zone ranges:
[    0.000000]   Normal   [mem 0x0000000000000000-0x0000000001ffffff]
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000000000000-0x0000000001ffffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x0000000001ffffff]
[    0.000000] On node 0 totalpages: 8192
[    0.000000]   Normal zone: 64 pages used for memmap
[    0.000000]   Normal zone: 0 pages reserved
[    0.000000]   Normal zone: 8192 pages, LIFO batch:0
[    0.000000] random: get_random_bytes called from start_kernel+0x8c/0x474 with crng_init=0
[    0.000000] pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768
[    0.000000] pcpu-alloc: [0] 0
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 8128
[    0.000000] Kernel command line: console=ttyS0,115200 rootfstype=squashfs,jffs2
[    0.000000] Dentry cache hash table entries: 4096 (order: 2, 16384 bytes)
[    0.000000] Inode-cache hash table entries: 2048 (order: 1, 8192 bytes)
[    0.000000] Writing ErrCtl register=00000000
[    0.000000] Readback ErrCtl register=00000000
[    0.000000] Memory: 25544K/32768K available (3961K kernel code, 151K rwdata, 964K rodata, 1188K init, 204K bss, 7224K reserved, 0K cma-reserved)
[    0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[    0.000000] NR_IRQS: 51
[    0.000000] CPU clock: 400.000 MHz
[    0.000000] clocksource: MIPS: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 9556302233 ns
[    0.000013] sched_clock: 32 bits at 200MHz, resolution 5ns, wraps every 10737418237ns
[    0.007900] Calibrating delay loop... 265.42 BogoMIPS (lpj=1327104)
[    0.094148] pid_max: default: 32768 minimum: 301
[    0.099067] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.105671] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.117778] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.127648] futex hash table entries: 256 (order: -1, 3072 bytes)
[    0.133830] pinctrl core: initialized pinctrl subsystem
[    0.140247] NET: Registered protocol family 16
[    0.177818] clocksource: Switched to clocksource MIPS
[    0.184333] NET: Registered protocol family 2
[    0.189778] tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 4096 bytes)
[    0.197441] TCP established hash table entries: 1024 (order: 0, 4096 bytes)
[    0.204473] TCP bind hash table entries: 1024 (order: 0, 4096 bytes)
[    0.210849] TCP: Hash tables configured (established 1024 bind 1024)
[    0.217385] UDP hash table entries: 256 (order: 0, 4096 bytes)
[    0.223278] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
[    0.229905] NET: Registered protocol family 1
[    0.234287] PCI: CLS 0 bytes, default 32
[    0.238157] Crashlog allocated RAM at address 0x1f00000
[    0.244925] workingset: timestamp_bits=30 max_order=13 bucket_order=0
[    0.259465] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.265280] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
[    0.287393] io scheduler noop registered
[    0.291381] io scheduler deadline registered (default)
[    0.296832] ar7200-usb-phy usb-phy: phy reset is missing
[    0.303310] Serial: 8250/16550 driver, 1 ports, IRQ sharing disabled
[    0.310623] console [ttyS0] disabled
[    0.314229] 18020000.uart: ttyS0 at MMIO 0x18020000 (irq = 8, base_baud = 12500000) is a 8250
[    0.322819] console [ttyS0] enabled
[    0.329843] bootconsole [early0] disabled
[    0.345258] m25p80 spi0.0: s25sl064p (8192 Kbytes)
[    0.350206] 3 fixed-partitions partitions found on MTD device spi0.0
[    0.356595] Creating 3 MTD partitions on "spi0.0":
[    0.361452] 0x000000000000-0x000000020000 : "u-boot"
[    0.367540] 0x000000020000-0x0000007f0000 : "firmware"
[    0.376760] 2 tplink-fw partitions found on MTD device firmware
[    0.382796] Creating 2 MTD partitions on "firmware":
[    0.387830] 0x000000000000-0x00000019f5e1 : "kernel"
[    0.393888] 0x00000019f5e4-0x0000007d0000 : "rootfs"
[    0.399905] mtd: device 3 (rootfs) set to be root filesystem
[    0.407274] 1 squashfs-split partitions found on MTD device rootfs
[    0.413580] 0x0000003a0000-0x0000007d0000 : "rootfs_data"
[    0.420149] 0x0000007f0000-0x000000800000 : "art"
[    0.426540] Realtek RTL8366RB ethernet switch driver version 0.2.4
[    0.432935] rtl8366rb rtl8366rb: cannot find mdio node phandle
[    0.557837] rtl8366rb rtl8366rb: using GPIO pins 18 (SDA) and 19 (SCK)
[    0.564573] rtl8366rb rtl8366rb: RTL5937 ver. 3 chip found
[    0.801196] libphy: rtl8366rb: probed
[    0.805794] libphy: Fixed MDIO Bus: probed
[    1.159744] ag71xx 19000000.eth: connected to PHY at fixed-0:00 [uid=00000000, driver=Generic PHY]
[    1.169708] eth0: Atheros AG71xx at 0xb9000000, irq 4, mode:RGMII
[    1.178909] NET: Registered protocol family 10
[    1.188974] Segment Routing with IPv6
[    1.192809] NET: Registered protocol family 17
[    1.197322] 8021q: 802.1Q VLAN Support v1.8
[    1.212791] VFS: Mounted root (squashfs filesystem) readonly on device 31:3.
[    1.227118] Freeing unused kernel memory: 1188K
[    1.231723] This architecture does not have kernel memory protection.
[    1.238208] Run /sbin/init as init process
[    2.390753] init: Console is alive
[    2.394455] init: - watchdog -
[    2.487831] random: fast init done
[    4.183384] kmodloader: loading kernel modules from /etc/modules-boot.d/*
[    4.421149] usbcore: registered new interface driver usbfs
[    4.426763] usbcore: registered new interface driver hub
[    4.432328] usbcore: registered new device driver usb
[    4.445245] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    4.453882] ehci-platform: EHCI generic platform driver
[    4.459503] ehci-platform 1b000100.usb: EHCI Host Controller
[    4.465262] ehci-platform 1b000100.usb: new USB bus registered, assigned bus number 1
[    4.473310] ehci-platform 1b000100.usb: irq 3, io mem 0x1b000100
[    4.507844] ehci-platform 1b000100.usb: USB 2.0 started, EHCI 1.00
[    4.515174] hub 1-0:1.0: USB hub found
[    4.519438] hub 1-0:1.0: 1 port detected
[    4.524972] kmodloader: done loading kernel modules from /etc/modules-boot.d/*
[    4.535102] init: - preinit -
[    6.034131] random: jshn: uninitialized urandom read (4 bytes read)
[    6.249866] random: jshn: uninitialized urandom read (4 bytes read)
[    6.534630] random: jshn: uninitialized urandom read (4 bytes read)
[    7.774993] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[    7.781062] IPv6: ADDRCONF(NETDEV_UP): eth0.1: link is not ready
[    7.871047] urandom_read: 4 callbacks suppressed
[    7.871057] random: procd: uninitialized urandom read (4 bytes read)
[    8.818191] eth0: link up (1000Mbps/Full duplex)
[    8.822880] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[    8.829819] IPv6: ADDRCONF(NETDEV_CHANGE): eth0.1: link becomes ready
[   11.144074] mount_root: jffs2 not ready yet, using temporary tmpfs overlay
[   11.189910] urandom-seed: Seed file not found (/etc/urandom.seed)
[   11.367796] procd: - early -
[   11.371996] procd: - watchdog -
[   11.937842] eth0: link down
[   12.035027] procd: - watchdog -
[   12.038573] procd: - ubus -
[   12.078502] random: ubusd: uninitialized urandom read (4 bytes read)
[   12.091785] random: ubusd: uninitialized urandom read (4 bytes read)
[   12.099973] procd: - init -
[   12.646257] kmodloader: loading kernel modules from /etc/modules.d/*
[   12.676861] Loading modules backported from Linux version v4.19.7-0-g61c68f2a2af0
[   12.684468] Backport generated by backports.git v4.19.7-1-0-g148b072d
[   12.722418] xt_time: kernel timezone is -0000
[   12.810458] PPP generic driver version 2.4.2
[   12.818085] NET: Registered protocol family 24
[   12.948181] ath: EEPROM regdomain: 0x0
[   12.948192] ath: EEPROM indicates default country code should be used
[   12.948197] ath: doing EEPROM country->regdmn map search
[   12.948212] ath: country maps to regdmn code: 0x3a
[   12.948219] ath: Country alpha2 being used: US
[   12.948224] ath: Regpair used: 0x3a
[   12.992158] ieee80211 phy0: Selected rate control algorithm 'minstrel_ht'
[   12.994318] ieee80211 phy0: Atheros AR9100 MAC/BB Rev:7 AR2133 RF Rev:a2 mem=0xb80c0000, irq=2
[   13.157317] kmodloader: done loading kernel modules from /etc/modules.d/*
[   25.749560] jffs2_scan_eraseblock(): End of filesystem marker found at 0x0
[   25.756506] jffs2_build_filesystem(): unlocking the mtd device...
[   25.756512] done.
[   25.764730] jffs2_build_filesystem(): erasing all blocks after the end marker...
[   33.392434] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[   33.406299] eth0: link up (1000Mbps/Full duplex)
[   33.438107] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[   33.489444] br-lan: port 1(eth0.1) entered blocking state
[   33.494894] br-lan: port 1(eth0.1) entered disabled state
[   33.500878] device eth0.1 entered promiscuous mode
[   33.505702] device eth0 entered promiscuous mode
[   33.614178] br-lan: port 1(eth0.1) entered blocking state
[   33.619700] br-lan: port 1(eth0.1) entered forwarding state
[   33.625765] IPv6: ADDRCONF(NETDEV_UP): br-lan: link is not ready
[   34.418447] IPv6: ADDRCONF(NETDEV_CHANGE): br-lan: link becomes ready
[   58.198570] done.
[   58.200565] jffs2: notice: (994) jffs2_build_xattr_subsystem: complete building xattr subsystem, 0 of xdatum (0 unchecked, 0 orphan) and 0 of xref (0 dead, 0 orphan) found.
[   58.759310] overlayfs: upper fs does not support tmpfile.
[  122.027908] random: crng init done