soloscli: allow user to apply settings to solos h/w before bringing up network (patch by Philip Prindeville)
If the network/wan configuration contains "solos0" ... "solos3" then this list of strings will be applied to the FPGA when the hardware is hotplug added. The syntax should be "tag=value", as per the values enumerated in the solos-attr.c list. In the canned example, the modem is temporarily turned off, told to detect noise, told to disable annexes M and A (effectively putting it into pure ADSL mode), and re-activated. There's probably a more appropriate function name than "dialog" but that's what I came up with. Handle other ATM hardware (Eagle, etc) besides solos-pci. SVN-Revision: 25510
This commit is contained in:
parent
404fbd8c66
commit
abfe2f1bc2
3 changed files with 43 additions and 0 deletions
|
@ -37,6 +37,8 @@ endef
|
||||||
define Package/soloscli/install
|
define Package/soloscli/install
|
||||||
$(INSTALL_DIR) $(1)/usr/bin
|
$(INSTALL_DIR) $(1)/usr/bin
|
||||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/soloscli/soloscli $(1)/usr/bin/
|
$(INSTALL_BIN) $(PKG_BUILD_DIR)/soloscli/soloscli $(1)/usr/bin/
|
||||||
|
$(INSTALL_DIR) $(1)/etc/hotplug.d/atm
|
||||||
|
$(INSTALL_DATA) ./files/etc/hotplug.d/atm/15-solos-init $(1)/etc/hotplug.d/atm/
|
||||||
endef
|
endef
|
||||||
|
|
||||||
$(eval $(call BuildPackage,soloscli))
|
$(eval $(call BuildPackage,soloscli))
|
||||||
|
|
26
package/soloscli/files/etc/hotplug.d/atm/15-solos-init
Normal file
26
package/soloscli/files/etc/hotplug.d/atm/15-solos-init
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
dialog() {
|
||||||
|
local tag="$(echo "$1" | cut -d= -f1)"
|
||||||
|
local value="$(echo "$1" | cut -d= -f2-)"
|
||||||
|
local response
|
||||||
|
|
||||||
|
response="$(soloscli -s "$port" "$tag" "$value")"
|
||||||
|
[ $? -ne 0 ] && {
|
||||||
|
logger "soloscli($port): $tag '$value' returns $response"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if [ "$ACTION" = "add" ]; then
|
||||||
|
include /lib/network
|
||||||
|
scan_interfaces
|
||||||
|
|
||||||
|
case $DEVICENAME in
|
||||||
|
solos-pci[0-3])
|
||||||
|
port="${DEVICENAME#solos-pci}"
|
||||||
|
device="solos${port}"
|
||||||
|
|
||||||
|
config_list_foreach wan "$device" dialog
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
fi
|
15
package/soloscli/files/etc/uci-default/solos
Normal file
15
package/soloscli/files/etc/uci-default/solos
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
uci batch <<__EOF__
|
||||||
|
|
||||||
|
delete network.wan.solos0
|
||||||
|
|
||||||
|
add_list network.wan.solos0="ActivateLine=Abort"
|
||||||
|
add_list network.wan.solos0="Retrain=EnableAll"
|
||||||
|
add_list network.wan.solos0="DetectNoise=Enable"
|
||||||
|
add_list network.wan.solos0="BisMCapability=Disable"
|
||||||
|
add_list network.wan.solos0="BisACapability=Disable"
|
||||||
|
add_list network.wan.solos0="ActivateLine=Start"
|
||||||
|
|
||||||
|
commit network
|
||||||
|
__EOF__
|
Loading…
Reference in a new issue