Using a Pi 3B+ with a RF module fitted to receive energy data, which has worked (and still works) for a number of years, but I'm in the process of rebuilding a new server from scratch using Bullseye, instead of Stretch.
I'm using a second SD card, so I can switch between both whilst the new server is being slowly developed!
However, I'm not receiving any data in /dev/ttyAMA0 despite making the same changes I've made to the old system;
Which was adding;
[all]
dtoverlay=pi3-disable-bt
enable_uart=1
to /boot/firmware/config.txt
and disabled bluetooth from using the UART - sudo systemctl disable hciuart
Rebooted, and no data appears
At this stage I retried the old system, by swopping the SD card, and data flowed as usual, so the Pi & RF module are working OK.
Back to the new system... I've tried;
Run raspi-config > Interface Options > Serial Port enable disable, and have;
Ah, that will be because you are using the built in uart, not a plugin one. Sorry, I don't know how to use that in Bullseye. They must have changed something in Bullseye.
Whilst awaiting for the SD card to create an image on my laptop, I put my original 'Stretch' SD card in the same pi, and tried cat /dev/ttyAMA0 and which returned the expected result, spitting data out of the Serial In node.
Some forums talk about dtoverlay=disable-bt instead of dtoverlay=pi3-disable-bt
The other thing is that you have in raspi-config The serial login shell is enabled , my experience is that this keeps the serial occupied (sometimes).This was not with Buster, but you can give it a try.
@dceejay I tried what was suggested in the write up but didn't make much progress, however... in the comments below the article, someone mentioned that a script had been written to auto configure the UART so I gave it a try, and I'm now back working
I had also previously added these lines to the /boot/firmware/config.txt