Firefly Open Source Community

   Login   |   Register   |
New_Topic
Print Previous Topic Next Topic

First impressions of an unwilling board

2

Credits

0

Prestige

0

Contribution

new registration

Rank: 1

Credits
2

First impressions of an unwilling board

Posted at 12/17/2014 19:04:56      View:9962 | Replies:13        Print     [Copy Link] 1#

Hi there,

after paying unexpectly high toll duties, I got my board in hands.

I started the board by pugging in USB OTG... but I guess this is not supported, so I connected 5V via USB3 HUB, that provides 2A per port. Even I ordered a board without Wallplug, I got one that is 100-250V but US... Fortunately I do have some adapters ...

The board does not feature a power LED and the fan didn't start too. So I feard my board is defective... I was interrupted by a call when suddenly a blue LED came up blinking! But then I attached serial console and saw that there was an Android booting that either didn't show a logo or was not satisfied with my HDMI TV screen. After unplugging and reconnecting my TV, Android launcher was shown!


As I want to have linux on running on the board, I downloaded the lubuntu 0930 image from here and flashed it using the linux tool...

Doesn't boot...

#Boot ver: 2014-10-30#2.17
sn:100612000100014A
no fuel gauge found
no fuel gauge found
read logo_on switch from dts [0]
checkKey
vbus = 1
no fuel gauge found
Hit any key to stop autoboot:  0
failed to load fdt from boot!
kernel   @ 0x02000000 (0x005fd670)
ramdisk  @ 0x059fc000 (0x00275b49)
Secure Boot state: 0
bootrk: do_bootm_linux...
Loading Device Tree to 0561c000, end 05636f1c ... OK
Add bank:0000000000000000, 0000000080000000

Starting kernel ...


