Jump to content

Custom H3 prototypes, not starting


PaddleStroke

Recommended Posts

Hey guys and a happy new year!

 

I am working on a custom H3 board and I just got the prototypes from the oven. I am now trying to boot armbian on them. And as it's first prototypes I expected problems but I have trouble figuring out. I think it's because of my lack of understanding the boot process.

 

See picture of the board enclosed. It don't tell much but it's nice to have a visual I think.

 

On top right is a battery manager/power input. Right under is AXP8036 that makes 4 buck channels (1.35V for ram, 1.2V sys, 1.3Vcpu and 3.3V)

Most is similar with orange pi PC schematic, there is few changes :

 

- crystal and wifi is same with orangepi zero, are 22pF at X24in and 9pF at X24in

- PL03 is left floating instead of PWR-KEY

- UBOOT is left floating

- PL10 and PG11 are left floating (they are mentionned in boot-begin.cmd)

- Then lot of others GPIO are left floating or pulled up, used as GPIO buttons at the back of the board. 

 

My approach was to first edit the script.bin with bin2fex/fex2bin in order to modify according to my board differences with opi pc and opi zero.

 

When I plug the SD and turn ON, the ethernet LEDs turn ON and don't blink. And no signal is sent to HDMI. Exactly the same as when I turn on an orange pi (or my board) without SD card at all.

 

- My first guess was a power problem, but I checked all voltages are OK, I even tried to supply the bucks directly 5V from a charger tested on orangepi. And the buck AXP8036 is a model specially designed for H3.

- Second guess was that I made an error in the script.bin. But I tried to boot an orangepi with a SDcard without any script.bin and the orangepi start and display signal on HDMI with first lines of booting until "script.bin not found".

- Then I thought maybe SD detect is not working, but schematic is same with orangepi (on PF0-PF6) and I have 4 prototypes so it's unlickely hardware defect.

 

Could it be because I left PL03 floating (on orange pi zero they keep it pulled up even if there is no power button)? But it seems to me the powerkey GPIO is assigned in the script.bin so it sounds unlickely. And UBOOT floating? But I tried connect pull up resistor it does not change.

Or PL10/PG11 ? as they are called in this boot file I wonder. But PG11 is CSI_EN on orangepi PC schematic, and PL10 is the status LED which is output GPIO.

Or Crystal capacitor as it's shared with the wifi it may need some adjustments?

 

I don't understand very well the boot process but I read somewhere that the first 1MB of SD is a bootloader. Could the problem be in there? Maybe there is hardware specification in there?

 

I know it's a very difficult topic, but if someone has some hints, or insight on boot process it would be really awesome!

I can send you the schematic if someone care to give it a look!

Thanks,

 

 

Clip(01-02-15-21-08)(1) - Copy.png

Link to comment
Share on other sites

Thanks for reply,

1. Yes I used micro-USB for powering. Mainly because of PCB footprint is smaller. But it can be changed to Barrel Jack for later version. Is it a problem because of max current rating of micro-USB? If it's about voltage drop, the buck AXP8036 support lower voltage than 5V, as it can run on battery with voltage as low as 3-3.2V

 

2. I just found this link ealier today. I am browsing the build files right now. I'll try to find what to modify. I think (not really sure) main problem is because clock is share with wifi XR819 as opi zero and ram is same 1GB with opi pc +. I should have thought better before mixing schematics...

 

3. SD card have been tested on other orange pi and works correctly.

Link to comment
Share on other sites

What I tried to explain to you, if you do not properly test your SDcard (test, not it worked before!)  and measure the voltage on the board. You have some holes on the PCB, it should not be below 4,9V.

 

Thing is,   if your HW isn't 100% perfect - you will search forever within software  ---- --- -- -  and you wouldn't be the frist :D

Link to comment
Share on other sites

On 06/01/2018 at 6:43 PM, PaddleStroke said:

When I plug the SD and turn ON, the ethernet LEDs turn ON and don't blink. And no signal is sent to HDMI. Exactly the same as when I turn on an orange pi (or my board) without SD card at all.

 

 

wouldnt the first place to look for debugging infos about the boot-process in serial log from the u-boot?

Does your board have u-boot-  and if yes - what did the u-boot log say about the initialization of the board and is it reading the sdcard and the kernel?

 

Link to comment
Share on other sites

@Tido problem is to be sure of HW, schematic seem correct but I am not entirely sure it's without mistakes. I would rather bet on the contrary!

I think the problem of undervoltage on most opi boards are due to the fact that they use SY8113 buck to make the CPU 1.3V, and this IC voltage rating is 4.5-16V. So with inner voltage drop the opi boards voltage can be close to the minimum 4.5V, at which the buck is likely to work not correctly.

On my board I use AXP8036 which voltage rating is 2.3-6V (or something similar) so it should be fine even with voltage drop.

 

@guidol Thanks for this idea! I was in fact not sure how to find debugging infos. Fortunately I did made a test point for u-boot. Sorry for the stupid question, but how can I read the serial log from u-boot? What hardware should I use?

Link to comment
Share on other sites

9 hours ago, PaddleStroke said:

Does it have something to do with uboot pin?

Your UART RX and TX are near the WiFi Antenna at lower left where you have solder holes.

Normally the u-boot pin is for starting the board in a uboot-flash mode, which shouldnt be needed for armbian.

 

You should solder pins in there and add a USB-TTL-serial dongle (CP2102 or CH340) to that port :)

Blueberry_RX_TX.jpg

Link to comment
Share on other sites

On 1/6/2018 at 1:43 PM, PaddleStroke said:

