Re: How do I determine support for $xx?
Hi Devin There were some great tips in your last post. Would be great if they couldfo in FreeBSD handbook somewhere. Cheers, Julian -- Julian Stacey, BSD Unix Linux C Sys Eng Consultants Munich http://berklix.com Reply below not above, cumulative like a play script, & indent with "> ". Format: Plain text. Not HTML, multipart/alternative, base64, quoted-printable. Mail from @yahoo dumped @berklix. http://berklix.org/yahoo/ ___ freebsd-questions@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-questions To unsubscribe, send any mail to "freebsd-questions-unsubscr...@freebsd.org"
Re: How do I determine support for $xx?
Matthew/Devin, Thanks for the feedback. After I sent this email, I determined that the Intel i350 is indeed supported as a machine I built with FreeBSD was utilizing this NIC. I've tried the BCM5719 with stable/8 (5/21/2012) and it kernel panics when the interface is configured. I was told by a source contributor that the BCM5720 does not work (confirmed as recently as within the last week), but I've not tested it. I'm just passing this on as information...I don't expect any feedback with regards to this. On Fri, Jun 8, 2012 at 1:06 PM, Devin Teske wrote: > > On Jun 8, 2012, at 9:45 AM, Devin Teske wrote: > >> Hi Rick (!), >> >> On Jun 8, 2012, at 8:07 AM, Rick Miller wrote: >> > > [snip] > >>> >>> I browsed the source and found many references to the BCM5719 and >>> BCM5720. However, I am unfamiliar enough with driver programming in C >>> to identify if a controller is fully supported. >>> >> > > [snip] > >> If you were running, say, 8.0-R, even if you have the bge(4) driver loaded, >> you would see this in /var/run/dmesg.boot: >> >> pciN: (vendor=0x1106, dev=0x165f) at X.Y >> > > Correction, (specific to BCM5720) you'd see: > > pciN: (vendor=0x14e4, dev=0x165f) at X.Y > > Which, btw, you can confirm to yourself by executing the following within > 8.3-R (with attached bge(4)): > > $ pciconf -lv | awk '/^bge/{print $1,$4}' > bge0@pciN:A:B:C: chip=0x165f14e4 > > Otherwise, you can see an unknown (non-working bge(4)) Broadcom BCM5720 > hardware by executing (on 8.0-R for example): > > $ grep unk /var/run/dmesg.boot | grep 0x14e4 > pciN: (vendor=0x14e4, dev=0x165f) at X.Y > > NOTE: On a system where all hardware is probed/attached, "grep unk > /var/run/dmesg.boot" should not produce any results. In this case, pciconf is > your tool for probing vendor/device IDs. > > >> NOTE: Insert random numbers for "N", and "X.Y" >> >> How you know that 8.3-R's bge(4) driver supports the BCM5720 is because this >> source file: >> >> http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/dev/bge/if_bgereg.h?annotate=1.83.2.35.2.1 >> >> NOTE: I specifically pointed you at CVS instead of SVN so that you can see >> the version tagged for 8.3-R >> >> Specifically, this line: >> >> 2309: #define BCOM_DEVICEID_BCM5720 0x165F > > [snip] > > -- > Devin > > _ > The information contained in this message is proprietary and/or confidential. > If you are not the intended recipient, please: (i) delete the message and all > copies; (ii) do not disclose, distribute or use the message in any manner; > and (iii) notify the sender immediately. In addition, please be aware that > any message addressed to our domain is subject to archiving and review by > persons other than the intended recipient. Thank you. -- Take care Rick Miller ___ freebsd-questions@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-questions To unsubscribe, send any mail to "freebsd-questions-unsubscr...@freebsd.org"
Re: How do I determine support for $xx?
On Jun 8, 2012, at 9:45 AM, Devin Teske wrote: > Hi Rick (!), > > On Jun 8, 2012, at 8:07 AM, Rick Miller wrote: > [snip] >> >> I browsed the source and found many references to the BCM5719 and >> BCM5720. However, I am unfamiliar enough with driver programming in C >> to identify if a controller is fully supported. >> > [snip] > If you were running, say, 8.0-R, even if you have the bge(4) driver loaded, > you would see this in /var/run/dmesg.boot: > > pciN: (vendor=0x1106, dev=0x165f) at X.Y > Correction, (specific to BCM5720) you'd see: pciN: (vendor=0x14e4, dev=0x165f) at X.Y Which, btw, you can confirm to yourself by executing the following within 8.3-R (with attached bge(4)): $ pciconf -lv | awk '/^bge/{print $1,$4}' bge0@pciN:A:B:C: chip=0x165f14e4 Otherwise, you can see an unknown (non-working bge(4)) Broadcom BCM5720 hardware by executing (on 8.0-R for example): $ grep unk /var/run/dmesg.boot | grep 0x14e4 pciN: (vendor=0x14e4, dev=0x165f) at X.Y NOTE: On a system where all hardware is probed/attached, "grep unk /var/run/dmesg.boot" should not produce any results. In this case, pciconf is your tool for probing vendor/device IDs. > NOTE: Insert random numbers for "N", and "X.Y" > > How you know that 8.3-R's bge(4) driver supports the BCM5720 is because this > source file: > > http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/dev/bge/if_bgereg.h?annotate=1.83.2.35.2.1 > > NOTE: I specifically pointed you at CVS instead of SVN so that you can see > the version tagged for 8.3-R > > Specifically, this line: > > 2309: #defineBCOM_DEVICEID_BCM5720 0x165F [snip] -- Devin _ The information contained in this message is proprietary and/or confidential. If you are not the intended recipient, please: (i) delete the message and all copies; (ii) do not disclose, distribute or use the message in any manner; and (iii) notify the sender immediately. In addition, please be aware that any message addressed to our domain is subject to archiving and review by persons other than the intended recipient. Thank you. ___ freebsd-questions@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-questions To unsubscribe, send any mail to "freebsd-questions-unsubscr...@freebsd.org"
Re: How do I determine support for $xx?
Hi Rick (!), On Jun 8, 2012, at 8:07 AM, Rick Miller wrote: > Hi All, > > If this question is better suited for a different list please let me > know. Simply stated, my question is 'What is the best source for > identifying supported hardware?'. The source! Actually, pciconf and "grep unknown /var/run/dmesg.boot" and using pcidatabase.com are all good starts (for me at least). When I'm integrating new/old hardware there isn't "one path" that I take. It really depends on what the situation is. (and so to give you the best advice, I read-on) > Having said that, allow me to pose > an example... > > I've attempted to identify if various ethernet controllers are > supported by FreeBSD and the drivers. I used the hardware notes and > manpages for the respective ethernet drivers. The information between > the two sometimes seems inconsistent and/or inaccurate. For example, > the BCM5719 and BCM5720 are unsupported in FreeBSD at this time. That *was* true, but it's integrated quite well now with 8.3-R. We have a few NEC workstations eval's fresh for testing that are using that hardware. > The > hardware notes at freebsd.org do not specify these controllers are > supported. Inspection of the bge(4) manpage implies that the > controllers are supported as seen in the description section where it > states: > > "The bge driver provides support for various NICs based on the > Broadcom BCM570x, 571x, 572x, 575x, 576x, 578x, 5776x and 5778x > Gigabit Ethernet controller chips and the 590x and 5779x Fast Ethernet > controller chips." > > I browsed the source and found many references to the BCM5719 and > BCM5720. However, I am unfamiliar enough with driver programming in C > to identify if a controller is fully supported. > You really need to know the 4-digit hexadecimal Vendor ID and Model ID of the chipset to KNOW that a source module will probe/attach to a given hardware by-spec. Probing/attaching is mostly done by registry arrays defining these hex values as what to attach to during probe. Of course, booting the OS is the best way. If your HW device is not picked up by any module (built-in or otherwise), then you'll get a line like the following in /var/run/dmesg.boot: pci0: (vendor=0x1106, dev=0x3057) at 4.4 There's those hex values. If you take the device value and enter it into pcidatabase.com you'll get: http://pcidatabase.com/search.php?device_search_str=0x3057&device_search=Search Which comes up as: "ACPI Power Management Controller" by "VIA Technologies, Inc" That's the unknown device. But, let's focus on BCM5720… If you were running, say, 8.0-R, even if you have the bge(4) driver loaded, you would see this in /var/run/dmesg.boot: pciN: (vendor=0x1106, dev=0x165f) at X.Y NOTE: Insert random numbers for "N", and "X.Y" How you know that 8.3-R's bge(4) driver supports the BCM5720 is because this source file: http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/dev/bge/if_bgereg.h?annotate=1.83.2.35.2.1 NOTE: I specifically pointed you at CVS instead of SVN so that you can see the version tagged for 8.3-R Specifically, this line: 2309: #defineBCOM_DEVICEID_BCM5720 0x165F > Also, I attempted to identify whether the Intel i350 is supported. > It's not listed in the hardware notes or the igb(4) manpage so I > suspect it is not supported. Boot up and see if it shows up as an unknown device. HINT: 0x8086 is often Intel's Vendor ID It's easier to start that route and get the vendor/device hex so you can recursively grep src/sys/dev for those hex values (make sure to do it case insensitively). Investigating each match (especially if it ends in "_reg.h" or "_reg.c" or "hw.c" etc.) should show you (in code) which modules may (or may not) support a given unknown hardware (either in your current branch or another). If you're commonly dealing with new hardware on an often-enough basis, then it's advisable to have a copy of HEAD checked out for keeping src/sys/dev up to date for recursive grepping to find out if hardware is supported (in the previously described manner). > When I view the igb source, the i350 is > referenced numerous times. Are these references simply code in > preparation for support of the i350? > Maybe. If you have HW specs for the board you're trying to integrate, check for the vendor/device id's and see if they match the references that you're finding in code. -- Devin _ The information contained in this message is proprietary and/or confidential. If you are not the intended recipient, please: (i) delete the message and all copies; (ii) do not disclose, distribute or use the message in any manner; and (iii) notify the sender immediately. In addition, please be aware that any message addressed to our domain is subject to archiving and review by persons other than the intended recipient. Thank you. ___ freebsd-question
Re: How do I determine support for $xx?
On 08/06/2012 16:07, Rick Miller wrote: > If this question is better suited for a different list please let me > know. Simply stated, my question is 'What is the best source for > identifying supported hardware?'. Having said that, allow me to pose > an example... > > I've attempted to identify if various ethernet controllers are > supported by FreeBSD and the drivers. I used the hardware notes and > manpages for the respective ethernet drivers. The information between > the two sometimes seems inconsistent and/or inaccurate. For example, > the BCM5719 and BCM5720 are unsupported in FreeBSD at this time. The > hardware notes at freebsd.org do not specify these controllers are > supported. Inspection of the bge(4) manpage implies that the > controllers are supported as seen in the description section where it > states: > > "The bge driver provides support for various NICs based on the > Broadcom BCM570x, 571x, 572x, 575x, 576x, 578x, 5776x and 5778x > Gigabit Ethernet controller chips and the 590x and 5779x Fast Ethernet > controller chips." The Hardware notes do not contain definitive lists of all of the hardware that is supported. Support for NICs generally goes by what chipset is used in the NIC, but may be confounded by some manufacturers using unusual firmware. If a particular device is listed in a man page, that indicates that device has been tested and is known to work. If the source code makes reference to a specific device, then generally that device will work too: part working or in-progress code is not generally committed to the FreeBSD sources. If a devices' chipset is listed in a man page, but there's no reference to a specific device, then the device stands a good chance of working. If such a device doesn't work, then frequently it can be fixed quite easily by specifying appropriate device quirks. > I browsed the source and found many references to the BCM5719 and > BCM5720. However, I am unfamiliar enough with driver programming in C > to identify if a controller is fully supported. > > Also, I attempted to identify whether the Intel i350 is supported. > It's not listed in the hardware notes or the igb(4) manpage so I > suspect it is not supported. When I view the igb source, the i350 is > referenced numerous times. Are these references simply code in > preparation for support of the i350? As I said above, this would be unusual. The development process in FreeBSD nowadays is to work on projects (eg. the addition of a driver for a new piece of hardware) off-line and only commit the code to the mainline sources once it is basically complete and ready for exposure to a wider audience for testing. Ultimately the best way to tell if any particular device is supported is to try it. There are plenty of USB-stick images of FreeBSD or PC-BSD readily downloadable so you can test boot up a candidate machine without committing to install the OS on it. While most manufacturers won't "support" FreeBSD per-se, if you can find the right sort of techy person to talk to, they'll often tip you off about whether FreeBSD is known to work or not. Hardware from big-name suppliers (Dell, HP and the like for complete systems; Intel, Broadcomm for NICs) is a priority for support although it may take a few months for the code to become generally available for the newest bits of kit. In fact, so long as the components you want to use have been on the market for around 6 months (very approximately) and they are aimed at use in server hardware rather than personal or casual use, the chances are good that they will just work in FreeBSD. Cheers, Matthew -- Dr Matthew J Seaman MA, D.Phil. PGP: http://www.infracaninophile.co.uk/pgpkey signature.asc Description: OpenPGP digital signature
How do I determine support for $xx?
Hi All, If this question is better suited for a different list please let me know. Simply stated, my question is 'What is the best source for identifying supported hardware?'. Having said that, allow me to pose an example... I've attempted to identify if various ethernet controllers are supported by FreeBSD and the drivers. I used the hardware notes and manpages for the respective ethernet drivers. The information between the two sometimes seems inconsistent and/or inaccurate. For example, the BCM5719 and BCM5720 are unsupported in FreeBSD at this time. The hardware notes at freebsd.org do not specify these controllers are supported. Inspection of the bge(4) manpage implies that the controllers are supported as seen in the description section where it states: "The bge driver provides support for various NICs based on the Broadcom BCM570x, 571x, 572x, 575x, 576x, 578x, 5776x and 5778x Gigabit Ethernet controller chips and the 590x and 5779x Fast Ethernet controller chips." I browsed the source and found many references to the BCM5719 and BCM5720. However, I am unfamiliar enough with driver programming in C to identify if a controller is fully supported. Also, I attempted to identify whether the Intel i350 is supported. It's not listed in the hardware notes or the igb(4) manpage so I suspect it is not supported. When I view the igb source, the i350 is referenced numerous times. Are these references simply code in preparation for support of the i350? -- Take care Rick Miller ___ freebsd-questions@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-questions To unsubscribe, send any mail to "freebsd-questions-unsubscr...@freebsd.org"