Got around to trying it on my line with my 8324, works great although I needed the sleep duration increased a little, guess the 8324 takes longer to boot.
Also refined it a little to avoid any confusion over file names, this is the only change to the firmware - added to /etc/profile:
if [ ! -f /data/boot-cmds.sh ];
then
echo "Creating initial boot-cmds.sh"
echo "#!/bin/bash" > /data/boot-cmds.sh
echo "" >> /data/boot-cmds.sh
echo "sleep 30" >> /data/boot-cmds.sh
echo "" >> /data/boot-cmds.sh
echo "# Place any commands here to run at boot" >> /data/boot-cmds.sh
echo "# eg:" >> /data/boot-cmds.sh
echo "" >> /data/boot-cmds.sh
echo "#xdslctl configure --maxDataRate 25000 2000 27000" >> /data/boot-cmds.sh
chmod +x /data/boot-cmds.sh
else
echo "Running custom boot commands"
/data/./boot-cmds.sh &
fi
So it tests if the file exists and creates a placeholder if not for you to edit. Editing does require using vi, which may be slightly uncomfortable if you have not used it before:
Login as supervisor or if just normal admin user then issue this to gain proper shell:
xtm && sh
Change to the data directory and edit using vi:
cd /data
vi boot-cmds.sh
Key "i" to enter insert mode and either uncomment the example line or write your own, eg:
xdslctl configure --snr 75
or
xdslctl configure --maxDataRate 25000 2000 27000
Escape key to exit insert mode and ":x" to save and quit. You can test to see if the command works as expected by:
./boot-cmds.sh
Wait 30 seconds then check for your changed settings with:
xdslctl info --cfg
For example my line now capped shows:
adslAnnexAParam: 00000980
adslTrainingMarginQ4: -1
adslShowtimeMarginQ4: -1
adslLOMTimeThldSec: -1
adslDemodCapMask: 00000000
adslDemodCapValue: 00000000
adsl2Param: 00000000
adslPwmSyncClockFreq: 0
adslHsModeSwitchTime: 0
adslDemodCap2Mask: 00000000
adslDemodCap2Value: 00000000
vdslParam: 007f00ff
vdslParam1: 00000000
xdslAuxFeaturesMask: 00000000
xdslAuxFeaturesValue: 00000000
vdslCfgFlagsMask: 00000000
vdslCfgFlagsValue: 00000000
xdslCfg1Mask: 00000000
xdslCfg1Value: 00000000
xdslCfg2Mask: 00000000
xdslCfg2Value: 00000000
xdslCfg3Mask: 00000000
xdslCfg3Value: 00000000
xdslCfg4Mask: 00000000
xdslCfg4Value: 00000000
maxDsDataRateKbps: 20000
maxUsDataRateKbps: 2000
maxAggrDataRateKbps: 25000
xdslMiscCfgParam: 00000000
AFE_ID: 10608700 00000000
Should do all this with the modem disconnected from the line to avoid causing several resyncs. Now reboot the modem and check again with "xdslctl info --cfg" to make sure its applied at boot.
I have tried putting faulty commands in the boot-cmds.sh file and no harm done to the boot, so unless you put something seriously bad like "reboot" in there I cant see any issues. If you wish to disable it just comment everything in the file out or just delete it, another placeholder will be made after a reboot with nothing but the sleep command in.
As always disclaimer that even though I have tested on several modems you are flashing at your own risk etc etc.
With just the jumboframes patches and this addition for the VMG1312-B10A:
https://www.dropbox.com/sh/vs35ss2pptlfm36/AABZkf219xF7M73dOTevx8ZBa?dl=0If anyone is interested in this for an 8324/8924 just ask and I will make one (the one I made for my 8324 has the x1 adsl_phy etc).