I have VIA Rhine II on my motherboard and it is recognized - I can see it into /dev/.
I’m able to assign an IP with ifconfig.
But when trying to ping another machine notting happends - eve there is no activity on LAN LED
Any ideas what is wrong and how to troubleshoot?
Edit: It does not work in BeOS 5 MAX tooo
I have heard several (including Haiku devs) complaining about the VIA Rhine cards/drivers not working properly in BeOS/Haiku… It may be that the driver in the Haiku repo is simply broken or out of date.
I vaguely remember one of my onboard cards had an issue with running out of the user addon directory as opposed to the system addon directory. Since I have only two onboard NICs (Different machines), its 50% chance moving it will help.
Currently, we are concentrating on finishing the network stack. You will probably have to sit down and roll up your sleeves. Please don’t give up if you don’t get a lot of help. When I started in the network team I had the same problem (people weren’t even responding to my mails) because most devs are just too busy with other stuff and probably don’t know the answer to your questions, but when you sit down and try to do it yourself you realize that you actually don’t need most of the help.
What do you want to know? Have you checked out the source code and do you know where to find the driver? You can build the driver separately and you can use "./configure --target=r5", so you can test the driver directly on BeOS (do a "rescan <drivername>" whenever you replace the driver binary).
If you need help with writing network drivers you should definitely ask on the network list because there are some guys who already wrote a driver. Maybe I can answer a few startup questions on BeOS driver development, too.
Actual message is no route to host.
I forgot to add up on ifconfig
That almost doesn’t sound like a driver problem at that point - i usually add a route for my default gateway, which I know shouldn’t be needed for pinging other ips on the subnet. Maybe no routes are created until the first route is added?
So this chip has an interesting property which is that if you send it enough packets to fill consume its receive descriptors, it will reset the RXEnable bit in CR0 for you. If your driver isn’t expecting this then it won’t check for it, and basically after working through the received packets the interface will effectively be dead.
Whatever code pulls packets off the descriptor list and feeds them up to the upper layers needs do check this flag and turn it back on as soon as its freed up at least one descriptor.
[quote=foxb]Could you specify what should be done…?
My chip is VT6103L (I’ve browsed over the source and could not find it as supported) VT8237 based.
I’ll try to check linu kernel source and lspci.[/quote]
Foxb, you’re PHY is the VT6103L, the chip is actually the VT8235 southbridge that you mentioned earlier. This is chip where VIA integrated the Rhine II ethernet MAC into the southbridge to save costs. The cheap walmart laptop has one of these chipsets. You should look at their Linux implementation source if you can get it. This chipset is also used on some of the EPIA mini-itx mainboards so you can find helpful folks on the mini-itx forums.
You appear to know a bit about this chipset - would you maybe be interested in improving the Haiku driver and submitting some patches?
Currently, I don’t think there are any developers maintaining this driver in the Haiku repo, so someone with some knowledge and interest in driver development could possibly assist in improving the driver. I’m certain some existing or potential Haiku users would appreciate it
Source is here if you’re interested in taking a look:
I’ve also looked at the ViaArena code. My initial interest was in getting eCOS (yet another OS) running on the EPIA MII-1000 Mini-ITX board (used in larger robotics projects).
If you can point me to a simple reference for getting a current build to boot on a generic PC I’ll see if it will boot at least to something debuggable on my ITX mobo. Would be a simple matter from there to see where the problems are.