ARM support for RK339 Firefly ?

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

ARM support for RK339 Firefly ?

sylvain.saboua
Hello.

I have been acquiring a Firefly RK-3399 ARM card,
with the intention of using it as a support platform
for diverse projects.

Unfortunately my attempts at running OpenBSD on it
have not been as fruitful as expected.
(confer my post on the French OpenBSD community forums)
https://obsd4a.net/forum/showthread.php?tid=2408&pid=19053

May I know, where is the support at for this platform ?

Sylvain

Reply | Threaded
Open this post in threaded view
|

Re: ARM support for RK339 Firefly ?

Mark Kettenis
> Date: Fri, 11 Oct 2019 19:33:25 +0200 (CEST)
> From: [hidden email]
>
> Hello.
>
> I have been acquiring a Firefly RK-3399 ARM card,
> with the intention of using it as a support platform
> for diverse projects.
>
> Unfortunately my attempts at running OpenBSD on it
> have not been as fruitful as expected.
> (confer my post on the French OpenBSD community forums)
> https://obsd4a.net/forum/showthread.php?tid=2408&pid=19053
>
> May I know, where is the support at for this platform ?

The platform works really well (I have one). There is no graphics
support though, so you'll have to use a serial console.  The standard
serial speed is 1500000 baud (which isn't always supported by usb
serial converters) but the U-Boot firmware in ports has been patched
to support a more standard 115200.

The main problem is that board comes with firmware already installed
on eMMC and the board boots from eMMC first.  I worked around that by
zapping the contents of the eMMC from Linux (risky).  Then the board
will boot from uSD.  It is also possible to flash the eMMC over one of
the USB ports, but you'd need a machine with Linux and/or Windows to
do that.

Cheers,

Mark

Reply | Threaded
Open this post in threaded view
|

Re: ARM support for RK339 Firefly ?

sylvain.saboua
Le 11 octobre 2019 20:24:20 GMT+02:00, Mark Kettenis <[hidden email]> a écrit :

>> Date: Fri, 11 Oct 2019 19:33:25 +0200 (CEST)
>> From: [hidden email]
>>
>> Hello.
>>
>> I have been acquiring a Firefly RK-3399 ARM card,
>> with the intention of using it as a support platform
>> for diverse projects.
>>
>> Unfortunately my attempts at running OpenBSD on it
>> have not been as fruitful as expected.
>> (confer my post on the French OpenBSD community forums)
>> https://obsd4a.net/forum/showthread.php?tid=2408&pid=19053
>>
>> May I know, where is the support at for this platform ?
>
>The platform works really well (I have one). There is no graphics
>support though, so you'll have to use a serial console.  The standard
>serial speed is 1500000 baud (which isn't always supported by usb
>serial converters) but the U-Boot firmware in ports has been patched
>to support a more standard 115200.
>
>The main problem is that board comes with firmware already installed
>on eMMC and the board boots from eMMC first.  I worked around that by
>zapping the contents of the eMMC from Linux (risky).  Then the board
>will boot from uSD.  It is also possible to flash the eMMC over one of
>the USB ports, but you'd need a machine with Linux and/or Windows to
>do that.
>
>Cheers,
>
>Mark

Indeed, I cannot get the console to display anything. Does this mean that the usb-ttl adapter that is provided with my order is even unfit, and I have to purchase another one?

And, yes again, the only solution is to flash the eMMC. Really? That sounds unfortunate, as I prefer to keep things in factory settings, as an option. I guess eventually there might be a workaround with working on the boot manager?

I have the second version of the card/firmware at present, which is the second one released in 2018 I think. It seems to not be fully open source although this was promoted...

Sylvain sur K9 mail Android

Reply | Threaded
Open this post in threaded view
|

Re: ARM support for RK339 Firefly ?

