intel 82801 ethernet controller (Intel Pro/100)

Forum thread started by Jack Perry on Sat, 2011-04-16 05:06

I burned alpha 2 to a CD and live booted two different computers.

It works great on the Gateway DX4200-09. It selects the wrong monitor specs initially, but I could fix that and run around the system, and the net, to my heart's content. Unfortunately, my wife and kids use that computer, so I can't install it there.

I also have an hp pavilion 7965, which I think is now more than 10 years old. Haiku live-booted fine there, and the video worked from the get-go. I'm quite keen on installing it to this machine, since modern Linux distributions are too slow on it.

Unfortunately, the networking doesn't work at all. It looks as if Haiku doesn't even recognize the controller; nothing showed up when I looked at the Network setup. According to Linux, I have an Intel 82801BA/BAM/CA/CAM Ethernet Controller (rev03).

Is it possible to get Haiku to recognize this device, or would I need a different controller? FWIW lspci -vvnn on Linux gives me

02:08.0 Ethernet controller [0200]: Intel Corporation 82801BA/BAM/CA/CAM Ethernet Controller [8086:2449] (rev 03)
        Subsystem: Intel Corporation EtherExpress PRO/100 VE [8086:3013]                                         
        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV+ VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-    
        Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- SERR- 
        Kernel driver in use: e100
        Kernel modules: e100

Comments

Re: intel 82801 ethernet controller

Intel Pro/100 is the name for the controller people would be more familiar with. You might want to mention that in the subject line of this thread and in any bug report you file.

Haiku has a FreeBSD-derived driver for this group of controllers which should be suitable for your device. FreeBSD calls it 'fxp' and Haiku calls it 'ipro100'. No special steps should be needed to use a PCI network device so you're right to expect it to "just work". However there hasn't been major work on this Haiku driver since 2007 and it's quite possible it was never actually working (a lot of device drivers in Haiku's tree aren't really tested) or was broken by changes elsewhere so if it doesn't work for you in Alpha 2 there's every chance it's no better in today's nightlies.

I'd guess the main cause of slowness would be limited RAM. That's a 512MB machine, right? Expanding to 1GB RAM ought to help considerably with running larger programs or more at once. But I'm not sure how practical it is on that model.

Re: intel 82801 ethernet controller

NoHaikuForMe wrote:

Intel Pro/100 is the name for the controller people would be more familiar with. You might want to mention that in the subject line of this thread and in any bug report you file.

Okay, thanks. I'll see if I can edit the subject line.

NoHaikuForMe wrote:

Haiku has a FreeBSD-derived driver for this group of controllers which should be suitable for your device. FreeBSD calls it 'fxp' and Haiku calls it 'ipro100'.

Okay. I see that it's there.

NoHaikuForMe wrote:

No special steps should be needed to use a PCI network device so you're right to expect it to "just work". However there hasn't been major work on this Haiku driver since 2007 and it's quite possible it was never actually working (a lot of device drivers in Haiku's tree aren't really tested) or was broken by changes elsewhere so if it doesn't work for you in Alpha 2 there's every chance it's no better in today's nightlies.

I did find this while rummaging around haikuware: http://www.bebits.com/app/2142

The output of lspci makes me wonder if this patch would make my system work as well, especially since the PCI ID appears to be 2449 (from 8086:2449). Do you think it's a good shot?

NoHaikuForMe wrote:

I'd guess the main cause of slowness [in Linux] would be limited RAM. That's a 512MB machine, right? Expanding to 1GB RAM ought to help considerably with running larger programs or more at once. But I'm not sure how practical it is on that model.

Exactly, it's 512MB. Even Enlightenment is awfully slow. I'm the only one even willing to use the machine, and I haven't touched it myself in months. It occurred to me that a simpler OS like Haiku or AROS might be more responsive, and I'd been wanting to try Haiku, anyway. Indeed, it works wonderfully.

As you say, expanding to 1GB isn't practical; we considered it a few years ago, but the cost of that type of RAM was so high we figured we might as well just buy a new computer. Hence the Gateway. :-)

I'll probably try that patch, but it might be a while before I report the results, since I'd have to back up the old machine first.

Re: intel 82801 ethernet controller

Jack Perry wrote:

I did find this while rummaging around haikuware: http://www.bebits.com/app/2142

The output of lspci makes me wonder if this patch would make my system work as well, especially since the PCI ID appears to be 2449 (from 8086:2449). Do you think it's a good shot?

Note that this patch is for the BeOS R5 driver, not the Haiku driver you have. Your Haiku driver already contains the PCI ID for your chipset in any case as we can see from the source code...

  { 0x2449,   -1,     "Intel 82801BA/CAM (ICH2/3) Pro/100 Ethernet" },

If you are able to obtain a copy of the BeOS R5 driver and apply this patch it's conceivable that it would then work, but that would depend on whether Haiku is exactly binary compatible with BeOS R5 for this type of driver, which someone else might be able to confirm.

You might have more luck filing a Haiku bug and asking someone to walk you through the steps needed to diagnose why the existing driver doesn't function. It's possible the error is simple enough for one of Haiku's developers to figure it out and fix it without owning similar hardware. Before you do this, they will probably expect you to obtain and test a recently nightly rather than the rather decrepit alpha.

Re: intel 82801 ethernet controller

Turns out the solution was to turn off Plug N Play OS in the BIOS. Network works fine now; I'm typing this from WebPositive. :-)