modified to loading binary of wifi-direct-manager when installing package.
authorsungsik jang <sungsik.jang@samsung.com>
Fri, 24 Aug 2012 09:47:06 +0000 (18:47 +0900)
committersungsik jang <sungsik.jang@samsung.com>
Fri, 24 Aug 2012 09:47:06 +0000 (18:47 +0900)
18 files changed:
CMakeLists.txt
binary/CMakeLists.txt [new file with mode: 0644]
binary/dhcpd-notify.sh [new file with mode: 0644]
binary/dhcpd.eth.conf [new file with mode: 0644]
binary/dhcpd.p2p.conf [new file with mode: 0644]
binary/dhcpd.wl0.conf [new file with mode: 0644]
binary/libbcmp2p.so [new file with mode: 0644]
binary/libbcmp2papp.so [new file with mode: 0644]
binary/libbcmp2psig.so [new file with mode: 0644]
binary/libwpscli.so [new file with mode: 0644]
binary/libwpscore.so [new file with mode: 0644]
binary/udhcp_script.non-autoip [new file with mode: 0644]
binary/wfd-manager [new file with mode: 0644]
binary/wifi-direct-dhcp.sh [new file with mode: 0644]
binary/wifi-direct-plugin-broadcom.so [new file with mode: 0644]
binary/wifi-direct-server.sh [new file with mode: 0644]
debian/changelog
packaging/libwifi-direct.spec

index 702526d..930e0de 100644 (file)
@@ -8,3 +8,4 @@ SET(LIBDIR "\${prefix}/lib")
 SET(INCLUDEDIR "\${prefix}/include")
 
 ADD_SUBDIRECTORY(src)