When I plug the SD and turn ON, the ethernet LEDs turn ON and don't blink. And no signal is sent to HDMI. Exactly the same as when I turn on an orange pi (or my board) without SD card at all.

 

You have possibly run into this problem, just use another u-boot!

 

 

Link to comment
Share on other sites

Thanks for your feedbacks!

@guidol Just ordered few UART USB to check on that.  So just to be sure to understand correctly, in the script.bin file I read that UART gates functions are assigned there. But if it can't boot and read script.bin then it means PA4 and PA5 default function is UART right?

 

@@lex Yes I think I should use another uboot, but I am not sure any current uboot will be ok for this board as it's not exact same schematic with other h3 boards.

And for SD slot the thing is that I have 4 prototypes and none is working so it sounds unlickely to be the SD slot.

Link to comment
Share on other sites

40 minutes ago, PaddleStroke said:

none is working so it sounds unlickely to be the SD slot.

Sorry, I did not mean your SD slot is broken, just u-boot should not check for cd-changes, something like:

 

pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin>;

 

BananaPi M2+. M2+ H5 and BananaPi Zero need this patch in order to detect SD card.

 

Link to comment
Share on other sites

@@lex That does sound interesting. But I can't find reference to this in the topic you linked?

I am downloading a bananapi m2+ image to try it,  it should have the u-boot patch you'r telling me about.

 

edit: no luck with banana pi m2+ image. I will have to wait to read serial console. Hope it will help :)

Link to comment
Share on other sites

36 minutes ago, PaddleStroke said:

But I can't find reference to this in the topic you linked?

Kernel: https://github.com/BPI-SINOVOIP/BPI-files/commit/4a955b91d05fc33099c2d5ed23257da351799f36#diff-5cc9f5b01a36dfa973531226f8915151L127

U-boot: https://github.com/BPI-SINOVOIP/BPI-files/tree/master/others/armbian/build/patch/u-boot/u-boot-sunxi

 

* FYI: it does not mean their image will boot, but will pass u-boot SD card detection and will not stop right away, There will be the second part of the boot that your board will possibly hang (different pin configuration, etc...).

You will only know when you get your serial debug log!

 

Link to comment
Share on other sites

Yeah Armbian is booting correctly now! 

It works surprisingly well for a first prototype :D It overheats a bit, but same as most H3 boards I guess. Maybe I will have to get a 2 oz copper layer for the ground plane. Or maybe aluminium core (opi use them, it's special PCB used in LED boards), but there's not much suppliers of those pcb.

 

Now I only have few little things to correct : 

1 - wifi not working out of the box. I think it's probably because I use "opi pc plus" image and my wifi schematic is the one of "orange pi Zero"

 

In the build repository in the board config files I see the different board have different "modules" Can someone tell me a bit more about those modules? I can't find them in repository.  I think wifi setup might have to do with the modules.

 

2 - I have GPIO buttons that I can't get to work using PYA20. Those GPIO buttons are PD GPIO. Is there something special with D GPIO interfering? In orangepi PC schematic those are writen to be : 

 

ERXD3
ETXD0
ETXD1
ETXD2
ETXD3
ECRS
ETXEN
ECOL
EMDC
EMDIO

...

 

But they don't seem to be connected to anything in the schematic. So I think they might just be floating.

edit: After bit of reading I found out that pyA20 is for A20 board (which makes sense !) and on A20 the PD are used by the LCD. So I think they probably not included the D GPIO in their script. I'll let you know. 

edit: There was a problem with pyA20 package indeed,  I was using a old version of the package, and in fact the new version of the package should work in most cases out of the box with H3. If a GPIO is not working it's likely not been included in the mapping.h file of the package.

 

Link to comment
Share on other sites

Hi there,

I am trying to have the wifi working on my board and I have some more problems :)

 

It's same schematic as orange pi zero. So I checked the orangepizero.conf and it is : 

MODULES="#w1-sunxi #w1-gpio #w1-therm #sunxi-cir xradio_wlan g_serial xradio_wlan"

 

So I tried to enable the module xradio_wlan but I have :

 

MODPROB ERROR : "could not insert 'xradio_wlan' : Connection timed out"

 

Any idea of the possible problem? Maybe a dependency issue with another module missing?

Link to comment
Share on other sites

7 hours ago, PaddleStroke said:

Any idea of the possible problem? Maybe a dependency issue with another module missing?


Probably module does not have power/wrong few config. But this chip is so bad that it is perhaps better to stay powered off :) 

Link to comment
Share on other sites

Thanks for your reply!

Module you mean the chip does not have power? module will not install if IC is not responding is it so?

 

It's bad, do you mean it's not working correctly or consumming too much or failling often or both? If so maybe I will remove it from the schematic! 

 

Is there a H3 board who has a correct wifi chip?

Link to comment
Share on other sites

Hey guys!

So the boards are working relatively correctly now.

 

I just have a boot problem that is happening sometimes. On about 1 boot every 3 or 4 times the unit will not boot. It's random so I am not sure what can be the reason.

 

When the unit can't boot it says (see enclosed pictures too) :

Quote

MMC: no card present

Card did not respond to voltage select!

 

Then it seems to try to boot on USB then on PHY (which don't work as nothing is setup)

 

Any idea why this could be happening and why it would be happening only sometimes?

 

The boot config that I use is "orangepi_pc_plus_defconfig" could it be something in there that can be the problem?

I can't understand much from this file, is there some explanations of that script content somewhere? 

 

Do you think it could be a trace impedance problem with the SD card reader? 

 

OK boot.jpg

bad boot.jpg

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines