Skip site navigation (1)Skip section navigation (2)
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>