PINE64

Full Version: Networking Issues (Actually really Solved x2!)
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2
I have rev 2.2 of the clusterboard and am having a ton of issues. The only image I have been able to get to bring network up is ayafun's xenial minimal, archlinux, armbian and others won't bring network up, but will boot. 

Anyone work through these issues?
Hi, did you get your serial console working? The Clusterboard I have is a pre-production model and it was working out of the box with legacy images from ayufan or Armbian, for mainline I had to adjust the gmac tx/rx delays slightly by 500ps... maybe something changed in the hardware so I would need some logs to help Smile
(02-15-2018, 04:32 AM)xalius Wrote: [ -> ]Hi, did you get your serial console working? The Clusterboard I have is a pre-production model and it was working out of the box with legacy images from ayufan or Armbian, for mainline I had to adjust the gmac tx/rx delays slightly by 500ps... maybe something changed in the hardware so I would need some logs to help Smile

Yeah I have console working, nothing jumping out at me.
this is the error that I see on the arch linux build:

dwmac-sun8i 1c30000.ethernet eth0: Too many address, switching to promiscuous
With Xalius's help I was able to get networking working with a mainline kernel on the Arch Build. You need to adjust the network delay for the nic:

Quote:<Xalius> if you go to /boot/dtbs/allwinner
<Xalius> there is a sun50i-a64-sopine-baseboard.dtb
<Xalius> you can convert it back to text with 
<Xalius> dtc -I dtb -O dts -o mystuff.dts sun50i-a64-sopine-baseboard.dtb
<Xalius> then
<Xalius> edit 
<Xalius> nano mystuff.dts
<Xalius> and convert it back to binary
<Xalius>  dtc -I dts -O dtb -o sun50i-a64-sopine-baseboard.dtb mystuff.dts

The fields to add are: 

Quote:<Xalius> allwinner,tx-delay-ps = <500>;

<Xalius> allwinner,rx-delay-ps = <500>

And here is a pastebin of where to add it, with it added. 

https://pastebin.com/dU1ai6Xt


After that reboot! And networking should now work with the mainline kernel, I am also going to see if there is a way to get this into future builds so you don't even have to think about it.
So this looks to be fun:

Off of my switch the offset seems to work only with 200.

Direct connected to my router it only works with 500. 

Based on my understanding that means there might be a deeper issue.
my experience has been that software has to be kinda matched to the hardware. it's been that way since 56K modems. people tend to think there is one magical setting in software that will deliver the same results across all kinds of hardware and that is simply not the case most of the time.
I figured it out, looks like all you need to do is set allwinner,tx-delay-ps = <200>; to a value greater then 200. Works fine and I get full throughput. I think that when I was moving both values around it would fix one and then break the other.

I am looking at what I need to do to get it in the OS builds.
(02-17-2018, 10:35 PM)aww Wrote: [ -> ]I figured it out, looks like all you need to do is set allwinner,tx-delay-ps = <200>; to a value greater then 200. Works fine and I get full throughput. I think that when I was moving both values around it would fix one and then break the other.

I am looking at what I need to do to get it in the OS builds.



Thank you very much for outlining the fix! It worked for me with a clusterboard and armbian nightly (mainline kernel).



It added the following line in the section "[email protected] {":
allwinner,tx-delay-ps = <500>;
Hi,

Could we simply make a pull-request with the modification presented above here : https://github.com/torvalds/linux/blob/m....dtsi#L508 ?

If yes then, does setting the "allwinner,tx-delay-ps = <500>;" break the network on the sopine module when in the baseboard instead of the clusterboard (I only own the clusterboard) ?

If not then would making such a pull request not correct the armbian nightly build issue ? I have no idea where the original sun50i-a64-sopine-baseboard.dts file comes from if not the one linked above.

EDIT: I have dug a bit into the automated nightly build and it seems the kernel sources comes from : https://git.kernel.org/pub/scm/linux/ker....git/tree/

So making a pull-request in github should be mirrored here https://git.kernel.org/pub/scm/linux/ker....16.y#n508
But would not we need to do the pull request in every kernel version branch that needs to be patched ? (4.13.* and 4.14.* ?)
Pages: 1 2