September 01, 2026, 01:34:16 AM

Recent posts

#1
A64 / Re: A64-OlinuXino-2Ge16G-IND E...
Last post by LubOlimex - August 31, 2026, 11:39:25 AM
Thank you for this. I want to post update in this topic since it had been recently brought up by another customer.

The reset circuit of the Ethernet can be handled passively or via GPIO pin connected to the main chip.

There are advantages and disadvantages of each option. In the hardware design of our A64 boards we have chosen the second option - connect the Ethernet reset to a GPIO of the A64 chip (in our case specifically pin "PD24") - this allows to reset just the Ethernet, by toggling this GPIO PD24, if a problem with the Ethernet appears. It is very convenient for systems where reliability is important and where the whole board shouldn't be power cycled when Ethernet hangs. Now - the down-side is that your software should take care of the GPIO pin that is routed to the reset of the Ethernet (e.g. during power-up either keep it in reset long enough, or maybe even simpler, just run one time reset at some point during boot). This software work is now done in our Olimage Linux, it handles PD24 during power-up.

Of course, if you use custom Linux and you have Ethernet issues during power up or reset, you can add some software control for PD24 and fix it.

Alternatively, give up on the software method and go the hardware option we have provided. Simply unsolder R117 (1K) and solder it to R118 position. This will disconnect the Ethernet reset from PD24 GPIO, and connect it to the passive auto-reset circuit. This simplifies the design but disables the option to reset ONLY the Ethernet via GPIO (e.g. if the Ethernet hangs and it is not possible to recover you will need to reset the whole board).
#2
A20 / Re: Working Linux driver for U...
Last post by LubOlimex - August 26, 2026, 04:55:44 PM
Ah, it is probably with a different chipset. What does it list as before ejecting, e.g. unplug/plug?

lsusb

After ejecting is clear but still what does this return:

