# Hardware compatibility list



## viktor77 (Jan 31, 2022)

Seems to me that the hardware listed in the compatibility list for FreeBSD 13 is at least 4-5 years old. 
Is there no recent hardware on this list? or am I missing something?


----------



## SirDice (Jan 31, 2022)

Look at the release notes.


----------



## viktor77 (Jan 31, 2022)

The release notes are very vague compared to the hardware notes.

https://www.freebsd.org/releases/13.0R/relnotes/ 








						FreeBSD 13.0-RELEASE Hardware Notes
					

FreeBSD is an operating system used to power modern servers, desktops, and embedded platforms.




					www.freebsd.org


----------



## viktor77 (Jan 31, 2022)

My original post referred to the Hardware notes list.


----------



## SirDice (Jan 31, 2022)

viktor77 said:


> The release notes are very vague compared to the hardware notes.











						FreeBSD 13.0-RELEASE Release Notes
					

FreeBSD is an operating system used to power modern servers, desktops, and embedded platforms.




					www.freebsd.org
				



What's vague about it?


----------



## viktor77 (Jan 31, 2022)

There is no actual list of compatible hardware in the Release Notes.

This is the actual list I am referring to.








						FreeBSD 13.0-RELEASE Hardware Notes
					

FreeBSD is an operating system used to power modern servers, desktops, and embedded platforms.




					www.freebsd.org
				




For example: The latest Dell storage controllers listed are 

DELL PERC H830
DELL PERC H730/P
DELL PERC H330
These controllers are at least 4 years old. The same goes for other brands and components. 
No new off the shelf servers have any controllers listed in the hardware compatibility list.


----------



## SirDice (Jan 31, 2022)

It's not specific cards that are supported, it's the chipset on those cards. There are plenty of variants of any one chipset made by different manufactures. Not all of them are mentioned, but the chipset could still be supported.

Dell, HP and Broadcom all make cards using LSI2xxx or LSI3xxx chipsets for example. Those are all supported by the same mfi(4) or mrsas(4) driver. It's next to impossible to list _all_ the cards that use this chipset. It's even more troublesome because some might work, while a different implementation of a different manufacturer might not. 

If you're wondering about specific cards, provide the type/model number, somebody might have that exact card.


----------



## viktor77 (Jan 31, 2022)

SirDice said:


> It's not specific cards that are supported, it's the chipset on those cards. There are plenty of variants of any one chipset made by different manufactures. Not all of them are mentioned, but the chipset could still be supported.
> 
> Dell, HP and Broadcom all make cards using LSI2xxx or LSI3xxx chipsets for example. Those are all supported by the same mfi(4) or mrsas(4) driver. It's next to impossible to list _all_ the cards that use this chipset. It's even more troublesome because some might work, while a different implementation of a different manufacturer might not.
> 
> If you're wondering about specific cards, provide the type/model number, somebody might have that exact card.



Thanks for the clarification. 

My issue is that I am trying to bid on a contract for a server and one of the requirements is that its components must be listed on the FreeBSD compatibility list which I am finding out to be a bit unrealistic.


----------



## SirDice (Jan 31, 2022)

Do you have the specs of that server? We can have a look, I'm sure we have someone on the boards that can verify it.

You can also have a look here: http://bsd-hardware.info/ It's not an extensive list (it's all voluntary) but it might have the hardware you're looking for.


----------



## viktor77 (Jan 31, 2022)

SirDice said:


> Do you have the specs of that server? We can have a look, I'm sure we have someone on the boards that can verify it.
> 
> You can also have a look here: http://bsd-hardware.info/ It's not an extensive list (it's all voluntary) but it might have the hardware you're looking for.



I am not looking for a "hey I have the same server and it works" kind of response. That won't cut it for contracting purposes. A 3rd party site won't cut it either.

I was just wondering why there is no modern equipment in the hardware compatibility list.

Thanks for your suggestion though.


----------



## Geezer (Jan 31, 2022)

BSD Hardware Database
					

