Re: How do I determine support for $xx?

2012-06-08 Thread Julian H. Stacey
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?

2012-06-08 Thread Rick Miller
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?

2012-06-08 Thread Devin Teske

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?

2012-06-08 Thread Devin Teske
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?

2012-06-08 Thread Matthew Seaman
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?

2012-06-08 Thread Rick Miller
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"