Date: Thu, 16 Jul 2015 22:02:43 +0200 From: Michael Tuexen <tuexen@fh-muenster.de> To: Ian Lepore <ian@FreeBSD.org> Cc: Luiz Otavio O Souza <lists.br@gmail.com>, "freebsd-arm@freebsd.org" <freebsd-arm@freebsd.org>, Warner Losh <imp@freebsd.org> Subject: Re: SDHC errors during boot on RPi2 (11.0-CURRENT) Message-ID: <16AF6CE1-675C-49C2-9D98-DB1FB8656E1C@fh-muenster.de> In-Reply-To: <1437072916.1334.364.camel@freebsd.org> References: <55A5A3F4.7040105@foxvalley.net> <D7A88FAC-C4C0-46DB-91F6-9AF51CD142B7@bsdimp.com> <20150716142329.4387b29de5d7fc9a2a9c27ab@strcmp.org> <CAB=2f8yMjZ4U3cNyCVt%2BemJQ7A5vGniuGevq0bQe36tw-RoR_Q@mail.gmail.com> <1437072916.1334.364.camel@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
> On 16 Jul 2015, at 20:55, Ian Lepore <ian@FreeBSD.org> wrote: >=20 > On Thu, 2015-07-16 at 15:17 -0300, Luiz Otavio O Souza wrote: >> On 16 July 2015 at 09:23, Andreas Schwarz wrote: >>> On Wed, 15 Jul 2015 21:17:21 -0600 >>> Warner Losh wrote: >>>=20 >>>>> On Jul 14, 2015, at 6:06 PM, Dan Raymond wrote: >>>>>=20 >>>>> Is anyone else getting these errors during every boot? I'm = running r285346. >>>>=20 >>>> I=E2=80=99ve been running on the RPi2 for some time and have never = seen this. I haven=E2=80=99t >>>> rebuild in the past few weeks though. >>>>=20 >>>> Does this happen on either SD cards? Or other versions of the = kernel? >>>=20 >>> I've the same output (using generic RPI2 kernel conf). >>=20 >> This is a side effect of r283128, if you comment that line that >> re-select the card, CMD7 won't fail. >>=20 >> This also affects the MMC controller on Allwinner SoCs. >=20 > Hmm, so some cards deselect themselves when they shouldn't, and our > workaround that reselects them fails if the card didn't deselect = itself. > Maybe it will work for all cards/controllers if we explicitly deselect > then reselect the card at that point. (This only happens once at > card-insert/boot time, so it shouldn't impact performance.) >=20 > The attached patch adds the explicit deselect; it may or may not help. > (I haven't tested this at all). >=20 > -- Ian >=20 > Index: mmc.c > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > --- mmc.c (revision 285419) > +++ mmc.c (working copy) > @@ -1392,6 +1392,7 @@ mmc_discover_cards(struct mmc_softc *sc) > * out. Others seem to handle it correctly, so = it may > * be a combination of card and controller. > */ > + mmc_select_card(sc, 0); > mmc_select_card(sc, ivar->rca); > mmc_app_sd_status(sc, ivar->rca, = ivar->raw_sd_status); > mmc_app_decode_sd_status(ivar->raw_sd_status, That resolves the issue: > dmesg KDB: debugger backends: ddb KDB: current backend: ddb Copyright (c) 1992-2015 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 11.0-CURRENT #29 r285595M: Thu Jul 16 21:27:50 CEST 2015 tuexen@rpi2:/usr/home/tuexen/head/sys/arm/compile/RPI2 arm FreeBSD clang version 3.6.0 (tags/RELEASE_360/final 230434) 20150225 VT: init without driver. sema_sysinit CPU: Cortex A7 rev 5 (Cortex-A core) Supported features: ARM_ISA THUMB2 JAZELLE THUMBEE ARMv4 Security_Ext WB disabled EABT branch prediction enabled LoUU:2 LoC:3 LoUIS:2=20 Cache level 1:=20 32KB/64B 4-way data cache WB Read-Alloc Write-Alloc 32KB/32B 2-way instruction cache Read-Alloc Cache level 2:=20 512KB/64B 8-way unified cache WB Read-Alloc Write-Alloc real memory =3D 989851648 (943 MB) avail memory =3D 958423040 (914 MB) FreeBSD/SMP: Multiprocessor System Detected: 4 CPUs random: entropy device external interface kbd0 at kbdmux0 ofwbus0: <Open Firmware Device Tree> simplebus0: <Flattened device tree simple bus> mem 0x3f000000-0x3fffffff = on ofwbus0 bcm28360: <Broadcom bcm2836> generic_timer0: <ARMv7 Generic Timer> irq 72,73,75,74 on ofwbus0 Timecounter "ARM MPCore Timecounter" frequency 19200000 Hz quality 1000 Event timer "ARM MPCore Eventtimer" frequency 19200000 Hz quality 1000 intc0: <BCM2835 Interrupt Controller> mem 0xb200-0xb3ff on simplebus0 bcmwd0: <BCM2708/2835 Watchdog> mem 0x10001c-0x100027 on simplebus0 gpio0: <BCM2708/2835 GPIO controller> mem 0x200000-0x2000af irq = 57,59,58,60 on simplebus0 gpio0: read-only pins: 46,48-53. gpio0: reserved pins: 48-53. gpiobus0: <OFW GPIO bus> on gpio0 gpioled0: <GPIO led> at pin(s) 35 on gpiobus0 gpioled1: <GPIO led> at pin(s) 47 on gpiobus0 gpioc0: <GPIO controller> on gpio0 iichb0: <BCM2708/2835 BSC controller> mem 0x205000-0x20501f irq 61 on = simplebus0 iicbus0: <OFW I2C bus> on iichb0 iic0: <I2C generic I/O> on iicbus0 iichb1: <BCM2708/2835 BSC controller> mem 0x804000-0x80401f irq 61 on = simplebus0 iicbus1: <OFW I2C bus> on iichb1 iic1: <I2C generic I/O> on iicbus1 spi0: <BCM2708/2835 SPI controller> mem 0x204000-0x20401f irq 62 on = simplebus0 spibus0: <OFW SPI bus> on spi0 bcm_dma0: <BCM2835 DMA Controller> mem 0x7000-0x7fff,0xe05000-0xe05fff = irq 24,25,26,27,28,29,30,31,32,33,34,35,36 on simplebus0 mbox0: <BCM2835 VideoCore Mailbox> mem 0xb880-0xb8bf irq 1 on simplebus0 sdhci_bcm0: <Broadcom 2708 SDHCI controller> mem 0x300000-0x3000ff irq = 70 on simplebus0 mmc0: <MMC/SD bus> on sdhci_bcm0 uart0: <PrimeCell UART (PL011)> mem 0x201000-0x201fff irq 65 on = simplebus0 uart0: console (115200,n,8,1) vchiq0: <BCM2835 VCHIQ> mem 0xb800-0xb84f irq 2 on simplebus0 vchiq0: [GIANT-LOCKED] vchiq: local ver 6 (min 3), remote ver 6. pcm0: <VCHQI audio> on vchiq0 bcm283x_dwcotg0: <DWC OTG 2.0 integrated USB controller (bcm283x)> mem = 0x980000-0x99ffff irq 17 on simplebus0 usbus0 on bcm283x_dwcotg0 cpulist0: <Open Firmware CPU Group> on ofwbus0 cpu0: <Open Firmware CPU> on cpulist0 bcm2835_cpufreq0: <CPU Frequency Control> on cpu0 cpu1: <Open Firmware CPU> on cpulist0 cpu2: <Open Firmware CPU> on cpulist0 cpu3: <Open Firmware CPU> on cpulist0 fb0: <BCM2835 VT framebuffer driver> on ofwbus0 fbd0 on fb0 VT: initialize with new VT driver "fb". fb0: 656x416(656x416@0,0) 24bpp fb0: fbswap: 1, pitch 1968, base 0x3daac000, screen_size 818688 cryptosoft0: <software crypto> Timecounters tick every 10.000 msec IPsec: Initialized Security Association Processing. usbus0: 480Mbps High Speed USB v2.0 ugen0.1: <DWCOTG> at usbus0 uhub0: <DWCOTG OTG Root HUB, class 9/0, rev 2.00/1.00, addr 1> on usbus0 mmcsd0: 32GB <SDHC SL32G 8.0 SN 03A82991 MFG 12/2014 by 3 SD> at mmc0 = 41.6MHz/4bit/65535-block bcm2835_cpufreq0: ARM 600MHz, Core 250MHz, SDRAM 400MHz, Turbo OFF Release APs Root mount waiting for: usbus0 uhub0: 1 port with 1 removable, self powered ugen0.2: <vendor 0x0424> at usbus0 uhub1: <vendor 0x0424 product 0x9514, class 9/0, rev 2.00/2.00, addr 2> = on usbus0 uhub1: MTT enabled Root mount waiting for: usbus0 uhub1: 5 ports with 4 removable, self powered Root mount waiting for: usbus0 ugen0.3: <vendor 0x0424> at usbus0 smsc0: <vendor 0x0424 product 0xec00, rev 2.00/2.00, addr 3> on usbus0 Trying to mount root from ufs:/dev/mmcsd0s2a [rw,noatime]... warning: no time-of-day clock registered, system time will not be set = accurately smsc0: chip 0xec00, rev. 0002 miibus0: <MII bus> on smsc0 ukphy0: <Generic IEEE 802.3u media interface> PHY 1 on miibus0 ukphy0: none, 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto ue0: <USB Ethernet> on smsc0 ue0: Ethernet address: b8:27:eb:81:ba:40 random: unblocking device. smsc0: chip 0xec00, rev. 0002 ue0: link state changed to DOWN ue0: link state changed to UP >=20 Best regards Michael > _______________________________________________ > freebsd-arm@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-arm > To unsubscribe, send any mail to "freebsd-arm-unsubscribe@freebsd.org"
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?16AF6CE1-675C-49C2-9D98-DB1FB8656E1C>