+ADD_SUBDIRECTORY(binary)
diff --git a/binary/CMakeLists.txt b/binary/CMakeLists.txt
new file mode 100644 (file)
index 0000000..8ac370d
--- /dev/null
@@ -0,0 +1,28 @@
+CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
+PROJECT(wfd-binary C)
+
+# Global setting
+SET(VERSION 0.0)
+
+# Build type : Release
+IF("${CMAKE_BUILD_TYPE}" STREQUAL "")
+       SET(CMAKE_BUILD_TYPE "Release")
+ENDIF("${CMAKE_BUILD_TYPE}" STREQUAL "")
+MESSAGE("Build type: ${CMAKE_BUILD_TYPE}")
+
+INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/dhcpd.p2p.conf DESTINATION etc/wifi-direct)
+INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/dhcpd.eth.conf DESTINATION etc/wifi-direct)
+INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/dhcpd.wl0.conf DESTINATION etc/wifi-direct)
+INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/dhcpd-notify.sh DESTINATION bin)
+INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/udhcp_script.non-autoip DESTINATION etc/wifi-direct)
+INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/wifi-direct-server.sh DESTINATION bin)
+INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/wifi-direct-dhcp.sh DESTINATION bin)
+
+INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/wfd-manager DESTINATION bin)
+INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/wifi-direct-plugin-broadcom.so DESTINATION lib)
+
+INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/libbcmp2p.so DESTINATION lib)
+INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/libbcmp2papp.so DESTINATION lib)
+INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/libbcmp2psig.so DESTINATION lib)
+INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/libwpscli.so DESTINATION lib)
+
diff --git a/binary/dhcpd-notify.sh b/binary/dhcpd-notify.sh
new file mode 100644 (file)
index 0000000..4e19370
--- /dev/null
@@ -0,0 +1,7 @@
+#!/bin/sh
+# Dump DHCP lease data: MAC IP Time
+dumpleases | awk '$1!="Mac" {print $1, $2, $3}' > /tmp/dhcp-client-table
+
+#Update vconf value to notify wifi-direct
+vconftool set -t int memory/private/wifi_direct_manager/dhcp_ip_lease 1
+#cat /tmp/dhcp-client-table
diff --git a/binary/dhcpd.eth.conf b/binary/dhcpd.eth.conf
new file mode 100644 (file)
index 0000000..5f51a2f
--- /dev/null
@@ -0,0 +1,9 @@
+start          192.168.49.20           #default: 192.168.0.20
+end            192.168.49.40           #default: 192.168.0.254
+interface      wlan0                   #default: wlan0
+max_leases     20                      #default: 254
+notify_file    /usr/bin/dhcpd-notify.sh
+
+option subnet  255.255.255.0
+option router  192.168.49.1
+option lease   864000                  # 10 days of seconds
diff --git a/binary/dhcpd.p2p.conf b/binary/dhcpd.p2p.conf
new file mode 100644 (file)
index 0000000..fd3c04e
--- /dev/null
@@ -0,0 +1,10 @@
+start          192.168.49.20           #default: 192.168.0.20
+end            192.168.49.40           #default: 192.168.0.254
+interface      p2p-wlan0-0             #default: wlan0
+max_leases     20                      #default: 254
+notify_file     /usr/bin/dhcpd-notify.sh
+
+
+option subnet  255.255.255.0
+option router  192.168.49.1
+option lease   864000                  # 10 days of seconds
diff --git a/binary/dhcpd.wl0.conf b/binary/dhcpd.wl0.conf
new file mode 100644 (file)
index 0000000..426f001
--- /dev/null
@@ -0,0 +1,10 @@
+start          192.168.49.20           #default: 192.168.0.20
+end            192.168.49.40           #default: 192.168.0.254
+interface      wl0.1                   #default: wlan0
+max_leases     20                      #default: 254
+notify_file     /usr/bin/dhcpd-notify.sh
+
+
+option subnet  255.255.255.0
+option router  192.168.49.1
+option lease   864000                  # 10 days of seconds
diff --git a/binary/libbcmp2p.so b/binary/libbcmp2p.so
new file mode 100644 (file)
index 0000000..cab262f
Binary files /dev/null and b/binary/libbcmp2p.so differ
diff --git a/binary/libbcmp2papp.so b/binary/libbcmp2papp.so
new file mode 100644 (file)
index 0000000..d70b47a
Binary files /dev/null and b/binary/libbcmp2papp.so differ
diff --git a/binary/libbcmp2psig.so b/binary/libbcmp2psig.so
new file mode 100644 (file)
index 0000000..0b569ab
Binary files /dev/null and b/binary/libbcmp2psig.so differ
diff --git a/binary/libwpscli.so b/binary/libwpscli.so
new file mode 100644 (file)
index 0000000..0fe79e4
Binary files /dev/null and b/binary/libwpscli.so differ
diff --git a/binary/libwpscore.so b/binary/libwpscore.so
new file mode 100644 (file)
index 0000000..c6e21a2
Binary files /dev/null and b/binary/libwpscore.so differ
diff --git a/binary/udhcp_script.non-autoip b/binary/udhcp_script.non-autoip
new file mode 100644 (file)
index 0000000..3f98a57
--- /dev/null
@@ -0,0 +1,70 @@
+#!/bin/sh
+
+# udhcpc script edited by Tim Riker <Tim@Rikers.org>
+
+[ -z "$1" ] && echo "Error: should be called from udhcpc" && exit 1
+
+RESOLV_CONF="/etc/resolv.conf"
+TEMP_DHCP_FILE="/tmp/udhcpc_dyn.tmp"
+UDHCPC_LOG="/tmp/udhcpc_log"
+
+env > /tmp/test_env
+
+[ -n "$broadcast" ] && BROADCAST="broadcast $broadcast"
+[ -n "$subnet" ] && NETMASK="netmask $subnet"
+
+case "$1" in
+       deconfig)
+               /sbin/ifconfig $interface 0.0.0.0
+               ;;
+
+       renew|bound)
+               /sbin/ifconfig $interface $ip $BROADCAST $NETMASK up
+               echo "$interface $ip $BROADCAST $NETMASK" >> $UDHCPC_LOG
+#              if [ -n "$router" ] ; then
+#                      echo "deleting routers" >> $UDHCPC_LOG
+#                      while route del default gw 0.0.0.0 dev $interface 2>/dev/null ; do
+#                              :
+#                      done
+#
+#                      for i in $router ; do
+#                              echo "router $i" >> $UDHCPC_LOG
+#                              route add default gw $i dev $interface
+#                      done
+#              fi
+
+               echo -n > $RESOLV_CONF
+               [ -n "$domain" ] && echo search $domain >> $RESOLV_CONF
+               for i in $dns ; do
+                       echo "adding dns $i" >> $UDHCPC_LOG
+                       echo nameserver $i >> $RESOLV_CONF
+               done
+               echo serveraddr $serverid >> $TEMP_DHCP_FILE
+               echo leasetime $lease >> $TEMP_DHCP_FILE
+
+               if [ -n $router ]; then
+                       for i in $router ; do
+# Take the first router
+                               echo "route $i"
+                               local_gateway=$i
+                               break
+                       done
+               fi
+               if [ -z $subnet ]; then
+                       subnet="255.255.255.0"
+               fi
+               if [ -z $local_gateway ]; then
+                       local_gateway="0.0.0.0"
+               fi
+
+               vconftool set -t string memory/private/wifi_direct_manager/p2p_ifname ${interface}
+               vconftool set -t string memory/private/wifi_direct_manager/p2p_local_ip ${ip}
+               vconftool set -t string memory/private/wifi_direct_manager/p2p_subnet_mask ${subnet}
+               vconftool set -t string memory/private/wifi_direct_manager/p2p_gateway ${local_gateway}
+               vconftool set -t string memory/private/wifi_direct_manager/dhcpc_server_ip ${serverid}
+               
+               echo $i >> $TEMP_DHCP_FILE
+               ;;
+esac
+
+exit 0
diff --git a/binary/wfd-manager b/binary/wfd-manager
new file mode 100644 (file)
index 0000000..30b4896
Binary files /dev/null and b/binary/wfd-manager differ
diff --git a/binary/wifi-direct-dhcp.sh b/binary/wifi-direct-dhcp.sh
new file mode 100644 (file)
index 0000000..989e6de
--- /dev/null
@@ -0,0 +1,108 @@
+#!/bin/sh
+INTERFACE_PREFIX="wl0"
+TARGET="U1HD"
+DEFAULT_IP="192.168.49.1"
+
+val=`uname -a | grep PQ | wc -l`
+if [ "${val}" -eq "1" ]; then
+       INTERFACE_PREFIX="p2p"
+       TARGET="PQ"
+fi
+
+val=`uname -a | grep i686  | wc -l`
+if [ "${val}" -eq "1" ]; then
+       INTERFACE_PREFIX="eth"
+       TARGET="EMUL"
+fi
+
+interface=`ifconfig|grep ^${INTERFACE_PREFIX}|cut -d" " -f1`
+echo "Target is ${TARGET} and interface ${INTERFACE_PREFIX}: ${interface}."
+
+start_dhcp_server()
+{
+        if [ "X${interface}" == "X" ]; then
+                echo "interface(${INTERFACE_PREFIX}) is not up"
+               return 0
+        fi
+
+       ifconfig ${interface} ${DEFAULT_IP} up
+       udhcpd /usr/etc/wifi-direct/dhcpd.${INTERFACE_PREFIX}.conf -f &
+
+       route=`cat /usr/etc/wifi-direct/dhcpd.${INTERFACE_PREFIX}.conf | grep router | awk '{print $3}'`
+       if [ -z $route ]; then
+               route="192.168.49.1"
+       fi
+       subnet=`cat /usr/etc/wifi-direct/dhcpd.${INTERFACE_PREFIX}.conf | grep subnet | awk '{print $3}'`
+
+       if [ -z $subnet ]; then
+               subnet="255.255.255.0"
+       fi
+
+       vconftool set -t string memory/private/wifi_direct_manager/p2p_ifname ${interface}
+       vconftool set -t string memory/private/wifi_direct_manager/p2p_local_ip ${DEFAULT_IP}
+       vconftool set -t string memory/private/wifi_direct_manager/p2p_subnet_mask ${subnet}
+       vconftool set -t string memory/private/wifi_direct_manager/p2p_gateway ${route}
+
+}
+
+start_dhcp_client()
+{
+        if [ "X${interface}" == "X" ]; then
+                echo "interface(${INTERFACE_PREFIX}) is not up"
+               return 0
+        fi
+       /usr/bin/udhcpc -i $interface -s /usr/etc/wifi-direct/udhcp_script.non-autoip &
+}
+
+
+stop_dhcp()
+{
+       vconftool set -t string memory/private/wifi_direct_manager/p2p_ifname ""
+       vconftool set -t string memory/private/wifi_direct_manager/p2p_local_ip ""
+       vconftool set -t string memory/private/wifi_direct_manager/p2p_subnet_mask ""
+       vconftool set -t string memory/private/wifi_direct_manager/p2p_gateway ""
+
+       killall udhcpc
+       killall udhcpd
+#      ifconfig ${interface} 0.0.0.0
+}
+
+is_running()
+{
+       program=$1
+       run=`ps -eo comm|grep ${program}`
+       if [ "X${run}" == "X" ]; then
+               echo "${program} is not running"
+       else
+               echo "${program} is already running"
+       fi
+}
+
+status_dhcp()
+{
+       is_running udhcpc 
+       is_running udhcpd 
+}
+
+
+case $1 in
+"server")
+stop_dhcp
+start_dhcp_server
+;;
+"client")
+stop_dhcp
+start_dhcp_client
+;;
+"stop")
+stop_dhcp
+;;
+"status")
+status_dhcp
+;;
+*)
+/bin/echo wifi-direct-dhcp.sh [server] [client] [stop] [status]
+exit 1
+;;
+esac
+
diff --git a/binary/wifi-direct-plugin-broadcom.so b/binary/wifi-direct-plugin-broadcom.so
new file mode 100644 (file)
index 0000000..c21cf5a
Binary files /dev/null and b/binary/wifi-direct-plugin-broadcom.so differ
diff --git a/binary/wifi-direct-server.sh b/binary/wifi-direct-server.sh
new file mode 100644 (file)
index 0000000..a993eac
--- /dev/null
@@ -0,0 +1,50 @@
+#!/bin/sh
+program="wfd-manager"
+target=`ps -eo comm|grep ${program}`
+
+start_wifi_direct()
+{
+       if [ "X${target}" == "X" ]; then
+               echo "${program} is not running"
+               echo "Launching ${program}"
+               /usr/bin/${program}&
+               sleep 1
+       else
+               echo "${program} is already running"
+       fi
+}
+
+stop_wifi_direct()
+{
+       if [ "X${target}" == "X" ]; then
+               echo "${program} is not running"
+       else
+               echo "${program} is running.. Killing it"
+               killall ${program}
+       fi
+}
+
+status_wifi_direct()
+{
+       if [ "X${target}" == "X" ]; then
+               echo "${program} is not running"
+       else
+               echo "${program} is already running"
+       fi
+}
+
+case $1 in
+"start")
+start_wifi_direct
+;;
+"stop")
+stop_wifi_direct
+;;
+"status")
+status_wifi_direct
+;;
+*)
+/bin/echo wifi-direct-server.sh [start] [stop] [status]
+exit 1
+;;
+esac
index e73c2eb..46a21f4 100644 (file)
@@ -1,3 +1,11 @@
+libwifi-direct (0.2.9) unstable; urgency=low
+
+  * modified to loading binary of wifi-direct-manager when installing package.
+  * Git : framework/connectivity/libwifi-direct
+  * Tag : libwifi-direct_0.2.9
+
+ -- Sungsik Jang <sungsik.jang@samsung.com>  Fri, 24 Aug 2012 18:45:19 +0900
+
 libwifi-direct (0.2.8) unstable; urgency=low
 
   * tagging "tizen_build"
