Hi Kevin,

Sorry for the lag, I just got back to this.  (frankly, I'm not
motiviated to work on this board as I'm finding it to be one of the
most PITA boards to deal with, and that's saying something since I
have 50+ other boards in my farm right now)

No problem. I must admit trying to replicate this issue reminded me how much of a pain it is
to flash l-loader.bin and have fastboot come up properly.

I'm not sure if I'm the only person suffering from this (your comment would suggest
not) but with exactly the same software it seems quite random whether my laptop
can enumerate the USB fastboot device or not.

Sometimes if I'm lucky I can get 2 or 3 good runs in a row and make some
progress, other times I have to load l-loader 6/7/8 times before I manage to
get fastboot and flash the board.

I've tried many things seemingly to no effect. Rebooting my laptop, using a USB hub,
power cycling the board every time, only plugging in the usb cable after sending l-loader
over the UART (and the opposite). Nothing as far as I can tell has made much difference
to the stability. If anyone has any tips for improving this please send them my way :-)

Some of these attempts are also using the latest l-loader.bin from 26th May from here
https://builds.96boards.org/snapshots/hikey/uefi/26. So it doesn't seem any more
reliable with the latest builds.

Anyways...

>> Thanks, I'd appreciate the right combination of known good images
>> (including other firmware images too)
>
>
> I flashed the images under my home directory, and it works OK on my board. I
> wonder if it is
> a difference in the l-loader.bin which I didn't provide on the website. Can
> you send
> me the one you used when flashing your board?

Attached (gzip'd)

Thanks
 

> I will try and flash the images using your l-loader.bin, and see if I can
> replicate the issue.

OK, so to confirm I also suffer the same USB timeouts when using the l-loader.bin which
you sent. I should have put the l-loader.bin I was using on my website originally. It does
highlight a bug that I'm obviously not setting up something properly for there to be this
dependency between ATF and u-boot.


Likewise, if you send me a known working l-loader.bin, I can try that too.

I've uploaded the l-loader.bin I was using to my website now. See here
http://people.linaro.org/~peter.griffin/hikey/hikey-u-boot-release_r1/

FWIW, the attached one I built when following the UEFI wiki page for
hikey[1].  The one I built following your instructions starts up, but
never enters fastboot mode, but does spit some numbers out the UART
every second or so.

Yes OK so apologies on that one, I also had two patches applied on top of the ATF
SHA mentioned in the readme to get my l-loader.bin compiled from source working. One
of those patches added barriers in the mmio routines and the other added the packed attribute
to some USB structure, that got around the 1hz numbers bug. I believe both of those
changes are merged in upstream ATF now.

Anyway I thought I should try u-boot with the latest ATF code and check it still works. However
compiling the latest ATF / l-loader code from source I don't get something that boots :-( so
there seems to be new issues there (probably pilot error as the pre-built binaries
work OK for me). I've not debugged that any further.

By taking the latest pre-compiled l-loader.bin from here https://builds.96boards.org/snapshots/hikey/uefi/26
and using the latest u-boot (v1 patches sent to u-boot ML). I've had to make some small
changes, as the latest ATF now secures the top 16Mb of RAM for trustzone which u-boot was
using. Also the bl33 executable now gets linked at 0x35000000 rather than 0x37000000, and I'm
back to having a working u-boot again :-)

I've added a new directory here with these pre-compiled binaries if you want to try those instead
http://people.linaro.org/~peter.griffin/hikey/hikey-uboot-r2/. The main advantage over the u-boot
you compiled from source is that it now also supports the sd card slot (saving env to sd, and also
has some more commands compiled in by default). serial_trace.txt is a serial dump of it running
on my board.

Hope that helps.

regards,

Peter.