Date: Fri, 19 Jun 2020 19:42:22 +0200 From: Emmanuel Vadot <manu@bidouilliste.com> To: =?ISO-8859-1?Q?S=F8ren?= Schmidt <soren.schmidt@gmail.com> Cc: charlesr@scd-systems.net, freebsd-arm@freebsd.org Subject: Re: Rock64 dwc interface issues Message-ID: <20200619194222.73bc7dd705f6d80e63757796@bidouilliste.com> In-Reply-To: <7B4746AD-A8B7-43F0-B5EC-F3812A91F344@gmail.com> References: <877d6e2d-6cd8-30f3-08c3-60a2bacb5873@scd-systems.net> <7B4746AD-A8B7-43F0-B5EC-F3812A91F344@gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Hello S=F8ren, Charles, On Fri, 19 Jun 2020 15:48:36 +0200 S=F8ren Schmidt <soren.schmidt@gmail.com> wrote: > You might not be alone :) I got my shiny new rockpro64 (yeah a little dif= ferent) and it probes the dwc device just fine (todays -current) >=20 > dwc0: <Rockchip Gigabit Ethernet Controller> mem 0xfe300000-0xfe30ffff ir= q 9 on ofwbus0 > miibus0: <MII bus> on dwc0 > rgephy0: <RTL8169S/8110S/8211 1000BASE-T media interface> PHY 0 on miibus0 > rgephy0: OUI 0x00e04c, model 0x0011, rev. 6 > rgephy0: none, 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT= -FDX, 1000baseT-FDX-master, auto > rgephy1: <RTL8169S/8110S/8211 1000BASE-T media interface> PHY 1 on miibus0 > rgephy1: OUI 0x00e04c, model 0x0011, rev. 6 > rgephy1: none, 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT= -FDX, 1000baseT-FDX-master, auto > dwc0: bpf attached > dwc0: Ethernet address: X:X:X:X:X:X >=20 > It does not work however, no error msgs or anything, but no traffic enter= or leaves at all. >=20 > I had a similar issue with the dwc compat chip on the Allwinner R40 (Bana= napi M2 Berry) and got that working, so I?ll se if similar hacks works here? >=20 > -S=F8ren >=20 > > On 22 May 2020, at 11.12, Charles <charlesr@scd-systems.net> wrote: > >=20 > > Hi, > >=20 > >=20 > > I am currently trying to setup my Rock64 V2.0 SoC with FreeBSD (Image: = http://ftp.freebsd.org/pub/FreeBSD/snapshots/arm64/aarch64/ISO-IMAGES/13.0/= FreeBSD-13.0-CURRENT-arm64-aarch64-ROCK64-20200514-r361019.img.xz) > >=20 > > The spi from the rock64 board is not flashed and the sd-card is booting= successful FreeBSD. > >=20 > > But the dwc0 network interface makes trouble. > >=20 > > At first I tried to reach the soc by ssh without success, the connectio= n ends into a timeout. Next i tried to reach the board by icmp requests fro= m other machines and i only got approx. every 3-4 packets answered back fro= m the rock. > > The arp table from the rock64 machine is fine, same on the other side. > >=20 > > icmp outout: > >=20 > > # ping 192.168.178.79 > > PING 192.168.178.79 (192.168.178.79): 56 data bytes > > 64 bytes from 192.168.178.79: icmp_seq=3D3 ttl=3D64 time=3D0.422 ms > > 64 bytes from 192.168.178.79: icmp_seq=3D7 ttl=3D64 time=3D0.295 ms > > 64 bytes from 192.168.178.79: icmp_seq=3D8 ttl=3D64 time=3D0.284 ms > > 64 bytes from 192.168.178.79: icmp_seq=3D11 ttl=3D64 time=3D0.289 ms > > 64 bytes from 192.168.178.79: icmp_seq=3D12 ttl=3D64 time=3D0.282 ms > >=20 > > tcpdump dump from the rock: > >=20 > > # tcpdump -i dwc0 -n icmp > > tcpdump: verbose output suppressed, use -v or -vv for full protocol dec= ode > > listening on dwc0, link-type EN10MB (Ethernet), capture size 262144 byt= es > > 01:24:30.275479 IP 192.168.178.21 > 192.168.178.79: ICMP echo request, = id 20996, seq 0, length 64 > > 01:24:31.286399 IP truncated-ip - 16384 bytes missing! 192.168.178.21 >= 192.168.242.79: ICMP echo request, id 20996, seq 4097, length 16448 > > 01:24:33.400434 IP 192.168.178.21 > 192.168.178.79: ICMP echo request, = id 20996, seq 3, length 64 > > 01:24:33.400533 IP 192.168.178.79 > 192.168.178.21: ICMP echo reply, id= 20996, seq 3, length 64 > > 01:24:34.460477 IP truncated-ip - 16384 bytes missing! 192.168.242.21 >= 192.168.178.79: ICMP echo request, id 20996, seq 4, length 16448 > > 01:24:35.512486 IP 192.168.178.21 > 192.168.186.79: ICMP echo request, = id 20996, seq 5, length 64 > > 01:24:36.572512 IP truncated-ip - 16384 bytes missing! 192.168.178.21 >= 192.168.178.79: ICMP echo request, id 20996, seq 6, length 16448 > > 01:24:37.632534 IP 192.168.178.21 > 192.168.178.79: ICMP echo request, = id 20996, seq 7, length 64 > > 01:24:37.632631 IP 192.168.178.79 > 192.168.178.21: ICMP echo reply, id= 20996, seq 7, length 64 > > 01:24:38.688549 IP 192.168.178.21 > 192.168.178.79: ICMP echo request, = id 20996, seq 8, length 64 > > 01:24:38.688640 IP 192.168.178.79 > 192.168.178.21: ICMP echo reply, id= 20996, seq 8, length 64 > > 01:24:39.709363 IP 192.168.178.21 > 192.168.178.79: ICMP echo request, = id 20996, seq 9, length 64 > > 01:24:40.711011 IP truncated-ip - 16384 bytes missing! 192.168.178.21 >= 192.168.178.79: ICMP echo request, id 20996, seq 10, length 16448 > > 01:24:41.712351 IP 192.168.178.21 > 192.168.178.79: ICMP echo request, = id 20996, seq 11, length 64 > > 01:24:41.712449 IP 192.168.178.79 > 192.168.178.21: ICMP echo reply, id= 20996, seq 11, length 64 > > 01:24:42.775589 IP 192.168.178.21 > 192.168.178.79: ICMP echo request, = id 20996, seq 12, length 64 > > 01:24:42.775677 IP 192.168.178.79 > 192.168.178.21: ICMP echo reply, id= 20996, seq 12, length 64 > >=20 > >=20 > > Output ifconfig: > >=20 > > dwc0: flags=3D8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu= 1500 > > options=3D80008<VLAN_MTU,LINKSTATE> > > ether 3a:6f:36:64:e6:9c > > inet 192.168.178.79 netmask 0xffffff00 broadcast 192.168.178.255 > > media: Ethernet autoselect (1000baseT <full-duplex>) > > status: active > > nd6 options=3D29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL> > >=20 > > dmesg: > >=20 > > ---<<BOOT>>--- > > KDB: debugger backends: ddb > > KDB: current backend: ddb > > Copyright (c) 1992-2020 The FreeBSD Project. > > Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994 > > The Regents of the University of California. All rights reserved. > > FreeBSD is a registered trademark of The FreeBSD Foundation. > > FreeBSD 13.0-CURRENT #0 r361019: Thu May 14 09:26:15 UTC 2020 > > root@releng1.nyi.freebsd.org:/usr/obj/usr/src/arm64.aarch64/sys/GENERIC= arm64 > > FreeBSD clang version 10.0.0 (git@github.com:llvm/llvm-project.git llvm= org-10.0.0-0-gd32170dbd5b) > > WARNING: WITNESS option enabled, expect reduced performance. > > VT: init without driver. > > module firmware already present! > > KLD file umodem.ko is missing dependencies > > Starting CPU 1 (1) > > Starting CPU 2 (2) > > Starting CPU 3 (3) > > FreeBSD/SMP: Multiprocessor System Detected: 4 CPUs > > random: unblocking device. > > random: entropy device external interface > > MAP fbf1b000 mode 2 pages 1 > > MAP fbf24000 mode 2 pages 1 > > MAP fbf27000 mode 2 pages 1 > > MAP fef30000 mode 2 pages 16 > > WARNING: Device "kbd" is Giant locked and may bware Device Tree> > > simplebus0: <Flattened device tree simple bus> on ofwbus0 > > clk_fixed0: <Fixed clock> on ofwbus0 > > rk_grf0: <RockChip General Register Files> mem 0xff100000-0xff100fff on= ofwbus0 > > rk3328_cru0: <Rockchip RK3328 Clock and Reset Unit> mem 0xff440000-0xff= 440fff on ofwbus0 > > rk3328_cru0: cannot get parent at idx 6 > > Cannot set frequency for clk: aclk_bus_pre, error: 34 > > rk3328_cru0: Failed to set aclk_bus_pre to a frequency of 15000000 > > Cannot set frequency for clk: aclk_peri_pre, error: 34 > > rk3328_cru0: Failed to set aclk_peri_pre to a frequency of 15000000 > > clk_fixed1: <Fixed clock> on ofwbus0 > > regfix0: <Fixed Regulator> on ofwbus0 > > regfix1: <Fixed Regulator> on ofwbus0 > > regfix2: <Fixed Regulator> on ofwbus0 > > regfix3: <Fixed Regulator> on ofwbus0 > > simple_mfd0: <Simple MFD (Multi-Functions Device)> mem 0xff450000-0xff4= 5ffff on ofwbus0 > > psci0: <ARM Power State Co-ordination Interface Driver> on ofwbus0 > > gic0: <ARM Generic Interrupt Controller> mem 0xff811000-0xff811fff,0xff= 812000-0xff813fff,0xff8140s 160 > > rk_pinctrl0: <RockChip Pinctrl controller> on ofwbus0 > > gpio0: <RockChip GPIO Bank controller> mem 0xff210000-0xff2100ff irq 52= on rk_pinctrl0 > > gpiobus0: <OFW GPIO bus> on gpio0 > > gpio1: <RockChip GPIO Bank controller> mem 0xff220000-0xff2200ff irq 53= on rk_pinctrl0 > > gpiobus1: <OFW GPIO bus> on gpio1 > > gpio2: <RockChip GPIO Bank controller> mem 0xff230000-0xff2300ff irq 54= on rk_pinctrl0 > > gpiobus2: <OFW GPIO bus> on gpio2 > > gpio3: <RockChip GPIO Bank controller> mem 0xff240000-0xff2400ff irq 55= on rk_pinctrl0 > > gpiobus3: <OFW GPIO bus> on gpio3 > > rk_i2c0: <RockChip I2C> mem 0xff160000-0xff160fff irq 16 on ofwbus0 > > iicbus0: <OFW I2C bus> on rk_i2c0 > > rk805_pmu0: <RockChip RK805 PMIC> at addr 0x30 irq 56 on iicbus0 > > generic_timer0: <ARMv8 Generic Timer> irq 4,5,6,7 on ofwbus0 > > Timecounter "ARM MPCore Timecounter" frequency 24000000 Hz quality 1000 > > Event timer "ARM MPCore Eventtimer" frequency 24000000 Hz quality 1000 > > rk_tsadc0: <RockChip temperature sensors> mem 0xff250000-0xff2500ff irq= 22 on ofwbus0 > > cpuliseq_dt1: <Generic cpufreq driver> on cpu1 > > cpu2: <Open Firmware CPU> on cpulist0 > > cpufreq_dt2: <Generic cpufreq driver> on cpu2 > > cpu3: <Open Firmware CPU> on cpulist0 > > cpufreq_dt3: <Generic cpufreq driver> on cpu3 > > uart0: <16750 or compatible> mem 0xff130000-0xff1300ff irq 14 on ofwbus0 > > uart0: console (-1,n,8,1) > > iic0: <I2C generic I/O> on iicbus0 > > rockchip_dwmmc0: <Synopsys DesignWare Mobile Storage Host Controller (R= ockChip)> mem 0xff500000-0xff503fff irq 41 on ofwbus0 > > rockchip_dwmmc0: Hardware version ID is 270a > > mmc0: <MMC/SD bus> on rockchip_dwmmc0 > > rockchip_dwmmc1: <Synopsys DesignWare Mobile Storage Host Controller (R= ockChip)> mem 0xff520000-0xff523fff irq 43 on ofwbus0 > > rockchip_dwmmc1: Hardware version ID is 270a > > mmc1: <MMC/SD bus> on rockchip_dwmmc1 > > dwc0: <Rockchip Gigabit Ethernet Controller> mem 0xff540000-0xff54ffff = irq 44 on ofwbus0 > > miibus0: <MII bus> on dwc0 > > rgephy0: <RTL8169S/8110S/8211 1000BASE-T media interface> PHY 0 on miib= us0 > > rgephy0: none, 10baseT, 10baseT-FDX, 100baseTX, 100baseT0baseTX-FDX, 1= 000baseT-FDX, 1000baseT-FDX-master, auto > > dwc0: Ethernet address: 3a:6f:36:64:e6:9c > > dwcotg0: <DWC OTG 2.0 integrated USB controller> mem 0xff580000-0xff5bf= fff irq 46 on ofwbus0 > > usbus0 on dwcotg0 > > ehci0: <Generic EHCI Controller> mem 0xff5c0000-0xff5cffff irq 47 on of= wbus0 > > usbus1: EHCI version 1.0 > > usbus1 on ehci0 > > ohci0: <Generic OHCI Controller> mem 0xff5d0000-0xff5dffff irq 48 on of= wbus0 > > usbus2 on ohci0 > > gpioc0: <GPIO controller> on gpio0 > > gpioc1: <GPIO controller> on gpio1 > > gpioc2: <GPIO controller> on gpio2 > > gpioc3: <GPIO controller> on gpio3 > > gpioled0: <GPIO LEDs> on ofwbus0 > > gpioled0: <power> failed to map pin > > gpioled0: <standby> failed to map pin > > cryptosoft0: <software crypto> > > Timecounters tick every 1.000 msec > > usbus0: 480Mbps High Speed USB v2.0 > > usbus1: 480Mbps High Speed USB v2.0 > > usbus2: 12Mbps Full Speed USB v1.0 > > Obsolete code will be removed soon: random(9) is the obsolete Park-Mill= er LCG from 1988 > > ugen1.1: <Generic EHCI root HUB> at usbus1 > > uhub0 on usbus1 > > uhub0: <Generiaddr 1> on usbus0 > > ugen2.1: <Generic OHCI root HUB> at usbus2 > > uhub2 on usbus2 > > uhub2: <Generic OHCI root HUB, class 9/0, rev 1.00/1.00, addr 1> on usb= us2 > > mmcsd0: 32GB <SDHC SL32G 8.0 SN 0C4A1E4B MFG 08/2016 by 3 SD> at mmc0 5= 0.0MHz/4bit/2048-block > > mmc1: No compatible cards found on bus > > Release APs...done > > CPU 0: ARM Cortex-A53 r0p4 affinity: 0 > > Cache Type =3D <64 byte D-cacheline,64 byte I-cacheli= ne,VIPT ICache,64 byte ERG,64 byte CWG> > > Instruction Set Attributes 0 =3D <CRC32,SHA2,SHA1,AES+PMULL> > > Instruction Set Attributes 1 =3D <> > > Processor Features 0 =3D <AdvSIMD,FP,EL3 32,EL2 32,EL1 32,EL0 3= 2> > > Processor Features 1 =3D <> > > Memory Model Features 0 =3D <TGran4,TGran64,SNSMem,BigEnd,16bit AS= ID,1TB PA> > > Memory Model Features 1 =3D <8bit VMID> > > Memory Model Features 2 =3D <32bit CCIDX,48bit VA> > > Trying to mount root from ufs:/dev/ufs/rootfs [rw]... > > Debug Features 0 =3D <2 CTX BKPTs,4 Watchpoints,6 Breakpoin= ts,PMUv3,Debugv8> > > Debug FeatureCortex-A53 r0p4 affinity: 3 > > WARNING: WITNESS option enabled, expect reduced performance. > > Warning: no time-of-day clock registered, system time will not be set a= ccurately > > uhub2: 1 port with 1 removable, self powered > > uhub1: 1 port with 1 removable, self powered > > uhub0: 1 port with 1 removable, self powered > > lo0: link state changed to UP > > dwc0: link state changed to DOWN > > dwc0: link state changed to UP > >=20 > >=20 > > Does anyone know this issue ? > >=20 > >=20 > > Best, > >=20 > > Charles > > _______________________________________________ > > freebsd-arm@freebsd.org mailing list > > https://lists.freebsd.org/mailman/listinfo/freebsd-arm > > To unsubscribe, send any mail to "freebsd-arm-unsubscribe@freebsd.org" I've just took the last image for rock64 and rockpro64 to test on my boards (I usually netboot but testing the image give a common reference between everyone). As a reference the image I've burned on the sd are : FreeBSD-13.0-CURRENT-arm64-aarch64-ROCK64-20200618-r362292.img.xz FreeBSD-13.0-CURRENT-arm64-aarch64-ROCKPRO64-20200618-r362292.img.xz On Rock64 v2.0 (2017-0713) I see no issues, I got an IP from my dhcp server and could install packages properly. Using iperf3 I have ~275Mbits/sec which isn't great but we're aware of the bad perf of the dwc(4) driver. On RockPro64 v2.1 I also see no issues, iperf3 give the same speed result for tx but rx is worse (~100Mbits/sec). S=F8ren, what are your hack for R40 (which do not have support for in term of clock so I'm not surprise that you need "something" for it).=20 Charles, could you test the same image as me and see if that makes a difference (but I doubt since not much changed recently that could affect that). Cheers, --=20 Emmanuel Vadot <manu@bidouilliste.com> <manu@freebsd.org>
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20200619194222.73bc7dd705f6d80e63757796>