dfwBrawler Posted May 7, 2017 Posted May 7, 2017 We have an H2+ based board that is very similar to the Orange Pi Zero. Basically it is equivalent to a Zero board with a different Wi-Fi chip and adding an eMMC chip. The SD card is on the SDC0 bus and the eMMC chip is on the SDC2 bus. The SDC1 bus isn't connected. We have been using the stock Orange Pi Zero Jessie images on SD card and they work pretty well (thanks to you guys for your hard work) We want to put a Jessie image on the eMMC but we are having trouble. First we tried the nand-sata-install script but it wouldn't run without the eMMC device. We edited the lib/config/fex/orangepizero.fex file and changed sdc_used for mmc2 to 1 from 0 and rebuit the SD image. This gave me the eMMC device and nand-sata-install ran withtout errors. Now SD and eMMC both appear in /dev/mmc* root@orangepizero:~# ls /dev/mmc* /dev/mmcblk0 /dev/mmcblk1 /dev/mmcblk1boot1 /dev/mmcblk0p1 /dev/mmcblk1boot0 /dev/mmcblk1p1 Unfortunately when the board reboots it only displays the following: U-Boot SPL 2017.03-armbian (May 03 2017 - 15:25:24) DRAM: 512 MiB Trying to boot from MMC2 MMC Device 1 not found spl: could not find mmc device. error: -19 SPL: failed to boot from all boot devices ### ERROR ### Please RESET the board ### We also tried putting an Orange Pi Plus image on the eMMC, but it had a number of errors when it booted from eMMC plus it seemed to be missing the Ethernet device. So the question is, what are we missing to get the eMMC working correctly?
Igor Posted May 7, 2017 Posted May 7, 2017 Try with this image: https://www.armbian.com/orange-pi-zero-2-h3/
dfwBrawler Posted May 7, 2017 Author Posted May 7, 2017 Ran a quick test with Armbian_5.27_Orangepizeroplus2-h3_Ubuntu_xenial_default_3.4.113.img It boots from SD with a minimum of errors. The eMMC device is available and nand-sata-install runs without errors. The board then boots from eMMC (whoo hoo we are making progress). We don't see an Ethernet device. So two new questions. 1) Is there a simple fix to turn on Ethernet? 2) What are the chances of getting Jessie to work? Thanks.
martinayotte Posted May 8, 2017 Posted May 8, 2017 You are saying : Quote equivalent to a Zero board with a different Wi-Fi chip and adding an eMMC chip So, what are this WiFi ? Quote We don't see an Ethernet device. Is it exactly connected the same way as the original board ?
dfwBrawler Posted May 8, 2017 Author Posted May 8, 2017 Ran a few more tests. 1) tried Armbian_5.27.170508_Orangepizeroplus2-h3_Ubuntu_xenial_dev_4.11.0.img - there's an Ethernet device, but no eMMC device 2) tried building an SD image by selecting Jessie instead of Xenial - it built ok, there's an eMMC device, but no Ethernet 3) tried building an SD image but patched using these instructions: https://forum.armbian.com/index.php?/topic/4186-orange-pi-zero-ethernet-disabled-in-mainline-411/ there's an eMMC device but still no Ethernet device.
dfwBrawler Posted May 8, 2017 Author Posted May 8, 2017 4 minutes ago, martinayotte said: So, what are this WiFi ? Is it exactly connected the same way as the original board ? We have our own WiFi device and it works fine with the drivers we build and install. The Ethernet works fine with the original Zero board image. The Ethernet on the board we are using is wired exactly the same way to the H2 as the original Zero.
martinayotte Posted May 8, 2017 Posted May 8, 2017 You are talking about OPiZeroPlus2-H3, right ? But those board doesn't have any Ethernet, so I don't understand the case ...
dfwBrawler Posted May 8, 2017 Author Posted May 8, 2017 5 hours ago, martinayotte said: You are talking about OPiZeroPlus2-H3, right ? But those board doesn't have any Ethernet, so I don't understand the case ... Let me try to clarify. The board we have is electrically very similar to the Pi Zero, except that it also has eMMC. We used Igor's suggestion of using the image for the Zero Plus 2-H3 and that worked to get eMMC working on the board we have. I understand that the Zero Plus2-H3 doesn't have an Ethernet port. When we use the Zero image on the board we have, the Ethernet works well. What I'm trying to figure out is how to enable the Ethernet drivers within the Zero Plus2-H3 image such that it will behave exactly like the Ethernet drivers in the Zero image.
martinayotte Posted May 8, 2017 Posted May 8, 2017 You mean that your board is not an OrangePi, neither Zero or ZeroPlus-H3 ? Which brand it is ? Or is it a custom one ? To get both eth and emmc, you will have to merge DT and resulting dts compiled into dtb.
zador.blood.stained Posted May 8, 2017 Posted May 8, 2017 59 minutes ago, martinayotte said: To get both eth and emmc, you will have to merge DT and resulting dts compiled into dtb. ... for the mainline configuration, or edit the FEX file for the legacy/3.4.x based one.
dfwBrawler Posted May 8, 2017 Author Posted May 8, 2017 2 hours ago, martinayotte said: You mean that your board is not an OrangePi, neither Zero or ZeroPlus-H3 ? Which brand it is ? Or is it a custom one ? To get both eth and emmc, you will have to merge DT and resulting dts compiled into dtb. The board we are using is not commercially available. As best I can tell it was primarily based on a Zero and has an added eMMC. Can you elaborate on what you mean by "merge DT and resulting dts compiled into dtb"?
martinayotte Posted May 9, 2017 Posted May 9, 2017 That is a bit strange that the manufacturer of this board doesn't provide you support ... Quote "merge DT and resulting dts compiled into dtb" This is quite dummy job that should be done by the manufacturer if he wish to sell his boards... EDIT : the manufacturer can send us few sample, and we will look if it worth to do the task for free ...
dfwBrawler Posted May 10, 2017 Author Posted May 10, 2017 We have done some more testing. The device tree stuff seems confusing. We did two builds. 1) h3-orangepi-zeroplus, 4.11.0 Xenial, mainline 2) h3-orangepi-zeroplus, 3.4.113, xenial legacy 1) h3-orangepi-zeroplus, 4.11.0 Xenial, mainline. This build gives Ethernet: yes and eMMC: no. Doing a diff of sources/linux-sun8i-mainline/orange-pi-4.11/arc/arm/boot/dts/sun8i-h3-orangepi-zeroplus.dts vs sources/linux-sun8i-mainline/orange-pi-4.11/arc/arm/boot/dts/sun8i-h2-plus-orangepi-zero.dts shows only title string differences < model = "Xunlong Orange Pi Zero"; < compatible = "xunlong,orangepi-zero", "allwinner,sun8i-h2-plus"; --- > model = "Xunlong Orange Pi Zero Plus"; > compatible = "xunlong,orangepi-zeroplus", "allwinner,sun8i-h3"; This looks like the Zero plus dts file was accidentally just copied from the Zero dts file without making the necessary changes. 2) zero plus 2 h3 3.4.113, xenial legacy This give eMMC: yes and Ethernet: no Doing a diff of source/u-boot/v2017.05/arch/arm/dts/sun8i-h3-orangepi-zeroplus.dts vs source/u-boot/v2017.05/arch/arm/dts/sun8i-h2-plus-orangepi-zero.dts shows both include the same dtsi file #include "sun8i-h3.dtsi" and they both have the same emac section &emac { phy = <&phy1>; phy-mode = "mii"; allwinner,use-internal-phy; allwinner,leds-active-low; status = "okay"; phy1: ethernet-phy@1 { reg = <1>; }; }; Also neither lib/config/fex/orangepizeroplus2-h3.fex nor lib/config/fex/orangepizero.fex shows any mention of emac or phy or ethernet Lastly we did notice is that we tried to comment out the "disabled" line in the emac section of the sun8i-h3.dtsi file, but after doing the build, the line was no longer commented. Could that be part of why we aren't getting Ethernet?
martinayotte Posted May 11, 2017 Posted May 11, 2017 Quote This looks like the Zero plus dts file was accidentally just copied from the Zero dts file without making the necessary changes. It is me that did the integraton of the new ZeroPlus-H3 DT two weeks ago, but I don' t see why I missed in your comment. (I will check again tomorrow since it it late tonight ...) Quote 2) zero plus 2 h3 3.4.113, xenial legacy Did you tried Mainline ? Because in Legacy doesn' t look at DT at all, it is using hte old FEX with script.bin. I didn' t managed any FEX changes since I hate Legacy ... I' m strickly work with Mainline.
zador.blood.stained Posted May 11, 2017 Posted May 11, 2017 10 hours ago, dfwBrawler said: This looks like the Zero plus dts file was accidentally just copied from the Zero dts file without making the necessary changes. There is no upstream DT for the Zero Plus models (not even WIP/patches), so OPi Zero DTS is partially reused.
tkaiser Posted May 11, 2017 Posted May 11, 2017 On 7.5.2017 at 11:39 PM, dfwBrawler said: 1) Is there a simple fix to turn on Ethernet? With the legacy image it's as simple as 'sudo h3consumption -e on && sudo reboot' (that will do what @zador.blood.stainedsuggested days ago: 'edit the FEX file for the legacy/3.4.x based one')
martinayotte Posted May 11, 2017 Posted May 11, 2017 BTW, during migration from 4.10 to 4.11, there were lot of missings for ZeroPlus2-H3, including the eMMC and USB missings ... I've updated the patches and now DT looks better.
dfwBrawler Posted May 11, 2017 Author Posted May 11, 2017 2 hours ago, martinayotte said: BTW, during migration from 4.10 to 4.11, there were lot of missings for ZeroPlus2-H3, including the eMMC and USB missings ... I've updated the patches and now DT looks better. That works great now. I pulled down the updates and built a dev 4.11 release. eMMC works and so does Ethernet. I want to thank everyone for your help getting this problem solved. Without this dedicated group of people there wouldn't be a working Linux release for Allwinner boards.
martinayotte Posted May 11, 2017 Posted May 11, 2017 Glad to ear that ! We are hoping to see how those of your boards looks like ...
Recommended Posts