The trick in original command is to use -r
I can get it to attach to ttyS0 or ttyS1, but not any other serial. I can attach the Console to any serial from the dietpi config, but not using the hciattach.
When I connect to ttyS0/1, I still cannot see an attached bluetooth controller although I don’t see errors.
Blockquote root@:~# hciattach -r /dev/ttyS1 any 115200
Device setup complete
root@:~# dmesg | grep -i “blue”
[ 48.005928] Bluetooth: Core ver 2.22
[ 48.006118] NET: Registered PF_BLUETOOTH protocol family
[ 48.006129] Bluetooth: HCI device and connection manager initialized
[ 48.006155] Bluetooth: HCI socket layer initialized
[ 48.006167] Bluetooth: L2CAP socket layer initialized
[ 48.006193] Bluetooth: SCO socket layer initialized
[ 48.063734] Bluetooth: HCI UART driver ver 2.3
[ 48.063767] Bluetooth: HCI UART protocol H4 registered
[ 48.063775] Bluetooth: HCI UART protocol BCSP registered
[ 48.063901] Bluetooth: HCI UART protocol LL registered
[ 48.063911] Bluetooth: HCI UART protocol ATH3K registered
[ 48.063958] Bluetooth: HCI UART protocol Three-wire (H5) registered
[ 48.064162] Bluetooth: HCI UART protocol Broadcom registered
[ 48.675822] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[ 48.675854] Bluetooth: BNEP filters: protocol multicast
[ 48.675876] Bluetooth: BNEP socket layer initialized
root@:~# bluetoothctl
Agent registered
[bluetooth]# list
[bluetooth]# exit
root@:~# sysetmctl start bluetooth.service
-bash: sysetmctl: command not found
root@:~# systemctl restart bluetooth.service
root@:~# systemctl status bluetooth.service
● bluetooth.service - Bluetooth service
Loaded: loaded (/lib/systemd/system/bluetooth.service; enabled; preset: enabled)
Active: active (running) since Sat 2023-07-01 08:35:40 PDT; 6s ago
Docs: man:bluetoothd(8)
Main PID: 1625 (bluetoothd)
Status: “Running”
Tasks: 1 (limit: 2027)
Memory: 492.0K
CPU: 202ms
CGroup: /system.slice/bluetooth.service
└─1625 /usr/libexec/bluetooth/bluetoothd
Jul 01 08:35:40 bluetoothd[1625]: Bluetooth daemon 5.66
Jul 01 08:35:40 systemd[1]: Started bluetooth.service - Bluetooth service.
Jul 01 08:35:40 bluetoothd[1625]: Starting SDP server
Jul 01 08:35:40 bluetoothd[1625]: profiles/audio/vcp.c:vcp_init() D-Bus experimental not enabled
Jul 01 08:35:40 bluetoothd[1625]: src/plugin.c:plugin_init() Failed to init vcp plugin
Jul 01 08:35:40 bluetoothd[1625]: profiles/audio/mcp.c:mcp_init() D-Bus experimental not enabled
Jul 01 08:35:40 bluetoothd[1625]: src/plugin.c:plugin_init() Failed to init mcp plugin
Jul 01 08:35:40 bluetoothd[1625]: profiles/audio/bap.c:bap_init() D-Bus experimental not enabled
Jul 01 08:35:40 bluetoothd[1625]: src/plugin.c:plugin_init() Failed to init bap plugin
Jul 01 08:35:40 bluetoothd[1625]: Bluetooth management interface 1.22 initialized
root@:~# rfkill list
0: hci0: Bluetooth
Soft blocked: no
Hard blocked: no
Here is the error for ttyS3
:~# hciattach -r /dev/ttyS3 any 115200
Can’t get port settings: Input/output error
Can’t initialize device: Input/output error
I did reboot between hciattach commands as I couldn’t figure out the detach command 
Not sure if this helps, but I ran setserial and this is the output, perhaps a layer needs to be added?
root@:/boot# setserial -g /dev/ttyS0
/dev/ttyS0, UART: 16550A, Port: 0x0000, IRQ: 136
root@:/boot# setserial -g /dev/ttyS1
/dev/ttyS1, UART: 16550A, Port: 0x0000, IRQ: 137
root@:/boot# setserial -g /dev/ttyS2
/dev/ttyS2, UART: unknown, Port: 0x0000, IRQ: 0
root@:/boot# setserial -g /dev/ttyS3
/dev/ttyS3, UART: unknown, Port: 0x0000, IRQ: 0
root@:/boot# setserial -g /dev/ttyS4
/dev/ttyS4, UART: unknown, Port: 0x0000, IRQ: 0
root@:/boot# setserial -g /dev/ttyS5
/dev/ttyS5, UART: unknown, Port: 0x0000, IRQ: 0
root@:/boot# setserial -g /dev/ttyS6
/dev/ttyS6, UART: unknown, Port: 0x0000, IRQ: 0