From: Aben Siatris <aben@webcom.sk>
To: bluez-users@lists.sourceforge.net
Subject: Re: [Bluez-users] No more bluez.o in 2.6?
Date: Sat, 10 Apr 2004 18:45:15 +0200 [thread overview]
Message-ID: <200404101845.15176.aben@webcom.sk> (raw)
In-Reply-To: <20040410160451.GB26618@magma.epfl.ch>
D=C5=88a Saturday 10 April 2004 18:04 ste nap=C3=ADsali:
> On Sat, Apr 10, 2004 at 05:43:00PM +0200, Aben Siatris wrote:
>=20
> Hello Aben :-)
>=20
> > ad first, you must make connection.
> > tip - add ifconfig and iptables to hotplug and
> > to /etc/init.d/net.bnep0.
> >=20
> > tail from /var/messages
> >=20
> > Apr 10 17:23:04 gentoo_aben pand[15975]: New connection from 08:00:28:8=
4:C2:E4 bnep0
> > Apr 10 17:23:04 gentoo_aben default.hotplug[15977]: arguments (net) env=
(OLDPWD=3D/ DEVPATH=3D/class/net/bnep0 PATH=3D/bin:/sbin:/usr/sbin:/usr/bi=
n ACTION=3Dadd PWD=3D/etc/hotplug HOME=3D/ SHLVL=3D2 INTERFACE=3Dbnep0 DEBU=
G=3Dyes SEQNUM=3D647 _=3D/bin/env)
> > Apr 10 17:23:04 gentoo_aben default.hotplug[15977]: invoke /etc/hotplug=
/net.agent ()
> > Apr 10 17:23:04 gentoo_aben net.agent[15977]: script=3D/etc/init.d/net.=
bnep0 in action add
> > Apr 10 17:23:04 gentoo_aben net.agent[15977]: adding bnep0
> >=20
> > and now i am in lan and internet with mi ipaq
> >=20
> > (sorry for my english :)
>=20
> If your prefer French or German (only language I know).
>=20
> Would it be possible to have a complete example (I mean just the script
> you use)?
yes, no problem :)
bash-2.05b# more /etc/init.d/bluetooth
#!/sbin/runscript
# Copyright 1999-2004 Gentoo Technologies, Inc.
# Distributed under the terms of the GNU General Public License v2
# $Header: /home/cvsroot/gentoo-x86/net-wireless/bluez-utils/files/bluetoot=
h.rc,v 1.3 2004/03/06 03:52:52 vapie
r Exp $
UART_CONF=3D"/etc/bluetooth/uart"
depend() {
after hotplug
}
start_uarts() {
[ -f /usr/sbin/hciattach -a -f ${UART_CONF} ] || return
grep -v '^#' $UART_CONF | while read i; do
/usr/sbin/hciattach $i
done
}
stop_uarts() {
killall hciattach > /dev/null 2>&1
}
start() {
local RETVAL
ebegin "Starting Bluetooth"
[ -x /usr/sbin/hcid ] && \
start-stop-daemon --start --quiet --exec /usr/sbin/hcid
RETVAL=3D$?
[ $RETVAL -a -x /usr/sbin/sdpd ] && \
start-stop-daemon --start --quiet --exec /usr/sbin/sdpd
RETVAL=3D$?
start_uarts
eend ${RETVAL}
}
stop() {
local RETVAL
ebegin "Shutting down Bluetooth"
[ -x /usr/sbin/hcid ] && \
start-stop-daemon --stop --quiet --exec /usr/sbin/hcid
RETVAL=3D$?
[ -x /usr/sbin/sdpd ] && \
start-stop-daemon --stop --quiet --exec /usr/sbin/sdpd
RETVAL=3D$?
stop_uarts
eend ${RETVAL}
}
bash-2.05b# more /etc/init.d/bluetooth_pan
#!/sbin/runscript
# Distributed under the terms of the GNU General Public License, v2 or later
depend() {
need bluetooth
}
start() {
local RETVAL
ebegin "Starting Bluetooth PAN"
[ -x /usr/bin/pand ] && \
start-stop-daemon --start --quiet --exec /usr/bin/pand --\
--listen --role NAP
RETVAL=3D$?
[ $RETVAL -a -x /usr/bin/dund ] && \
start-stop-daemon --start --quiet --exec /usr/bin/dund --\
--listen --msdun call dun
RETVAL=3D$?
eend ${RETVAL}
}
stop() {
local RETVAL
ebegin "Shutting down Bluetooth PAN"
[ -x /usr/bin/pand ] && \
start-stop-daemon --stop --quiet --exec /usr/bin/pand
RETVAL=3D$?
[ -x /usr/bin/dund ] && \
start-stop-daemon --stop --quiet --exec /usr/bin/dund
RETVAL=3D$?
eend ${RETVAL}
}
bash-2.05b# more /etc/conf.d/net.bnep0
# /etc/conf.d/net:
iface_bnep0=3D"192.168.20.1 broadcast 192.168.20.255 netmask 255.255.255.0"
gateway=3D"eth0/192.168.0.1" # is this right?
bash-2.05b# more /etc/init.d/net.bnep0
#!/sbin/runscript
#NB: Config is in /etc/conf.d/net
depend() {
use hotplug bluetooth
}
checkconfig() {
if [ -z "${iface_IFACE}" ]
then
eerror "Please make sure that /etc/conf.d/net has \$iface_$=
IFACE set"
return 1
fi
if [ -n "${vlans}" -a \! -x /sbin/vconfig ]
then
eerror "For VLAN (802.1q) support, emerge net-misc/vconfig"
return 1
fi
}
setup_env() {
# No reason to check these multiple times in the file
iface=3D"${1/\./_}"
iface_IFACE=3D"$(eval echo \$\{iface_${iface}\})"
dhcpcd_IFACE=3D"$(eval echo \$\{dhcpcd_${iface}\})"
inet6_IFACE=3D"$(eval echo \$\{inet6_${iface}\})"
alias_IFACE=3D"$(eval echo \$\{alias_${iface}\})"
status_IFACE=3D"$(ifconfig | gawk -v IFACE=3D"${iface}" '$0 ~ /Link=
/ { if ($1 =3D=3D IFACE) print "up" }')"
vlans=3D"$(eval echo \$\{iface_${IFACE}_vlans\})"
}
iface_start() {
local retval=3D0
setup_env ${1}
checkconfig || return 1
local IFACE=3D"${1}"
ebegin "Bringing ${IFACE} up"
if [ "${iface_IFACE}" !=3D "dhcp" ]
then
/sbin/ifconfig ${IFACE} ${iface_IFACE} >/dev/null || {
retval=3D$?
eend ${retval} "Failed to bring ${IFACE} up"
return ${retval}
}
# ifconfig do not always return failure ..
/sbin/ifconfig ${IFACE} &> /dev/null || {
retval=3D$?
eend ${retval} "Failed to bring ${IFACE} up"
return ${retval}
}
else
# Check that eth0 was not brough up by the kernel ...
if [ "${status_IFACE}" !=3D "up" ]
then
/sbin/dhcpcd ${dhcpcd_IFACE} ${IFACE} >/dev/null ||=
{
retval=3D$?
eend ${retval} "Failed to bring ${IFACE} up"
return ${retval}
}
fi
fi
eend 0
if [ -n "${alias_IFACE}" ]
then
local x=3D""
local num=3D0
local aliasbcast=3D""
local aliasnmask=3D""
ebegin " Adding aliases"
for x in ${alias_IFACE}
do
aliasbcast=3D"$(eval echo \$\{broadcast_${iface}\} =
\| awk \'\{ print \$$((num + 1)) \}\')
"
if [ -n "${aliasbcast}" ]
then
aliasbcast=3D"broadcast ${aliasbcast}"
fi
aliasnmask=3D"$(eval echo \$\{netmask_${iface}\} \|=
awk \'\{ print \$$((num + 1)) \}\')"
if [ -n "${aliasnmask}" ]
then
aliasnmask=3D"netmask ${aliasnmask}"
fi
ebegin " ${IFACE}:${num}"
/sbin/ifconfig ${IFACE}:${num} ${x} \
${aliasbcast} ${aliasnmask} >/dev/null
num=3D$((num + 1))
eend 0
done
save_options "alias" "${alias_IFACE}"
fi
if [ -n "${inet6_IFACE}" ]
then
local x=3D""
ebegin " Adding inet6 addresses"
for x in ${inet6_IFACE}
do
ebegin " ${IFACE} inet6 add ${x}"
/sbin/ifconfig ${IFACE} inet6 add ${x} >/dev/null
eend 0
done
save_options "inet6" "${inet6_IFACE}"
fi
if [ -n "${gateway}" ] && [ "${gateway%/*}" =3D "${IFACE}" ]
then
ebegin " Setting default gateway"
# First delete any existing routes if it was setup by kerne=
l ..
/sbin/route del default dev ${gateway%/*} &>/dev/null
/sbin/route add default gw ${gateway#*/} dev ${gateway%/*} \
netmask 0.0.0.0 metric 1 >/dev/null || {
local error=3D$?
ifconfig ${IFACE} down &>/dev/null
eend ${error} "Failed to bring ${IFACE} up"
stop
return ${error}
}
eend 0
fi
# Enabling rp_filter causes wacky packets to be auto-dropped by
# the kernel. Note that we only do this if it is not set via
# /etc/sysctl.conf ...
if [ -e /proc/sys/net/ipv4/conf/${IFACE}/rp_filter ] && \
[ -z "$(egrep '^[^#]*rp_filter' /etc/sysctl.conf 2>/dev/null)" ]
then
echo 1 > /proc/sys/net/ipv4/conf/${IFACE}/rp_filter
fi
}
iface_stop() {
local myalias=3D"$(get_options alias)"
local myinet6=3D"$(get_options inet6)"
setup_env ${1}
local IFACE=3D"${1}"
ebegin "Bringing ${IFACE} down"
# Also down the inet6 interfaces
if [ -n "${myinet6}" ]
then
local x=3D""
for x in ${myinet6}
do
/sbin/ifconfig ${IFACE} inet6 del ${x} >/dev/null
done
fi
# Do some cleanup in case the amount of aliases change
if [ -n "${myalias}" ]
then
local x=3D""
local num=3D0
for x in ${myalias}
do
/sbin/ifconfig ${IFACE}:${num} down >/dev/null
num=3D$((num + 1))
done
fi
if [ "${iface_IFACE}" =3D "dhcp" ]
then
local count=3D0
while /sbin/dhcpcd -z ${IFACE} &>/dev/null && [ "${count}" =
=2Dlt 9 ]
do
# Give dhcpcd time to properly shutdown
sleep 1
count=3D$((count + 1))
done
if [ "${count}" -ge 9 ]
then
eerror "Timed out trying to stop dhcpcd"
fi
else
/sbin/ifconfig ${IFACE} down >/dev/null
fi
eend 0
}
start() {
iface_start ${IFACE} || return 1
for vlan in ${vlans}
do
/sbin/vconfig add ${IFACE} ${vlan} >/dev/null
iface_start ${IFACE}.${vlan}
done
}
stop () {
setup_env ${IFACE}
checkconfig || return 1
for vlan in ${vlans}
do
iface_stop ${IFACE}.${vlan}
/sbin/vconfig rem ${IFACE}.${vlan} >/dev/null
done
iface_stop ${IFACE}
}
bash-2.05b# more /etc/hotplug/net.agent
#!/bin/bash
#
cd /etc/hotplug
=2E hotplug.functions
DEBUG=3Dyes export DEBUG
if [ "$INTERFACE" =3D "" ]; then
mesg Bad NET invocation: \$INTERFACE is not set
exit 1
fi
script=3D/etc/init.d/net.$INTERFACE
debug_mesg "script=3D/etc/init.d/net.$INTERFACE in action $ACTION"
case $ACTION in
add|register)
# Don't do anything if the network is stopped
# if [ ! -f /var/lock/subsys/network ]; then
# exit 0
# fi
debug_mesg "adding $INTERFACE"
case $INTERFACE in
# interfaces that are registered after being "up" (?)
ppp*|ippp*|isdn*|plip*|lo*|irda*|dummy*|ipsec*|tun*|tap*)
debug_mesg assuming $INTERFACE is already up
exit 0
;;
# interfaces that are registered then brought up
*)
export IN_HOTPLUG=3D1
if [ -x "$script" ]; then
debug_mesg invoke "$script" --quiet start
exec "$script" --quiet start
fi
exit 0
;;
esac
mesg $1 $ACTION event not handled
;;
unregister|remove)
case $INTERFACE in
# interfaces that are unregistered after being "down" (?)
ppp*|ippp*|isdn*|plip*|lo*|irda*)
debug_mesg assuming $INTERFACE is already down
exit 0
;;
*)
if [ -x "$script" ]; then
debug_mesg invoke "$script" --quiet stop
exec "$script" --quiet stop
fi
exit 0
;;
esac
mesg $1 $ACTION event not handled
;;
*)
debug_mesg NET $ACTION event for $INTERFACE not supported
exit 1 ;;
esac
and that's all :))
-------------------------------------------------------
This SF.Net email is sponsored by: IBM Linux Tutorials
Free Linux tutorial presented by Daniel Robbins, President and CEO of
GenToo technologies. Learn everything from fundamentals to system
administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click
_______________________________________________
Bluez-users mailing list
Bluez-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bluez-users
next prev parent reply other threads:[~2004-04-10 16:45 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-04-07 17:23 [Bluez-users] No more bluez.o in 2.6? Gregoire Favre
2004-04-07 21:43 ` Gregoire Favre
2004-04-08 7:48 ` Aben Siatris
2004-04-08 15:09 ` Gregoire Favre
2004-04-08 16:29 ` Marcel Holtmann
2004-04-10 15:43 ` Aben Siatris
[not found] ` <20040410160451.GB26618@magma.epfl.ch>
2004-04-10 16:45 ` Aben Siatris [this message]
2004-04-10 17:37 ` Gregoire Favre
2004-04-08 9:47 ` Marcel Holtmann
2004-04-08 15:00 ` Gregoire Favre
2004-04-08 16:02 ` Michal Semler (volny.cz)
2004-04-09 12:40 ` Gregoire Favre
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=200404101845.15176.aben@webcom.sk \
--to=aben@webcom.sk \
--cc=bluez-users@lists.sourceforge.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.