[    0.000000] Booting Linux on physical CPU 0x500
[    0.000000] Initializing cgroup subsys cpu
[    0.000000] Initializing cgroup subsys cpuacct
[    0.000000] Linux version 3.10.0 (dujw@tchipserver2) (gcc version 4.6.x-google 20120106 (prerelease) (GCC) ) #41 SMP PREEMPT Tue Nov 11 16:35:58 CST 2014
[    0.000000] CPU: ARMv7 Processor [410fc0d1] revision 1 (ARMv7), cr=10c5387d
[    0.00�DDR Version 1.00 20141007
In
Channel a: DDR3 200MHz
Bus Width=32 Col=10 Bank=8 Row=15 CS=1 Die Bus-Width=16 Size=1024MB
Channel b: DDR3 200MHz
Bus Width=32 Col=10 Bank=8 Row=15 CS=1 Die Bus-Width=16 Size=1024MB
Memory OK
Memory OK
OUT

I downloaded the older image ... doesn't boot too...

U-Boot 2014.01-00643-g77f8e4c-dirty (Apr 21 2014 - 15:36:44)

CPU:         RK32xx
arm pll:        1008000000
general pll:        594000000
codec pll:        594000000
ddr pll:        300000000
new pll:        24000000
Board:         RK32xx platform Board
DRAM:         128 MiB
arch_interrupt_init
storage init OK!
Using default environment

In:    serial
Out:   serial
Err:   serial
In:    serial
Out:   serial
Err:   serial
board_late_init
PowerKeyInit start
PowerKeyInit end
charger_init, charger_type = 1, dc_is_charging= 0
pmic_charger_setting charger_type = 1
i2c_set_bus_num: I2C bus = 0
rk_i2c_init: I2C bus = 0
i2c->regs_addr = ff650000,set clk(I2C_CLKDIV: 0x003f003f)
pmic_charger_setting charge ic id = 0xff
GetParam
check parameter success
Unknow param: MACHINE_MODEL:rk30sdk!
Unknow param: MACHINE_ID:007!
Unknow param: MANUFACTURER:RK30SDK!
Unknow param: PWR_HLD: 0,0,A,0,1!
partition(resource): offset=0x00002000, size=0x00008000
partition(boot): offset=0x0000A000, size=0x00008000
partition(misc): offset=0x00012000, size=0x00002000
partition(backup): offset=0x00014000, size=0x0001A000
partition(linuxroot): offset=0x0002E000, size=0xFFFFFFFF
sn:100612000100014A
checkKey
vbus = 1
reboot to rockusb.
startRockusb,178817
DDR Version 1.00 20140404
In
SRX
Channel a: DDR3 300MHz
Bus Width=32 Col=10 Bank=8 Row=15 CS=1 Die Bus-Width=16 Size=1024MB
Channel b: DDR3 300MHz
Bus Width=32 Col=10 Bank=8 Row=15 CS=1 Die Bus-Width=16 Size=1024MB
OUT

Then I downloaded the Android images from the server to restore the original environment... I thought..

Guess what? Doesn't boot...

#Boot ver: 2014-10-30#2.17
sn:100612000100014A
no fuel gauge found
no fuel gauge found
read logo_on switch from dts [0]
checkKey
vbus = 1
no fuel gauge found
got recovery cmd from misc.
failed to load fdt from recovery!
kernel   @ 0x02000000 (0x005f3cf8)
ramdisk  @ 0x059fc000 (0x004108ce)
Secure Boot state: 0
bootrk: do_bootm_linux...
Loading Device Tree to 0561c000, end 05636f1c ... OK
Add bank:0000000000000000, 0000000080000000

Starting kernel ...


[    0.000000] Booting Linux on physical CPU 0x500
[    0.000000] Initializing cgroup subsys cpu
[    0.000000] Initializing cgroup subsys cpuacct
[    0.000000] Linux version 3.10.0 (dujw@tchipserver2) (gcc version 4.6.x-google 20120106 (prerelease) (GCC) ) #40 SMP PREEMPT Tue Nov 11 16:26:39 CST 2014
[    0.000000] CPU: ARMv7 Processor [410fc0d1] revision 1 (ARMv7), cr=10c5387d
[    �DDR Version 1.00 20141007
In
Channel a: DDR3 200MHz
Bus Width=32 Col=10 Bank=8 Row=15 CS=1 Die Bus-Width=16 Size=1024MB
Channel b: DDR3 200MHz
Bus Width=32 Col=10 Bank=8 Row=15 CS=1 Die Bus-Width=16 Size=1024MB
Memory OK
Memory OK
OUT


All in all this is a pretty stumbling start...

What I miss on that board is

- Power LED

- Marking of PCB Revision, to find the correct schematics, PCB and software packages.

- A version of uboot that has the MMU bug fixed or a kernel that takes care of the loaders problem?


- A forum editor where I can set correct line spacings ...


That's so far a report of the first 45minutes with my firefly board


Kind regards

Astralix

Reply

Use props Report

2

Credits

0

Prestige

0

Contribution

new registration

Rank: 1

Credits
2
Posted at 12/17/2014 23:45:49      2#

Update:

On the IRC linux-rockchip there has be a hint about a MMU init problem between uboot and kernel. To check for this and updated drivers I ...


Downloaded the SDK mentioned in the wiki and followed the instructions.

Commpiled my own uboot from the SDK:

uboot starts correctly:

U-Boot 2014.10-RK3288-02 (Dec 17 2014 - 14:51:58)

CPU: rk3288
CPU's clock information:
arm pll = 600000000HZ
periph pll = 300000000HZ
ddr pll = 200000000HZ
codec pll = 594000000HZ
Board:        Rockchip platform Board
DRAM:  Found dram banks:1
Adding bank:0000000000000000(0000000080000000)
128 MiB
storage init OK!
Using default environment

GetParam
check parameter success
Unknow param: MACHINE_MODEL:rk30sdk!
Unknow param: MACHINE_ID:007!
Unknow param: MANUFACTURER:RK30SDK!
Unknow param: PWR_HLD: 0,0,A,0,1!
failed to prepare fdt from boot!
power key: bank-0 pin-5
can't find dts node for ricoh619
pmic:act8846
Can't find dts node for fuel guage cw201x
SecureBootEn = 0, SecureBootLock = 0

#Boot ver: 2014-12-17#2.17
empty serial no.
checkKey
vbus = 1
rockusb key pressed.


I exchanged the loader in the linux image v0930 and bootet that image:

U-Boot 2014.10-RK3288-02 (Dec 17 2014 - 14:51:58)

CPU: rk3288
CPU's clock information:
arm pll = 600000000HZ
periph pll = 300000000HZ
ddr pll = 200000000HZ
codec pll = 594000000HZ
Board:        Rockchip platform Board
DRAM:  Found dram banks:1
Adding bank:0000000000000000(0000000080000000)
128 MiB
storage init OK!
Using default environment

GetParam
check parameter success
Unknow param: MACHINE_MODEL:rk30sdk!
Unknow param: MACHINE_ID:007!
Unknow param: MANUFACTURER:RK30SDK!
Unknow param: PWR_HLD: 0,0,A,0,1!
failed to prepare fdt from boot!
power key: bank-0 pin-5
can't find dts node for ricoh619
pmic:act8846
Can't find dts node for fuel guage cw201x
SecureBootEn = 0, SecureBootLock = 0

#Boot ver: 2014-12-17#2.17
empty serial no.
checkKey
vbus = 1
no fuel gauge found
no fuel gauge found
read logo_on switch from dts [0]
no fuel gauge found
Hit any key to stop autoboot:  0
failed to load fdt from boot!
kernel   @ 0x02000000 (0x005fd670)
ramdisk  @ 0x04bf0000 (0x00275b49)
Secure Boot state: 0
bootrk: do_bootm_linux...
Loading Device Tree to 0480d000, end 04827f1c ... OK
Add bank:0000000000000000, 0000000080000000

Starting kernel ...


[    0.000000] Booting Linux on physical CPU 0x500
[    0.000000] Initializing cgroup subsys cpu
[    0.000000] Initializing cgroup subsys cpuacct
[    0.000000] Linux version 3.10.0 (dujw@tchipserver2) (gcc version 4.6.x-google 20120106 (prerelease) (GCC) ) #41 SMP PREEMPT Tue Nov 11 16:35:58 CST 2014
[    0.000000] CPU: ARMv7 Processor [410fc0d1] revision 1 (ARMv7), cr=10c5387d
[    0.000�DDR Version 1.00 20141007
In
Channel a: DDR3 200MHz
Bus Width=32 Col=10 Bank=8 Row=15 CS=1 Die Bus-Width=16 Size=1024MB
Channel b: DDR3 200MHz
Bus Width=32 Col=10 Bank=8 Row=15 CS=1 Die Bus-Width=16 Size=1024MB
Memory OK
Memory OK
OUT

uboot fetches kernel correctly but kernel fails to boot at the same point where it fails with the original image. So there was something else changed to get from 2014.10-01 to 2014.10-02 version of uboot...

However there was a hint to reset the MMU in the kernel to avoid that crash from the kernel side. Thanks to mmind00!

I cpoied that lines to head.S from kernel and rebuild the image but the result is almost the same:

Starting kernel ...


[    0.000000] Booting Linux on physical CPU 0x500
[    0.000000] Initializing cgroup subsys cpu
[    0.000000] Initializing cgroup subsys cpuacct
[    0.000000] Linux version 3.10.0 (astralix) (gcc version 4.9.2 20140904 (prerelease) (crosstool-NG linaro-1.13.1-4.9-2014.09 - Linaro GCC 4.9-2014.09) ) #1 SMP PREEMPT Wed Dec 17 16:07:54 CET 2014
[    0.000000] CPU: ARMv7 Process�DDR Version 1.00 20141007
In
Channel a: DDR3 200MHz
Bus Width=32 Col=10 Bank=8 Row=15 CS=1 Die Bus-Width=16 Size=1024MB
Channel b: DDR3 200MHz
Bus Width=32 Col=10 Bank=8 Row=15 CS=1 Die Bus-Width=16 Size=1024MB
Memory OK
Memory OK
OUT


So still looking around to find a solution.

Astralix

Reply

Use props Report

2

Credits

0

Prestige

0

Contribution

new registration

Rank: 1

Credits
2
Posted at 12/18/2014 03:12:13      3#

Hi!




So you're booting an uboot 2014.04 while the latest in the firefly SDK is 2014.10.?

And your uboot claims to not see any PMUs while mine does... This looks like mine is probably setting up something wrong.




It is a bit annoying that there is no prebuild image that you can download that then resets your system into a working state...




We'll see why that is the case...




Astralix
Reply

Use props Report

2

Credits

0

Prestige

0

Contribution

new registration

Rank: 1

Credits
2
Posted at 12/18/2014 15:49:32      4#

Hi Andrew!

To find out what is the root cause, the following images are of interest:

- uboot.backup
- recovery.backup
- boot.backup
- kernel.backup (I guess this one is empty)

If you could put there somewhere for me?




However, for the other customers, paying the official price, there should be a downloadable version of the installed package binaries and for the deveoplers there should be a matching source code.




Astralix
Reply

Use props Report

2

Credits

0

Prestige

0

Contribution

new registration

Rank: 1

Credits
2
Posted at 12/18/2014 17:49:21      5#

Looks like the firefly-rk3288.dts is incomplete.

At least, after adding a section

memory {
reg =;
};


The kernel boots till setup of framebuffers, before it crashes again:

[    0.684256] rk32-lvds rk32-lvds: rk32 lvds driver probe success
[    0.684487] rk32-edp ff970000.edp: screen is not edp!
[    0.684511] rk32-edp: probe of ff970000.edp failed with error -22
[    0.684898] rk3288-lcdc lcdc0: can't find power_ctr node for lcdc0
[    0.685197] graphics fb0: rockchip framebuffer registerd:fb0
[    0.685563] graphics fb1: rockchip framebuffer registerd:fb1
[    0.685723] graphics fb2: rockchip framebuffer registerd:fb2
[    0.685868] graphics fb3: rockchip framebuffer registerd:fb3
[    0.686019] graphics fb4: roDDR Version 1.00 20141007
In
Channel a: DDR3 200MHz
Bus Width=32 Col=10 Bank=8 Row=15 CS=1 Die Bus-Width=16 Size=1024MB

So please, firefly team, provide a complete firefly-rk3288.dts for the board.


Astralix

Reply

Use props Report

2

Credits

0

Prestige

0

Contribution

new registration

Rank: 1

Credits
2
Posted at 12/19/2014 17:01:08      6#

Hey busybee!

can you please make these latest sources available?

All the guys getting their new boards now at #linux-rockchip are pretty nervous if and how they could restore their original boards if something fails.




Please update the single images, so the others do not get trapped as I was.




Can you please check the schematics for beeing correct with means of voltages?

If I continue to test mainline kernel, I would like to not have random reboots or dead parts due to under- or over-voltage.




And I really need the fully working original uboot sources that you use. That is the first thing, that I need to work on.




That would be really great!

EDIT:

The DualBoot Image works perfectly. There is a small issue with Android and linux according HDMI init. I Android the system doesn't recognize the TV set at bootup, but unplug and replug the HDMI cable shows Android Launcher immediately. Perfect!




The Linux does not accept the HDMI connected TV too. On the console you can see that it has some trouble to read the EDID data:

root@firefly:~# [ 2015.418974] [EDID] extensions block checksum error
[ 2015.419019] rk3288-hdmi ff980000.hdmi: [HDMI] parse edid block 1 error
[ 2015.419042] rk3288-hdmi ff980000.hdmi: warning: EDID error, assume sink as DVI !!!!

To solve that problem, one can chec, which modes are supported by

root@firefly:~# cat /sys/class/display/display0.HDMI/modes

auto
3840x2160p-60
3840x2160p-50
3840x2160p-30
3840x2160p-25
3840x2160p-24
1920x1080p-60
1920x1080p-50
1920x1080p-30
1920x1080p-25
1920x1080p-24
1280x720p-60
1280x720p-50
1280x720p-30
1280x720p-25
1280x720p-24
720x576p-50
720x480p-60

Then select one that matches the TV or monitor resolution:

root@firefly:~# echo "1920x1080p-60" > /sys/class/display/display0.HDMI/modeThe picture will show up immediately










So good news is, that there is a way back to a fully functional preset if one messed up with images and kernels. Great!




Kind regards

Astralix
Reply

Use props Report

2

Credits

0

Prestige

0

Contribution

new registration

Rank: 1

Credits
2
Posted at 12/19/2014 18:31:52      7#

Ok, the fun has only lasted short time...

While just showing a youtube overview screen, the board rebooted and is again trapped in a boot loop.

U-Boot 2014.10-RK3288-02 (Nov 26 2014 - 09:28:44)

CPU: rk3288
CPU's clock information:
arm pll = 600000000HZ
periph pll = 300000000HZ
ddr pll = 200000000HZ
codec pll = 594000000HZ
Board:        Rockchip platform Board
DRAM:  Found dram banks:1
Adding bank:0000000000000000(0000000080000000)
128 MiB
storage init OK!
Using default environment

GetParam
check parameter success
Unknow param: MACHINE_MODEL:rk30sdk!
Unknow param: MACHINE_ID:007!
Unknow param: MANUFACTURER:RK30SDK!
Unknow param: PWR_HLD: 0,0,A,0,1!
failed to prepare fdt from boot!
power key: bank-0 pin-5
can't find dts node for ricoh619
pmic:act8846
Can't find dts node for fuel guage cw201x
SecureBootEn = 0, SecureBootLock = 0

#Boot ver: 2014-11-26#2.17
empty serial no.
checkKey
vbus = 1
no fuel gauge found
no fuel gauge found
read logo_on switch from dts [0]
no fuel gauge found
got recovery cmd from misc.
failed to load fdt from recovery!
kernel   @ 0x02000000 (0x00608530)
ramdisk  @ 0x04bf0000 (0x00275b8f)
Secure Boot state: 0
bootrk: do_bootm_linux...
Loading Device Tree to 0480b000, end 04826184 ... OK
Add bank:0000000000000000, 0000000080000000

Starting kernel ...


[    0.000000] Booting Linux on physical CPU 0x500
[    0.000000] Initializing cgroup subsys cpu
[    0.000000] Initializing cgroup subsys cpuacct
[    0.000000] Linux version 3.10.0 (dujw@tchipserver2) (gcc version 4.6.x-google 20120106 (prerelease) (GCC) ) #63 SMP PREEMPT Thu Dec 11 17:22:26 CST 2014
[    0.000000] CPU: ARMv7 Processor [410fc0d1] revision 1 (ARMv7), cr=10c5387d
[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[    0.000000] Machine: Rockchip RK3288 (Flattened Device Tree), model: rockchip,rk3288
[    0.000000] hdmi init vic is -1
[    0.000000] rockchip_ion_reserve
[    0.000000] cma: CMA: reserved 16 MiB at 2e800000
[    0.000000] Memory policy: ECC disabled, Data cache writealloc
[    0.000000] Boot mode: RECOVERY (2) flag: RECOVER (0xc3524203)
[    0.000000] PERCPU: Embedded 9 pages/cpu @c1ed4000 s14016 r8192 d14656 u36864
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 522768
[    0.000000] Kernel command line: console=ttyFIQ0 androidboot.hardware=rk30board androidboot.console=ttyFIQ0 board.ap_has_alsa=0 root=/dev/block/mtd/by-name/linuxroot rw rootfstype=ext4 init=/sbin/init  mtdparts=rk29xxnand:0x00002000@0x00000000(parameter),0x00002000@0x00002000(uboot),0x00002000@0x00004000(misc),0x00008000@0x00006000(resource),0x00008000@0x0000e000(kernel),0x00010000@0x00016000(boot),0x00010000@0x00026000(recovery),0x0001a000@0x00036000(backup),0x00040000@0x00050000(cache),0x00002000@0x00090000(kpanic),0x0018000�DDR Version 1.00 20141007
In
Channel a: DDR3 200MHz
Bus Width=32 Col=10 Bank=8 Row=15 CS=1 Die Bus-Width=16 Size=1024MB
Channel b: DDR3 200MHz
Bus Width=32 Col=10 Bank=8 Row=15 CS=1 Die Bus-Width=16 Size=1024MB
Memory OK
Memory OK
OUT

It is the unmodified DualBoot v0930 image.


EDIT:

As I got a US power supply, I used the USB adapter cable connected to a USB3 HUB that is powered by a 5A supply.

This doesn't work... I used some test cables from the lab to do a flying adaption of US to Euro (don't try this at home!) and it boots again into Linux or Android.


So, if you encounter same problem you should try to change the way you supply power to the fly


EDIT:

The FAN is labeled 5V so I connected it to the 5V labeled upper contacts of the right extention port. What I didn't see was, that there are two contacts labeled FAN+ / FAN- at the lower end of this port. Using these pins while again supplying power with the USB adapter cable, it works more stable. Still testing this.

It looks like the fan introduces too much ripple into the 5V power train if it is connected to the upper 5V pins.


So the correct connection of the fan should be mentioned in the starter guide under a chapter mechanical assembly?

http://wiki.t-firefly.com/index.php/Fir ... r_guide/en


Astralix

Reply

Use props Report

2

Credits

0

Prestige

0

Contribution

new registration

Rank: 1

Credits
2
Posted at 12/19/2014 23:49:45      8#

Hey again,




It is now definitely clear: You need to keep care that you use a good power supply.?

A 3.5A USB HUB does not work reliable. Even on a USB3 HUB it may give random reboots.

I used lab cords to adapt the 5V/3A US power supply delivered with the firefly and now all images of 2014-11-11 and 2014-12-11 do work without obvious problems.




So firefly team, please check the schematics, the FAN+/- pins on the right connector are not mentioned anywhere else again. So where are they connected? Can the fan be turned off on power-down or can it be regulated by PWM?




And please add precise tags to the git repository at bitbucket so people don't have to guess which version will work and please check the inconsistency between the voltages mentioned in the schematics and the rk3288-firefly.dts.




Please add these findings to the wiki so other people do not run into the same trap.




After a short test with Ubuntu, I can say that this board looks like a really nice piece of hardware and I hope I find enough time for testing in the next days...




Astralix
Reply

Use props Report

You need to log in before you can reply Login | Register

This forum Credits Rules

Quick Reply Back to top Back to list