Ubuntu 24.04 LTS image file

Hello everyone!

Milk-V Duo 256m was recently delivered (almost 2 weeks ago), during this time I tried both the official image and Ubuntu 22.04 from Bassusteur. It was the latter image that I took as a basis for creating version 24.04 LTS, the link to which I will post here. Authorization password “milkv”. But … there is some problem, the IP address 192.168.42.1 is reset. I have to assign manually # ifconfig enx*** 192.168.42.2 broadcast 192.168.42.255 netmask 255.255.255.0 , but after some time it is reset again. I would like to understand which files are responsible for the operation of usb0 (RNDIS), in order to correct it if possible.

I am waiting for suggestions and explanations from everyone.
Thank you for your attention.

2 Likes

The IP address question: I guess you’re setting up your PC’s (USB host) IP address.

If this is happening only with your image and with the official and 22.04 images didn’t happen, this may be because of the DHCP server: it is either not running, or misconfigured.

1 Like
   Yes. I ordered Milk-V Duo USB & Ethernet IO Board , but the package has not been delivered yet. So it is a PC USB host. Especially since the official documentation is written for this configuration by default.
   Official images (I also built milkv-duo256m-sd-20241105-0043.img myself), as well as Ubuntu 22.04, do not create such a problem, but they have another problem that appeared on Windows 11. During authorization, it refuses to accept the password. There is no such problem under Linux. 
   Regarding the reset of the IP address - for some reason I thought that the problem lies in the missing and / or damaged library and configuration files. Now I rechecked the list of enabled services, yes, dhcpcd is enabled and running.
1 Like

I have no idea what about Windows; but the DHCP dæmon is either not configured to respond on this interface, or it may be getting blocked by a firewall, for instance.

Also, do you think it is a DHCP server dæmon, not a DHCP client dæmon you’re checking? Because I’m afraid this is a DHCP client.

I forgot to clarify, I apologize. The IP address reset occurs only for the first 10-15 minutes after connection, then it can work for hours without resetting.

1 Like

Doesn’t look like a problem with config. Looks very much as if your PC is being configured automatically once you boot the Duo board up, and after a while something resets the address.

This can happen in several cases.
For instance, if your computer wants to renew/rebind/confirm the address (it happens at least once at half the lease period) while the DHCP server isn’t responding already.

Requires further investigation.

Anyway, you can inspect what’s happening at that moment if you hook a USB-to-TTL converter up to the UART line of the board, this may help.

1 Like

Sorry for not answering right away, I understand you.
So I ordered the converter and it finally arrived, as did the Milk-V Duo USB & Ethernet IO Board. I soldered all the necessary contacts and inserted it into the expansion board. Ethernet works, but for some reason external IP addresses are not pinged, outside the router. The IP address is assigned normally, all devices within the router are visible and pinged. I’ll figure out the converter a little later, I’ll write.

1 Like

So, trying to connect UART login Terminal in Linux gives the following error:
“Unable to open connection to /dev/ttyUSB0:
Opening serial port ‘/dev/ttyUSB0’: Device or resource busy”

and working in Milk-V Duo USB and Ethernet IO Board leads to the freezing of the main board with the processor and the additional one with USB and Ethernet.

1 Like

I believe you need to add this your user to dialout system group.

1 Like

I’m not sure I will be capable of understanding what it means. I’m not the brightest one, yet I believe there’s many people out there who’d appreciate it being explained more clear and easier to comprehend.

It wasn’t necessary, all I had to do was run it with “sudo”.

Under Linux it got to loading OpenSBI, but I have to wait a very long time for it to load.
But under Windows 10 the connection does not occur at all.

1 Like

Don’t be shy, maybe you couldn’t give me a direct answer, but with your leading questions and answers you helped me a lot. For which I thank you very much!

I mean, both boards freeze after a few minutes of work.

1 Like

You have two Milk-V Duo (64MB) boards, and you observe the same behaviour, right?

Ah, after reading the topic again, I seem to get it: you’ve ported Ubuntu 24.04 LTS to RISCV64 for Milk-V Duo, and it’s not working very well. I beg your pardon for this misunderstanding.
Where does it stop, while you’re listening to it via serial console?

And yes, adding your user account to the group dialout really helps if you need to talk to ttyACMx / ttyUSBx interfaces.

1 Like

Not exactly. At the moment I only have Milk-V Duo 256m and Milk-V Duo USB & Ethernet IO Board. For some reason, when I install the first one on the second one, after a few minutes of powering up, both the Ethernet on the Milk-V Duo USB & Ethernet IO Board and the Milk-V Duo 256m board itself stop responding.

Yes, that’s right. I ported Ubuntu 24.04 LTS and I would like everything to work as it should, but this problem occurs either by resetting IP via RNDIS, or by freezing both boards.

Added user to specified dialout group. Result of $ putty execution is the same as $ sudo putty. Loading to OpenSBI, reaches position 2.00000 and that’s it, no further loading.

In general, I already regret that I rushed to solder the contacts for installation in Milk-V Duo USB & Ethernet IO Board. I should have debugged everything as needed first, and then installed it into the expansion board.

P.S. I decided to re-upload the Ubuntu 24.04 image to the memory card and… discovered that the card stopped responding and was not detected properly in the system.

1 Like

Was the card the cause of the instability all along? Any better luck with a new card?

1 Like

I don’t think so. After all, it worked on the board for over 20 days without any problems.

I haven’t bought a new card yet.

I think the problem is a short circuit on the Milk-V Duo 256M, maybe when soldering the contacts. If only I could find a continuity diagram, I would check all 40 contacts with a tester.

1 Like

Actually, droplets love going all around, and on a board with such tiny components and clearance — there’s a lot of room for shorts. Unfortunately.

1 Like

I soldered it under a magnifying lamp using soldering acid.
And as far as I understood the diagram, you need to check the contacts in groups, gpio0…gpio4.

1 Like

Custom Ubuntu 24.04.1 LTS (glibc) v0.0.2 release — Autofail/Manual Boot issue.

Hello everyone!
I don’t know if anyone else has ported Ubuntu 24.04 to the Milk-V Duo 256M, but I have finally found some free time to fix the bugs from my first release . In this new version (Ubuntu 24.04.1 LTS v0.0.2), the previous issues with RNDIS (usb0) resetting, networking, and system services have been completely fixed and stabilized. However, since the new kernel is fully based on glibc, a specific issue occurs during the boot phase: the factory U-Boot refuses to boot this OS automatically. It triggers an immediate loop with an “Illegal instruction” hardware crash.To successfully boot the system, I have to interrupt the autoboot sequence and manually execute these exact lines every time:
bashfatload mmc 0 0x81800000 boot.sd
setenv bootargs “root=/dev/mmcblk0p2 rootwait rw console=ttyS0,115200 earlycon=sbi riscv.fwsz=0x80000 loglevel=9”
bootm 0x81800000#config-cv1812cp_milkv_duo256m_sd
Use code with caution.
After doing this, Ubuntu boots perfectly, remains 100% stable, and works without any flaws.
Building the kernel with CONFIG_CMDLINE_FORCE=y does not override or fix the default autoboot loop behavior.
If anyone has encountered and resolved this specific glibc kernel autoboot parsing issue on the cv1812cp chip, I would highly appreciate your suggestions and feedback on how to make it load automatically!
Best regards, admin_ka.

1 Like

Since you cannot save the env on the sd-card, a workaround is to change the default bootargs in the u-boot source. Would that work for you?

2 Likes