[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Questions about porting 3.3 on 875P



Questions about porting 3.3 on 875P (ICH5, 82547)

Before the questions you need a brief explanation :
I have bought a motherboard for using OpenBSD 3.3, an IC7-G with the
chipset 875P (integrating ICH5 & intel network 82547) for my personnal
usage.
But, i know well before, the ICH5 and the 82547 is not apparently
supported actually.
Before buying the mobo i have read the doc of the ICH4 and ICH5 (intel
website). In fact, there are 3 main diffs : ICH5 have one more USB UHCI,
SATA support and RAID0 IDE (for ICH5R uniquely).
If you want to know more, download the datasheet 25251601.pdf here
http://www.intel.com/design/chipsets/datashts/252516.htm
and download the PRM 29860004.pdf :
http://www.intel.com/design/chipsets/manuals/298600.htm

For testing i have changed, in /usr/src/sys/dev/pci/pcidevs.h, the id
of the 82801DB for having the LPC (0x24d0), IDE (0x24db), SMBUS (0x24d3)
, USB (0x24d2, 0x24d4, 0x24d7, 0x24dd) and AC97 (0x24d5). And now the
IDE and AC97 seem working correctly, i have not tested the USB but i
think it will work too (test soon). So for IDE and AC97 it semms that
there is no diff between ICH4 and ICH5 (the ICH5 inherit from the ICH4).
For the moment i am happy with this (IDE OK, sound OK, USB normaly OK
but test soon).

Now i need the network with the 82547.
You must know that the 82547 is not connected with the ICH5 but directly
with the MCH through the CSA bus so there are no direct link with the
ICH5 (it's "like" the AGP). The benefit is less burden on PCI and CPU
and having full duplex with gigabit (all idem for other speed). Don't be
afraid, luckily, according to intel, this bus is invisible from the OS
and the 82547 is accessible like other pci devices, read this
intel.com/design/network/products/lan/controllers/82547ei.htm
Note the name with other doc : 82547EI and 82547 are synonym.

I have found the last drivers for freebsd here :
http://downloadfinder.intel.com/scripts-df/Detail_Desc.asp?strState=LIVE
&PrdMap=prd838&DwnldID=5603&agr=Y
You must know two importants things about this sources :
Don't be afraid when you read the README, the 82547 is supported, look
the source. If you look the source you well see that it supports the
82541 too !
But it doesn't compile, i think that we can't use it directly with
OpenBSD, for exemple the file bsd.mod.mk is missing but we can add
net/ehternet.h (in the FreeBSD-current) because it has no dependancie
with other file.
If i put the source in sys/dev/pci make depend doesn't find
net/ethernet.h
sys/bus.h
sys/rman.h
machine/resource.h
vm/vm.h
vm/pmap.h
machine/clock.h
pci/pcivar.h
pci/pcireg.h
opt_bdg.h
I try to resolve this dependancies but i don't succeed, i spend
too many time for this "little" problem and i now i don't have the time
to continue. I try to put the source in dev/em like freebsd but it
change nothing. It's a pity to have the driver, to be near the success
and fail for a probleme like this ! I am skilled in C but i am not a
permanent OS developper, just occasional in the past.

Now the questions :
0] Somebody have made something with the ICFH5 or the 82547 ?
Yes i know, i shall have ask before, i am perfectly aware for all the
drawbacks, i know too much.

1] Somebody can adapte the 82547 driver (and implicitly 82541) ?
If yes and if you succeed the compilation, send me the sources i will
test it.

2] What is the tool for editing pcidevs.h and pcidevs_data.h ?

This task will be a good thing for OpenBSD 3.3 because it will work with
the 865 too, it has the ICH5 and optionaly the 82547. For a "little"
effort OpenBSD can support the last ICH and two new gigabit ethernet
controllers !

Thanks.