Support USB tethering 50/214950/2 accepted/tizen_5.5_unified_mobile_hotfix tizen_5.5_mobile_hotfix accepted/tizen/5.5/unified/20191031.022829 accepted/tizen/5.5/unified/mobile/hotfix/20201027.085822 accepted/tizen/unified/20191004.003706 submit/tizen/20191001.232525 submit/tizen_5.5/20191031.000004 submit/tizen_5.5_mobile_hotfix/20201026.185104 tizen_5.5.m2_release
authorINSUN PYO <insun.pyo@samsung.com>
Mon, 30 Sep 2019 06:33:23 +0000 (15:33 +0900)
committerINSUN PYO <insun.pyo@samsung.com>
Mon, 30 Sep 2019 06:53:22 +0000 (15:53 +0900)
To enable USB tethering, you must run the following two commands after configuring the USB endpoint.

1. /sbin/ifconfig usb0 192.168.129.3 up
2. /Sbin/route add -net 192.168.129.0 netmask 255.255.255.0 dev usb0

These commands are not directly executed by deviced, but are delegated to rndis.service.
The reason is to use the already implemented structure (sdbd.service and mtp-response.service).

The patch has been split into deviced and libdeivce-node.
The rndis.service is in deviced, and the code to run rndis.service is in libdevice-node.

Connected patch: "Support USB tethering" commit on deviced.

Change-Id: If4f64310c28cd91f4d2864365127a088e977e26a

hw/usb_gadget.h

index 31e1a91..951bbd0 100644 (file)
@@ -186,7 +186,6 @@ out:
        }
 
 DEFINE_SIMPLE_USB_FUNCTION(USB_FUNCTION_ACM, acm);
-DEFINE_SIMPLE_USB_FUNCTION(USB_FUNCTION_RNDIS, rndis);
 DEFINE_SIMPLE_USB_FUNCTION(USB_FUNCTION_DIAG, diag);
 DEFINE_SIMPLE_USB_FUNCTION(USB_FUNCTION_RMNET, rmnet);
 DEFINE_SIMPLE_USB_FUNCTION(USB_FUNCTION_DM, dm);
@@ -257,6 +256,7 @@ out:
 
 DEFINE_USB_FUNCTION_WITH_SERVICE(USB_FUNCTION_SDB, sdb, "sdbd");
 DEFINE_USB_FUNCTION_WITH_SERVICE(USB_FUNCTION_MTP, mtp, "mtp-responder");
+DEFINE_USB_FUNCTION_WITH_SERVICE(USB_FUNCTION_RNDIS, rndis, "rndis");
 
 #define MAKE_FUNC_AVAILABLE(_name, _vname)                             \
        [FUNC_IDX_FROM_MASK(USB_FUNCTION_##_name)] = &_##_vname##_function
@@ -268,7 +268,7 @@ static struct usb_function *_available_funcs[] = {
        MAKE_FUNC_WS_AVAILABLE(MTP, mtp),
        MAKE_FUNC_AVAILABLE(ACM, acm),
        MAKE_FUNC_WS_AVAILABLE(SDB, sdb),
-       MAKE_FUNC_AVAILABLE(RNDIS, rndis),
+       MAKE_FUNC_WS_AVAILABLE(RNDIS, rndis),
        MAKE_FUNC_AVAILABLE(DIAG, diag),
        MAKE_FUNC_AVAILABLE(CONN_GADGET, conn_gadget),
        MAKE_FUNC_AVAILABLE(DM, dm),