-
Posts
310 -
Joined
-
Last visited
Content Type
Forums
Store
Crowdfunding
Applications
Events
Raffles
Community Map
Everything posted by Nick A
-
Dmitriy Geels any chance you can install a serial connection on the boards uart? Have you tried the desktop image yet? I see your board loaded axp313a. Also enable bluetooth in android before booting the sdcard. Your dts is not your full dts. It looks like dtbo_a an overlay file. You need to extract from boot_a and vendor_boot_a partition. Which is why I used Android_boot_image_editor. It extracted all my partitions with dts files in it without any problems. You only need to do the toothpick trick once. You might need to do the toothpick trick again when you change your sdcard image. Not sure. I'm thinking of updating Armbian again.. Too busy with work right now. If I encounter a failed build due to changes in Armbian I usually update A.S.A.P. Normally, I would fork the Armbian build and add all my changes again. If there's an easier way to do this let me know. Still new to github.
-
Kil if you go one page back you'll see how I used adb command to extract the .dts file from the stock android. for an H616 board you need the correct DRAM parameters, you can read them from a vendor image using https://github.com/apritzel/sunxi-fw. Maybe you can use the boot_a partition from adb to get your Dram parameters. It's important to know the model of the PMIC and its configuration, to get a board running. You don't want to burn out one of your components.
-
Dmitriy Geels I think your box is a H616.. again it's probably due to different PMIC (Power Management IC). Need more information. Do you have a serial log? can you post your kernel log?
-
Your box has a H616.. The problem is due to your box having a different PMIC (Power Management IC). [01.215]PMU: AXP806 Which is the same as axp305. My box uses AXP313a. https://linux-sunxi.org/AXP_PMICs I think you would have better luck booting an OrangePi Zero2 image. I would extract your boxes dts file and compare it with OrangePi Zero2. Make sure the voltages are correct. axp305: pmic@745 { compatible = "x-powers,axp305", "x-powers,axp805", "x-powers,axp806"; interrupt-controller; #interrupt-cells = <1>; reg = <0x745>; x-powers,self-working-mode; vina-supply = <®_vcc5v>; vinb-supply = <®_vcc5v>; vinc-supply = <®_vcc5v>; vind-supply = <®_vcc5v>; vine-supply = <®_vcc5v>; aldoin-supply = <®_vcc5v>; bldoin-supply = <®_vcc5v>; cldoin-supply = <®_vcc5v>; regulators { reg_aldo1: aldo1 { regulator-always-on; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; regulator-name = "vcc-sys"; }; reg_aldo2: aldo2 { /* 3.3V on headers */ regulator-always-on; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; regulator-name = "vcc3v3-ext"; }; reg_aldo3: aldo3 { /* 3.3V on headers */ regulator-always-on; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; regulator-name = "vcc3v3-ext2"; }; reg_bldo1: bldo1 { regulator-always-on; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; regulator-name = "vcc1v8"; }; bldo2 { /* unused */ }; bldo3 { /* unused */ }; bldo4 { /* unused */ }; cldo1 { /* reserved */ }; cldo2 { /* unused */ }; cldo3 { /* unused */ }; reg_dcdca: dcdca { regulator-always-on; regulator-min-microvolt = <810000>; regulator-max-microvolt = <1100000>; regulator-name = "vdd-cpu"; }; reg_dcdcc: dcdcc { regulator-always-on; regulator-min-microvolt = <810000>; regulator-max-microvolt = <990000>; regulator-name = "vdd-gpu-sys"; }; reg_dcdcd: dcdcd { regulator-always-on; regulator-min-microvolt = <1500000>; regulator-max-microvolt = <1500000>; regulator-name = "vdd-dram"; }; reg_dcdce: dcdce { regulator-always-on; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; regulator-name = "vcc-eth-mmc"; }; sw { /* unused */ }; }; }; };
-
pstumbler most of my patches have come from warpme. To apply warpme's audio/video patches to Armbian I had to disable several patches from other boxes. If someone wants to modify warpme's patches to work with armbian then it shouldn't be hard to get an official build. Kil did you do the toothpick tick correctly? there’s a button in the headphone jack.., use a wooden toothpick. what I do is remove the power cable. With the sdcard inserted. push the button inside the headphone jack with a toothpick. plug-in the power cable holding the button for a few seconds. remove the toothpick. You’ll notice the box won’t boot. remove power cable. The next time you insert the power cable it will boot to armbian.
-
So I been doing some testing and audio through headphone jack "Line Out" works. I added a patch to enable line out in my dts. +&codec { + allwinner,audio-routing = + "Line Out", "LINEOUT"; + status = "okay"; +}; + You need to to enable it using the mixer. (thanks to sasa in the orange pie thread) /usr/bin/amixer -c 0 set 'Left Output Mixer DACL' 100% unmute /usr/bin/amixer -c 0 set 'Left Output Mixer DACR' 100% unmute /usr/bin/amixer -c 0 set 'Right Output Mixer DACL' 100% unmute /usr/bin/amixer -c 0 set 'Right Output Mixer DACR' 100% unmute Bluetooth has a bug where you need to enable bluetooth in android first before it can work with armbian.
-
I have a patch for emmc internal memory but I haven't tested it yet. I got it from warpme's miniarch distro. If you go back a few pages you'll see how heiko910 installed to emmc.
-
It's possible to get your H616 running with armbian.. we need more info. First you need to install a serial console on your uart. So we can see where the boot process stops. You probably have a different Dram setup. We can figure that out easily by extracting the boot0 from your android. The H616 is almost the same as H618. I have a H618 and everything works but the headphone jack. Banana Pi zero 3 has H618 with headphone jack working. I just don't have time right now to figure out the headphone issue. Please read this thread you'll find a lot of useful information getting your box up and running.
-
Hi Long Vu, you should install a UART Serial port so we can find out where it hangs.
-
Hi Dave, I don't see any difference between our dts (That deal with hdmi/audio). Maybe the overlay dtbo_a changed something.? If you can extract that. Have you tried your box with different TV/monitors and hdmi cables? Here's my dts. devicetree.dts
-
Here's the latest build if anyone wants to test it out. https://armdev.pixeldrift.net/transpeed/8k618-t/
-
dtb.0.dts
-
rename it to vendor_boot.img
-
Here's another tool you can use to unpack the boot.img Android Image Kitchen https://github.com/Shubhamvis98/AIK
-
Try renaming it to boot.img.
-
Try this. adb shell su dd if=/dev/block/platform/soc@3000000/4022000.sdmmc/by-name/boot_a of=/mnt/sdcard/boot_a.img exit adb -s 192.168.5.161:5555 /mnt/sdcard/boot_a.img
-
Maybe if we can extract more info from android we can figure this out. We need your .dts. Here are steps to do it with a linux PC running ubuntu. git clone https://github.com/cfig/Android_boot_image_editor.git sudo apt install git device-tree-compiler lz4 xz-utils zlib1g-dev openjdk-17-jdk gcc g++ python3 python-is-python3 p7zip-full android-sdk-libsparse-utils erofs-utils cd Android_boot_image_editor sudo apt install adb sudo adb connect 192.168.X.X:5555 (x is your local network address for your box) sudo adb -s 192.168.x.xxx:5555 shell "ls -al /dev/block/platform/soc@3000000/4022000.sdmmc/by-name" if you get: "error: device unauthorized. This adb server's $ADB_VENDOR_KEYS is not set Try 'adb kill-server' if that seems wrong. Otherwise check for a confirmation dialog on your device." You need to authorise your connection on the box. nick@nick-Inspiron-5680:~/Android_boot_image_editor$ sudo adb -s 192.168.50.8:5555 shell "ls -al /dev/block/platform/soc@3000000/4022000.sdmmc/by-name" total 0 drwxr-xr-x 2 root root 540 1969-12-31 19:00 . drwxr-xr-x 3 root root 620 1969-12-31 19:00 .. lrwxrwxrwx 1 root root 21 1969-12-31 19:00 Reserve0 -> /dev/block/mmcblk0p24 lrwxrwxrwx 1 root root 20 1969-12-31 19:00 boot_a -> /dev/block/mmcblk0p5 lrwxrwxrwx 1 root root 20 1969-12-31 19:00 boot_b -> /dev/block/mmcblk0p6 lrwxrwxrwx 1 root root 20 1969-12-31 19:00 bootloader_a -> /dev/block/mmcblk0p1 lrwxrwxrwx 1 root root 20 1969-12-31 19:00 bootloader_b -> /dev/block/mmcblk0p2 lrwxrwxrwx 1 root root 21 1969-12-31 19:00 dtbo_a -> /dev/block/mmcblk0p21 lrwxrwxrwx 1 root root 21 1969-12-31 19:00 dtbo_b -> /dev/block/mmcblk0p22 lrwxrwxrwx 1 root root 21 1969-12-31 19:00 empty -> /dev/block/mmcblk0p18 lrwxrwxrwx 1 root root 20 1969-12-31 19:00 env_a -> /dev/block/mmcblk0p3 lrwxrwxrwx 1 root root 20 1969-12-31 19:00 env_b -> /dev/block/mmcblk0p4 lrwxrwxrwx 1 root root 21 1969-12-31 19:00 frp -> /dev/block/mmcblk0p17 lrwxrwxrwx 1 root root 21 1969-12-31 19:00 media_data -> /dev/block/mmcblk0p23 lrwxrwxrwx 1 root root 21 1969-12-31 19:00 metadata -> /dev/block/mmcblk0p19 lrwxrwxrwx 1 root root 21 1969-12-31 19:00 misc -> /dev/block/mmcblk0p10 lrwxrwxrwx 1 root root 21 1969-12-31 19:00 private -> /dev/block/mmcblk0p20 lrwxrwxrwx 1 root root 20 1969-12-31 19:00 super -> /dev/block/mmcblk0p9 lrwxrwxrwx 1 root root 21 1969-12-31 19:00 userdata -> /dev/block/mmcblk0p25 lrwxrwxrwx 1 root root 21 1969-12-31 19:00 vbmeta_a -> /dev/block/mmcblk0p11 lrwxrwxrwx 1 root root 21 1969-12-31 19:00 vbmeta_b -> /dev/block/mmcblk0p12 lrwxrwxrwx 1 root root 21 1969-12-31 19:00 vbmeta_system_a -> /dev/block/mmcblk0p13 lrwxrwxrwx 1 root root 21 1969-12-31 19:00 vbmeta_system_b -> /dev/block/mmcblk0p14 lrwxrwxrwx 1 root root 21 1969-12-31 19:00 vbmeta_vendor_a -> /dev/block/mmcblk0p15 lrwxrwxrwx 1 root root 21 1969-12-31 19:00 vbmeta_vendor_b -> /dev/block/mmcblk0p16 lrwxrwxrwx 1 root root 20 1969-12-31 19:00 vendor_boot_a -> /dev/block/mmcblk0p7 lrwxrwxrwx 1 root root 20 1969-12-31 19:00 vendor_boot_b -> /dev/block/mmcblk0p8 sudo adb -s 192.168.x.x:5555 pull /dev/block/platform/soc@3000000/4022000.sdmmc/by-name/boot_a mv boot_a boot_a.img ./gradlew unpack cd build cd unzip_boot Your dtb will either be in "boot_a" or "vendor_boot_a". Android_boot_image_editor will extract it. if the commands don't work you can browse the folders. Find the correct path. sudo adb shell su cd /dev/block/platform/
-
I'm using BCM4335A0.hcd. It's from my original android.
-
I removed both xxx-supply lines and it doesn't work for me.. I guess 1.8V is the default for vddio-supply. I forgot to ask you, can I have your wifi/bt firmware. I want to add them to packages/blobs/station/firmware/brcm/. Also, do you have problems with the loop device while building armbian? Sometimes I have to build more than once. I think it has to do with root permissions.
-
Can you check dmesg and see if your wifi is loading.. might be asking for a firmware. If not, OrangePi-Zero2 uses the same wifi/bt aw859a chip. You can borrow code off that board to get WIFI to work. https://github.com/orangepi-xunlong/linux-orangepi/blob/orange-pi-6.1-sun50iw9/arch/arm64/boot/dts/allwinner/sun50i-h616-orangepi-zero2.dts reg_vcc33_wifi: vcc33-wifi { /* Always on 3.3V regulator for WiFi and BT */ compatible = "regulator-fixed"; regulator-name = "vcc33-wifi"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; regulator-always-on; vin-supply = <®_vcc5v>; }; reg_vcc_wifi_io: vcc-wifi-io { /* Always on 1.8V/300mA regulator for WiFi and BT IO */ compatible = "regulator-fixed"; regulator-name = "vcc-wifi-io"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; regulator-always-on; vin-supply = <®_vcc33_wifi>; }; wifi_pwrseq: wifi-pwrseq { compatible = "mmc-pwrseq-simple"; clocks = <&rtc 1>; clock-names = "osc32k-out"; reset-gpios = <&pio 6 18 GPIO_ACTIVE_LOW>; /* PG18 */ post-power-on-delay-ms = <200>; }; . . . &mmc1 { vmmc-supply = <®_vcc33_wifi>; vqmmc-supply = <®_vcc_wifi_io>; mmc-pwrseq = <&wifi_pwrseq>; bus-width = <4>; non-removable; mmc-ddr-1_8v; status = "okay"; }; Are you using my latest build? I added hdmi audio recently. Maybe you compiled an old build or the current kernel? make sure you are using the edge kernel 6.7 because I haven't added the hdmi audio patches to the 6.6 kernel yet. Some boards have both 100Mbit and 1Gbit Ethernet. 100Mbit comes from the internal SOC PHY. You probably have a external 1Gbit Ethernet chip on your board. I haven't added support for that. I think some Orange pi boards have both. https://www.amazon.ca/Android-Quad-core-Mali-T720MP2-Support-Ethernet/dp/B07L2T9L7J?th=1 here it says you have: LAN: Ethernet:10/100M,standard RJ-45 Is this the same board?
-
Hi Dave2024 We need more information. Which board are you using? can you post some pictures.
-
You can keep your voltage the way it is.. but we would have to make a separate armbian build config and DTS for your board. https://github.com/NickAlilovic/build/tree/main/config/boards
-
I finally got bluetooth working... + bluetooth { + compatible = "brcm,bcm43438-bt"; + shutdown-gpios = <&pio 6 19 GPIO_ACTIVE_HIGH>; /* PG19 */ + clocks = <&rtc CLK_OSC32K_FANOUT>; + host-wakeup-gpios = <&pio 6 16 GPIO_ACTIVE_HIGH>; /* PG16 */ + clock-names = "lpo"; + vddio-supply = <®_dldo1>; + device-wakeup-gpios = <&pio 6 17 GPIO_ACTIVE_HIGH>; /* PG17 */ + vbat-supply = <®_dldo1>; + }; }; vddio-supply needed 3.3v on my BT module. Can you check if 3.3v works stable on your board? you just need to edit your patch. It won't break your patch. Miniarch uses 3.3v also on vontar and a few other tv boxes.
-
I only have the on board BT module. Now it shows hci0. [ 9.927998] Bluetooth: hci0: command 0x0c03 tx timeout [ 9.928065] Bluetooth: hci0: BCM: Reset failed (-110) I also noticed in the android DTS the max voltage settings for aldo1 and dldo1 is set to 3.5V. Whereas, the armbian kernel has 1.8V for aldo1 and 3.3V for dldo1. Maybe that will make a difference? ldo1 { regulator-name = "axp1530-aldo1"; regulator-min-microvolt = <0x7a120>; regulator-max-microvolt = <0x3567e0>; regulator-step-delay-us = <0x19>; regulator-final-delay-us = <0x32>; regulator-always-on; phandle = <0x1d>; }; ldo2 { regulator-name = "axp1530-dldo1"; regulator-min-microvolt = <0x7a120>; regulator-max-microvolt = <0x3567e0>; regulator-step-delay-us = <0x19>; regulator-final-delay-us = <0x32>; regulator-always-on; phandle = <0x1c>; };
-
I'm trying to figure out the GPIO settings for my BT module. It seems to be the same as Transpeed M98-8K. bt { compatible = "allwinner,sunxi-bt"; clocks = <0x0e 0x04>; clock-names = "osc32k-out"; bt_power; bt_rst_n = <0x23 0x06 0x13 0x01>; phandle = <0xcf>; }; btlpm { compatible = "allwinner,sunxi-btlpm"; status = "okay"; uart_index = <0x01>; bt_wake = <0x23 0x06 0x11 0x00>; bt_hostwake = <0x23 0x06 0x10 0x00>; wakeup-source; phandle = <0xd1>; }; The only thing I see different in my DTS compared to your DTS is the phandle values. I couldn't find anything that would help with gpioinfo. Which gpio utilities did you use? or commands to figure out your GPIO settings?