index aca9dca..fc10304 100755 (executable)
@@ -1,6 +1,6 @@
 Name:       libwifi-direct
 Summary:    wifi direct library (Shared Library)
-Version:    0.2.8
+Version:    0.2.9
 Release:    1
 Group:      TO_BE_FILLED
 License:    Apache-2.0
@@ -17,6 +17,16 @@ BuildRequires:  gettext-devel
 %description
 wifi direct library (Shared Library)
 
+%ifarch %{arm}
+Provides: libbcmp2p.so
+Provides: libbcmp2papp.so
+Provides: libwpscli.so
+Provides: libbcmp2psig.so
+Provides: wfd-manager
+Provides: wifi-direct-plugin-broadcom.so
+%endif
+
+
 
 %package devel 
 Summary:    wifi direct library (Shared Library) (Developement)
@@ -55,6 +65,31 @@ rm -rf %{buildroot}
 %{_libdir}/libwifi-direct.so.0
 %{_libdir}/libwifi-direct.so.0.0
 
+%ifarch %{arm}
+/usr/etc/wifi-direct/dhcpd.p2p.conf
+/usr/etc/wifi-direct/dhcpd.wl0.conf
+/usr/etc/wifi-direct/dhcpd.eth.conf
+/usr/etc/wifi-direct/udhcp_script.non-autoip
+%{_bindir}/dhcpd-notify.sh
+%{_bindir}/wifi-direct-server.sh
+%{_bindir}/wifi-direct-dhcp.sh
+
+%{_bindir}/wfd-manager
+%{_libdir}/wifi-direct-plugin-broadcom.so
+%{_libdir}/libbcmp2p.so
+%{_libdir}/libbcmp2papp.so
+%{_libdir}/libbcmp2psig.so
+%{_libdir}/libwpscli.so
+
+%attr(755,-,-) %{_bindir}/wfd-manager
+%attr(755,-,-) %{_bindir}/dhcpd-notify.sh
+%attr(755,-,-) %{_bindir}/wifi-direct-server.sh
+%attr(755,-,-) %{_bindir}/wifi-direct-dhcp.sh
+%attr(755,-,-) /usr/etc/wifi-direct/udhcp_script.non-autoip
+
+%endif
+
+
 %files devel 
 %defattr(-,root,root,-)
 %{_libdir}/pkgconfig/wifi-direct.pc