I have a Compute Module 4 here, and i want to enable more UART ports The Datasheet, Page8 specifies that uart 2-5 can be enabled since their ports are not used by anything else
I've run raspi-gpio get 0-15
And the result is as following:
pi@raspberrypi:~ $ raspi-gpio get 0-20
GPIO 0: level=1 fsel=0 func=INPUT pull=UP
GPIO 1: level=1 fsel=0 func=INPUT pull=UP
GPIO 2: level=1 fsel=0 func=INPUT pull=UP
GPIO 3: level=1 fsel=0 func=INPUT pull=UP
GPIO 4: level=1 fsel=0 func=INPUT pull=UP
GPIO 5: level=1 fsel=0 func=INPUT pull=UP
GPIO 6: level=1 fsel=0 func=INPUT pull=UP
GPIO 7: level=1 fsel=0 func=INPUT pull=UP
GPIO 8: level=1 fsel=0 func=INPUT pull=UP
GPIO 9: level=0 fsel=0 func=INPUT pull=DOWN
GPIO 10: level=0 fsel=0 func=INPUT pull=DOWN
GPIO 11: level=0 fsel=0 func=INPUT pull=DOWN
GPIO 12: level=0 fsel=0 func=INPUT pull=DOWN
GPIO 13: level=0 fsel=0 func=INPUT pull=DOWN
GPIO 14: level=1 fsel=4 alt=0 func=TXD0 pull=NONE
GPIO 15: level=1 fsel=4 alt=0 func=RXD0 pull=UP
Meaning no pins are currently in use for a special function besides, UART0, which occupies the pins 14/4
To enable UART, i followed major forum posts and tips, and modified config.txt as following
[pi4]
# Enable DRM VC4 V3D driver on top of the dispmanx display stack
dtoverlay=vc4-fkms-v3d
max_framebuffers=2
#Enable Uarts
dtoverlay=uart0
dtovleray=uart2
dtovleray=uart3
dtovleray=uart4
dtovleray=uart5
#Enable the USB Hub
dtoverlay=dwc2,dr_mode=host
Then i rebooted the raspberry pi, but
- No additional Ports in
sudo ls -l /dev
only ttyAMA0 and ttyS0 here, as before - No changes when running
raspi-gpio get 0-15
, same as before
What I've tried so far
- Multiple combinations of uarts, for example (0,2) or (3,4) etc
- Tried to switch on ctsrts parameters
- tried commands in the config.txt for
disable-bt
orenable_uart=1
Nothing seems to be working, even stranger the command sudo dtoverlay -l
, shows "No overlays loaded" , yet UART0 and as well as the overlay for the USB-Hub must be loaded, else the keyboard and mouse would not work
It seems, that the parameter dtoverlay=uart0
, is interpreted right, and is working, because if i remove this overlay, raspi-gpio get 0-15
will show the GPIO 14 and 15 are free.
Yet, the other commands seem to be ignored.
What could be the issue here? Am i missing something?
-
Did you solve this issue?DumTux– DumTux2021年08月26日 18:55:49 +00:00Commented Aug 26, 2021 at 18:55
1 Answer 1
I know this was asked a while ago, but I think the answer is simple. You have dtoverlay
misspelled everywhere except uart0.
Try changing this:
dtoverlay=uart0
dtovleray=uart2
dtovleray=uart3
dtovleray=uart4
dtovleray=uart5
To this:
dtoverlay=uart0
dtoverlay=uart2
dtoverlay=uart3
dtoverlay=uart4
dtoverlay=uart5