Date: Wed, 30 Jan 2013 14:51:30 -0800 From: Oleksandr Tymoshenko <gonzo@bluezbox.com> To: hiren panchasara <hiren.panchasara@gmail.com> Cc: Tim Kientzle <tim@kientzle.com>, freebsd-arm@freebsd.org Subject: Re: Raspberry Pi No Login Message-ID: <5109A3F2.7010508@bluezbox.com> In-Reply-To: <CALCpEUFNCojMLx2_90iKDyCoezdt3TgFYQ-EXafNhVCevN9OsQ@mail.gmail.com> References: <09931DEF-C90A-4E72-B5EE-02BB0C6A8588@kobudo.homeunix.net> <F9B0FF68-05F7-40FA-9150-CD0D602ADF9B@kientzle.com> <CALCpEUFNCojMLx2_90iKDyCoezdt3TgFYQ-EXafNhVCevN9OsQ@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On 1/30/2013 2:25 PM, hiren panchasara wrote: > On Wed, Jan 30, 2013 at 9:15 AM, Tim Kientzle <tim@kientzle.com> wrote: >> On Jan 30, 2013, at 7:42 AM, Neal Nelson wrote: >> >>> HI. >>> >>> I'm able to build a bootable FreeBSD image using the beaglebone scripts, which I understand is the accepted way at the moment. >>> >>> The problem I have is that everything seems to be going nicely, but I never get a login prompt. The last thing I see, after the ssh key generation stuff, is a line showing the date, then nothing. This is true using Current as of today (2012-01-30). >>> >>> I've had this problem for some time now as every image I build using this process has the same problem. If anyone has an idea as to what I'm doing wrong, I'd be very grateful. >> Look at the kernel boot messages for the SD card >> check. >> >> Is it probing at 25MHz or 50MHz? >> >> I haven't tried RPi in a little while, but last time I did >> there was an erratic bug which caused the SD card >> to sometimes get probed at 50MHz and be non-functional. >> >> I believe some people worked around this by trying >> different cards or maybe it's been fixed in the >> SD driver by now? > Not sure if its fixed in the driver now but I got around the frequency > problem by the patch available at: > http://www.peach.ne.jp/archives/rpi/patch/ > > Basically its setting freq to 25MHz instead of default 50MHz in > bcm2835_sdhci.c The patch works around the issue although it does address several issues with FreeBSD's generic mmc driver. Namely: driver does not check for return value for functions that read card's CSD, SCR or the result of switch command. CSD and SCR register contain card-specific information drivers uses to tune its operations. So when register read command silently fails driver uses partially valid data and hence its behavior might or might not manifest problems. Now the interesting part is why these commands fail. SDHCI controller returns Data CRC errors when executing them. It happens fairly early in initialization sequence so at that point card operates at 400KHz and should not have problem like this. Linux developers assume that the problem i "lazy" CRC module and their fix is to retry these operation several times until they succeed. Daisuke's patch uses same approach. I am reluctant to commit special quirk handler for one controller, moreover I believe that it just masks symptoms and does not address root cause. Unfortunately I do not have access to Arasan's hardware specs or errata so can't confirm my assumptions. I'll try to spend some time identifying the actual source of the problem and if it yields nothing - we'll try to come up with least intrusive workaround.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?5109A3F2.7010508>