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