feat(bt): 蓝牙P1 — netmgrd BT_CTL权威收口(hcitool con判连接/paired-devices补名/a2dp详情/connect-disconnect-pair-unpair-scan)+launcher蓝牙子页sub_page_t重做(8分组,数据全走netmgrd)+设置键audio.output_bt/bt.codec;修act冲突+sub悬垂;宿主82PASS+bt_ctl/bt_page全过
This commit is contained in:
1 parent
8c677f127f
commit
eb07415f7b
8 files changed
+1178
-90
No files matched your search
@@ -75,8 +75,39 @@ echo " UP RUNNING PSCAN"
|
||||
EOF
|
||||
cat > "$T/bluetoothctl" <<'EOF'
|
||||
#!/bin/sh
|
||||
echo "Device 00:1A:7D:DA:71:13 My Headset"
|
||||
echo "Device 11:22:33:44:55:66 Speaker"
|
||||
case "${1:-}" in
|
||||
paired|paired-devices)
|
||||
echo "Device 00:1A:7D:DA:71:13 My Headset"
|
||||
echo "Device 11:22:33:44:55:66 Speaker";;
|
||||
devices)
|
||||
echo "Device 00:1A:7D:DA:71:13 My Headset"
|
||||
echo "Device 11:22:33:44:55:66 Speaker"
|
||||
echo "Device 33:DE:2E:21:AD:30 Pudding";;
|
||||
connect|disconnect|pair|remove)
|
||||
echo "Controller 00:1A:7D:DA:71:13 Connected: yes";;
|
||||
*) echo "Device 00:1A:7D:DA:71:13 My Headset"; echo "Device 11:22:33:44:55:66 Speaker";;
|
||||
esac
|
||||
exit 0
|
||||
EOF
|
||||
cat > "$T/hcitool" <<'EOF'
|
||||
#!/bin/sh
|
||||
echo " < ACL 33:DE:2E:21:AD:30 handle 12 state 1 lm MASTER"
|
||||
echo " < ACL 11:22:33:44:55:66 handle 13 state 1 lm SLAVE"
|
||||
exit 0
|
||||
EOF
|
||||
cat > "$T/bluealsa-cli" <<'EOF'
|
||||
#!/bin/sh
|
||||
if [ "${1:-}" = "a2dp" ]; then
|
||||
echo "/org/bluealsa/hci0/dev_33_DE_2E_21_AD_30/a2dpsrc:"
|
||||
echo " Type: A2DP Source"
|
||||
echo " Codec: SBC"
|
||||
echo " Sampling: 44100 Hz"
|
||||
echo " Channels: 2"
|
||||
echo " Bits per Sample: 16"
|
||||
echo " State: RUNNING"
|
||||
echo " Acquired: yes"
|
||||
fi
|
||||
exit 0
|
||||
EOF
|
||||
cat > "$T/ip" <<'EOF'
|
||||
#!/bin/sh
|
||||
@@ -86,13 +117,14 @@ for a in "$@"; do
|
||||
done
|
||||
exit 0
|
||||
EOF
|
||||
for f in wpa_cli hciconfig bluetoothctl ip; do chmod +x "$T/$f"; done
|
||||
for f in wpa_cli hciconfig bluetoothctl hcitool bluealsa-cli ip; do chmod +x "$T/$f"; done
|
||||
|
||||
mkdir -p "$T/logs" "$T/pid"
|
||||
# 期2:DNS 禁用(宿主无 root 不绑 53),观测层经 MEOW_TCP/UDP 打桩;amsd/svcd 缺省(实体归因走 proc:comm→unknown)。
|
||||
ENVS="MEOW_NET_DIR=$NET MEOW_NETDEV=$T/netdev MEOW_NET_ROUTE=$T/route MEOW_RESOLV=$T/resolv
|
||||
MEOW_RFKILL_DIR=$RF MEOW_BT_DIR=$BT MEOW_BOOT_MODE=$T/boot_mode MEOW_BOOTTS_CACHE=$T/bootts
|
||||
MEOW_IP=$T/ip MEOW_WPA_CLI=$T/wpa_cli MEOW_HCICONFIG=$T/hciconfig MEOW_BLUETOOTHCTL=$T/bluetoothctl
|
||||
MEOW_HCITOOL=$T/hcitool MEOW_BLUEALSA_CLI=$T/bluealsa-cli MEOW_BT_SCAN_CACHE=$T/bt_scan.txt
|
||||
MEOW_NET_SOCK=$T/net.sock MEOW_NET_POLL_SEC=1 MEOW_LOG_DIR=$T/logs
|
||||
MEOW_TCP=$T/tcp MEOW_UDP=$T/udp MEOW_NET_POLICY=$T/policy
|
||||
MEOW_AMS_SOCK=$T/no_ams MEOW_SVCD_SOCK=$T/no_svcd MEOW_DNS_DISABLE=1"
|
||||
@@ -137,10 +169,40 @@ ck T4a "permission denied" "$OUT"
|
||||
OUT=$(env $ENVS $Q "$T/meow_net" bt status 2>&1)
|
||||
ck T5a "available=1 powered=1" "$OUT"
|
||||
ck T5b "paired=2" "$OUT"
|
||||
ck T5b2 "connected=2" "$OUT" # P1:内核 ACL 权威已连接数
|
||||
OUT=$(env $ENVS $Q "$T/meow_net" bt paired 2>&1)
|
||||
ck T5c "My Headset" "$OUT"
|
||||
ck T5d "Speaker" "$OUT"
|
||||
|
||||
# ---- T5e: bt connected(P1:内核 ACL 权威,名经 devices 缓存兜底)----
|
||||
OUT=$(env $ENVS $Q "$T/meow_net" bt connected 2>&1)
|
||||
ck T5e "Device 33:DE:2E:21:AD:30 Pudding" "$OUT"
|
||||
ck T5e2 "Device 11:22:33:44:55:66 Speaker" "$OUT"
|
||||
|
||||
# ---- T5f: bt a2dp(P1:bluealsa-cli a2dp list → codec/rate/acquired/role)----
|
||||
OUT=$(env $ENVS $Q "$T/meow_net" bt a2dp 2>&1)
|
||||
ck T5f "codec=SBC" "$OUT"
|
||||
ck T5f2 "rate=44100" "$OUT"
|
||||
ck T5f3 "acquired=1" "$OUT"
|
||||
ck T5f4 "role=src" "$OUT"
|
||||
|
||||
# ---- T5g: bt devices(P1:netmgrd 权威扫描缓存)----
|
||||
cat > "$T/bt_scan.txt" <<'EOF'
|
||||
[NEW] Device 33:DE:2E:21:AD:30 Pudding
|
||||
[NEW] Device AA:BB:CC:DD:EE:FF Earbuds
|
||||
[DEL] Device 00:11:22:33:44:55
|
||||
EOF
|
||||
OUT=$(env $ENVS $Q "$T/meow_net" bt devices 2>&1)
|
||||
ck T5g "Device 33:DE:2E:21:AD:30 Pudding" "$OUT"
|
||||
ck T5g2 "Device AA:BB:CC:DD:EE:FF Earbuds" "$OUT"
|
||||
|
||||
# ---- T5h: bt 写级(connect/pair 等)在宿主 CLI=CALL_OTHER → 拒(仅系统身份+MeowOS 放行,见 T6)----
|
||||
OUT=$(env $ENVS $Q "$T/meow_net" bt connect 33:DE:2E:21:AD:30 2>&1); RC=$?
|
||||
ck T5h "permission denied" "$OUT"
|
||||
ck T5h2 "rc=1" "rc=$RC"
|
||||
OUT=$(env $ENVS $Q "$T/meow_net" bt scan on 2>&1)
|
||||
ck T5i "permission denied" "$OUT"
|
||||
|
||||
# ---- T6: HibyOS 只读降级(读可查,写拒)----
|
||||
echo hiby > "$T/boot_mode"
|
||||
sleep 2 # 等守护下一拍热切换
|
||||
|
||||
Reference in new issue
Block a user