|
|
@ -1,131 +0,0 @@ |
|
|
|
#!/bin/sh /etc/rc.common |
|
|
|
# Copyright (C) 2007 OpenWrt.org |
|
|
|
|
|
|
|
#start after dbus (60) |
|
|
|
START=62 |
|
|
|
|
|
|
|
append_bool() { |
|
|
|
local section="$1" |
|
|
|
local option="$2" |
|
|
|
local value="$3" |
|
|
|
local _val |
|
|
|
config_get_bool _val "$section" "$option" '0' |
|
|
|
[ $_val -gt 0 ] && append args "$3" |
|
|
|
} |
|
|
|
|
|
|
|
append_string() { |
|
|
|
local section="$1" |
|
|
|
local option="$2" |
|
|
|
local value="$3" |
|
|
|
local default="$4" |
|
|
|
local _val |
|
|
|
config_get _val "$section" "$option" "$default" |
|
|
|
[ -n "$_val" ] && append args "$3 $_val" |
|
|
|
} |
|
|
|
|
|
|
|
hcid_config() { |
|
|
|
local cfg="$1" |
|
|
|
config_get_bool enabled "$cfg" "enabled" '1' |
|
|
|
[ $enabled -gt 0 ] || return 1 |
|
|
|
args="" |
|
|
|
append_bool "$cfg" nodaemon "-n" |
|
|
|
append_string "$cfg" config "-f" |
|
|
|
service_start /usr/sbin/hcid $args |
|
|
|
} |
|
|
|
|
|
|
|
hciattach_config() { |
|
|
|
local cfg="$1" |
|
|
|
config_get_bool enabled "$cfg" "enabled" '1' |
|
|
|
[ $enabled -gt 0 ] || return 1 |
|
|
|
args="" |
|
|
|
append_string "$cfg" initspeed "-s" "115200" |
|
|
|
append_string "$cfg" tty " " "ttyS1" |
|
|
|
append_string "$cfg" type " " "csr" |
|
|
|
append_string "$cfg" speed " " "115200" |
|
|
|
append_string "$cfg" flow " " "noflow" |
|
|
|
service_start /usr/sbin/hciattach $args |
|
|
|
} |
|
|
|
|
|
|
|
rfcomm_config() { |
|
|
|
local cfg="$1" |
|
|
|
config_get_bool enabled "$cfg" "enabled" '1' |
|
|
|
[ $enabled -gt 0 ] || return 1 |
|
|
|
args="" |
|
|
|
append_string "$cfg" config "-f" |
|
|
|
/usr/bin/rfcomm $args bind all |
|
|
|
} |
|
|
|
|
|
|
|
dund_config() { |
|
|
|
local cfg="$1" |
|
|
|
config_get_bool enabled "$cfg" "enabled" '1' |
|
|
|
[ $enabled -gt 0 ] || return 1 |
|
|
|
args="" |
|
|
|
append_bool "$cfg" listen "--listen" |
|
|
|
append_string "$cfg" connect "--connect" |
|
|
|
append_string "$cfg" mrouter "--mrouter" |
|
|
|
append_bool "$cfg" search "--search" |
|
|
|
append_string "$cfg" channel "--channel" |
|
|
|
append_string "$cfg" device "--device" |
|
|
|
append_bool "$cfg" nosdp "--nosdp" |
|
|
|
append_bool "$cfg" auth "--auth" |
|
|
|
append_bool "$cfg" encrypt "--encrypt" |
|
|
|
append_bool "$cfg" secure "--secure" |
|
|
|
append_bool "$cfg" master "--master" |
|
|
|
append_bool "$cfg" nodetach "--nodetach" |
|
|
|
append_bool "$cfg" persist "--persist" |
|
|
|
append_string "$cfg" pppd "--pppd" |
|
|
|
append_bool "$cfg" msdun "--msdun" |
|
|
|
append_bool "$cfg" activesync "--activesync" |
|
|
|
append_bool "$cfg" cache "--cache" |
|
|
|
|
|
|
|
append_string "$cfg" pppdopts "" |
|
|
|
config_get ifn "$cfg" interface |
|
|
|
if [ -n "$ifn" ]; then |
|
|
|
config_get unit "$cfg" unit |
|
|
|
[ -z "$unit" ] || append args "unit $unit ipparam $ifn linkname $ifn" |
|
|
|
fi |
|
|
|
|
|
|
|
service_start /usr/bin/dund $args |
|
|
|
} |
|
|
|
|
|
|
|
pand_config() { |
|
|
|
local cfg="$1" |
|
|
|
config_get_bool enabled "$cfg" "enabled" '1' |
|
|
|
[ $enabled -gt 0 ] || return 1 |
|
|
|
args="" |
|
|
|
append_bool "$cfg" listen "--listen" |
|
|
|
append_string "$cfg" connect "--connect" |
|
|
|
append_bool "$cfg" autozap "--autozap" |
|
|
|
append_bool "$cfg" search "--search" |
|
|
|
append_string "$cfg" role "--role" |
|
|
|
append_string "$cfg" service "--service" |
|
|
|
append_string "$cfg" ethernet "--ethernet" |
|
|
|
append_string "$cfg" device "--device" |
|
|
|
append_bool "$cfg" nosdp "-D" |
|
|
|
append_bool "$cfg" auth "-A" |
|
|
|
append_bool "$cfg" encrypt "-E" |
|
|
|
append_bool "$cfg" secure "-S" |
|
|
|
append_bool "$cfg" master "-M" |
|
|
|
append_bool "$cfg" nodetach "-n" |
|
|
|
append_bool "$cfg" persist "--persist" |
|
|
|
append_bool "$cfg" cache "--cache" |
|
|
|
append_string "$cfg" pidfile "--pidfile" |
|
|
|
service_start /usr/bin/pand $args |
|
|
|
} |
|
|
|
|
|
|
|
start() { |
|
|
|
config_load bluetooth |
|
|
|
config_foreach hcid_config hcid |
|
|
|
config_foreach hciattach_config hciattach |
|
|
|
config_foreach rfcomm_config rfcomm |
|
|
|
config_foreach dund_config dund |
|
|
|
config_foreach pand_config pand |
|
|
|
} |
|
|
|
|
|
|
|
stop() { |
|
|
|
service_stop /usr/bin/dund |
|
|
|
service_stop /usr/bin/pand |
|
|
|
/usr/bin/rfcomm release all |
|
|
|
service_stop /usr/sbin/hciattach |
|
|
|
service_stop /usr/sbin/hcid |
|
|
|
} |