diff --git a/conf/init.gs201.usb.rc b/conf/init.gs201.usb.rc index b54a91bf..330eb765 100644 --- a/conf/init.gs201.usb.rc +++ b/conf/init.gs201.usb.rc @@ -68,6 +68,9 @@ on early-boot # etr_miu function mkdir /config/usb_gadget/g1/functions/etr_miu.gs11 + # acm function for uwb + mkdir /config/usb_gadget/g1/functions/acm.uwb0 + # disable permission change. TODO (b/206902205): add back later # setprop vendor.usb.functions.ready 1 @@ -112,3 +115,6 @@ on property:sys.usb.config=charger && property:sys.usb.configfs=1 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:ro.bootmode=usbuwb + setprop persist.vendor.usb.usbradio.config uwb_acm diff --git a/usb/UsbGadget.cpp b/usb/UsbGadget.cpp index d8b4d0af..d8e1b1f5 100644 --- a/usb/UsbGadget.cpp +++ b/usb/UsbGadget.cpp @@ -165,6 +165,8 @@ static V1_0::Status validateAndSetVidPid(uint64_t functions) { ret = setVidPid("0x04e8", "0x6862"); } else if (vendorFunctions == "etr_miu") { ret = setVidPid("0x18d1", "0x4ee2"); + } else if (vendorFunctions == "uwb_acm") { + ret = setVidPid("0x18d1", "0x4ee2"); } else { if (!(vendorFunctions == "user" || vendorFunctions == "")) { ALOGE("Invalid vendorFunctions set: %s", vendorFunctions.c_str()); @@ -299,6 +301,10 @@ V1_0::Status UsbGadget::setupFunctions(uint64_t functions, ALOGI("enable etr_miu functions"); if (linkFunction("etr_miu.gs11", i++)) return Status::ERROR; + } else if (vendorFunctions == "uwb_acm") { + ALOGI("enable uwb acm function"); + if (linkFunction("acm.uwb0", i++)) + return Status::ERROR; } if ((usbFunctions & GadgetFunction::ADB) != 0) { diff --git a/usb/android.hardware.usb@1.3-service.gs201.rc b/usb/android.hardware.usb@1.3-service.gs201.rc index 10ede6ee..9dee54f1 100644 --- a/usb/android.hardware.usb@1.3-service.gs201.rc +++ b/usb/android.hardware.usb@1.3-service.gs201.rc @@ -38,6 +38,8 @@ on property:vendor.usb.functions.ready=1 chown system system /config/usb_gadget/g1/functions/accessory.gs2 chown system system /config/usb_gadget/g1/functions/acm.gs6 chown system system /config/usb_gadget/g1/functions/acm.gs6/port_num + chown system system /config/usb_gadget/g1/functions/acm.uwb0 + chown system system /config/usb_gadget/g1/functions/acm.uwb0/port_num chown system system /config/usb_gadget/g1/functions/audio_source.gs3 chown system system /config/usb_gadget/g1/functions/dm.gs7 chown system system /config/usb_gadget/g1/functions/ffs.adb