Microchip-Ethernet / EVB-KSZ9477

Repository for using Microchip EVB-KSZ9477 board. Product Supported: KSZ9477, KSZ9567, KSZ9897, KSZ9896, KSZ8567, KSZ8565, KSZ9893, KSZ9563, KSZ8563, LAN9646, Phys(KSZ9031/9131, LAN8770
76 stars 78 forks source link

EVB-KSZ9477 doesn't pass 100 Mbps AVB streams #52

Open danglin44 opened 3 years ago

danglin44 commented 3 years ago

We have been testing the EVB-KSZ9477 with various AVB endpoints. Generally, AVB streams work at 1 Gbps but not at 100 Mbps.

One test used the Motu Ultralite-AVB and XMOS XK-AUDIO-216-MC-AB. The Ultralite-AVB has a 100 Mbps Ethernet port and the XK-AUDIO-216-MC-AB has a 1 Gbps Ethernet port. Speakers were connected to the Ultralite and a microphone to XK-AUDIO-216-MC-AB. When the two devices are connected with a Motu switch and a stream is setup, audio data passes successfully. When the devices are connected with the EVB-KSZ9477, audio does not work.

If the XK-AUDIO-216-MC-AB is connected to the EVB, the EVB to the Motu switch, and the Motu switch to the Ultralite, audio works. If the link between the EVB and the Motu switch is set to 100 Mbps using ethtool, audio does not work.

In all cases, the PTP synchronization is okay.

We are trying to debug the mrp setup but so far we don't know what's wrong at 100 Mbps.

danglin44 commented 3 years ago

XMOS (port 2 talker) <--> EVB <--> Ultralite (port 3 listener)

The problem seems near the "no lis" output in the debug out below.

Starting kernel ...

Booting Linux on physical CPU 0x0 Linux version 4.9.143 (dave@lux0) (gcc version 4.9.3 (Buildroot 2016.08-git-00115-g4f1a136b8-dirty) ) #1 Mon Nov 2 16:46:58 EST 2020 CPU: ARMv7 Processor [410fc051] revision 1 (ARMv7), cr=10c53c7d CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache OF: fdt:Machine model: SAMA5D3 Xplained Memory policy: Data cache writeback CPU: All CPU(s) started in SVC mode. Built 1 zonelists in Zone order, mobility grouping on. Total pages: 65024 Kernel command line: console=ttyS0,115200 earlyprintk root=/dev/mmcblk0p2 rw rootwait spi-ksz9897.avb=1 spi-ksz9897.iba=1 spi-ksz9897.sgmii=1 PID hash table entries: 1024 (order: 0, 4096 bytes) Dentry cache hash table entries: 32768 (order: 5, 131072 bytes) Inode-cache hash table entries: 16384 (order: 4, 65536 bytes) Memory: 248672K/262144K available (7168K kernel code, 220K rwdata, 1564K rodata, 1024K init, 522K bss, 13472K reserved, 0K cma-reserved) Virtual kernel memory layout: vector : 0xffff0000 - 0xffff1000 ( 4 kB) fixmap : 0xffc00000 - 0xfff00000 (3072 kB) vmalloc : 0xd0800000 - 0xff800000 ( 752 MB) lowmem : 0xc0000000 - 0xd0000000 ( 256 MB) modules : 0xbf000000 - 0xc0000000 ( 16 MB) .text : 0xc0008000 - 0xc0800000 (8160 kB) .init : 0xc0a00000 - 0xc0b00000 (1024 kB) .data : 0xc0b00000 - 0xc0b37300 ( 221 kB) .bss : 0xc0b37300 - 0xc0bb9be4 ( 523 kB) NR_IRQS:16 nr_irqs:16 16 clocksource: pit: mask: 0x1ffffff max_cycles: 0x1ffffff, max_idle_ns: 1809905672 ns sched_clock: 32 bits at 1kHz, resolution 1000000ns, wraps every 2147483647500000ns Console: colour dummy device 80x30 Calibrating delay loop... 348.16 BogoMIPS (lpj=174080) pid_max: default: 32768 minimum: 301 Mount-cache hash table entries: 1024 (order: 0, 4096 bytes) Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes) CPU: Testing write buffer coherency: ok Setting up static identity map for 0x20100000 - 0x20100058 devtmpfs: initialized VFP support v0.3: implementor 41 architecture 2 part 30 variant 5 rev 1 clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 1911260446275000 ns futex hash table entries: 256 (order: -1, 3072 bytes) pinctrl core: initialized pinctrl subsystem NET: Registered protocol family 16 DMA: preallocated 256 KiB pool for atomic coherent allocations AT91: Detected SoC family: sama5d3 AT91: Detected SoC: sama5d36, revision 2 No ATAGs? gpio-at91 fffff200.gpio: at address d0859200 gpio-at91 fffff400.gpio: at address d085b400 gpio-at91 fffff600.gpio: at address d085d600 gpio-at91 fffff800.gpio: at address d0881800 gpio-at91 fffffa00.gpio: at address d0883a00 pinctrl-at91 ahb:apb:pinctrl@fffff200: initialized AT91 pinctrl driver clocksource: tcb_clksrc: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 115833966437 ns at_hdmac ffffe600.dma-controller: Atmel AHB DMA Controller ( cpy set slave sg-cpy ), 8 channels at_hdmac ffffe800.dma-controller: Atmel AHB DMA Controller ( cpy set slave sg-cpy ), 8 channels SCSI subsystem initialized usbcore: registered new interface driver usbfs usbcore: registered new interface driver hub usbcore: registered new device driver usb at91_i2c f0014000.i2c: using dma0chan0 (tx) and dma0chan1 (rx) for DMA transfers at91_i2c f0014000.i2c: AT91 i2c bus driver (hw version: 0x402). at91_i2c f0018000.i2c: using dma0chan2 (tx) and dma0chan3 (rx) for DMA transfers at91_i2c f0018000.i2c: AT91 i2c bus driver (hw version: 0x402). at91_i2c f801c000.i2c: can't get DMA channel, continue without DMA support 2-0076 supply vcc not found, using dummy regulator random: fast init done GPIO line 496 (P0_0) hogged as output/low GPIO line 497 (P0_1) hogged as output/low GPIO line 498 (P0_2) hogged as output/low GPIO line 499 (P0_3) hogged as output/low GPIO line 500 (P0_4) hogged as output/low GPIO line 501 (P0_5) hogged as output/low GPIO line 502 (P0_6) hogged as output/low GPIO line 503 (P0_7) hogged as output/low GPIO line 507 (sfp-olink) hogged as output/low GPIO line 508 (sfp-tx-disable) hogged as output/low GPIO line 509 (sfp-los) hogged as input GPIO line 510 (sfp-mod-def0) hogged as input pca953x 2-0076: interrupt support not compiled in at91_i2c f801c000.i2c: AT91 i2c bus driver (hw version: 0x402). Linux video capture interface: v2.00 pps_core: LinuxPPS API ver. 1 registered pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti giometti@linux.it PTP clock support registered Advanced Linux Sound Architecture Driver Initialized. clocksource: Switched to clocksource tcb_clksrc NET: Registered protocol family 2 TCP established hash table entries: 2048 (order: 1, 8192 bytes) TCP bind hash table entries: 2048 (order: 1, 8192 bytes) TCP: Hash tables configured (established 2048 bind 2048) 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. workingset: timestamp_bits=30 max_order=16 bucket_order=0 io scheduler noop registered (default) f001c000.serial: ttyS1 at MMIO 0xf001c000 (irq = 23, base_baud = 4125000) is a ATMEL_SERIAL f0020000.serial: ttyS2 at MMIO 0xf0020000 (irq = 24, base_baud = 4125000) is a ATMEL_SERIAL f0024000.serial: ttyS5 at MMIO 0xf0024000 (irq = 25, base_baud = 4125000) is a ATMEL_SERIAL ffffee00.serial: ttyS0 at MMIO 0xffffee00 (irq = 36, base_baud = 8250000) is a ATMEL_SERIAL console [ttyS0] enabled [drm] Initialized brd: module loaded loop: module loaded atmel_nand_nfc 70000000.nfc: NFC is probed. atmel_nand 60000000.nand: Using dma0chan4 for DMA transfers. nand: device found, Manufacturer ID: 0x2c, Chip ID: 0xda nand: Micron MT29F2G08ABAEAWP nand: 256 MiB, SLC, erase size: 128 KiB, page size: 2048, OOB size: 64 atmel_nand 60000000.nand: Use On Flash BBT atmel_nand 60000000.nand: minimum ECC: 4 bits in 512 bytes atmel_nand 60000000.nand: Initialize PMECC params, cap: 4, sector: 512 atmel_nand 60000000.nand: Using NFC Sram read Bad block table found at page 131008, version 0x01 Bad block table found at page 130944, version 0x01 6 ofpart partitions found on MTD device atmel_nand Creating 6 MTD partitions on "atmel_nand": 0x000000000000-0x000000040000 : "at91bootstrap" 0x000000040000-0x0000000c0000 : "bootloader" 0x0000000c0000-0x000000180000 : "bootloader env" 0x000000180000-0x000000200000 : "device tree" 0x000000200000-0x000000800000 : "kernel" 0x000000800000-0x000010000000 : "rootfs" atmel_spi f0004000.spi: version: 0x213 atmel_spi f0004000.spi: Using dma0chan5 (tx) and dma0chan6 (rx) for DMA transfers atmel_spi f0004000.spi: Atmel SPI Controller at 0xf0004000 (irq 19) atmel_spi f8008000.spi: version: 0x213 atmel_spi f8008000.spi: Using dma1chan0 (tx) and dma1chan1 (rx) for DMA transfers atmel_spi f8008000.spi: Atmel SPI Controller at 0xf8008000 (irq 27) ksz9897 spi1.0: chip id 0x00947700 libphy: Switch MII bus: probed

94 77 avb=1 rr=1 giga=1 compatible: ksz9477 ports: 7f features: 80ea0000 m:-1 a:1 s:ffffffff ports: 7f 0= 5:20 1:01 6; 0:40 0 1= 0:01 2:02 1; 1:01 0 2= 1:02 3:04 2; 2:02 0 3= 2:04 4:08 3; 3:04 0 4= 3:08 5:10 4; 4:08 0 5= 4:10 0:40 5; 5:10 0 6= 6:40 6:20 7; 6:20 1 mask: 7f 20 7f mask: 20 7f; 400 200 port: 7 6 5 host: 5 10 xmii: 7808 78 08; 1000 2 jtag: 100c 74cd 1140 0189 7996 ced0 0060 0000 xmii: f808 f8 08; 1000 2 sw_init_phy_priv 0=p:0; f:1 c:6 i:6 sw_init_phy_priv 1=p:0; f:1 c:1 i:6 sw_init_phy_priv 2=p:1; f:2 c:1 i:1 sw_init_phy_priv 3=p:2; f:3 c:1 i:2 sw_init_phy_priv 4=p:3; f:4 c:1 i:3 sw_init_phy_priv 5=p:4; f:5 c:1 i:4 sw_init_phy_priv 6=p:6; f:6 c:1 i:7 sw_init_phy_priv 7=p:5; f:7 c:1 i:5 random: crng init done cached: 7808 eee txq wait: 000a sgmii_setup 0 1 1 cfg: 0019 libphy: Fixed MDIO Bus: probed microchipphy_genl_init() CAN device driver interface at91_can f000c000.can: device registered (reg_base=d0a01000, irq=43) libphy: MACB_mii_bus: probed status 00000000 states 00000000 result 00000000 fewer: 0 0 bw: 0 75,000,000; 50,000,000 50,000,000; 75,000,000 75,000,000 bw: 1 75,000,000; 50,000,000 50,000,000; 75,000,000 75,000,000 mrp_init 7f 5f pps pps0: new PPS source ptp0 sw_setup_special s:1 m:3 f:0 sw_setup_special d:7 c:0 sw_setup_dev 1:6 phy:0 l:0 sw_setup_dev 1:1 phy:1 l:0 1 f:1 l:1 sw_setup_dev 2:1 phy:2 l:0 2 f:2 l:2 sw_setup_dev 3:1 phy:3 l:0 3 f:3 l:3 sw_setup_dev 4:1 phy:4 l:0 4 f:4 l:4 sw_setup_dev 5:1 phy:5 l:0 5 f:5 l:5 Microchip KSZ9477 Switch sw.0:00: attached PHY driver [Microchip KSZ9477 Switch] (mii_bus:phy_addr=sw.0:00, irq=109) macb f0028000.ethernet eth0: Cadence GEM rev 0x00020119 at 0xf0028000 irq 44 (00:10:a1:94:77:10) ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver sw_setup_dev 6:1 phy:6 l:0 6 f:6 l:6 ehci-atmel: EHCI Atmel driver atmel-ehci 700000.ehci: EHCI Host Controller atmel-ehci 700000.ehci: new USB bus registered, assigned bus number 1 atmel-ehci 700000.ehci: irq 47, io mem 0x00700000 atmel-ehci 700000.ehci: USB 2.0 started, EHCI 1.00 usb usb1: New USB device found, idVendor=1d6b, idProduct=0002 usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1 usb usb1: Product: EHCI Host Controller usb usb1: Manufacturer: Linux 4.9.143 ehci_hcd usb usb1: SerialNumber: 700000.ehci hub 1-0:1.0: USB hub found hub 1-0:1.0: 3 ports detected ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver ohci-atmel: OHCI Atmel driver at91_ohci 600000.ohci: failed to find sfr node at91_ohci 600000.ohci: USB Host Controller at91_ohci 600000.ohci: new USB bus registered, assigned bus number 2 at91_ohci 600000.ohci: irq 47, io mem 0x00600000 usb usb2: New USB device found, idVendor=1d6b, idProduct=0001 usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1 usb usb2: Product: USB Host Controller usb usb2: Manufacturer: Linux 4.9.143 ohci_hcd usb usb2: SerialNumber: at91 hub 2-0:1.0: USB hub found hub 2-0:1.0: 3 ports detected usbcore: registered new interface driver cdc_acm cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters usbcore: registered new interface driver usb-storage usbcore: registered new interface driver usbserial usbcore: registered new interface driver usbserial_generic usbserial: USB Serial support registered for generic usbcore: registered new interface driver ftdi_sio usbserial: USB Serial support registered for FTDI USB Serial Device usbcore: registered new interface driver pl2303 usbserial: USB Serial support registered for pl2303 atmel_usba_udc 500000.gadget: MMIO registers at 0xf8030000 mapped at d0a10000 atmel_usba_udc 500000.gadget: FIFO at 0x00500000 mapped at d2100000 g_serial gadget: Gadget Serial v2.4 g_serial gadget: g_serial ready rtc rtc0: invalid alarm value: 1900-1-1 0:0:0 at91_rtc fffffeb0.rtc: rtc core: registered fffffeb0.rtc as rtc0 at91_rtc fffffeb0.rtc: AT91 Real Time Clock driver. i2c /dev entries driver AT91: Starting after user reset sdhci: Secure Digital Host Controller Interface driver sdhci: Copyright(c) Pierre Ossman atmel_mci f0000000.mmc: version: 0x505 atmel_mci f0000000.mmc: using dma0chan7 for DMA transfers atmel_mci f0000000.mmc: Atmel MCI controller at 0xf0000000 irq 18, 1 slots sdhci-pltfm: SDHCI platform and OF driver helper atmel_aes f8038000.aes: version: 0x135 atmel_aes f8038000.aes: Atmel AES - Using dma1chan2, dma1chan3 for DMA transfers atmel_sha f8034000.sha: version: 0x410 atmel_sha f8034000.sha: using dma1chan4 for DMA transfers atmel_sha f8034000.sha: Atmel SHA1/SHA256/SHA224/SHA384/SHA512 atmel_tdes f803c000.tdes: version: 0x701 atmel_tdes f803c000.tdes: using dma1chan5, dma1chan6 for DMA transfers atmel_tdes f803c000.tdes: Atmel DES/TDES usbcore: registered new interface driver usbhid usbhid: USB HID core driver iio iio:device0: Resolution used: 12 bits iio iio:device0: ADC Touch screen is disabled. ip_tables: (C) 2000-2006 Netfilter Core Team NET: Registered protocol family 10 sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver NET: Registered protocol family 17 bridge: filtering via arp/ip/ip6tables is no longer available by default. Update your scripts to load br_netfilter if you need this. can: controller area network core (rev 20120528 abi 9) NET: Registered protocol family 29 can: raw protocol (rev 20120528) can: broadcast manager protocol (rev 20161123 t) can: netlink gateway (rev 20130117) max_hops=1 8021q: 802.1Q VLAN Support v1.8 g_serial gadget: high-speed config #2: CDC ACM config input: gpio_keys as /devices/soc0/gpio_keys/input/input0 at91_rtc fffffeb0.rtc: setting system clock to 2020-11-02 21:56:01 UTC (1604354161) ALSA device list: No soundcards found. Waiting for root device /dev/mmcblk0p2... mmc0: host does not support reading read-only switch, assuming write-enable mmc0: new high speed SDHC card at address 0001 mmcblk0: mmc0:0001 SD16G 29.2 GiB mmcblk0: p1 p2 EXT4-fs (mmcblk0p2): couldn't mount as ext3 due to feature incompatibilities EXT4-fs (mmcblk0p2): couldn't mount as ext2 due to feature incompatibilities EXT4-fs (mmcblk0p2): recovery complete EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null) VFS: Mounted root (ext4 filesystem) on device 179:2. devtmpfs: mounted Freeing unused kernel memory: 1024K EXT4-fs (mmcblk0p2): re-mounted. Opts: errors=remount-ro,data=ordered Starting logging: OK Initializing random number generator... done. Starting rpcbind: OK mtu: 6 cached: 7808 eee txq wait: 0040 sgmii_setup 0 1 1 cfg: 0019 status 00000000 states 00000000 result 00000000 fewer: 0 0 msg_conf1: 39 msg_conf2: 1004 clk_ctrl: 0 00000000:0065a890 0000000a:006d41b0 1:0 0:200334064 231000 0=0 215000 0=0 253000 0=0 213000 0=0 239000 0=0 213000 0 IPv6: ADDRCONF(NETDEV_UP): eth0.100: link is not ready macb f0028000.ethernet eth0: link up (1000/Full) IPv6: ADDRCONF(NETDEV_UP): eth0.101: link is not ready 72000 0=0 71000 0=0 76000 0=0 78000 0=0 77000 0=0 71000 0 delay_ticks: 20 0 = 1720 1870 0; 0 1 = 1720 1870 0; 0 2 = 1720 1870 0; 0 3 = 1720 1870 0; 0 4 = 1720 1870 0; 0 6 = 1720 1870 0; 0 ptp_start: 0079 1314 srp_cfg_idle_slope 5:0=49152 1542 1542; 750,000,000 75.000% 25.000% srp_cfg_idle_slope 5:1=1 1542 1542; 0 0.000% 100.000% srp_cfg_idle_slope 5:2=49152 1542 1542; 750,000,000 75.000% 25.000% srp_cfg_idle_slope 5:3=49152 1542 1542; 750,000,000 75.000% 25.000% remap: 0=1-0 0:0 srp_cfg_idle_slope 0:0=49152 1542 1542; 75,000,000 75.000% 25.000% srp_cfg_idle_slope 0:1=1 1542 1542; 0 0.000% 100.000% srp_cfg_idle_slope 0:2=49152 1542 1542; 75,000,000 75.000% 25.000% srp_cfg_idle_slope 0:3=49152 1542 1542; 75,000,000 75.000% 25.000% remap: 1=1-0 0:0 srp_cfg_idle_slope 1:0=49152 1542 1542; 75,000,000 75.000% 25.000% srp_cfg_idle_slope 1:1=1 1542 1542; 0 0.000% 100.000% srp_cfg_idle_slope 1:2=49152 1542 1542; 75,000,000 75.000% 25.000% srp_cfg_idle_slope 1:3=49152 1542 1542; 75,000,000 75.000% 25.000% remap: 2=1-0 0:0 srp_cfg_idle_slope 2:0=49152 1542 1542; 75,000,000 75.000% 25.000% srp_cfg_idle_slope 2:1=1 1542 1542; 0 0.000% 100.000% srp_cfg_idle_slope 2:2=49152 1542 1542; 75,000,000 75.000% 25.000% srp_cfg_idle_slope 2:3=49152 1542 1542; 75,000,000 75.000% 25.000% remap: 3=1-0 0:0 srp_cfg_idle_slope 3:0=49152 1542 1542; 75,000,000 75.000% 25.000% srp_cfg_idle_slope 3:1=1 1542 1542; 0 0.000% 100.000% srp_cfg_idle_slope 3:2=49152 1542 1542; 75,000,000 75.000% 25.000% srp_cfg_idle_slope 3:3=49152 1542 1542; 75,000,000 75.000% 25.000% remap: 4=1-0 0:0 srp_cfg_idle_slope 4:0=49152 1542 1542; 75,000,000 75.000% 25.000% srp_cfg_idle_slope 4:1=1 1542 1542; 0 0.000% 100.000% srp_cfg_idle_slope 4:2=49152 1542 1542; 75,000,000 75.000% 25.000% srp_cfg_idle_slope 4:3=49152 1542 1542; 75,000,000 75.000% 25.000% remap: 6=1-0 0:0 srp_cfg_idle_slope 6:0=49152 1542 1542; 750,000,000 75.00 srp_cfg_idle_slope 6:1=1 1542 1542; 0 0.000% 100.000% srp_cfg_idle_slope 6:2=49152 1542 1542; 750,000,000 75.000% 25.000% srp_cfg_idle_slope 6:3=49152 1542 1542; 750,000,000 75.000% 25.000% has asym pause: 0 0de1 sw_open_port r:20 t:20 d:1 l:20 proc_mrp_set_speed 0=0:0 0 0 has asym pause: 1 0de1 sw_open_port r:20 t:20 d:3 l:20 proc_mrp_set_speed 1=0:0 0 0 IPv6: ADDRCONF(NETDEV_UP): eth0.102: link is not ready IPv6: ADDRCONF(NETDEV_UP): eth0.103: link is not ready IPv6: ADDRCONF(NETDEV_UP): eth0.104: link is not ready IPv6: ADDRCONF(NETDEV_UP): eth0.105: link is not ready has asym pause: 2 0de1 sw_open_port r:20 t:20 d:7 l:20 proc_mrp_set_speed 2=0:0 0 0 has asym pause: 3 0de1 sw_open_port r:20 t:20 d:f l:20 proc_mrp_set_speed 3=0:0 0 0 has asym pause: 4 0de1 sw_open_port r:20 t:20 d:1f l:20 sgmii 0189 0000 sw_open_port r:20 t:20 d:5f l:20 Starting network... IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready Using IBA sgmii 0189 0000 sw_open_port r:20 t:20 d:5f l:20 proc_mrp_set_speed 0=0:0 0 0 proc_mrp_set_speed 1=0:0 0 0 proc_mrp_set_speed 2=0:0 0 0 proc_mrp_set_speed 3=0:0 0 0 id = 00947700 Starting om4-avb-opm daemon: OK Starting sshd: OK Starting telnetd: OK mrp_open_port 5=1 IPv6: ADDRCONF(NETDEV_CHANGE): eth0.102: link becomes ready IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready proc_mrp_set_speed 2=100:1 1 0 proc_mrp_chk_registered 2 IPv6: ADDRCONF(NETDEV_CHANGE): eth0.100: link becomes ready proc_mrp_set_speed 0=1000:1 1 0 proc_mrp_chk_registered 0 IPv6: ADDRCONF(NETDEV_CHANGE): eth0.101: link becomes ready proc_mrp_set_speed 1=1000:1 1 0 proc_mrp_chk_registered 1 Starting PTP watchdog Starting PTP daemon op_mode: 15 1 101:101 0 = 480 150 0; 0 p:6=7 1 = 480 150 0; 0 2 = 720 870 0; 0 3 = 1720 1870 0; 0 4 = 1720 1870 0; 0 6 = 1720 1870 0; 0 mode: 79 fc; e000 Starting PHC daemon Starting MRP daemon

Welcome to OM4-AVB om4avb login: mrp_open_port 2=1 proc_mrp_rx_domain 2=6 3 2 mrp_open_port 0=1 mrp_open_port 1=1 proc_mrp_rx_talker p:1 1 00:22:97:80:0d:ea:00:00 91:e0:f0:00:5f:20 002 3:1 f:800 i:1 l:150000 c:0 srp_create_stream cef2f740 bw: 53,952,000 srp_create_reserv ceeaff00 mrp_alloc_node cef2fd80 28 mrp_alloc_node cef2f7c0 mrp_cfg_dest_addr 1=91:e0:f0:00:5f:20 005f 2 new_code rx: 0030 0 8 srp_create_reserv cef32700 mrp_create_report cef2f800 srp_create_reserv cef32a00 mrp_create_report cef2f540 srp_create_reserv cef32680 mrp_create_report cef2f780 proc_mrp_get_tx 5 0 proc_mrp_get_tx cef2f800 proc_mrp_get_tx 0 1 proc_mrp_get_tx cef2f540 proc_mrp_get_tx 2 3 proc_mrp_get_tx cef2f780 proc_mrp_rx_talker p:1 1 00:22:97:80:0d:ea:00:00 91:e0:f0:00:5f:20 002 3:1 f:800 i:1 l:150000 c:0 new_code rx: 0030 0 8 mrp_create_report cef2f780 mrp_create_report cef2f540 mrp_create_report cef2f800 proc_mrp_get_tx 5 0 proc_mrp_get_tx cef2f780 proc_mrp_get_tx 0 1 proc_mrp_get_tx cef2f540 proc_mrp_get_tx 2 3 proc_mrp_get_tx cef2f800 as: 1=1 as: 2=1 avb: 2=1:0 0 remap: 2=0-1 1:0 proc_mrp_rx_domain 1=6 3 2 avb: 1=1:0 0 remap: 1=0-1 1:0 c: 1=8 0 new_code tx: 0=0030 0 8 new_code tx: 2=0100 0 3 co: 8 3 mrp_create_report cef2f540 co: 8 0 mrp_create_report cef2f780 proc_mrp_get_tx 2 3 proc_mrp_get_tx cef2f540 proc_mrp_get_tx 5 0 proc_mrp_get_tx cef2f780

Welcome to OM4-AVB om4avb login: root Password:

echo 'Enable Audio'

Enable Audio

proc_mrp_rx_listener p:2 1 00:22:97:80:0d:ea:00:00 s:2

srp_create_reserv ceeafa00 T:3 L:2 D:1 add pas mrp_alloc_node cef2fb80 24 mrp_alloc_node cef2ffc0 srp_create_reserv cf7c4700 l dec: 1=1 mrp_create_report ceddf1c0 proc_mrp_get_tx 1 2 proc_mrp_get_tx ceddf1c0 proc_mrp_rx_vlan 2=1:2 mrp_alloc_node cef2fcc0 20 mrp_alloc_node cef2fb40 mrp_cfg_vlan 1=2 2 0004 1=002.002 r:0004 t:0000 mrp_create_report cef2f9c0 mrp_create_report cef2fc80 mrp_create_report cef2fd40 proc_mrp_get_tx 5 0 proc_mrp_get_tx cef2f9c0 proc_mrp_get_tx 0 1 proc_mrp_get_tx cef2fc80 proc_mrp_get_tx 1 2 proc_mrp_get_tx cef2fd40 proc_mrp_rx_vlan 1=1:2 mrp_cfg_vlan 1=2 2 0006 1=002.002 r:0006 t:0023 mrp_create_report cef2fc00 mrp_create_report cef2fc40 mrp_create_report cef2f980 proc_mrp_get_tx 5 0 proc_mrp_get_tx cef2fc00 proc_mrp_get_tx 0 1 proc_mrp_get_tx cef2fc40 proc_mrp_get_tx 2 3 proc_mrp_get_tx cef2f980 proc_mrp_rx_talker p:1 1 00:22:97:80:0d:ea:00:00 91:e0:f0:00:5f:20 002 3:1 f:800 i:1 l:150000 c:0 mrp_create_report cef2f980 new_code tx: 0=0030 0 8 mrp_create_report cef2fc40 new_code tx: 2=0100 0 3 mrp_create_report cef2fc00 have listen: 2=ceeafa00 T:3 L:1 D:1 no lis: 1 proc_mrp_rx_listener p:2 1 00:22:97:80:0d:ea:00:00 s:2 T:3 L:1 D:1 no lis: 1 proc_mrp_get_tx 5 0 proc_mrp_get_tx cef2f980 proc_mrp_get_tx 0 1 proc_mrp_get_tx cef2fc40 proc_mrp_get_tx 2 3 proc_mrp_get_tx cef2fc00 proc_mrp_rx_vlan 2=1:2 1=002.002 r:0006 t:0027 mrp_create_report cef2fc00 mrp_create_report cef2fc40 mrp_create_report cef2f980 proc_mrp_get_tx 5 0 proc_mrp_get_tx cef2fc00 proc_mrp_get_tx 0 1 proc_mrp_get_tx cef2fc40 proc_mrp_get_tx 1 2 proc_mrp_get_tx cef2f980 proc_mrp_rx_vlan 1=1:2 1=002.002 r:0006 t:0027 mrp_create_report cef2f980 mrp_create_report cef2fc40 mrp_create_report cef2fc00 proc_mrp_get_tx 5 0 proc_mrp_get_tx cef2f980 proc_mrp_get_tx 0 1 proc_mrp_get_tx cef2fc40 proc_mrp_get_tx 2 3 proc_mrp_get_tx cef2fc00 proc_mrp_rx_talker p:1 1 00:22:97:80:0d:ea:00:00 91:e0:f0:00:5f:20 002 3:1 f:800 i:1 l:150000 c:0 mrp_create_report cef2fc00 new_code tx: 0=0030 0 8 mrp_create_report cef2fc40 new_code tx: 2=0100 0 3 mrp_create_re have listen: 2=ceeafa00 T:3 L:1 D:1 no lis: 1

danglin44 commented 3 years ago

This is problem: bw: 53,952,000

The settings in mrp_init() limit class A bandwidth to 50%.

        tc = mrp->queue[SR_CLASS_A];
    info->bandwidth[tc].deltaBandwidth = 50;

if 0

    info->bandwidth[tc].deltaBandwidth = 75;

endif

    info->bandwidth[tc].adminIdleSlope = 75 << CREDIT_PERCENTAGE_S;
    info->bandwidth[tc].operIdleSlope =
        info->bandwidth[tc].adminIdleSlope;
    info->deltaBandwidth = info->bandwidth[tc].deltaBandwidth;

    tc = mrp->queue[SR_CLASS_B];
    info->bandwidth[tc].deltaBandwidth = 25;

if 0

    info->bandwidth[tc].deltaBandwidth = 0;

endif

Settings for class B seem odd.

I also noticed that the maximum latency for class A is set to 50ms. I believe it should be 2ms.

info->latency[index].portTcMaxLatency = 1000; if (tc == SR_CLASS_A) info->latency[index].portTcMaxLatency = 50000; if (tc == SR_CLASS_B) info->latency[index].portTcMaxLatency = 50000;