summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJiyoung Yun <jy910.yun@samsung.com>2015-03-30 19:04:02 +0900
committerJiyoung Yun <jy910.yun@samsung.com>2015-03-31 19:25:13 -0700
commit82773ce3186a9eb8aec2993d9107c286920e5a58 (patch)
treeaa360f98f15f7c380daa9c13e4ee4eed92b4d1f8
parentd6ae77d2139a494b89531d73e3e06af7dc2c272e (diff)
downloaddeviced-82773ce3186a9eb8aec2993d9107c286920e5a58.tar.gz
deviced-82773ce3186a9eb8aec2993d9107c286920e5a58.tar.bz2
deviced-82773ce3186a9eb8aec2993d9107c286920e5a58.zip
Usb-server is no longer used. Instead to control usb devices will be replaced by deviced. direct_set_debug script is for controlling sdb or ssh tools manually. It is a very helpful when deviced does not work normally. Change-Id: Ib0b3369677d1a1819fb5d57c5072c477e2b389f5 Signed-off-by: Jiyoung Yun <jy910.yun@samsung.com>
-rwxr-xr-xCMakeLists.txt3
-rwxr-xr-xpackaging/deviced.spec1
-rwxr-xr-xscripts/direct_set_debug.sh147
3 files changed, 151 insertions, 0 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 08d5d7db..49a76c62 100755
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -188,6 +188,9 @@ INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/src/usb/usb-operation.conf DESTINATION
INSTALL(PROGRAMS ${CMAKE_CURRENT_SOURCE_DIR}/scripts/mmc-smack-label DESTINATION bin)
INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/src/fsck-msdos/LICENSE DESTINATION share/license RENAME fsck_msdosfs)
+# USB (Manual setting)
+INSTALL(PROGRAMS ${CMAKE_CURRENT_SOURCE_DIR}/scripts/direct_set_debug.sh DESTINATION bin)
+
INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/systemd/ DESTINATION lib/systemd/system
FILES_MATCHING
PATTERN "*.service"
diff --git a/packaging/deviced.spec b/packaging/deviced.spec
index a0c5bb95..79f179f8 100755
--- a/packaging/deviced.spec
+++ b/packaging/deviced.spec
@@ -305,6 +305,7 @@ systemctl daemon-reload
%{_bindir}/deviced
%{_bindir}/devicectl
%{_bindir}/movi_format.sh
+%{_bindir}/direct_set_debug.sh
%{_sysconfdir}/deviced/usb-setting.conf
%{_sysconfdir}/deviced/usb-operation.conf
%{_bindir}/mmc-smack-label
diff --git a/scripts/direct_set_debug.sh b/scripts/direct_set_debug.sh
new file mode 100755
index 00000000..f99469d1
--- /dev/null
+++ b/scripts/direct_set_debug.sh
@@ -0,0 +1,147 @@
+#!/bin/sh
+
+VERSION=
+
+check_driver_version() {
+ if [ -f /sys/class/usb_mode/version ]
+ then
+ VERSION=`cat /sys/class/usb_mode/version`
+ else
+ VERSION="0.0"
+ fi
+}
+
+load_usb_gadget_0_0() {
+ echo 4 > /sys/devices/platform/usb_mode/UsbMenuSel
+}
+
+load_usb_gadget_1_0() {
+ echo 0 > /sys/class/usb_mode/usb0/enable
+ echo 04e8 > /sys/class/usb_mode/usb0/idVendor
+ echo $1 > /sys/class/usb_mode/usb0/idProduct
+ echo $2 > /sys/class/usb_mode/usb0/functions
+ echo 239 > /sys/class/usb_mode/usb0/bDeviceClass
+ echo 2 > /sys/class/usb_mode/usb0/bDeviceSubClass
+ echo 1 > /sys/class/usb_mode/usb0/bDeviceProtocol
+ echo 1 > /sys/class/usb_mode/usb0/enable
+}
+
+load_usb_gadget_1_1() {
+ echo 0 > /sys/class/usb_mode/usb0/enable
+ echo 04e8 > /sys/class/usb_mode/usb0/idVendor
+ echo $1 > /sys/class/usb_mode/usb0/idProduct
+ echo " " > /sys/class/usb_mode/usb0/functions
+ echo $2 > /sys/class/usb_mode/usb0/funcs_fconf
+ echo $3 > /sys/class/usb_mode/usb0/funcs_sconf
+ echo 239 > /sys/class/usb_mode/usb0/bDeviceClass
+ echo 2 > /sys/class/usb_mode/usb0/bDeviceSubClass
+ echo 1 > /sys/class/usb_mode/usb0/bDeviceProtocol
+ echo 1 > /sys/class/usb_mode/usb0/enable
+}
+
+unload_usb_gadget_1() {
+ echo 0 > /sys/class/usb_mode/usb0/enable
+}
+
+sdb_set() {
+ case "$VERSION" in
+ "1.0")
+ load_usb_gadget_1_0 "6860" "mtp,acm,sdb"
+ ;;
+ "1.1")
+ load_usb_gadget_1_1 "6860" "mtp" "mtp,acm,sdb"
+ ;;
+ *)
+ echo "USB driver version $VERSION is not supported"
+ return
+ ;;
+ esac
+
+ /usr/bin/systemctl start sdbd.service
+ echo "SDB enabled"
+}
+
+ssh_set() {
+ case "$VERSION" in
+ "0.0")
+ load_usb_gadget_0_0
+ ;;
+ "1.0")
+ load_usb_gadget_1_0 "6864" "rndis"
+ ;;
+ "1.1")
+ load_usb_gadget_1_1 "6864" "rndis" " "
+ ;;
+ *)
+ echo "USB driver version $VERSION is not supported"
+ return
+ ;;
+ esac
+
+ /sbin/ifconfig usb0 192.168.129.3 up
+ /sbin/route add -net 192.168.129.0 netmask 255.255.255.0 dev usb0
+ /usr/bin/systemctl start sshd.service
+ echo "SSH enabled"
+}
+
+usb_unset() {
+ case "$VERSION" in
+ "1.0" | "1.1")
+ unload_usb_gadget_1
+ ;;
+ *)
+ echo "USB driver version $VERSION is not supported"
+ return
+ ;;
+ esac
+}
+
+sdb_unset() {
+ usb_unset
+ /usr/bin/systemctl stop sdbd.service
+ echo "SDB disabled"
+}
+
+ssh_unset() {
+ usb_unset
+ /sbin/ifconfig usb0 down
+ /usr/bin/systemctl stop sshd.service
+ echo "SSH disabled"
+}
+
+show_options() {
+ echo "direct_set_debug.sh: usage:"
+ echo " --help This message"
+ echo " --sdb-set Load sdb without usb-manager"
+ echo " --sdb-unset Unload sdb without usb-manager"
+ echo " --ssh-set Load ssh without usb-manager"
+ echo " --ssh-unset Unload ssh without usb-manager"
+}
+
+check_driver_version
+
+case "$1" in
+"--sdb-set")
+ sdb_set
+ ;;
+
+"--ssh-set")
+ ssh_set
+ ;;
+
+"--sdb-unset")
+ sdb_unset
+ ;;
+
+"--ssh-unset")
+ ssh_unset
+ ;;
+
+"--help")
+ show_options
+ ;;
+
+*)
+ echo "Wrong parameters. Please use option --help to check options "
+ ;;
+esac