OpenLightingProject / rp2040-dmxsun

RP2040-based USB DMX dongle with integrated web server
GNU General Public License v3.0
96 stars 17 forks source link

Issues with W5500 Branch #98

Open BastelPichi opened 2 weeks ago

BastelPichi commented 2 weeks ago

First off, thanks for this awesome project! This project has really gone a long way and looks very promising.

USB works fine, full 16 universes no problemo. However, when using the W5500 branch from your repo, Im not very successful. Ive wired up the W5500, and Ive confirmed it works with another project: mongoose.

The code always gets stuck here: image

The "Link UP detected" also doesnt work, when unplugging and plugging the cable back in. It doesnt really matter if I boot with, or without the LAN cable plugged in.

The module is connected via a switch to my PC and router. When unplugging the uplink from the switch, and capturing traffic with wireshark, and starting the Pico with W5500, nothing really happens. However the Link LEDs do blink periodically.

Ive tried DHCP both with, and without fallback, and neither works.

Do you have any idea? Am I missing something? This happens both with GH Actions build and a build on my PC.

BastelPichi commented 1 week ago

Ive made progress; having issues with DHCP now, after the server offers an DHCP lease, the pico just stops responding, and sends a Discover Frame a few seconds later.

kripton commented 6 days ago

Hey @BastelPichi , indeed, the W5500 branch is very experimental and not working as hoped, yet. I started work on it back in the days but meanwhile I got the W5500 working in another project. I need to backport the changes done there to the branch here sometime. You mean the DHCP client of the dmxsun is not working / correctly parsing the DHCP server's OFFER?

BastelPichi commented 5 days ago

You mean the DHCP client of the dmxsun is not working / correctly parsing the DHCP server's OFFER?

Exactly. The Pico receives an offer, then nothing happens. It keeps retrying, USB keeps working. Also not having any success with static IP (Neither ping nor receiving artnet). As far as I have seen, shouldnt all of the DHCP Client stuff done by lwip directly?

I was looking at the Wiznet Library for their Pico W5500 board. If you change the pin config its compatible with the current pin layout, and that might be more future-proof than using the 5 year old W5500MacRaw library.

The inital issue I had with the WIZOK:1, was solved by adding a small delay at startup. Not sure exactly why, but it solved the issue.

Im interested in contributing to this awesome project, is there any chance I can contact you on Discord or IRC?

BastelPichi commented 5 days ago

image image image

For reference.

kripton commented 10 hours ago

This is getting interesting. You found the branch in my personal fork but reported the issue here. Nice :) Took me some time to realize.

Can you try setting LWIP_NETIF_HOSTNAME to 0 in https://github.com/kripton/rp2040-dmxsun/blob/ethernet_w5500/src/lwipopts.h#L48? If something leads to compilation failures, just surround it with an #if LWIP_NETIF_HOSTNAME

I first thought this could be related to https://github.com/hathach/tinyusb/pull/1712 but that was on the DHCP server side, not the client.

Cool that you want to contribute! It's been a long time that I was on IRC the last time but I could start that again. Discord also would be an option. In any case, you can also send me an email. That would not require setting up a time slot ;)