A database of all the hardware that works under bsd




					bsd-hardware.info
				




sysutils/hw-probe


----------



## msplsh (Jan 31, 2022)

SirDice said:


> If you're wondering about specific cards, provide the type/model number, somebody might have that exact card.


That's pretty much the problem here: Poke around and hope to find out


----------



## SirDice (Jan 31, 2022)

You could generate a list of all the vendor and chipset IDs that are supported. But it's still not going to tell you if that particular card you have is supported or not. Even if the vendor and chipset ID match it could still not work because it's some variant that didn't change the IDs, or the manufacturer implemented something that wasn't in de reference design.


----------



## msplsh (Jan 31, 2022)

viktor77 said:


> I was just wondering why there is no modern equipment in the hardware compatibility list.


Nobody wants to be responsible for saying something works and then get dogpiled about it not working? 

When people do get something to work, they just make a commit and nobody writes down what they got working?  Dunno, seems like a process failure.


----------



## viktor77 (Jan 31, 2022)

SirDice said:


> You could generate a list of all the vendor and chipset IDs that are supported. But it's still not going to tell you if that particular card you have is supported or not. Even if the vendor and chipset ID match it could still not work because it's some variant that didn't change the IDs, or the manufacturer implemented something that wasn't in de reference design.



I do understand that it would be impossible to certify every individual card that exists. This is not what i'm after.
Credit to FreeBSD, it actually provides a list of compatible components.

What I find lacking is that I am unable to make a purchasing decision based on the compatibility list because all the hardware listed there is old and no one makes it anymore.

Having at least 5 modern storage cards would at least give me 5 options to choose from. There is not even 1 at the moment.

I understand that there are 3rd party tools to give me this information. but this is for a client with its own IT department. 
I just need to purchase the hardware and ensure that it's on the compatibility list. I cannot do this at the moment.


----------



## grahamperrin@ (Feb 1, 2022)

Welcome to FreeBSD Forums.



viktor77 said:


> … am I missing something?



Yes and no.

Not a full story, but here are some glimpses.

2018-05:



> *Hardware Test Lab*
> 
> … We are going to build a hardware test lab, integrated into the Continuous Integration system, to perform full system testing on many different hardware devices. The system will also allow hardware to be shared between CI and developers, allowing hardware to primarily serve developer needs but also be used for testing when it is otherwise not needed.



2018-10-01:



> *New Hardware*
> 
> The Foundation purchased 4 new build machines for scaling up the computation power for the various test jobs. These newer, faster machines substantially speed up the time it takes to test amd64 builds, so that failing changes can be identified more quickly. Also, in August, we received a donation of 2 PINE A64-LTS boards from PINE64.org, which will be put in the hardware test lab as one part of the continuous tests.



2020-12-30:



> *Test Lab Infrastructure*
> 
> John-Mark Gurney is developing a management interface for remote access to hardware test labs, to allow reserving a device in the lab, controlling power, providing console access, and managing network-booted root filesystems.



2022-01-20: 



> Via the official Hardware Donations page we see that the Ports Management Team requires some ten-year-old XServe G5 PowerPCs for a package building cluster.
> 
> The Secretary has been informed



– and so, that (one) most amusing requirement disappeared from the wiki. 


Glimpses; not intended to convey a full picture. 

I assume that some items of hardware become listed as compatible with a `RELEASE` of FreeBSD only after they have been suitably tested with the _branch_ for the release. 

Assumptions aside, at <https://www.freebsd.org/releases/13.0R/hardware/> it's noted: 



> *The device lists in this document are being generated automatically from FreeBSD manual pages. …*



So, a simple omission from a manual page might cause the hardware notes for a `RELEASE` to be incomplete.


None of that really helps you, or people in your situation, to support a purchasing recommendation. Sorry.


----------



## grahamperrin@ (Feb 1, 2022)

jrm@ please: with or without your Foundation hat, might you have anything to add here? 

In particular, respectfully: 



viktor77 said:


