aae7b4984c
Rndis n/w interface "usb0" registration/deregistration is broken. If a user try to switch to other functions or disable usb tethering or unplug the usb cable then it doesn't kill "usb0" interface. Fix is to delete Rndis function to unregister tethering interface when switching from tethering to other functions or disable/unplug the tethering cable. If we don't do that then the rndis netdev interface will never be freed or unregistered. This also means the rndis function has to be created everytime user enable tethering function from Settings instead of creating it at "on boot" in init.$hardware.usb.rc like we do currently. A relevant fix, Change-Id: Icb49020d624fb21ef2607d473948cbbf3b9cc469, for reference has already been submitted for device/linaro/hikey Change-Id: If1f922e02277cccdc8c0b263be63989ee102cc80 Reported-by: Winter Wang <wente.wang@nxp.com> Signed-off-by: Amit Pundir <amit.pundir@linaro.org>
137 lines
7.4 KiB
Text
137 lines
7.4 KiB
Text
on property:sys.usb.config=none && property:sys.usb.configfs=1
|
|
write /config/usb_gadget/g1/UDC "none"
|
|
stop adbd
|
|
setprop sys.usb.ffs.ready 0
|
|
write /config/usb_gadget/g1/bDeviceClass 0
|
|
write /config/usb_gadget/g1/bDeviceSubClass 0
|
|
write /config/usb_gadget/g1/bDeviceProtocol 0
|
|
rm /config/usb_gadget/g1/configs/b.1/f1
|
|
rm /config/usb_gadget/g1/configs/b.1/f2
|
|
rm /config/usb_gadget/g1/configs/b.1/f3
|
|
rmdir /config/usb_gadget/g1/functions/rndis.gs4
|
|
setprop sys.usb.state ${sys.usb.config}
|
|
|
|
on property:sys.usb.config=adb && property:sys.usb.configfs=1
|
|
start adbd
|
|
|
|
on property:sys.usb.ffs.ready=1 && property:sys.usb.config=adb && property:sys.usb.configfs=1
|
|
write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "adb"
|
|
symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f1
|
|
write /config/usb_gadget/g1/UDC ${sys.usb.controller}
|
|
setprop sys.usb.state ${sys.usb.config}
|
|
|
|
on property:sys.usb.config=mtp && property:sys.usb.configfs=1
|
|
write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "mtp"
|
|
symlink /config/usb_gadget/g1/functions/mtp.gs0 /config/usb_gadget/g1/configs/b.1/f1
|
|
write /config/usb_gadget/g1/UDC ${sys.usb.controller}
|
|
setprop sys.usb.state ${sys.usb.config}
|
|
|
|
on property:sys.usb.config=mtp,adb && property:sys.usb.configfs=1
|
|
start adbd
|
|
|
|
on property:sys.usb.ffs.ready=1 && property:sys.usb.config=mtp,adb && property:sys.usb.configfs=1
|
|
write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "mtp_adb"
|
|
symlink /config/usb_gadget/g1/functions/mtp.gs0 /config/usb_gadget/g1/configs/b.1/f1
|
|
symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f2
|
|
write /config/usb_gadget/g1/UDC ${sys.usb.controller}
|
|
setprop sys.usb.state ${sys.usb.config}
|
|
|
|
on property:sys.usb.config=ptp && property:sys.usb.configfs=1
|
|
write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "ptp"
|
|
symlink /config/usb_gadget/g1/functions/ptp.gs1 /config/usb_gadget/g1/configs/b.1/f1
|
|
write /config/usb_gadget/g1/UDC ${sys.usb.controller}
|
|
setprop sys.usb.state ${sys.usb.config}
|
|
|
|
on property:sys.usb.config=ptp,adb && property:sys.usb.configfs=1
|
|
start adbd
|
|
|
|
on property:sys.usb.ffs.ready=1 && property:sys.usb.config=ptp,adb && property:sys.usb.configfs=1
|
|
write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "ptp_adb"
|
|
symlink /config/usb_gadget/g1/functions/ptp.gs1 /config/usb_gadget/g1/configs/b.1/f1
|
|
symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f2
|
|
write /config/usb_gadget/g1/UDC ${sys.usb.controller}
|
|
setprop sys.usb.state ${sys.usb.config}
|
|
|
|
on property:sys.usb.config=accessory && property:sys.usb.configfs=1
|
|
write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "accessory"
|
|
symlink /config/usb_gadget/g1/functions/accessory.gs2 /config/usb_gadget/g1/configs/b.1/f1
|
|
write /config/usb_gadget/g1/UDC ${sys.usb.controller}
|
|
setprop sys.usb.state ${sys.usb.config}
|
|
|
|
on property:sys.usb.config=accessory,adb && property:sys.usb.configfs=1
|
|
start adbd
|
|
|
|
on property:sys.usb.ffs.ready=1 && property:sys.usb.config=accessory,adb && property:sys.usb.configfs=1
|
|
write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "accessory_adb"
|
|
symlink /config/usb_gadget/g1/functions/accessory.gs2 /config/usb_gadget/g1/configs/b.1/f1
|
|
symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f2
|
|
write /config/usb_gadget/g1/UDC ${sys.usb.controller}
|
|
setprop sys.usb.state ${sys.usb.config}
|
|
|
|
on property:sys.usb.config=audio_source && property:sys.usb.configfs=1
|
|
write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "audiosource"
|
|
symlink /config/usb_gadget/g1/functions/audio_source.gs2 /config/usb_gadget/g1/configs/b.1/f1
|
|
write /config/usb_gadget/g1/UDC ${sys.usb.controller}
|
|
setprop sys.usb.state ${sys.usb.config}
|
|
|
|
on property:sys.usb.config=audio_source,adb && property:sys.usb.configfs=1
|
|
start adbd
|
|
|
|
on property:sys.usb.ffs.ready=1 && property:sys.usb.config=audio_source,adb && property:sys.usb.configfs=1
|
|
write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "audiosource_adb"
|
|
symlink /config/usb_gadget/g1/functions/audio_source.gs2 /config/usb_gadget/g1/configs/b.1/f1
|
|
symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f2
|
|
write /config/usb_gadget/g1/UDC ${sys.usb.controller}
|
|
setprop sys.usb.state ${sys.usb.config}
|
|
|
|
on property:sys.usb.config=accessory,audio_source && property:sys.usb.configfs=1
|
|
write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "accessory_audiosource"
|
|
symlink /config/usb_gadget/g1/functions/accessory.gs2 /config/usb_gadget/g1/configs/b.1/f1
|
|
symlink /config/usb_gadget/g1/functions/audio_source.gs3 /config/usb_gadget/g1/configs/b.1/f2
|
|
write /config/usb_gadget/g1/UDC ${sys.usb.controller}
|
|
setprop sys.usb.state ${sys.usb.config}
|
|
|
|
on property:sys.usb.config=accessory,audio_source,adb && property:sys.usb.configfs=1
|
|
start adbd
|
|
|
|
on property:sys.usb.ffs.ready=1 && property:sys.usb.config=accessory,audio_source,adb && property:sys.usb.configfs=1
|
|
write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "accessory_audiosource_adb"
|
|
symlink /config/usb_gadget/g1/functions/accessory.gs2 /config/usb_gadget/g1/configs/b.1/f1
|
|
symlink /config/usb_gadget/g1/functions/audio_source.gs3 /config/usb_gadget/g1/configs/b.1/f2
|
|
symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f3
|
|
write /config/usb_gadget/g1/UDC ${sys.usb.controller}
|
|
setprop sys.usb.state ${sys.usb.config}
|
|
|
|
on property:sys.usb.config=midi && property:sys.usb.configfs=1
|
|
write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "midi"
|
|
symlink /config/usb_gadget/g1/functions/midi.gs5 /config/usb_gadget/g1/configs/b.1/f1
|
|
write /config/usb_gadget/g1/UDC ${sys.usb.controller}
|
|
setprop sys.usb.state ${sys.usb.config}
|
|
|
|
on property:sys.usb.config=midi,adb && property:sys.usb.configfs=1
|
|
start adbd
|
|
|
|
on property:sys.usb.ffs.ready=1 && property:sys.usb.config=midi,adb && property:sys.usb.configfs=1
|
|
write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "midi_adb"
|
|
symlink /config/usb_gadget/g1/functions/midi.gs5 /config/usb_gadget/g1/configs/b.1/f1
|
|
symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f2
|
|
write /config/usb_gadget/g1/UDC ${sys.usb.controller}
|
|
setprop sys.usb.state ${sys.usb.config}
|
|
|
|
on property:sys.usb.config=rndis && property:sys.usb.configfs=1
|
|
mkdir /config/usb_gadget/g1/functions/rndis.gs4
|
|
write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "rndis"
|
|
symlink /config/usb_gadget/g1/functions/rndis.gs4 /config/usb_gadget/g1/configs/b.1/f1
|
|
write /config/usb_gadget/g1/UDC ${sys.usb.controller}
|
|
setprop sys.usb.state ${sys.usb.config}
|
|
|
|
on property:sys.usb.config=rndis,adb && property:sys.usb.configfs=1
|
|
start adbd
|
|
|
|
on property:sys.usb.ffs.ready=1 && property:sys.usb.config=rndis,adb && property:sys.usb.configfs=1
|
|
mkdir /config/usb_gadget/g1/functions/rndis.gs4
|
|
write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "rndis_adb"
|
|
symlink /config/usb_gadget/g1/functions/rndis.gs4 /config/usb_gadget/g1/configs/b.1/f1
|
|
symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f2
|
|
write /config/usb_gadget/g1/UDC ${sys.usb.controller}
|
|
setprop sys.usb.state ${sys.usb.config}
|