I got some questions about uart in raspberry pi 4 model b. I used to run my program in rpi 3 model b+, but everything went wrong when I tried to do the same thing on pi 4.
First of all, each time I reboot the pi, the uart privilege need to be set again like using
sudo chmod 777 /dev/ttyS0
to make it possible to run my python code, which is quite annoying since I'm going to let my student to run the code on their own pi, and somehow quite dangerous.
Second is that after privious settings, after starting the program, through the output I can tell that my serial port didn't let me to write (read is okay), that is, their's nothing shown on the connected device, in python:
ser.write('something')
So there's two things I am trying to deal with, to remain the privilege of accessing '/dev/ttyS0', and write to device successfully.
Here's my config.txt and cmdline.txt, let me know if I need to show to make my question more clear.
cmdline.txt
console=tty1 root=PARTUUID=ea7d04d6-02 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait splash plymouth.ignore-serial-consoles
config.txt
# For more options and information see
# http://rpf.io/configtxt
# Some settings may impact device functionality. See link above for details
# uncomment if you get no picture on HDMI for a default "safe" mode
#hdmi_safe=1
# uncomment this if your display has a black border of unused pixels visible
# and your display can output without overscan
disable_overscan=1
# uncomment the following to adjust overscan. Use positive numbers if console
# goes off screen, and negative if there is too much border
#overscan_left=16
#overscan_right=16
#overscan_top=16
#overscan_bottom=16
# uncomment to force a console size. By default it will be display's size minus
# overscan.
#framebuffer_width=1280
#framebuffer_height=720
# uncomment if hdmi display is not detected and composite is being output
#hdmi_force_hotplug=1
# uncomment to force a specific HDMI mode (this will force VGA)
#hdmi_group=1
#hdmi_mode=1
# uncomment to force a HDMI mode rather than DVI. This can make audio work in
# DMT (computer monitor) modes
#hdmi_drive=2
# uncomment to increase signal to HDMI, if you have interference, blanking, or
# no display
#config_hdmi_boost=4
# uncomment for composite PAL
#sdtv_mode=2
#uncomment to overclock the arm. 700 MHz is the default.
#arm_freq=800
# Uncomment some or all of these to enable the optional hardware interfaces
#dtparam=i2c_arm=on
#dtparam=i2s=on
#dtparam=spi=on
# Uncomment this to enable infrared communication.
#dtoverlay=gpio-ir,gpio_pin=17
#dtoverlay=gpio-ir-tx,gpio_pin=18
# Additional overlays and parameters are documented /boot/overlays/README
# Enable audio (loads snd_bcm2835)
dtparam=audio=on
enable_uart=1
[pi4]
# Enable DRM VC4 V3D driver on top of the dispmanx display stack
dtoverlay=vc4-fkms-v3d
max_framebuffers=2
[all]
#dtoverlay=miniuart-bt
/dev/ttyS0
? Perhaps your problems will disappear if you use the correct/dev/serial0
.