Rock 3A can't access GPIO functionalities and no /boot/uEnv.txt

Hi,
I’ve been following the Development Guide to start using GPIO but there are a few problems for which there is no explanation on the wiki. I’m using the latest Ubuntu server image: 4.19.193-56-rockchip-gf62b47f70096. The system is up-to-date.

mraa is installed and lists gpio properly, haven’t tested the binary pins though because it’s the least relevant to me (it will be important, but later). The worst problem that I have is that none of the I2C buses from the GPIO pins are visible. I suppose that it is because they’re not enabled but there is no /boot/uEnv.txt file to enable the required overlays.

There is however the /boot/config.txt file which looks as if it allowed for enabling the overlays. It doesn’t do anything though. All I know is that i2c2 and i2c3 are NOT visible in the OS. I haven’t checked yet but most likely all other interfaces are also non-functional.

Can anything be done to fix this?
I’d also like to mention that I’ve had no problems on 4C+.

So… Nobody gives a crap about the crucial functionalities?
Fine. I’m throwing the board in trash. Thanks for nothing :slight_smile:

Hi stardust,
Pls wait a moment. I understand your situation. I also could not find an instruction about /boot/config.txt. Therefore I recommend you to go back to an old image of the rock3a.
[rock-3a-ubuntu-focal-server-arm64-20220728-0311-gpt.img.xz] worked well on I2C . You can find /boot/uEnv.txt. After update/upgrade, the image must be upgraded to 4.19.193-56-rockchip-gf62b47f70096.
I believe that Radxa team will make an instruction about editing config.txt soon.
Pls refer to the following link.
(https://github.com/radxa/debos-radxa/releases/download/20220728-0218/rock-3a-ubuntu-focal-server-arm64-20220728-0311-gpt.img.xz)
https://github.com/radxa/debos-radxa/releases/tag/20220728-0218
Goog luck!

Thanks for the answer. I was just about to share the same recommendation since I thought about it and tested just this morning.

I should apologize for my overreaction. It’s because I’m new to the topic of embedded Linux, embedded systems and “not-that-low-but-pretty-low-level” stuff. Also a little short for time in a project. I had nothing to hold on to, that could help solve the problem.

Almost everything works completely fine on the earlier version of the OS (the one from july), although I noticed that mraa has a different indexing scheme for interfaces than what is described in pinouts or the OS.

I think Radxa wiki could benefit from adding a little bit of references as to how things work, and not just how to enable stuff. The boards are really great and I’d love to see them become popular also for non-professionals. It’s a big market, especially bearing in mind the shortages of other boards.

I am relieved to see your message. I hope your project will be successful.
Thanks.

II edited the config.txt file of the latest image like below.

------------/boot/config.txt-----------
'# Execute “update_extlinux.sh” after changing file /boot/config.txt.


'#
'# dt overlay line: started with “dtoverlay=”. One dt overlay one line.
'#
‘# dtoverlay=rk3568-fiq-debugger-uart2m0
dtoverlay=rk3568-pwm8-m0-fan
dtoverlay=rk3568-disable-npu
dtoverlay=rk3568-i2c2-m0
dtoverlay=rk3568-i2c3-m0
----------end-----------
(’# means just #.)

After editing it , execute “sudo update_extlinux.sh” and reboot.
This worked well on I2C2 and I2C3.

Regarding device overlay, it seems that right parameters of ‘dtoverlay=’ are same as the ones in uEnv.txt. However ,‘One dtoverlay= one line’.
Pls try it If you have extra time.

Yeah, can confirm, it works. :slight_smile:

I feel so stupid.
Initially I added the overlays to the file but completely missed the update script.