ichibrosan Posted July 13, 2020 Posted July 13, 2020 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.
sfx2000 Posted July 22, 2020 Posted July 22, 2020 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.
ichibrosan Posted July 22, 2020 Posted July 22, 2020 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.
dippywood Posted October 25, 2020 Posted October 25, 2020 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
Recommended Posts