Jump to content

allwinner h6 ethernet internal error


1553416172@qq.com

Recommended Posts

I have met an ethernet internal error. error log

 

[    2.003302] Internal error: Oops: 96000004 [#1] SMP
[    2.008184] Modules linked in:
[    2.011243] CPU: 1 PID: 33 Comm: kworker/1:1 Not tainted 4.19.12-sunxi64 #5.68
[    2.018458] Hardware name: Orange Pi One+ (DT)
[    2.022909] Workqueue: events deferred_probe_work_func
[    2.028045] pstate: 80000005 (Nzcv daif -PAN -UAO)
[    2.032837] pc : sun8i_dwmac_probe+0x16c/0x550
[    2.037277] lr : sun8i_dwmac_probe+0x21c/0x550
[    2.041715] sp : ffff000009273b00
[    2.045027] x29: ffff000009273b00 x28: 0000000000000000 
[    2.050337] x27: ffff000008d9eb30 x26: ffff000008c023a8 
[    2.055647] x25: ffff800077fe2308 x24: ffff000008c58000 
[    2.060957] x23: ffff800075164810 x22: ffff800075164800 
[    2.066267] x21: ffff800009a15c18 x20: ffff800075059c98 
[    2.071577] x19: ffff000008d88000 x18: ffff000008d90000 
[    2.076887] x17: 0000000000000001 x16: 0000000000000019 
[    2.082197] x15: ffff000008daa000 x14: 2e726f74616c7567 
[    2.087507] x13: ffff000008c96000 x12: 0000000000000030 
[    2.092816] x11: 0101010101010101 x10: 7f7f7f7f7f7f7f7f 
[    2.098126] x9 : feff727264626260 x8 : ffff0000092737c8 
[    2.103435] x7 : 0000000000000000 x6 : 0000000000000003 
[    2.108745] x5 : 0000000000000002 x4 : 0000000000000003 
[    2.114055] x3 : 0000000000000000 x2 : ffff000009273b70 
[    2.119365] x1 : ffff800009a16000 x0 : ffff800075164810 
[    2.124679] Process kworker/1:1 (pid: 33, stack limit = 0x(____ptrval____))
[    2.131635] Call trace:
[    2.134084]  sun8i_dwmac_probe+0x16c/0x550
[    2.138182]  platform_drv_probe+0x50/0xa0
[    2.142193]  really_probe+0x1c4/0x298
[    2.145857]  driver_probe_device+0x58/0x100
[    2.150039]  __device_attach_driver+0x98/0xf0
[    2.154397]  bus_for_each_drv+0x64/0xc8
[    2.158234]  __device_attach+0xd8/0x130
[    2.162070]  device_initial_probe+0x10/0x18
[    2.166254]  bus_probe_device+0x90/0x98
[    2.170089]  deferred_probe_work_func+0x74/0xb0
[    2.174621]  process_one_work+0x1e4/0x360
[    2.178631]  worker_thread+0x268/0x4b0
[    2.182381]  kthread+0x128/0x130
[    2.185611]  ret_from_fork+0x10/0x1c
[    2.189188] Code: f9401283 9101c3a2 aa1703e0 f9400463 (a9401464) 
[    2.195279] ---[ end trace 2d0d6db1bbcb41cc ]---

 

I try to solve this error, but I can not modify source code. running compile.sh scripts makes patch cover my work. The only way I know is to modify patch which makes debug process complicated and inconvinent. Furthermore, every time I running compiles.sh, it seems that most part of source code are downloaded from scratch. That waste a lot of time.

 

So,  I wander if there is a way just to modify source code and compile. With banning patch cover and redownload source code 

 

Or, is another way to fixed this error. 

 

A guy met this error,link:https://forum.armbian.com/topic/9131-h6-after-apt-upgrade/. I can not find a way to switch kernel version to 4.18.0-rc7

 

 


 

Edited by 1553416172@qq.com
Link to comment
Share on other sites

4 hours ago, 1553416172@qq.com said:

I try to solve this error, but I can not modify source code. running compile.sh scripts makes patch cover my work.

The only way I know is to modify patch which makes debug process complicated and inconvinent.

with "modify patch" do you mean the patch-option inside  ./build/config-default.conf ?

CREATE_PATCHES="yes"   # wait that you make changes to uboot and kernel source and creates patches

Maybe you have less download when setting CLEAN_LEVEL to another value?
 

CLEAN_LEVEL="make,debs,oldcache"        # comma-separated list of clean targets: "make" = make clean for selected kernel and u-boot,
                                        # "debs" = delete packages in "./output/debs" for current branch and family,
                                        # "alldebs" = delete all packages in "./output/debs", "images" = delete "./output/images",
                                        # "cache" = delete "./output/cache", "sources" = delete "./sources"
                                        # "oldcache" = remove old cached rootfs except for the newest 6 files


 

Link to comment
Share on other sites

After you run

compile.sh

the first time a 

userpatches 

directory is created where you can place own patches.

 

Until now the only kernel known to work is 4.18.0-rc7.

 

Quote

A guy met this error,link:https://forum.armbian.com/topic/9131-h6-after-apt-upgrade/. I can not find a way to switch kernel version to 4.18.0-rc7

I do not know if pure Debian packages with this specific kernel image still existing somewhere, but AFAIK are the latest precompiled images for OPi 1+ and Lite2 are still shipped with this kernel. So if you have one of these boards you may start over and freeze the kernel from being upgraded using

armbian-config

 

Link to comment
Share on other sites

19 hours ago, guidol said:

with "modify patch" do you mean the patch-option inside  ./build/config-default.conf ?


CREATE_PATCHES="yes"   # wait that you make changes to uboot and kernel source and creates patches

Maybe you have less download when setting CLEAN_LEVEL to another value?
 


CLEAN_LEVEL="make,debs,oldcache"        # comma-separated list of clean targets: "make" = make clean for selected kernel and u-boot,
                                        # "debs" = delete packages in "./output/debs" for current branch and family,
                                        # "alldebs" = delete all packages in "./output/debs", "images" = delete "./output/images",
                                        # "cache" = delete "./output/cache", "sources" = delete "./sources"
                                        # "oldcache" = remove old cached rootfs except for the newest 6 files


 

modified config-default.conf, changed master to sunxi-4.18

#LIB_TAG="master"                       # change to "branchname" to use any branch currently available.
LIB_TAG="sunxi-4.18"                    # change to "branchname" to use any branch currently available.

 

and compiled, found out that cache/sources/linux-mainline/orange-pi-4.19/ still being used to compiled. Does it mean kernel version is 4.19 ?

Link to comment
Share on other sites

18 hours ago, Werner said:

After you run


compile.sh

the first time a 


userpatches 

directory is created where you can place own patches.

 

Until now the only kernel known to work is 4.18.0-rc7.

 

I do not know if pure Debian packages with this specific kernel image still existing somewhere, but AFAIK are the latest precompiled images for OPi 1+ and Lite2 are still shipped with this kernel. So if you have one of these boards you may start over and freeze the kernel from being upgraded using


armbian-config

modify code and then using git to generate patches, copy or move patches to userpatches directory. Is it a correct manner for employing userpatched?

and still confused with armbian-config, what is it? And how to use. Does armbian-config point to config-default.conf

 

 

Link to comment
Share on other sites

Yes, I think this is the way to go.

 

armbian-config has nothing to do with the build system. It is a independent tool to set various system values, switch/freeze kernel version, and so on within a running Armbian system. Sorry for confusion.

Link to comment
Share on other sites

13 hours ago, 1553416172@qq.com said:

good to know how to disable ethernet, but have to use ethernet on board. So have to find a way to fixed this bug

We, Armbian Devs, didn't found a way to fix that issue yet, so you will need another way to get ethernet, such as USB adaptor ...

Link to comment
Share on other sites

6 hours ago, Werner said:

Is this something known or worth trying?

I don't know, but this leave me in big doubts, since this 0x03000030 doesn't point to any kind of registers in the Allwinner datasheets or specs

Quote

emac: ethernet@5020000 {
compatible = "allwinner,sun50i-a64-emac";
syscon = <&syscon>;
reg = <0x05020000 0x10000>,
<0x0 0x03000030 0x4>;
interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;

 

EDIT : It seems that only "compatible" change is required, although this is pretty much a hack, since it doesn't use H6 compatible that @Icenowy delivered ...

Link to comment
Share on other sites

On 1/22/2019 at 5:06 AM, martinayotte said:

I don't know, but this leave me in big doubts, since this 0x03000030 doesn't point to any kind of registers in the Allwinner datasheets or specs

 

EDIT : It seems that only "compatible" change is required, although this is pretty much a hack, since it doesn't use H6 compatible that @Icenowy delivered ...

0x03000030 points to ephy register which H6 specification does not mention. Refer to kernel/drivers/net/phy/sunxi-ephy.c  kernel/drivers/mfd/acx00-core.c and kernel/arch/arm64/boot/dts/sun50iw6p1.dtsi, if you can find linux 3.10.65 from allwinner. 

 

Ethernet don't work with linux 4.19 because of missing phy driver. My boss make me to give it up, cause wasting a lot of time. So, I have no time to transplant phy driver to linux 4.19.

 

You can refer to H6 spercs 3.20 ATE(audio codec, tve, ephy) controller、8.8 emac and 8.13 ephy setions from Allwinner_H6 V200_User_Manual_V1.1.pdf
 

Looking forward to you work

Allwinner_H6 V200_User_Manual_V1.1.pdf

 

@martinayotte 

Link to comment
Share on other sites

If it helps anyone,  I've been running succesfully with gigabit ethernet on eth0 using the dts and h6 dtsi from Icenowy's

 aosc-sunxi64-4.19-malimidgard-hack-2

 

branch and the armbian dev kernel .    I force a stable mac_address by adding  

allow-hotplug  eth0 
iface eth0 inet dhcp
    hwaddress ether xx:xx:xx:xx:xx:xx  (replace the xx's of course with a good address)

 

in the /etc/network/interfaces  file.  

 

I haven't yet been able to get spi-jedec-nor  flashed to enable sdi boot,  I get an error indicating that there is a mismatch between what is specified in the DTS vs the overlay, but I am booting off of an sd card with the file system on a usb connected ssd.

I'm going to try to build with the mainline 5 kernel soon,  to see If I can pick up the new graphics drivers...

 

I believe version B of the device is supposed to be out soon...

Link to comment
Share on other sites

On 1/30/2019 at 3:07 AM, belfastraven said:

If it helps anyone,  I've been running succesfully with gigabit ethernet on eth0 using the dts and h6 dtsi from Icenowy's

 aosc-sunxi64-4.19-malimidgard-hack-2

 

branch and the armbian dev kernel .    I force a stable mac_address by adding  

allow-hotplug  eth0 
iface eth0 inet dhcp
    hwaddress ether xx:xx:xx:xx:xx:xx  (replace the xx's of course with a good address)

 

in the /etc/network/interfaces  file.  

 

I haven't yet been able to get spi-jedec-nor  flashed to enable sdi boot,  I get an error indicating that there is a mismatch between what is specified in the DTS vs the overlay, but I am booting off of an sd card with the file system on a usb connected ssd.

I'm going to try to build with the mainline 5 kernel soon,  to see If I can pick up the new graphics drivers...

 

I believe version B of the device is supposed to be out soon...

May you share your working configuration as PR to armbian-build on Github? H6 is still WIP and I guess the cutback that comes with it (hwaddress) is justifiable ... and it is still development, right? ;)

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