Jump to content

Recommended Posts

Posted
On 3/18/2019 at 4:47 AM, BryanS said:

 

That does seem to be the case. Hopefully this will change in the future - I really want to use this thing as a hardware docker-like device. If there's any information I can provide, please let me know.

I think the clusterboard is a great product. The only problem I have with it is this network issue and once solved, this will be a very easy integration.

Now that I have a provisionally working software load for the modules, it boots reliably and the modules are very responsive.

 

What I wish we had for now, is a script we can run after doing update and upgrade that will reinstall the device tree patch reboot rebooting.

If we had that, we could upgrade with an expectation that the system would come up after reboot.

Posted
On 1/21/2019 at 7:44 AM, siffland said:

The sopine module is connected to a clusterboard instead of a sopine baseboard, but the NIC is on the module so it should not make a difference. 

 

Actually it probably makes a difference if the MAC address is not defined on the SOPINE module in the Cluster(F*ck)Board...

 

If you have collisions on the MAC address - you'll be hard to find an issue here, not just at layer 3, but also at layer 2.

Posted

I think it has something to do with the embedded switch and a timing problem. The boards boot fine in the baseboard, bit don't get DHCP service in the clusterboard.

When you use a microSD with a modified device tree, it works on both, but apt update; apt upgrade can overwrite the device tree and on the next boot, no network.

If I were good with sed I could probably engineer an automatic fix to run aftewr upgrade that would decompile, patch and recompile the device tree.

Posted

I posted just such a script on the clusterboard Pine64 forum, but here you are anyway

#!/bin/bash

DTB_NAME=sun50i-a64-sopine-baseboard.dtb
DTB_PATH=/boot/dtb/allwinner
TMPFILE=/tmp/tmp.dts
NEWFILE=/tmp/new.dts

clean_up() {
        rm $TMPFILE $NEWFILE > /dev/null 2>&1
}

if [ ! -f $DTB_PATH/$DTB_NAME ]
then
        echo dtb file not found
        exit 999
fi


dtc -I dtb -O dts -o $TMPFILE $DTB_PATH/$DTB_NAME > /dev/null 2>&1
if [ $? != 0 ]
then
        echo Cannot extract dts from $DTB_PATH/$DTB_NAME
        exit 998
fi

retcode=0
grep 'allwinner,tx-delay-ps' $TMPFILE > /dev/null 2>&1
if [ $? != 0 ]
then
        sed -e '/ethernet@1c30000 {$/,/phandle = <0x88>;/!b;/phandle = <0x88>;/a\\t\t\tallwinner,tx-delay-ps = <500>;' $TMPFILE > $NEWFILE
        if [ $? != 0 ]
        then
                echo Could not update temporary DTS file
                retcode=997
        else
                dtc -O dtb -o $DTB_PATH/$DTB_NAME -b 0 $NEWFILE > /dev/null 2>&1
                if [ $? != 0 ]
                then
                        echo Could not create new dts file
                        retcode=996
                fi
        fi

else
        echo Fix already in place
fi

clean_up

exit $retcode

 

I hope you find it useful

Guest
This topic is now closed to further replies.
×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines