Hello,
I just started looking into adding support for the dell r610. This is mostly because you can get them really cheap and they perform well for my type of workloads. However looking at the wiki it looks like I have my work cut out for me if I am able to do this at all. From the following dump it looks like I have a currently unsupported chipset, cpu, and superIO.
$ root@plex-8316f3de71:~# dmidecode -t 2 # dmidecode 3.1 Getting SMBIOS data from sysfs. SMBIOS 2.6 present.
Handle 0x0200, DMI type 2, 9 bytes Base Board Information Manufacturer: Dell Inc. Product Name: 0K399H Version: A03 Serial Number: ..CN697029680164. Asset Tag: Not Specified
$ root@plex-8316f3de71:~# superiotool -d superiotool r6637 Found SMSC EMC2700LPC (id=0x67, rev=0x01) at 0x2e No dump available for this Super I/O
$ root@plex-8316f3de71:~# inteltool CPU: ID 0x106a5, Processor Type 0x0, Family 0x6, Model 0x1a, Stepping 0x5 Northbridge: 8086:3403 (unknown) Southbridge: 8086:2918 (ICH9)
It looks like I will have to contact SMSC which was acquired by microchip in 2012 so hopefully they are still able to give me the datasheet. Additionally I will need to get the datasheet from intel for CPU north/south bridge which from the docs sounds like it might take a while if they will even give it to me at all.
Does this seem like a good place to start? I wasn't able to find much outside of https://www.coreboot.org/Developer_Manual so figured I would ask for a little bit of help getting started on the mailing list first.
Thanks for looking
Hello Ed,
I just started looking into adding support for the dell r610.
I really don't want to discourage you, but if I'm looking at the correct datasheet, this machine is using Nehalem/Westmere EP processors (e.g. Xeon X5550 etc.). If that is the case, this is no project suited for a coreboot beginner: It's unlikely that Intel would give out any useful documentation about these processors and there is no platform alike (i.e. with QPI) in coreboot. Reverse engineering is possible, but as a spare-time project this could take years.
Maybe you can find another system that fits your workloads and already has some coreboot chipset support. Though, on the Intel server front it's not looking very good. Intel fought hard to keep these platforms coreboot free.
Nico
On 12/11/2018 04:29 AM, Nico Huber wrote:
Hello Ed,
I just started looking into adding support for the dell r610.
I really don't want to discourage you, but if I'm looking at the correct datasheet, this machine is using Nehalem/Westmere EP processors (e.g. Xeon X5550 etc.). If that is the case, this is no project suited for a coreboot beginner: It's unlikely that Intel would give out any useful documentation about these processors and there is no platform alike (i.e. with QPI) in coreboot. Reverse engineering is possible, but as a spare-time project this could take years.
Maybe you can find another system that fits your workloads and already has some coreboot chipset support. Though, on the Intel server front it's not looking very good. Intel fought hard to keep these platforms coreboot free.
Agreed - It is also an old platform without SLAT (hence no qubes) and it has intels bad first gen IOMMU that doesn't have interrupt support.
IMO buy a KGPE-D16/KCMA-D8 if you want something to use as a daily driver that doesn't cost too much money or effort and is a good example of coreboot.
If you wish to port a board I would suggest to obtain another AMD fam15h system of which I have some suggestions for - the easiest port is the KCMR-D12 which is the KCMA-D8's E-ATX bigger brother. Otherwise I would choose something still obtainable and well designed (ie: dual northbridge so more pci-e slots and lanes) such as the TYAN socket C32 boards or the supermicro C32 LN4F/SAS boards which have onboard i350 quad port nic and a LSI SAS 2008 controller preferably a board with an AST-2050 so that it could theoretically have OpenBMC ported to it.
x86 is a dead platform when it comes to freedom firmware though since AMD stopped releasing everything along with taking AGESA closed source and intel now only releases the fsp binary blob which performs all the hardware initiation making coreboot not much more than a wrapper layer for FSP. OpenPOWER (from RaptorCS) and RISC-V (from SiFive) are the future since open source firmware comes standard from the factory and they are the only owner controlled archs now.
Thanks for all the help so far after digging for the past day I was thinking about picking up the KCMR-D12 as you had recommended and a set of AMD OPTERON 4280 to go with it. This has the AST-2050 for the openBMC port that I am also interested in. Just wanted one more round of sanity checks before putting in the order.
Thank you for all the help.
On 2018-12-11 16:28, Taiidan@gmx.com wrote:
On 12/11/2018 04:29 AM, Nico Huber wrote:
Hello Ed,
I just started looking into adding support for the dell r610.
I really don't want to discourage you, but if I'm looking at the correct datasheet, this machine is using Nehalem/Westmere EP processors (e.g. Xeon X5550 etc.). If that is the case, this is no project suited for a coreboot beginner: It's unlikely that Intel would give out any useful documentation about these processors and there is no platform alike (i.e. with QPI) in coreboot. Reverse engineering is possible, but as a spare-time project this could take years.
Maybe you can find another system that fits your workloads and already has some coreboot chipset support. Though, on the Intel server front it's not looking very good. Intel fought hard to keep these platforms coreboot free.
Agreed - It is also an old platform without SLAT (hence no qubes) and it has intels bad first gen IOMMU that doesn't have interrupt support.
IMO buy a KGPE-D16/KCMA-D8 if you want something to use as a daily driver that doesn't cost too much money or effort and is a good example of coreboot.
If you wish to port a board I would suggest to obtain another AMD fam15h system of which I have some suggestions for - the easiest port is the KCMR-D12 which is the KCMA-D8's E-ATX bigger brother. Otherwise I would choose something still obtainable and well designed (ie: dual northbridge so more pci-e slots and lanes) such as the TYAN socket C32 boards or the supermicro C32 LN4F/SAS boards which have onboard i350 quad port nic and a LSI SAS 2008 controller preferably a board with an AST-2050 so that it could theoretically have OpenBMC ported to it.
x86 is a dead platform when it comes to freedom firmware though since AMD stopped releasing everything along with taking AGESA closed source and intel now only releases the fsp binary blob which performs all the hardware initiation making coreboot not much more than a wrapper layer for FSP. OpenPOWER (from RaptorCS) and RISC-V (from SiFive) are the future since open source firmware comes standard from the factory and they are the only owner controlled archs now.
-- coreboot mailing list: coreboot@coreboot.org https://mail.coreboot.org/mailman/listinfo/coreboot
On 12/12/2018 09:59 PM, Ed Hau wrote:
Thanks for all the help so far after digging for the past day I was thinking about picking up the KCMR-D12 as you had recommended and a set of AMD OPTERON 4280 to go with it. This has the AST-2050 for the openBMC port that I am also interested in. Just wanted one more round of sanity checks before putting in the order.
Yah go for it! it is almost identical to the KCMA-D8 it just has more RAM slots and a different PCI-e configuration. Should be an easy first port and one can gain experience :D Let us know if you need help!
Note OpenBMC needs an ASMB4 or ASMB5 firmware module (you use flashrom to over-write the crappy exploit ridden OEM firmware) if the board doesn't come with one they go for around $30 on fleabay.
After that if you wish to continue porting stuff I suggest a TYAN board such as the dual northbridge/sas S8225, the quad socket/sas S8812 or the affordable sas S8010 (just not the crappy SR5650 northbridge versions that lack the proper amount of PCI-e slots)
best c32 cpu - 4386 or if you don't want to have to use microcode updates the 4284 (4280 slightly slower/cheaper) I max out new new video games in a VM via IOMMU-GFX of an RX580 8GB with my 4386 equivilant 6328 so you can use this as a libre gaming pc as well - there are a variety of great AAA DRM free linux games on gog (email for reccs)
Something else that might interest you and what is a high priority firmware wise is a FOSS Broadcom NIC firmware replacement for the nic chipset that is on the blackbird/talos if you have what it takes the first person to make one gets a free talos 2 workstation valued at five thousand bucks. You can get PCI-e nics with the chipset so you don't actually need one of the boards to develop for it. It would be great to have a non-intel blob free nic since then one doesn't have to support a competitor and further ME development by getting intel nics (thats why they chose the broadcom one as it is the most promising due to a litany of documentation) and it is the only thing in the way to getting RYF for the OpenPOWER stuff afaik.
Thanks for all the great info once again! Just wanted to follow up and say I put the order in and it's on the way now. I was unable to find the ASMB4 or 5 though so ended up getting an ASMB6 for now that I'll look into adding OpenBMC support for. The Broadcom NIC firmware sounds very interesting and something I'll likely at least take a stab at after I get my feet wet with this first port.
On 2018-12-12 23:26, Taiidan@gmx.com wrote:
On 12/12/2018 09:59 PM, Ed Hau wrote:
Thanks for all the help so far after digging for the past day I was thinking about picking up the KCMR-D12 as you had recommended and a set of AMD OPTERON 4280 to go with it. This has the AST-2050 for the openBMC port that I am also interested in. Just wanted one more round of sanity checks before putting in the order.
Yah go for it! it is almost identical to the KCMA-D8 it just has more RAM slots and a different PCI-e configuration. Should be an easy first port and one can gain experience :D Let us know if you need help!
Note OpenBMC needs an ASMB4 or ASMB5 firmware module (you use flashrom to over-write the crappy exploit ridden OEM firmware) if the board doesn't come with one they go for around $30 on fleabay.
After that if you wish to continue porting stuff I suggest a TYAN board such as the dual northbridge/sas S8225, the quad socket/sas S8812 or the affordable sas S8010 (just not the crappy SR5650 northbridge versions that lack the proper amount of PCI-e slots)
best c32 cpu - 4386 or if you don't want to have to use microcode updates the 4284 (4280 slightly slower/cheaper) I max out new new video games in a VM via IOMMU-GFX of an RX580 8GB with my 4386 equivilant 6328 so you can use this as a libre gaming pc as well - there are a variety of great AAA DRM free linux games on gog (email for reccs)
Something else that might interest you and what is a high priority firmware wise is a FOSS Broadcom NIC firmware replacement for the nic chipset that is on the blackbird/talos if you have what it takes the first person to make one gets a free talos 2 workstation valued at five thousand bucks. You can get PCI-e nics with the chipset so you don't actually need one of the boards to develop for it. It would be great to have a non-intel blob free nic since then one doesn't have to support a competitor and further ME development by getting intel nics (thats why they chose the broadcom one as it is the most promising due to a litany of documentation) and it is the only thing in the way to getting RYF for the OpenPOWER stuff afaik.
-- coreboot mailing list: coreboot@coreboot.org https://mail.coreboot.org/mailman/listinfo/coreboot
On 12/17/2018 10:43 PM, Ed Hau wrote:
Thanks for all the great info once again!
Yah thanks! tech support is my job on the coreboot ML to free up time for the devs let me know if you need any more information or help.
What you need: * Flashing device like USB CH341A (less than $10 from fleabay) this board uses a SPI DIP8 chip make sure it is oriented properly or you could damage it (there is a little reference graphic on the CH341A to show you also take a decent photo of the board in case you forget what direction to put it back in)
Porting: Start with the KCMA-D8 board codebase, the differences is that the D12 has another PCI-e slot, different amounts of lanes per PCI-e slot, less PCI slots and more RAM slots so you will need to change the PCI-e configuration to get the board to boot and then add the RAM slots in the board code it should be a very easy job probably only a few hours.
You can also play video games on the board too in a VM via IOMMU-GFX and an attached graphics card if you get bored xD - the 4280s you got are not as good as the 4386 but you should be able to play new games at decent settings moreso if you use my suggested virt setup with RAM on node 0 and cores 0,1,6,7,8,9,14,15 with all but core 15 in the isolcpus kernel command line list along with nohz=on thus getting you 8 cores at the Turbo 2 speeds of 3.5ghz and if the VM is configured properly there is no latency issue from inter-node traffic.
Info: The 42xx bulldozer CPU's appear to not require microcode updates but I suggest applying them so you receive the spectre fixes whereas the 43xx or any piledriver cpu absolutely requires microcode updates due to a critical security exploit.
Just wanted to follow up and say I put the order in and it's on the way now. I was unable to find the ASMB4 or 5 though
I see a listing for the ASMB5-iKVM on fleabay right now from the UK $31.58+shipping.
so ended up getting an ASMB6 for now that I'll look into adding OpenBMC support
Oh no D:
Like I said you have to get the ASMB4 or ASMB5 - the ASMB6 is much different and won't work.
On 2018-12-19 16:10, Taiidan@gmx.com wrote:
On 12/17/2018 10:43 PM, Ed Hau wrote:
Thanks for all the great info once again!
Yah thanks! tech support is my job on the coreboot ML to free up time for the devs let me know if you need any more information or help.
What you need:
- Flashing device like USB CH341A (less than $10 from fleabay) this
board uses a SPI DIP8 chip make sure it is oriented properly or you could damage it (there is a little reference graphic on the CH341A to show you also take a decent photo of the board in case you forget what direction to put it back in)
I picked up one of these and a bus pirate as well. I got some practice bricking BIOS chips first on some very old machines I had sitting around.
Porting: Start with the KCMA-D8 board codebase, the differences is that the D12 has another PCI-e slot, different amounts of lanes per PCI-e slot, less PCI slots and more RAM slots so you will need to change the PCI-e configuration to get the board to boot and then add the RAM slots in the board code it should be a very easy job probably only a few hours.
You can also play video games on the board too in a VM via IOMMU-GFX and an attached graphics card if you get bored xD - the 4280s you got are not as good as the 4386 but you should be able to play new games at decent settings moreso if you use my suggested virt setup with RAM on node 0 and cores 0,1,6,7,8,9,14,15 with all but core 15 in the isolcpus kernel command line list along with nohz=on thus getting you 8 cores at the Turbo 2 speeds of 3.5ghz and if the VM is configured properly there is no latency issue from inter-node traffic.
I hope to take my first stab at this tomorrow as my mainboard just showed up.
Info: The 42xx bulldozer CPU's appear to not require microcode updates but I suggest applying them so you receive the spectre fixes whereas the 43xx or any piledriver cpu absolutely requires microcode updates due to a critical security exploit.
Just wanted to follow up and say I put the order in and it's on the way now. I was unable to find the ASMB4 or 5 though
I see a listing for the ASMB5-iKVM on fleabay right now from the UK $31.58+shipping.
Ah! that is what did it when I went to the UK specific version it showed up right away.
so ended up getting an ASMB6 for now that I'll look into adding OpenBMC support
Oh no D:
Like I said you have to get the ASMB4 or ASMB5 - the ASMB6 is much different and won't work.
hahaha, should have read this first. I looked at the sheet for ASMB6 but did not look closely enough at the pins it seems :). Upon visual inspection this then became more obvious to me.
Thanks again for all the help once again!
-- coreboot mailing list: coreboot@coreboot.org https://mail.coreboot.org/mailman/listinfo/coreboot
Hey Nico,
Thank you for the info this is what I was looking for before starting on what looks like it might have been a futile task (for myself). I am sure I can find other machines that work just as well for my workload. My goal is to find a board that is not yet supported by coreboot as I would very much like to get involved in development of coreboot and for me I very much need something hands on to learn.
Does there happen to be a list of vendors that are more friendly than Intel to work with? I'll keep looking around to see if I can find something that fits into my above criteria and isn't running the intel Nehalem/Westmere processors.
Thanks
On 2018-12-11 04:29, Nico Huber wrote:
Hello Ed,
I just started looking into adding support for the dell r610.
I really don't want to discourage you, but if I'm looking at the correct datasheet, this machine is using Nehalem/Westmere EP processors (e.g. Xeon X5550 etc.). If that is the case, this is no project suited for a coreboot beginner: It's unlikely that Intel would give out any useful documentation about these processors and there is no platform alike (i.e. with QPI) in coreboot. Reverse engineering is possible, but as a spare-time project this could take years.
Maybe you can find another system that fits your workloads and already has some coreboot chipset support. Though, on the Intel server front it's not looking very good. Intel fought hard to keep these platforms coreboot free.
Nico