eject /dev/sr0
lsusb
dmesg | grep -Ei '350b|9612|f179|ztop|zt9612|firmware|wlan|wifi|usb' | tail -120
#3
A64 / Re: Debian GNU/Linux 13 (Trixi...
Last post by Roman - August 23, 2026, 10:18:34 PM
Quote from: Roman on June 06, 2026, 08:09:08 PMBut I would rather see the issue fixed in the upstream.

I was pointed to the documentation about the Ethernet PHY modes. It explains which mode to use depending on how the 2 ns RGMII delay is implemented.

Quote# One option is to make the clock traces on the PCB longer than the
# data traces. A sufficiently difference in length can provide the 2ns
# delay. If both the RX and TX delays are implemented in this manner,
# 'rgmii' should be used, so indicating the PCB adds the delays.
#
# If the PCB does not add these delays via extra long traces,
# 'rgmii-id' should be used. Here, 'id' refers to 'internal delay',
# where either the MAC or PHY adds the delay.

I tried calculating the legths of the tracks and counting resistrors in the PCB schematics and concluded that they are unlikely to bring any significant delays. I tried 'rgmii-id' and it worked without additional adjustments to both RX and TX delays in the device tree, so the driver configures the delays for that mode.

Assuming that the submitted upstream patch is accepted into Linux release 7.3, a kernel with that fix to the device tree may eventually become available in Debian backports.
#4
A20 / Re: LIME2-4GB dead or not?
Last post by LubOlimex - August 21, 2026, 08:41:09 AM
Yes, since SD card is good and you used Olimage base, and you prepared the SD card with Balena and there is still nothing on the HDMI monitor, it appears the board got damaged somehow. Now looking at your first post I see this part, which I missed initially somehow (silly me):

"Yesterday, I tried with another power supply adapter, with Output 12V / 1A / 12 W"

This damaged the board for sure since LIME2 is 5V only board. The board got damaged by overvoltage for sure, even if the initial problem was something else. Anything above 6V DC will burn the D3 diode at the power jack. My advice is:

Desolder D3 diode and test with 5V DC only supply to see if it works. Hopefully only the protection diode on the input got damage and the rest of the circuit is alright. If it works without D3 make sure to purchase such diode and replace the burned one (else the board will be without protection for future overvoltages). Again make sure NOT to use 12VDC power supply, 5V DC only!

About D3 - it is the big black component just under the powerjack and it is hard to desolder due to its size and placement. You need some basic soldering experience, since it is possible to desolder other components around it if you hold the solderin iron too long or if you don't insulate nearby soldering points with tin foil. It is usually sufficient to desolder one leg and carefully lift it. However, since the board doesn't work anyway trying this is better than just throwing it away!

It might be good idea to also check what happens over the terminal if you have USB-serial cable to attach to the three UART0 pins (near the Ethernet connector), this will help us see whether it boots at all and where the boot stops.

Another good idea for diagnostic is measuring with multimeter or voltage meter, for example at the GPIO headers if the is 5V DC when the board is powered, and track where the voltage disappears between the power jack and the main chip.
#5
A20 / Re: LIME2-4GB dead or not?
Last post by philderv - August 20, 2026, 05:39:08 PM
OK

F3 tests are good
SD Card created with Olimex last image by Balena Etcher

Tried to boot the image on my LIME2: no luck


Can I affirm it is really dead?
#6
A20 / Re: Working Linux driver for U...
Last post by sasha2002 - August 20, 2026, 01:41:55 PM
Tested this specific version of driver, it's not working.
At first you can't install it because it's not compiling at all with existing headers, downloaded from kernel.org, after compiling and modprobe

As you can see from /usr/lib/udev/rules.d/aic.rules :
                       
# AIC8800 USB mass-storage mode switch rules
KERNEL=="sd*", ATTRS{idVendor}=="a69c", ATTRS{idProduct}=="5721",  SYMLINK+="aicudisk", RUN+="/usr/bin/eject /dev/%k"
KERNEL=="sd*", ATTRS{idVendor}=="a69c", ATTRS{idProduct}=="5722",  SYMLINK+="aicudisk", RUN+="/usr/bin/eject /dev/%k"
KERNEL=="sd*", ATTRS{idVendor}=="a69c", ATTRS{idProduct}=="5723",  SYMLINK+="tendaudisk", RUN+="/usr/bin/eject /dev/%k"
KERNEL=="sd*", ATTRS{idVendor}=="a69c", ATTRS{idProduct}=="5724",  SYMLINK+="ugreenax900", RUN+="/usr/bin/eject /dev/%k"
KERNEL=="sd*", ATTRS{idVendor}=="a69c", ATTRS{idProduct}=="5725",  SYMLINK+="tendaudiskv2", RUN+="/usr/bin/eject /dev/%k"
KERNEL=="sd*", ATTRS{idVendor}=="a69c", ATTRS{idProduct}=="5726",  SYMLINK+="tendaudiskv3", RUN+="/usr/bin/eject /dev/%k"
KERNEL=="sd*", ATTRS{idVendor}=="a69c", ATTRS{idProduct}=="5727",  SYMLINK+="tendaudiskv4", RUN+="/usr/bin/eject /dev/%k"
KERNEL=="sd*", ATTRS{idVendor}=="a69c", ATTRS{idProduct}=="572a",  SYMLINK+="tendaudiskv5", RUN+="/usr/bin/eject /dev/%k"
KERNEL=="sd*", ATTRS{idVendor}=="a69c", ATTRS{idProduct}=="572c",  SYMLINK+="cudydiskv2", RUN+="/usr/bin/eject /dev/%k"
KERNEL=="sd*", ATTRS{idVendor}=="a69c", ATTRS{idProduct}=="572f",  SYMLINK+="aicudisk572f", RUN+="/usr/bin/eject /dev/%k"

# AIC8800D80 "Pandora" clone: switch 1111:1111 to its operational USB ID.
ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="1111", ATTR{idProduct}=="1111", RUN+="/bin/sh -c 'if [ -x /usr/sbin/usb_modeswitch ]; then exec /usr/sbin/usb_modeswitch -c /etc/usb_modes>
There are no ID 350b:f179 or ID 350b:9612
I've added, but no luck :
ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="350b", ATTR{idProduct}=="f179", RUN+="/usr/sbin/usb_modeswitch -v 0x350b -p 0xf179 -KW"
As i understand this driver is for other dongles
#7
A20 / Re: LIME2-4GB dead or not?
Last post by LubOlimex - August 18, 2026, 04:40:11 PM
No idea, I've only used Balena Etcher and USBImager to prepare the images and then "dd" in the command line. Try with either Balena Etcher or USBImager both have Linux releases.
#8
A20 / Re: Working Linux driver for U...
Last post by LubOlimex - August 18, 2026, 04:37:35 PM
For Linux use the drivers and instructions at this GitHub article:

https://github.com/shenmintao/aic8800d80

Try something like:

sudo apt install git dkms build-essential linux-headers-$(uname -r) eject usb-modeswitch
git clone https://github.com/shenmintao/aic8800d80.git
cd aic8800d80
sudo ./install.sh
sudo reboot
#9
FPGA / Re: Olimex GateMateA1-EVB + On...
Last post by LubOlimex - August 18, 2026, 03:38:12 PM
Well if your FPGA bit stream implements UART and maps it to RP2040 debug-UART pins, it should.
#10
FPGA / Re: Olimex GateMateA1-EVB + On...
Last post by dettus - August 18, 2026, 11:33:37 AM
Thank you.

My question is, if that would give me a functioning UART, one that I can use from my PC?