> … What I find lacking is that I am unable to make a purchasing decision based on the compatibility list because all the hardware listed there is old and no one makes it anymore.
> 
> Having at least 5 modern storage cards would at least give me 5 options to choose from. There is not even 1 at the moment.
> 
> ...



My interpretation of each set of hardware notes at `www.freebsd.org` is that lists (within any one set of notes) are _not intended to be comprehensive_; words to that effect.


----------



## Andriy (Feb 1, 2022)

viktor77 said:


> I was just wondering why there is no modern equipment in the hardware compatibility list.


Because we are not in 90-s anymore and there are too many types of hardware, too many vendors, etc; in short, too much hardware to have a complete and accurate list of everything supported.


----------



## kpedersen (Feb 1, 2022)

Potentially a hardware reseller that specifically supports FreeBSD?

Something along the lines of iXsystems?

Supermicro seems to have some info too:

https://www.supermicro.com/support/resources/OS/C627.cfm

To be fair, this is a little bit of a running issue even with Linux. Sure you might find the hardware on the RHEL hardware database but it doesn't mean that it is supported with i.e Ubuntu.


----------



## ralphbsz (Feb 1, 2022)

I think the basic problem here is at the other end. As Andriy said above, actual hardware compatibility lists don't exist any more, haven't existed in a long time, and are not coming back. The hardware ecosystem has changed too much. A good example is HBAs (where lots of OEMs vendors simply use LSI/Broadcom/Avago chips, and are perfectly compatible but don't disclose that); a bad example is WiFi dongles (where branded vendors use random chips du jour without changing their model numbers). And then hardware vendors make sure they are compatible with the dominant OS in their market place (Windows for desktop/laptop, a small number of Linux distributions for server), because there is no point investing effort into boutique OSes.

The underlying reason is that the market for piece-part computers is somewhere between shrinking and collapsing. Twenty years ago, lots of users (companies) built their own servers, often using small systems integrators as suppliers. Today, there are mostly two sources of computing hardware: Brand-name (Dell, HP, IBM, Lenovo) using software stacks provided and supported by the OEM, and on the other side the cloud (AWS, Azure, Google). One good indication is this: Of enterprise-grade hard disks, 98% of all sales go to fewer than a dozen customers, namely the FAANG-style cloud companies, and big systems companies.

In a nutshell: The OP has to tell his (potential) customer that they are stuck in the past, and need to get with the program. To exaggerate a little bit: Just tell them to stop buying computers, and instead use a cloud service. I understand that this is a cruel thing to do, since (a) the OP will not have a business, and (b) the OP's customer probably is not in a position to do that. But in the meantime, asking for "lists of compatible hardware" is just unrealistic.


----------



## grahamperrin@ (Feb 1, 2022)

ralphbsz said:


> … asking for "lists of compatible hardware" is just unrealistic.



The _reality_ is: an officially-provided list.


----------



## msplsh (Feb 1, 2022)

Andriy said:


> Because we are not in 90-s anymore and there are too many types of hardware, too many vendors, etc; in short, too much hardware to have a complete and accurate list of everything supported.


There no hope of being able to generate vendor/device IDs tables automatically from drivers?  With that, being able to index those into other databases would make questions like this somewhat answerable.


----------



## Andriy (Feb 2, 2022)

msplsh said:


> There no hope of being able to generate vendor/device IDs tables automatically from drivers?  With that, being able to index those into other databases would make questions like this somewhat answerable.


It's doable, of course, but it's not trivial and it won't tell the whole story.
The same chip may work fine in one piece of hardware but not so much in another.
There can a same chip ID but a different revision with its own quirks.
Also, you may not know chip IDs of a piece of hardware until you actually get your hands on it, you would only know its marketing name.

In any case, the idea of an "official" support list for a volunteer project seems rather bogus.
It's not like there is an "official" test / certification team, "official" support team, "official" support contract, etc.
The community effort and database of hardware that people actually use is the best we can get (for free).

If anyone needs better, then they should go to vendors or system integrators, etc.


----------



## sidetone (Feb 2, 2022)

You might have to pick a card that's new enough. A third party isn't enough, though you may be the one providing somewhat of a guarantee from your own ability, confidence and testing. It's possible to try a new card, but there's no guarantee there, unless you had the resources to make it work, which I kind of doubt, and you may end up giving back way more than you get. If you had the resources to get one card to work, that will be around for a while, that may be worth it. Then, if a hardware is scarce, that may be a reason to charge your customer a little more to cover the price of that hardware.

If you're looking for the absolute cheapest prices out of several to shop around for the newest cards to get the lowest bid, rather than otherwise conservative prices on what's available for FreeBSD or going with a few specific chipsets, that may not be a good way. If you're bidding, odds are that to compete, others may cut corners in business so that customer will get the best quality for the lowest price. Even if taking a loss to make a customer, there's no or little guarantee that customer won't go to the next person with the lowest price. I'm thinking that a chipset would be around for some time, to be used across different cards and possibly manufacturers, that they invested enough in those chipsets, to be at least sold for a few years.

Look for brands that are more open to opensource. At least, it was easy to select on a preference for graphics cards. Controller cards may be a more difficult.


----------



## jrm@ (Feb 2, 2022)

grahamperrin said:


> jrm@ please: with or without your Foundation hat, might you have anything to add here?
> 
> In particular, respectfully:
> 
> My interpretation of each set of hardware notes at `www.freebsd.org` is that lists (within any one set of notes) are _not intended to be comprehensive_; words to that effect.



Others have done well to describe why it's difficult these days to maintain such a list, but I also agree that we should try to do better. I poked around and a developer who knows a bit about storage says,



> For the Broadcom storage controllers, all the series through 95xx are supported by mpr(4).   The 9600 series needs a new driver.  There's also the SAS models, and I'm not entirely sure how those relate to the 9xxx models.



If the hardware list can be edited after the 13.0 release, I will update it with this information and any other information that I can find.


----------



## Erichans (Feb 2, 2022)

Andriy said:


> msplsh said:
> 
> 
> > There no hope of being able to generate vendor/device IDs tables automatically from drivers?  With that, being able to index those into other databases would make questions like this somewhat answerable.
> ...


I agree with your remarks Andriy including your caveats. However I think that such information* could make it (much) easier to find things like  I219-LM not detected & re(4) versus net/realtek-re-kmod (see here) ; and keep in mind that there are probably more problems like those that we don't see on the forums.

Much of everything with FreeBSD has to do with wise management of _limited_ resources.  Writing (a lot) more drivers for new hardware is not feasible with current available resources. To make information available in a standard, searchable and extendable way about drivers that _have allready been developed_ is feasible, I think. 

What I can see as (mainly management and supervising) tasks are:

 db selection and db design suitable to hold the information 
 inserting data and updating the db 
FreeBSD does not produce drivers by the dozen each day so, after the initial insertion, new data won't be high volume. Even when there needs to be a separation between the FreeBSD source tree and the ports tree, the two db data structures should be able to merge and if not then you query them separately, as long as they can be queried in the same way. Such an initiave could even be supported by the FreeBSD Foundation. 

Once there is a stable (db) structure that holds the information I'm sure that FreeBSD users will develop front ends if needed, be it text or GUI based.

___
* I have not looked at the source code but some kind of look-up-system must already be present in FreeBSD because during installation detected hardware is matched to a specific driver.


----------



## kpedersen (Feb 2, 2022)

Maybe a good community exercise could be to analyse and discover *why* community lead hardware compatibility databases always become unmaintained and out of date. Then we can see if we can identify any solutions to protect against that.


----------



## Erichans (Feb 2, 2022)

Just to clarify and address your point: I do not have in mind a hardware compatibility list, at least to the extend some list where a network card, disk controller card etc. of vendor X, Y or Z is entered and is deemed "FreeBSD qualified". I know, this is what the OP and many more are looking for when you want to make hardware selections, especially before buying.

I'd like to know if such centralised information would be easily feasible; useful and easy to maintain; holding the information that is already present in the source code (and man pages) of drivers in the base install and ports.

If the consensus is, based on experience, is that this would become unmaintainable and can't be mitigated or controlled, then, I (sadly) give way to the ones that have much more experience than I have in such matters.


----------



## msplsh (Feb 2, 2022)

Andriy said:


> The community effort and database of hardware that people actually use is the best we can get (for free).


I understand all your caveats, but I think if the community effort could start from a place of "these are the IDs that drivers X will at least attempt to work with" then they could fill in the blanks with "Ok, but not this one" etc.


----------



## msplsh (Feb 2, 2022)

kpedersen said:


> Maybe a good community exercise could be to analyse and discover *why* community lead hardware compatibility databases always become unmaintained and out of date.


Probably maintaining a network of trust.


----------



## grahamperrin@ (Feb 2, 2022)

Andriy said:


> … the idea of an "official" support list for a volunteer project seems rather bogus.



Perhaps, although a list published at the official website is implicitly official.



> It's not like there is an "official" test / certification team, "official" support team, "official" support contract, etc.
> The community effort and database of hardware that people actually use is the best we can get (for free).



I imagine that the _hardware test lab_ is official.



> … to vendors or system integrators, etc.



FreeBSD bug 261678 – The Hardware Vendors page is mis-titled Consulting Services


----------



## grahamperrin@ (Feb 2, 2022)

viktor77 please, do you now have enough to help with a purchasing recommendation/decision?


----------



## ralphbsz (Feb 2, 2022)

One could create a list that says "USB vendor 0x0baf product 0x0303 is recognized by a driver, so it has at least a chance of working". That is fundamentally what msplsh proposed above. But for people who are trying to buy a product this is de-facto useless, since by the time they can read these numbers, they have the device in their hand, and can actually test it. And furthermore, as Andriy said above, the above information is sometimes correct, sometimes incorrect. Exactly the same goes for PCI hardware: Telling people (like jrm grahamperrin did above) that "LSI 95xx chips are supported but 9600 are not" does not help. They are looking for a different layer, namely "Buy a Dell 1234 or a HP 5678 card and it will work".

Until hardware vendors start doing support for FreeBSD themselves, the best we can get out of a FreeBSD-sponsored hardware testing lab is a short list, of older hardware. The FreeBSD foundation's budget is not sufficient for a massive hardware testing lab (there are literally thousands of graphics, network and storage cards that need to be tested, and tens of thousands of USB devices).

EDIT: Sorry, mis-identified the poster above. And I'm not disagreeing with jrm.


----------



## grahamperrin@ (Feb 2, 2022)

ralphbsz said:


> Telling people (like grahamperrin did above) that "LSI 95xx chips are supported but 9600 are not" does not help.



grahamperrin wrote no such thing.

Instead, please see <https://forums.freebsd.org/posts/554130> and what was quoted by Joe Mingrone. Thanks.


----------



## ralphbsz (Feb 2, 2022)

Oops, sorry, fixed. Looked at the post wrong: It quoted you, but was written by jrm.


----------



## grahamperrin@ (Feb 2, 2022)

Thanks,



ralphbsz said:


> It quoted you,



– and to avoid confusion: Joe quoted me, and "a developer who knows a bit about storage" (not named; not me).

I know nothing about the chips.


----------



## grahamperrin@ (May 18, 2022)

Via <https://www.freebsd.org/releases/13.0R/>: 









						FreeBSD 13.0-RELEASE Hardware Notes
					

FreeBSD is an operating system used to power modern servers, desktops, and embedded platforms.




					www.freebsd.org
				




Via <https://www.freebsd.org/releases/13.1R/>:









						FreeBSD 13.1-RELEASE Hardware Notes
					

FreeBSD is an operating system used to power modern servers, desktops, and embedded platforms.




					www.freebsd.org


----------

