How to enable UART1 on Pi3

I’ll ask @popcornmix about this. The Pi BT service depends on the presence of /dev/ttyS0. So I expect that without the config.txt change, you do have a /dev/ttyS0, but when you add enable_uart=1 you do not. I’m not sure why this is the case.

A minor correction: ttyS0 is a hardware UART - it’s an 8250 clone, but with very small FIFOs. It is also slaved to the VPU clock, so enable_uart=1 has the side effect of locking the VPU clock to 250MHz (unless force_turbo=1, which we don’t recommend).

If you have vcgencmd, can you run /opt/vc/bin/vcgencmd get_config enable_uart just to verify that the setting has stuck and there isn’t some weird lookalike character in there. I’d also like to see the output from dmesg | grep 8250.

1 Like

Any chance this was ever solved w/o switching the UARTs or disabling BT? Same issue as original poster. I’ve got a new Pi3, new OSMC (Dec build) with no Serial0 / ttyS0 showing before or after doing enable_uart=1.

I had a similar issue where I had to also disable BT to get serial output. Not sure why.

Thanks. If you don’t know why, I guarantee I don’t. I suppose I’ll try switching out the UARTs and if that doesn’t fly then I’ll go with disabling the BT.

Any chance there’s a clue as to why in this tidbit: when tried to ping serial0 or ttyS0 it gave me a permission denied message. If it didn’t exist, I wouldn’t have thought it would toss that back me. I was a member of all the relevant groups as far as I could tell. Just some food for thought.

Can’t say why off the top of my head. Any joy when you are root?