PaddleStroke Posted January 6, 2018 Posted January 6, 2018 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,
Tido Posted January 7, 2018 Posted January 7, 2018 Without reading all of it: 1. do you power Blueberry via Micro USB, if so, why ? Custom board should have Barrrel Jack. 2. did you read this: https://docs.armbian.com/User-Guide_Getting-Started/ 3. did you test your SDcard according to the above guide (2.), because we have a section in the forum for: SDcard & PowerSupply looking forward to read your findings
PaddleStroke Posted January 7, 2018 Author Posted January 7, 2018 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.
Tido Posted January 7, 2018 Posted January 7, 2018 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
guidol Posted January 7, 2018 Posted January 7, 2018 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?
PaddleStroke Posted January 7, 2018 Author Posted January 7, 2018 @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?
Tido Posted January 7, 2018 Posted January 7, 2018 I see and what about USB Debug it live: https://linux-sunxi.org/UART
PaddleStroke Posted January 7, 2018 Author Posted January 7, 2018 Got it thanks! How can I read the uboot serial log then? Should I simply use the UART0 (PA4/PA5 GPIO)? Does it have something to do with uboot pin?
Tido Posted January 7, 2018 Posted January 7, 2018 Disconnect Power of the Blueberry first.. (PA4/PA5 GPIO) if they fit for: Your USB UART module should have 3 pins: RX goes to TX TX goes to RX GND goes to GND on both https://linux-sunxi.org/UART#Attaching_the_UART And on your computer: with a program called 'screen' https://linux-sunxi.org/UART#Using_the_serial_console Now you can power the SBC
guidol Posted January 8, 2018 Posted January 8, 2018 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
@lex Posted January 8, 2018 Posted January 8, 2018 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!
PaddleStroke Posted January 8, 2018 Author Posted January 8, 2018 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.
@lex Posted January 8, 2018 Posted January 8, 2018 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.
PaddleStroke Posted January 8, 2018 Author Posted January 8, 2018 @@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
@lex Posted January 8, 2018 Posted January 8, 2018 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!
PaddleStroke Posted January 9, 2018 Author Posted January 9, 2018 Ok maybe we found out the mistake. I have not included the AP-reset# schematic... Damn it was writen reset-option on the schematics, I should have thought better! I'll try to hand solder it.
PaddleStroke Posted January 9, 2018 Author Posted January 9, 2018 That was the trick! Added a pull up resistor to AP-RESET# it was enought. The boards are booting now. Starting boot at least I'll have to modify few things I guess 1
PaddleStroke Posted January 11, 2018 Author Posted January 11, 2018 Yeah Armbian is booting correctly now! It works surprisingly well for a first prototype 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.
TonyMac32 Posted January 11, 2018 Posted January 11, 2018 6 hours ago, PaddleStroke said: but there's not much suppliers of those pcb. http://pcbway.com 1
PaddleStroke Posted January 12, 2018 Author Posted January 12, 2018 Ah unfortunately they make aluminium board only for 1 layer PCB
PaddleStroke Posted January 24, 2018 Author Posted January 24, 2018 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?
Igor Posted January 25, 2018 Posted January 25, 2018 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
PaddleStroke Posted January 25, 2018 Author Posted January 25, 2018 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?
Igor Posted January 25, 2018 Posted January 25, 2018 1 hour ago, PaddleStroke said: Is there a H3 board who has a correct wifi chip? Anyone is better than this. Stick to AMPAK/Broadcomm AP6212 Why not XR819? https://forum.armbian.com/search/?&q=xr819 It is performing very bad and even many people tried to fix this, not much success was made.
PaddleStroke Posted October 5, 2018 Author Posted October 5, 2018 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?
PaddleStroke Posted October 10, 2018 Author Posted October 10, 2018 Found the problem. It was a hardware issue on SD card detect line. A resistor that should not have been there... The units are booting correctly. 1
Recommended Posts