Mark Kettenis
> Date: Sat, 12 Oct 2019 08:55:50 +0200
> From: Sylvain <[hidden email]>
>
> Le 11 octobre 2019 20:24:20 GMT+02:00, Mark Kettenis <[hidden email]> a écrit :
> >> Date: Fri, 11 Oct 2019 19:33:25 +0200 (CEST)
> >> From: [hidden email]
> >>
> >> Hello.
> >>
> >> I have been acquiring a Firefly RK-3399 ARM card,
> >> with the intention of using it as a support platform
> >> for diverse projects.
> >>
> >> Unfortunately my attempts at running OpenBSD on it
> >> have not been as fruitful as expected.
> >> (confer my post on the French OpenBSD community forums)
> >> https://obsd4a.net/forum/showthread.php?tid=2408&pid=19053
> >>
> >> May I know, where is the support at for this platform ?
> >
> >The platform works really well (I have one). There is no graphics
> >support though, so you'll have to use a serial console.  The standard
> >serial speed is 1500000 baud (which isn't always supported by usb
> >serial converters) but the U-Boot firmware in ports has been patched
> >to support a more standard 115200.
> >
> >The main problem is that board comes with firmware already installed
> >on eMMC and the board boots from eMMC first.  I worked around that by
> >zapping the contents of the eMMC from Linux (risky).  Then the board
> >will boot from uSD.  It is also possible to flash the eMMC over one of
> >the USB ports, but you'd need a machine with Linux and/or Windows to
> >do that.
> >
> >Cheers,
> >
> >Mark
>
> Indeed, I cannot get the console to display anything. Does this mean
> that the usb-ttl adapter that is provided with my order is even
> unfit, and I have to purchase another one?

The one that I got with my board worked.  If you're using OpenBSD
you'll need to use:

  # cu -l cuaU0 -s 15000000

There may be an issue with driver support for those speeds.  A dmesg
would help in that case.

> And, yes again, the only solution is to flash the eMMC. Really? That
> sounds unfortunate, as I prefer to keep things in factory settings,
> as an option. I guess eventually there might be a workaround with
> working on the boot manager?

Depending on the firmware in eMMC it may be possible to build your own
trust.img and u-boot.img and write them at the appropriate offsets on
your uSD card.  The miniroot66.fs will have anough space at the start
of the image to do that.  This needs some binary-only tools that only
run on Linux or Windows though.  See doc/README.rockchip in the U-Boot
source tree.  The following URL may be helpful to understand how
things work:

  http://opensource.rock-chips.com/wiki_Boot_option

In this setup it would load idbloader.img from eMMC and u-boot.img and
trust.img from uSD.

> I have the second version of the card/firmware at present, which is
> the second one released in 2018 I think. It seems to not be fully
> open source although this was promoted...

If you want fully open source firmware you'll need to wipe eMMC or
replace the firmware on the eMCC.

Cheers,

Mark

Reply | Threaded
Open this post in threaded view
|

Re: ARM support for RK339 Firefly ?

sylvain.saboua
> De: "Mark Kettenis" <[hidden email]>
> Envoyé: Samedi 12 Octobre 2019 22:26:58
> > Date: Sat, 12 Oct 2019 08:55:50 +0200
> > From: Sylvain <[hidden email]>
> >
> > Le 11 octobre 2019 20:24:20 GMT+02:00, Mark Kettenis
> > <[hidden email]> a écrit :
> > >> Date: Fri, 11 Oct 2019 19:33:25 +0200 (CEST)
> > >> From: [hidden email]
> > >>
> > >> Hello.
> > >>
> > >> I have been acquiring a Firefly RK-3399 ARM card,
> > >> with the intention of using it as a support platform
> > >> for diverse projects.
> > >>
> > >> Unfortunately my attempts at running OpenBSD on it
> > >> have not been as fruitful as expected.
> > >> (confer my post on the French OpenBSD community forums)
> > >> https://obsd4a.net/forum/showthread.php?tid=2408&pid=19053
> > >>
> > >> May I know, where is the support at for this platform ?
> > >
> > >The platform works really well (I have one). There is no graphics
> > >support though, so you'll have to use a serial console.  The
> > >standard
> > >serial speed is 1500000 baud (which isn't always supported by usb
> > >serial converters) but the U-Boot firmware in ports has been
> > >patched
> > >to support a more standard 115200.
> > >
> > >The main problem is that board comes with firmware already
> > >installed
> > >on eMMC and the board boots from eMMC first.  I worked around that
> > >by
> > >zapping the contents of the eMMC from Linux (risky).  Then the
> > >board
> > >will boot from uSD.  It is also possible to flash the eMMC over
> > >one of
> > >the USB ports, but you'd need a machine with Linux and/or Windows
> > >to
> > >do that.
> > >
> > >Cheers,
> > >
> > >Mark
> >
> > Indeed, I cannot get the console to display anything. Does this
> > mean
> > that the usb-ttl adapter that is provided with my order is even
> > unfit, and I have to purchase another one?
>
> The one that I got with my board worked.  If you're using OpenBSD
> you'll need to use:
>
>   # cu -l cuaU0 -s 15000000
>
> There may be an issue with driver support for those speeds.  A dmesg
> would help in that case.

Actually I think the USB-to-TTL adaptator which I got with my board
in the delivery might be unfit to this board model.
On the product page (http://shop.t-firefly.com/goods.php?id=45)
a specific Serial Module (http://shop.t-firefly.com/goods.php?id=32)
is recommended which is different from the one I got.
I have mailed [hidden email] about this.

Strangely though, I have never been able to display any keyboard input
or console interaction in the cu panel that opens in the terminal
once the connection has been established. Only today I managed one
time to use the ~R command, but otherwise I have been unlucky.
With either 115200 or 1500000 speed parameter.

Concerning generating/recording a dmesg, I am confused as per how I
am supposed to do that if I cannot use the console properly.
I think I have stumbled upon u-boot documentation explaining how to
record or send a log file, but it is lost upon me right now.
Also there are the logs accessible through the recovery interface
(pressing the recovery button upon boot).

> > And, yes again, the only solution is to flash the eMMC. Really?
> > That
> > sounds unfortunate, as I prefer to keep things in factory settings,
> > as an option. I guess eventually there might be a workaround with
> > working on the boot manager?
>
> Depending on the firmware in eMMC it may be possible to build your
> own
> trust.img and u-boot.img and write them at the appropriate offsets on
> your uSD card.  The miniroot66.fs will have anough space at the start
> of the image to do that.  This needs some binary-only tools that only
> run on Linux or Windows though.  See doc/README.rockchip in the
> U-Boot
> source tree.  The following URL may be helpful to understand how
> things work:
>
>   http://opensource.rock-chips.com/wiki_Boot_option
>
> In this setup it would load idbloader.img from eMMC and u-boot.img
> and
> trust.img from uSD.

Cheers, this link is very helpful indeed.
And this one to get the right offsets which the files need to be written at:
http://opensource.rock-chips.com/wiki_Partitions

So, to keep you updated, in my current state of things :
· Booting with an SD card written with an unmodified miniroot66.fs
does nothing, other than boot the Android eMMC system.
· Booting with a modified SD/miniroot66.fs, with the files provided
by the u-boot port, or the ones I generated myself with the linux
rockchip tools, apparently works to an extent, since then the default
firmware does not boot. Nothing is displayed on the screen.

From what I gather looking at the files on miniroot66.fs,
it seems it is expected to boot on a Raspberry Pi 3 ?
I can update the u-boot.bin and dtb files with the ones provided by the
u-boot and dtb ports, however I suppose other files should be updated as
well ?

> > I have the second version of the card/firmware at present, which is
> > the second one released in 2018 I think. It seems to not be fully
> > open source although this was promoted...
>
> If you want fully open source firmware you'll need to wipe eMMC or
> replace the firmware on the eMCC.
I suppose the source and files used to generate the eMMC content on that
board are all accessible here ? https://github.com/rockchip-linux/
If the card is open-source as advertised on the website, they should be.

Cheers,

Sylvain