* [PATCH v1] arm64: dts: qcom: hamoa-iot-evk: support Bluetooth over both USB and UART
@ 2026-03-11 9:09 Shuai Zhang
2026-03-11 9:41 ` [v1] " bluez.test.bot
` (2 more replies)
0 siblings, 3 replies; 9+ messages in thread
From: Shuai Zhang @ 2026-03-11 9:09 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley
Cc: linux-arm-msm, devicetree, linux-kernel, linux-bluetooth,
cheng.jiang, quic_chezhou, wei.deng, jinwang.li, mengshi.wu,
shuai.zhang
When Bluetooth supports both USB and UART, the BT UART driver is
always loaded, while USB is hot-pluggable. As a result, when Bluetooth
is used over USB, the UART driver still be probed and drive BT_EN low,
which causes the Bluetooth device on USB to be disconnected.
Configure BT_EN as a GPIO hog so that it is controlled by the platform
instead of the UART driver, preventing BT over USB from being
unintentionally powered down.
Signed-off-by: Shuai Zhang <shuai.zhang@oss.qualcomm.com>
---
arch/arm64/boot/dts/qcom/hamoa-iot-evk.dts | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/arch/arm64/boot/dts/qcom/hamoa-iot-evk.dts b/arch/arm64/boot/dts/qcom/hamoa-iot-evk.dts
index 630642baa435..60a0b3ecbc1b 100644
--- a/arch/arm64/boot/dts/qcom/hamoa-iot-evk.dts
+++ b/arch/arm64/boot/dts/qcom/hamoa-iot-evk.dts
@@ -647,10 +647,9 @@ wcn7850-pmu {
vddrfa1p2-supply = <&vreg_wcn_1p9>;
vddrfa1p8-supply = <&vreg_wcn_1p9>;
- bt-enable-gpios = <&tlmm 116 GPIO_ACTIVE_HIGH>;
wlan-enable-gpios = <&tlmm 117 GPIO_ACTIVE_HIGH>;
- pinctrl-0 = <&wcn_bt_en>, <&wcn_wlan_en>;
+ pinctrl-0 = <&wcn_wlan_en>;
pinctrl-names = "default";
regulators {
@@ -1398,11 +1397,12 @@ wcd_default: wcd-reset-n-active-state {
output-low;
};
- wcn_bt_en: wcn-bt-en-state {
- pins = "gpio116";
- function = "gpio";
- drive-strength = <2>;
- bias-disable;
+ wcn_bt_en_hog: wcn-bt-en-state-hog {
+ gpio-hog;
+ gpios = <116 GPIO_ACTIVE_HIGH>;
+ output-high;
+ input-disable;
+ link-name = "BT_EN";
};
wcn_wlan_en: wcn-wlan-en-state {
--
2.34.1
^ permalink raw reply related [flat|nested] 9+ messages in thread* RE: [v1] arm64: dts: qcom: hamoa-iot-evk: support Bluetooth over both USB and UART 2026-03-11 9:09 [PATCH v1] arm64: dts: qcom: hamoa-iot-evk: support Bluetooth over both USB and UART Shuai Zhang @ 2026-03-11 9:41 ` bluez.test.bot 2026-03-11 13:07 ` [PATCH v1] " Konrad Dybcio 2026-03-16 21:08 ` [v1] " bluez.test.bot 2 siblings, 0 replies; 9+ messages in thread From: bluez.test.bot @ 2026-03-11 9:41 UTC (permalink / raw) To: linux-bluetooth, shuai.zhang [-- Attachment #1: Type: text/plain, Size: 586 bytes --] This is an automated email and please do not reply to this email. Dear Submitter, Thank you for submitting the patches to the linux bluetooth mailing list. While preparing the CI tests, the patches you submitted couldn't be applied to the current HEAD of the repository. ----- Output ----- error: patch failed: arch/arm64/boot/dts/qcom/hamoa-iot-evk.dts:647 error: arch/arm64/boot/dts/qcom/hamoa-iot-evk.dts: patch does not apply hint: Use 'git am --show-current-patch' to see the failed patch Please resolve the issue and submit the patches again. --- Regards, Linux Bluetooth ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v1] arm64: dts: qcom: hamoa-iot-evk: support Bluetooth over both USB and UART 2026-03-11 9:09 [PATCH v1] arm64: dts: qcom: hamoa-iot-evk: support Bluetooth over both USB and UART Shuai Zhang 2026-03-11 9:41 ` [v1] " bluez.test.bot @ 2026-03-11 13:07 ` Konrad Dybcio 2026-03-13 6:37 ` Shuai Zhang 2026-03-16 21:08 ` [v1] " bluez.test.bot 2 siblings, 1 reply; 9+ messages in thread From: Konrad Dybcio @ 2026-03-11 13:07 UTC (permalink / raw) To: Shuai Zhang, Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley Cc: linux-arm-msm, devicetree, linux-kernel, linux-bluetooth, cheng.jiang, quic_chezhou, wei.deng, jinwang.li, mengshi.wu On 3/11/26 10:09 AM, Shuai Zhang wrote: > When Bluetooth supports both USB and UART, the BT UART driver is > always loaded, while USB is hot-pluggable. As a result, when Bluetooth > is used over USB, the UART driver still be probed and drive BT_EN low, > which causes the Bluetooth device on USB to be disconnected. Is bluetooth connected over UART *and* USB simultaneously? > Configure BT_EN as a GPIO hog so that it is controlled by the platform What's "the platform"? > instead of the UART driver, preventing BT over USB from being > unintentionally powered down. > > Signed-off-by: Shuai Zhang <shuai.zhang@oss.qualcomm.com> > --- > arch/arm64/boot/dts/qcom/hamoa-iot-evk.dts | 14 +++++++------- > 1 file changed, 7 insertions(+), 7 deletions(-) > > diff --git a/arch/arm64/boot/dts/qcom/hamoa-iot-evk.dts b/arch/arm64/boot/dts/qcom/hamoa-iot-evk.dts > index 630642baa435..60a0b3ecbc1b 100644 > --- a/arch/arm64/boot/dts/qcom/hamoa-iot-evk.dts > +++ b/arch/arm64/boot/dts/qcom/hamoa-iot-evk.dts > @@ -647,10 +647,9 @@ wcn7850-pmu { > vddrfa1p2-supply = <&vreg_wcn_1p9>; > vddrfa1p8-supply = <&vreg_wcn_1p9>; > > - bt-enable-gpios = <&tlmm 116 GPIO_ACTIVE_HIGH>; What if I want to power down Bluetooth now? > wlan-enable-gpios = <&tlmm 117 GPIO_ACTIVE_HIGH>; > > - pinctrl-0 = <&wcn_bt_en>, <&wcn_wlan_en>; > + pinctrl-0 = <&wcn_wlan_en>; > pinctrl-names = "default"; > > regulators { > @@ -1398,11 +1397,12 @@ wcd_default: wcd-reset-n-active-state { > output-low; > }; > > - wcn_bt_en: wcn-bt-en-state { > - pins = "gpio116"; > - function = "gpio"; > - drive-strength = <2>; > - bias-disable; > + wcn_bt_en_hog: wcn-bt-en-state-hog { This name is illegal (make CHECK_DTBS=1 qcom/hamoa-iot-evk.dtb) > + gpio-hog; > + gpios = <116 GPIO_ACTIVE_HIGH>; > + output-high; > + input-disable; This property is not allowed for TLMM pins > + link-name = "BT_EN"; This property doesn't exist Konrad ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v1] arm64: dts: qcom: hamoa-iot-evk: support Bluetooth over both USB and UART 2026-03-11 13:07 ` [PATCH v1] " Konrad Dybcio @ 2026-03-13 6:37 ` Shuai Zhang 2026-03-13 12:34 ` Konrad Dybcio ` (2 more replies) 0 siblings, 3 replies; 9+ messages in thread From: Shuai Zhang @ 2026-03-13 6:37 UTC (permalink / raw) To: Konrad Dybcio, Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley Cc: linux-arm-msm, devicetree, linux-kernel, linux-bluetooth, cheng.jiang, quic_chezhou, wei.deng, jinwang.li, mengshi.wu Hi Konrad On 3/11/2026 9:07 PM, Konrad Dybcio wrote: > On 3/11/26 10:09 AM, Shuai Zhang wrote: >> When Bluetooth supports both USB and UART, the BT UART driver is >> always loaded, while USB is hot-pluggable. As a result, when Bluetooth >> is used over USB, the UART driver still be probed and drive BT_EN low, >> which causes the Bluetooth device on USB to be disconnected. > Is bluetooth connected over UART *and* USB simultaneously? BT uses either UART or USB, never both at the same time. On platforms supporting both, the UART driver is always probed, while USB is hot‑pluggable. As a result, when BT runs over USB, the UART driver still probes and pulls BT_EN low, unintentionally powering off the USB BT device. > >> Configure BT_EN as a GPIO hog so that it is controlled by the platform > What's "the platform"? hamoa-evk > >> instead of the UART driver, preventing BT over USB from being >> unintentionally powered down. >> >> Signed-off-by: Shuai Zhang <shuai.zhang@oss.qualcomm.com> >> --- >> arch/arm64/boot/dts/qcom/hamoa-iot-evk.dts | 14 +++++++------- >> 1 file changed, 7 insertions(+), 7 deletions(-) >> >> diff --git a/arch/arm64/boot/dts/qcom/hamoa-iot-evk.dts b/arch/arm64/boot/dts/qcom/hamoa-iot-evk.dts >> index 630642baa435..60a0b3ecbc1b 100644 >> --- a/arch/arm64/boot/dts/qcom/hamoa-iot-evk.dts >> +++ b/arch/arm64/boot/dts/qcom/hamoa-iot-evk.dts >> @@ -647,10 +647,9 @@ wcn7850-pmu { >> vddrfa1p2-supply = <&vreg_wcn_1p9>; >> vddrfa1p8-supply = <&vreg_wcn_1p9>; >> >> - bt-enable-gpios = <&tlmm 116 GPIO_ACTIVE_HIGH>; > What if I want to power down Bluetooth now? It cannot be pulled low because it is not possible to determine whether the inserted M.2 card is UART‑based or USB‑based. Identifying whether the interface is USB or UART would allow control of the UART probe accordingly; however, no reliable solution is available so far. Additional approaches are still being explored. > >> wlan-enable-gpios = <&tlmm 117 GPIO_ACTIVE_HIGH>; >> >> - pinctrl-0 = <&wcn_bt_en>, <&wcn_wlan_en>; >> + pinctrl-0 = <&wcn_wlan_en>; >> pinctrl-names = "default"; >> >> regulators { >> @@ -1398,11 +1397,12 @@ wcd_default: wcd-reset-n-active-state { >> output-low; >> }; >> >> - wcn_bt_en: wcn-bt-en-state { >> - pins = "gpio116"; >> - function = "gpio"; >> - drive-strength = <2>; >> - bias-disable; >> + wcn_bt_en_hog: wcn-bt-en-state-hog { > This name is illegal (make CHECK_DTBS=1 qcom/hamoa-iot-evk.dtb) |I will use tlmm to control| > >> + gpio-hog; >> + gpios = <116 GPIO_ACTIVE_HIGH>; >> + output-high; >> + input-disable; > This property is not allowed for TLMM pins > >> + link-name = "BT_EN"; > This property doesn't exist I will remove it; > > Konrad thanks, Shuai ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v1] arm64: dts: qcom: hamoa-iot-evk: support Bluetooth over both USB and UART 2026-03-13 6:37 ` Shuai Zhang @ 2026-03-13 12:34 ` Konrad Dybcio 2026-03-18 2:39 ` Shuai Zhang 2026-03-13 12:35 ` Konrad Dybcio 2026-03-13 16:04 ` Dmitry Baryshkov 2 siblings, 1 reply; 9+ messages in thread From: Konrad Dybcio @ 2026-03-13 12:34 UTC (permalink / raw) To: Shuai Zhang, Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley Cc: linux-arm-msm, devicetree, linux-kernel, linux-bluetooth, cheng.jiang, quic_chezhou, wei.deng, jinwang.li, mengshi.wu On 3/13/26 7:37 AM, Shuai Zhang wrote: > Hi Konrad > > On 3/11/2026 9:07 PM, Konrad Dybcio wrote: >> On 3/11/26 10:09 AM, Shuai Zhang wrote: >>> When Bluetooth supports both USB and UART, the BT UART driver is >>> always loaded, while USB is hot-pluggable. As a result, when Bluetooth >>> is used over USB, the UART driver still be probed and drive BT_EN low, >>> which causes the Bluetooth device on USB to be disconnected. >> Is bluetooth connected over UART *and* USB simultaneously? > BT uses either UART or USB, never both at the same time. > > On platforms supporting both, the UART driver is always probed, while USB is hot‑pluggable. > > As a result, when BT runs over USB, the UART driver still probes and pulls BT_EN low, > > unintentionally powering off the USB BT device. Please describe in more detail how that difference can appear in practice. Is there an M.2 slot, into which different kinds of cards (i.e. ones with BT-over-USB vs BT-over-UART) may be plugged in? Konrad ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v1] arm64: dts: qcom: hamoa-iot-evk: support Bluetooth over both USB and UART 2026-03-13 12:34 ` Konrad Dybcio @ 2026-03-18 2:39 ` Shuai Zhang 0 siblings, 0 replies; 9+ messages in thread From: Shuai Zhang @ 2026-03-18 2:39 UTC (permalink / raw) To: Konrad Dybcio, Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley Cc: linux-arm-msm, devicetree, linux-kernel, linux-bluetooth, cheng.jiang, quic_chezhou, wei.deng, jinwang.li, mengshi.wu Hi Konrad Thanks for your review. On 3/13/2026 8:34 PM, Konrad Dybcio wrote: > On 3/13/26 7:37 AM, Shuai Zhang wrote: >> Hi Konrad >> >> On 3/11/2026 9:07 PM, Konrad Dybcio wrote: >>> On 3/11/26 10:09 AM, Shuai Zhang wrote: >>>> When Bluetooth supports both USB and UART, the BT UART driver is >>>> always loaded, while USB is hot-pluggable. As a result, when Bluetooth >>>> is used over USB, the UART driver still be probed and drive BT_EN low, >>>> which causes the Bluetooth device on USB to be disconnected. >>> Is bluetooth connected over UART *and* USB simultaneously? >> BT uses either UART or USB, never both at the same time. >> >> On platforms supporting both, the UART driver is always probed, while USB is hot‑pluggable. >> >> As a result, when BT runs over USB, the UART driver still probes and pulls BT_EN low, >> >> unintentionally powering off the USB BT device. > Please describe in more detail how that difference can appear in practice. > > Is there an M.2 slot, into which different kinds of cards (i.e. ones with > BT-over-USB vs BT-over-UART) may be plugged in? Yes, this is an M.2 slot that can accommodate different types of cards. Additionally, the maintainer proposed option [1], which should be able to resolve my issue. I am currently evaluating it. [1]https://lore.kernel.org/r/20260224-pci-m2-e-v5-9-dd9b9501d33c@oss.qualcomm.com > > Konrad Thanks, Shuai ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v1] arm64: dts: qcom: hamoa-iot-evk: support Bluetooth over both USB and UART 2026-03-13 6:37 ` Shuai Zhang 2026-03-13 12:34 ` Konrad Dybcio @ 2026-03-13 12:35 ` Konrad Dybcio 2026-03-13 16:04 ` Dmitry Baryshkov 2 siblings, 0 replies; 9+ messages in thread From: Konrad Dybcio @ 2026-03-13 12:35 UTC (permalink / raw) To: Shuai Zhang, Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley Cc: linux-arm-msm, devicetree, linux-kernel, linux-bluetooth, cheng.jiang, quic_chezhou, wei.deng, jinwang.li, mengshi.wu On 3/13/26 7:37 AM, Shuai Zhang wrote: > Hi Konrad > > On 3/11/2026 9:07 PM, Konrad Dybcio wrote: >> On 3/11/26 10:09 AM, Shuai Zhang wrote: >>> When Bluetooth supports both USB and UART, the BT UART driver is >>> always loaded, while USB is hot-pluggable. As a result, when Bluetooth >>> is used over USB, the UART driver still be probed and drive BT_EN low, >>> which causes the Bluetooth device on USB to be disconnected. >> Is bluetooth connected over UART *and* USB simultaneously? > BT uses either UART or USB, never both at the same time. [...] >>> - wcn_bt_en: wcn-bt-en-state { >>> - pins = "gpio116"; >>> - function = "gpio"; >>> - drive-strength = <2>; >>> - bias-disable; >>> + wcn_bt_en_hog: wcn-bt-en-state-hog { >> This name is illegal (make CHECK_DTBS=1 qcom/hamoa-iot-evk.dtb) > > > |I will use tlmm to control| > > >> >>> + gpio-hog; >>> + gpios = <116 GPIO_ACTIVE_HIGH>; >>> + output-high; >>> + input-disable; >> This property is not allowed for TLMM pins >> >>> + link-name = "BT_EN"; >> This property doesn't exist > > > I will remove it; Please run make [...] CHECK_DTBS=1 qcom/hamoa-iot-evk.dtb for your next submission to ensure the schema checks succeed Konrad ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v1] arm64: dts: qcom: hamoa-iot-evk: support Bluetooth over both USB and UART 2026-03-13 6:37 ` Shuai Zhang 2026-03-13 12:34 ` Konrad Dybcio 2026-03-13 12:35 ` Konrad Dybcio @ 2026-03-13 16:04 ` Dmitry Baryshkov 2 siblings, 0 replies; 9+ messages in thread From: Dmitry Baryshkov @ 2026-03-13 16:04 UTC (permalink / raw) To: Shuai Zhang Cc: Konrad Dybcio, Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley, linux-arm-msm, devicetree, linux-kernel, linux-bluetooth, cheng.jiang, quic_chezhou, wei.deng, jinwang.li, mengshi.wu On Fri, Mar 13, 2026 at 02:37:39PM +0800, Shuai Zhang wrote: > Hi Konrad > > On 3/11/2026 9:07 PM, Konrad Dybcio wrote: > > On 3/11/26 10:09 AM, Shuai Zhang wrote: > > > When Bluetooth supports both USB and UART, the BT UART driver is > > > always loaded, while USB is hot-pluggable. As a result, when Bluetooth > > > is used over USB, the UART driver still be probed and drive BT_EN low, > > > which causes the Bluetooth device on USB to be disconnected. > > Is bluetooth connected over UART *and* USB simultaneously? > BT uses either UART or USB, never both at the same time. > > On platforms supporting both, the UART driver is always probed, while USB is > hot‑pluggable. > > As a result, when BT runs over USB, the UART driver still probes and pulls > BT_EN low, > > unintentionally powering off the USB BT device. Could you please confirm if [1] would solve the problem? [1] https://lore.kernel.org/r/20260224-pci-m2-e-v5-9-dd9b9501d33c@oss.qualcomm.com > > > > > > Configure BT_EN as a GPIO hog so that it is controlled by the platform > > What's "the platform"? > > hamoa-evk > > -- With best wishes Dmitry ^ permalink raw reply [flat|nested] 9+ messages in thread
* RE: [v1] arm64: dts: qcom: hamoa-iot-evk: support Bluetooth over both USB and UART 2026-03-11 9:09 [PATCH v1] arm64: dts: qcom: hamoa-iot-evk: support Bluetooth over both USB and UART Shuai Zhang 2026-03-11 9:41 ` [v1] " bluez.test.bot 2026-03-11 13:07 ` [PATCH v1] " Konrad Dybcio @ 2026-03-16 21:08 ` bluez.test.bot 2 siblings, 0 replies; 9+ messages in thread From: bluez.test.bot @ 2026-03-16 21:08 UTC (permalink / raw) To: linux-bluetooth, shuai.zhang [-- Attachment #1: Type: text/plain, Size: 3000 bytes --] This is automated email and please do not reply to this email! Dear submitter, Thank you for submitting the patches to the linux bluetooth mailing list. This is a CI test results with your patch series: PW Link:https://patchwork.kernel.org/project/bluetooth/list/?series=1064914 ---Test result--- Test Summary: CheckPatch PENDING 0.36 seconds GitLint PENDING 0.25 seconds SubjectPrefix FAIL 0.41 seconds BuildKernel PASS 26.51 seconds CheckAllWarning PASS 29.59 seconds CheckSparse PASS 27.97 seconds BuildKernel32 PASS 25.97 seconds TestRunnerSetup PASS 578.09 seconds TestRunner_l2cap-tester PASS 28.13 seconds TestRunner_iso-tester FAIL 35.02 seconds TestRunner_bnep-tester PASS 6.46 seconds TestRunner_mgmt-tester FAIL 115.32 seconds TestRunner_rfcomm-tester PASS 9.76 seconds TestRunner_sco-tester FAIL 14.43 seconds TestRunner_ioctl-tester PASS 10.54 seconds TestRunner_mesh-tester FAIL 12.58 seconds TestRunner_smp-tester PASS 8.80 seconds TestRunner_userchan-tester PASS 6.74 seconds IncrementalBuild PENDING 0.51 seconds Details ############################## Test: CheckPatch - PENDING Desc: Run checkpatch.pl script Output: ############################## Test: GitLint - PENDING Desc: Run gitlint Output: ############################## Test: SubjectPrefix - FAIL Desc: Check subject contains "Bluetooth" prefix Output: "Bluetooth: " prefix is not specified in the subject ############################## Test: TestRunner_iso-tester - FAIL Desc: Run iso-tester with test-runner Output: BUG: KASAN: slab-use-after-free in le_read_features_complete+0x7e/0x2b0 Total: 141, Passed: 141 (100.0%), Failed: 0, Not Run: 0 ############################## Test: TestRunner_mgmt-tester - FAIL Desc: Run mgmt-tester with test-runner Output: Total: 494, Passed: 489 (99.0%), Failed: 1, Not Run: 4 Failed Test Cases Read Exp Feature - Success Failed 0.102 seconds ############################## Test: TestRunner_sco-tester - FAIL Desc: Run sco-tester with test-runner Output: WARNING: possible circular locking dependency detected BUG: sleeping function called from invalid context at net/core/sock.c:3782 Total: 30, Passed: 30 (100.0%), Failed: 0, Not Run: 0 ############################## Test: TestRunner_mesh-tester - FAIL Desc: Run mesh-tester with test-runner Output: Total: 10, Passed: 8 (80.0%), Failed: 2, Not Run: 0 Failed Test Cases Mesh - Send cancel - 1 Timed out 2.769 seconds Mesh - Send cancel - 2 Timed out 1.994 seconds ############################## Test: IncrementalBuild - PENDING Desc: Incremental build with the patches in the series Output: --- Regards, Linux Bluetooth ^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2026-03-18 2:39 UTC | newest] Thread overview: 9+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2026-03-11 9:09 [PATCH v1] arm64: dts: qcom: hamoa-iot-evk: support Bluetooth over both USB and UART Shuai Zhang 2026-03-11 9:41 ` [v1] " bluez.test.bot 2026-03-11 13:07 ` [PATCH v1] " Konrad Dybcio 2026-03-13 6:37 ` Shuai Zhang 2026-03-13 12:34 ` Konrad Dybcio 2026-03-18 2:39 ` Shuai Zhang 2026-03-13 12:35 ` Konrad Dybcio 2026-03-13 16:04 ` Dmitry Baryshkov 2026-03-16 21:08 ` [v1] " bluez.test.bot
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox