Re: Hardware compatibility test: draft proposal

2008-08-30 Thread Ben Hutchings
On Fri, 2008-08-22 at 11:05 +0100, Chris Lamb wrote: 
 Wouter Verhelst wrote:
 
  As I mentioned in my blog[1], I kindof like the suggestion that Bdale
  came up with during Debconf that we write a hardware compatibility test
  of sorts that hardware vendors could run on their own hardware
 
 I think this is a great idea, and I generally agree with your decisions and
 assumptions.
 
- Scripts should not just test for availability of hardware. Instead,
  they should test the actual functionality; e.g., tests for a network
  interface should be done by trying to DHCP off that interface, X.org
  drivers should try to start X and ask for input using a graphical
  dialog, and tests for a hard disk should be done by trying to read
  some data from the disk.
 
 I think this the most important paragraph of all.
 
 What I think is missing is some really concrete info on just how various
 hardware items would be tested. For example, in the case of ethernet
 adaptors, I feel that simply successfully DHCP-ing on an interface is really
 not an acceptable test.
snip 

At a bare minimum the HCT should try to run the driver's offline
self-test (ethtool -t $dev offline).  For a more comprehensive (and
generic) test we would really want to use two machines, though an
external loopback cable may suffice.

My employer outsources much of the generic network test development to
Oktet Labs.  Their network test environment
http://www.oktetlabs.ru/test_env.rhtml is distributed under GPL though
it is not freely downloadable.  It might be worth asking them to provide
it to Debian.

Ben.

-- 
Ben Hutchings
It is easier to write an incorrect program than to understand a correct one.


signature.asc
Description: This is a digitally signed message part


Re: Hardware compatibility test: draft proposal

2008-08-26 Thread Giacomo Catenazzi
Giacomo A. Catenazzi wrote:
 Wouter Verhelst wrote:
 On Fri, Aug 22, 2008 at 12:55:34PM +0200, Giacomo Catenazzi wrote:
 Wouter Verhelst wrote:

 I'm not so sure that the test should be packages.
 The system is too different on early boot from a Debian system.

 In what way? Note that a Debian Live system *is* a normal Debian system;
 you build a Debian Live image by giving the debian-live script a bunch
 of packages; it then installs them into a chroot, changes a few things
 so that the system will actually boot from CD-ROM, and then create an
 ISO image from it.

 How is that too different from a Debian system? Or are you talking
 about something else?

ok. I was thinking about doing hardware test a lot earlier
(i.e. in initramfs).
But probably it is not really needed, and we probably could assume
that system is enough reasonable.
Anyway, we can try with debian-live, and ev. move things
earlier.


 The modular thing should be put mainly on the testing
 development side.

 Yeah, I'm not suggesting we provide vendors with a bunch of packages;
 the packages thing is a way for us to make it easier to actually develop
 this without having one maintainer who has to write/accept/maintain
 *all* the tests in the system. But hey, this is debian-devel, not
 debian-announce ;-)

 - Vendors who pass this test on a particular bit of hardware are
 allowed
   to advertise that fact; it might be nice to have provide them with a
   logo that they may use for this purpose.
 This should be discussed after we have comprehensive tests,

 Sure.

 and probably to LI. I don't want to see packages with logo of 10
 distributions.

 To me, it's not about seeing a logo on a package. It's about seeing
 another vendor besides HP make a commitment that Yes, Debian will be
 supported. We won't run away scared to the hills if you say that you're
 running Debian. Because that's what most vendors will do currently.

 I think you'll also find aving a generic Linux hardware compatibility
 test isn't very useful; if we provide hardware vendors with such a
 thing, they'll go I ran that test, and it said 'pass'; but my
 shiny-new-network-card-chipset-that's-supported-in-the-latest-development-kernel-only

 isn't supported in Debian? That's probably a bug in Debian, then.

 And it doesn't even have to be too new stuff; it may also be that some
 particular bit of hardware is supported by some free out-of-tree driver
 which is supported by some distributions, but not necessarily by all of
 them. Would you test for that in a generic Linux compatibility test?
 If you don't, you'll fail on an amount of hardware that works perfectly
 well in most distributions; and if you do, you'll succeed on hardware
 that won't be supported by a number of distributions, possibly the one
 the hardware vendor cares about most (because, say, they use it
 themselves for their webservers).

 No, I think we *do* need a Debian-specific test.

The LinuxFirmwareKit has few kernels. IIRC redhat, suse and
latest vanilla, so vendors could check the support of various
distributions.

I think we could be done in the same way: we allow installing/selecting
other kernels. The tests are the same, only the kernel could change,
and obviously, the default kernel is the Debian stable kernel.

In this manner, vendor could test new-hardware with requires new-kernel
but on other side, vendors have information about Debian kernel, so they
could ev. try to backport drivers for us.

I think doing it Debian specific is more difficult, because it
requires a lot more work.
we should share some burden to upstreams (I'm thinking mainly about
xorg: test about 2D, 3D accelerations, etc.; i2c, etc.).

ciao
cate



-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Hardware compatibility test: draft proposal

2008-08-25 Thread Giacomo A. Catenazzi

Joe Smith wrote:

 Giacomo Catenazzi [EMAIL PROTECTED] wrote in message
 news:[EMAIL PROTECTED]
 Wouter Verhelst wrote:
 Hi,

 As I mentioned in my blog[1], I kindof like the suggestion that Bdale

 Yes, I find the talk very interesting.

 So, after more than twelve hours of boredom on an airplane and half a
 night of not-being-able-to-sleep-due-to-jetlag, which is certainly
 enough to think about this problem, I came up with the following things
 such a system could need:

 /me too

 - It should support a notion of what I'll call 'profiles'. A 'server'
   profile should check for different things than a 'desktop' or 
'laptop'

   profile; e.g., it's usually okay if a server doesn't have graphical
   support or wireless drivers, while the same isn't true for a laptop.

 No. I don't think we should provide profiles.
 The check should be:
 complete: test all hardware that it is installed on system.
 If the system doesn't have the video-card or the wifi just it doesn't
 test it, but it write a notice.
 Listening the available hardware is pretty trivial (see i.e. my
 AutoKernConf).


 Ok. What does the test do if it notices that a pecie of hardware exists,
 but cannot identify it?
 Should it warn about that?

I think that 100% (but maybe very few exceptions) of the new hardware
can be detected and identify the class of hardware.

Possible problem could arise with some USB gadget, but class list
is frequently updated, and in this case we must warn the user
about unsupported hardware. (the same with firewire, PCI, and some other
buses).


 Perhaps a few of those could be merged into other tests, like a single
 optical drive test, but in some of those cases it would then be
 important that a list of hardware that was found is printed. That way
 the manufacturer can be sure that both optical drives (in a two optical
 drive PC) were found.

I agree, but probably we should ask Bdale about how the manufacturers
will do the test and what we can expect about it.


 If there is any hardware that cannot be tested with only a single test
 script due to major implementation differences between all brands of
 hardware (and no current unified software interface), we would want to
 avoid having a notice printed for each possible manufacture of the
 device.

Hmm. If hardware cannot be fully detected (e.g. in this case: if we
cannot detect what kind of the protocol is used), it is an error, which
should be notified, so to correct the test, the driver or the hardware.
[i.e. the burden of hardware identification should not be left to
our users]. The handle of such cases IMHO should not have a
high priority.

Probably not always it is possible to do such identification
(IIRC recently on kernel and Linus had such problem with
Intel e1000 variant), but I think it is rare.

ciao
cate


--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Hardware compatibility test: draft proposal

2008-08-25 Thread Giacomo A. Catenazzi

Wouter Verhelst wrote:

On Fri, Aug 22, 2008 at 12:55:34PM +0200, Giacomo Catenazzi wrote:

Wouter Verhelst wrote:

Hi,

As I mentioned in my blog[1], I kindof like the suggestion that Bdale

Yes, I find the talk very interesting.


So, after more than twelve hours of boredom on an airplane and half a
night of not-being-able-to-sleep-due-to-jetlag, which is certainly
enough to think about this problem, I came up with the following things
such a system could need:

/me too


- It should support a notion of what I'll call 'profiles'. A 'server'
  profile should check for different things than a 'desktop' or 'laptop'
  profile; e.g., it's usually okay if a server doesn't have graphical
  support or wireless drivers, while the same isn't true for a laptop.

No. I don't think we should provide profiles.
The check should be:
complete: test all hardware that it is installed on system.
If the system doesn't have the video-card or the wifi just it doesn't
test it, but it write a notice.


That will create ambiguity, which I think we should avoid at all cost.
If you tell a user of this test that it seems to work, but you should
check this and this and this output to make sure we didn't miss
anything, then such a test is worthless; hardware vendors *will* miss
this kind of thing.


I really think there are no such cases. Eventually we found
unknown hardware, but I really think that on modern hardware
we will not be undetected hardware (but on very new bus,
in which case the hardware vendor care much more).



Listening the available hardware is pretty trivial (see i.e. my
AutoKernConf).


I'm afraid I'm not familiar with this piece of software; and as I'm
offline right now, I can't look it up, either.

However, I don't think checking by listing the hardware is the best way
to go, in any regard. A script that checks for all hardware available in
a system can't know about each and every piece of hardware out there;
especially not if new interfaces are made that the script doesn't yet
know about. Giving a piece of hardware a perfect score because our
script failed to notice there's some unsupported wireless interface
connected is not the way to go.


I meant the kdetect script, which list the hardware attached to
various buses.
You are right, the other program try to give a name and a kernel
driver to hardware, which is impossible to do completely.

But you can list the hardware of pretty all buses, which
usually some information about the type.
My script collect work of kernel and other programs.
Additionally dmidecode collects a lot more information
about memory, cache, motherboard, etc, and
there is already some program to find sensors
(my script find only the sensor found by the kernel,
the other program is kernel-indipendent).
Now there is also a fan-control script that
check the fan (but maybe using dmidecode or i2c)

I really think we can detect nearly all hardware.
The hardware that could be missed, it is the hardware that
probably the vendor will forget (sensor, fan and other
small and probably fast changing piece of hardware).



Additionally a component test should be furnished, for component
hardware vendor. (e.g. a network card vendor would test
only the network card, not the whole system).


I'm not sure that's very useful. A network card vendor has two options:
either they design a card based on an existing chipset that has drivers
already in the kernel (in which case it will probably just work, unless
they use previously-unknown PCI IDs, in which case it won't), or they
will create a totally new chipset for their network card, in which case
it won't work. A vendor is usually aware of this fact, and giving them a
test for something they already know about isn't very useful.

If you disagree, of course don't let me stand in your way. Just don't
expect me to work on it ;-)


Maybe we should discuss with Bdale. I'm not sure about your reasoning,
for two reasons:
- hardware vendor will do a new version, but it still use old driver
  (USB and PCI have an additional version value, along the ID)
- a lot of drivers support multiple hardware: if you read the kernel,
  you will see driver with a long list of ID.
  Some drivers (IDE,...) check only the class of hardware

so I think there could be error on hardware that we could detect.

But my point was about one of my mouse: it work good on windoze,
but not on my systems (automatic backspace after click).
For this reason I would like to have component tests.

Anyway I think it is more an interface problem, not a really
problem, and it is not the primary goal.


-- to late --
I'll read and answer the bottom part of the email tomorrow ;-)

ciao
cate



I'm not so sure that the test should be packages.
The system is too different on early boot from a Debian system.


In what way? Note that a Debian Live system *is* a normal Debian system;
you build a Debian Live image by giving the debian-live script a bunch
of packages; it then installs them into a chroot, 

Re: Hardware compatibility test: draft proposal

2008-08-24 Thread Wouter Verhelst
On Fri, Aug 22, 2008 at 11:05:49AM +0100, Chris Lamb wrote:
 Wouter Verhelst wrote:
 
  As I mentioned in my blog[1], I kindof like the suggestion that Bdale
  came up with during Debconf that we write a hardware compatibility test
  of sorts that hardware vendors could run on their own hardware
 
 I think this is a great idea, and I generally agree with your decisions and
 assumptions.
 
- Scripts should not just test for availability of hardware. Instead,
  they should test the actual functionality; e.g., tests for a network
  interface should be done by trying to DHCP off that interface, X.org
  drivers should try to start X and ask for input using a graphical
  dialog, and tests for a hard disk should be done by trying to read
  some data from the disk.
 
 I think this the most important paragraph of all.
 
 What I think is missing is some really concrete info on just how various
 hardware items would be tested.

Well, that's the hard bit, isn't it? ;-)

I didn't go into much detail here yet, simply because I feel this is
something we'll have to figure out as we write everything.

 For example, in the case of ethernet adaptors, I feel that simply
 successfully DHCP-ing on an interface is really not an acceptable
 test.
 
 As an example, Etch's kernel contains various modules (such as sky2) that
 kinda work on today's hardware - whilst the driver would probably pass a
 DHCP test, the actual performance or reliability of the device is completely
 inadequate. Wireless devices would pose an even more difficult problem, as
 support for the various encryption modes that the device supports tend to be
 developed at different times, etc.
 
 (I'm fairly confident these comments have parallels with other hardware
 categories, I just give networking examples that most readers might be able
 to relate to)
 
 Whilst I am aware that a testsuite could never be 100% conclusive (and I'm
 sure you are aware too) my underlying enquiry here is trying to work out
 what level of confidence you are aiming for.

Yes, good point.

The main problem is, at this point I'm not actually all that sure of it,
really. On the one hand, I want to test as much as is possible. On the
other hand, that is going to get very hard very quickly, and would
probably take forever to develop.

We'll probably need to find a bit of a compromise here: initially, test
for at least basic functionality, and test additional functionality if
we find out at some point that common modern hardware has problems where
basic functionality isn't available.

 (Hm, this didn't mean to be so negative..)

Negative? What's negative? ;)

  - A Debian Live image will be provided that will install the
'debian-hct' package plus all packages that say 'Provides:
hardware-compatibility-test' plus all their dependencies. This will be
the hardware compatibility test that we can give to vendors.
 
 Please let me know if you would like any help with Live image foo.

That's the final step. If/when I get there, I will. If I still need it
then...

-- 
Lo-lan-do Home is where you have to wash the dishes.
  -- #debian-devel, Freenode, 2004-09-22


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Hardware compatibility test: draft proposal

2008-08-23 Thread Wouter Verhelst
On Fri, Aug 22, 2008 at 12:55:34PM +0200, Giacomo Catenazzi wrote:
 Wouter Verhelst wrote:
  Hi,
  
  As I mentioned in my blog[1], I kindof like the suggestion that Bdale
 
 Yes, I find the talk very interesting.
 
  So, after more than twelve hours of boredom on an airplane and half a
  night of not-being-able-to-sleep-due-to-jetlag, which is certainly
  enough to think about this problem, I came up with the following things
  such a system could need:
 
 /me too
 
  - It should support a notion of what I'll call 'profiles'. A 'server'
profile should check for different things than a 'desktop' or 'laptop'
profile; e.g., it's usually okay if a server doesn't have graphical
support or wireless drivers, while the same isn't true for a laptop.
 
 No. I don't think we should provide profiles.
 The check should be:
 complete: test all hardware that it is installed on system.
 If the system doesn't have the video-card or the wifi just it doesn't
 test it, but it write a notice.

That will create ambiguity, which I think we should avoid at all cost.
If you tell a user of this test that it seems to work, but you should
check this and this and this output to make sure we didn't miss
anything, then such a test is worthless; hardware vendors *will* miss
this kind of thing.

 Listening the available hardware is pretty trivial (see i.e. my
 AutoKernConf).

I'm afraid I'm not familiar with this piece of software; and as I'm
offline right now, I can't look it up, either.

However, I don't think checking by listing the hardware is the best way
to go, in any regard. A script that checks for all hardware available in
a system can't know about each and every piece of hardware out there;
especially not if new interfaces are made that the script doesn't yet
know about. Giving a piece of hardware a perfect score because our
script failed to notice there's some unsupported wireless interface
connected is not the way to go.

 Additionally a component test should be furnished, for component
 hardware vendor. (e.g. a network card vendor would test
 only the network card, not the whole system).

I'm not sure that's very useful. A network card vendor has two options:
either they design a card based on an existing chipset that has drivers
already in the kernel (in which case it will probably just work, unless
they use previously-unknown PCI IDs, in which case it won't), or they
will create a totally new chipset for their network card, in which case
it won't work. A vendor is usually aware of this fact, and giving them a
test for something they already know about isn't very useful.

If you disagree, of course don't let me stand in your way. Just don't
expect me to work on it ;-)

  - The vendor should be able to influence the score of a test by
explicitly stating that particular hardware isn't available. If the
vendor really wants to build a laptop without wireless drivers in this
day and age, then it's obviously okay if no wireless drivers were
detected. If, however, the vendor is not insane, then the failure to
detect a wireless chipset should clearly influence the score.
 
 See above.
 The score should be done only negatively, i.e. when a
 hardware is found but:
 - doesn't work properly
 - it is buggy (as for the BIOS: linux have some work-around for
   broken BIOS, but the test should alert vendor)
 - it requires manual configuration
   (partly could be a problem of Debian, but it could be also
a problem in hardware: wrong identification strings/number)
 - requires non-free stuff
 - ...

Yes, I agree; that's the only sane way to do it. If we don't find any
issues at all, a system should get a 100% score; only when we do find
some issue should the score be lower.

  Now, with the above in mind, and after having considered Holger's
  proposal to do this with Debian Live[2], I think the following generic
  spec should cut it, but I'm open to other suggestions at this point.
  It's also not very detailed yet, but since no code has been written yet,
  that doesn't really matter at this point.
  
  - A base package 'debian-hct' will provide a basic infrastructure for
these tests to run in and an initscript that actually runs them. It
will also contain some tests that are useful for /any/ system, such as
do we find something that looks like a harddisk controller etc.
 
 we really want debian in package name?
 Should we do a more broad project?

I'm not opposed to making this useful to more distributions than just
Debian; however, I also think that we should provide an official
Debian test that will test whether something will work with Debian
Stable, rather than just a random Linux kernel plus some random software
that's available on some random website. The former is something
tangible; the latter isn't.

  - Additional packages may provide tests. Packages that do so should say
'Provides: hardware-compatibility-test' in their control file.
 
 and Depends it should on 'debian-hct', to 

Re: Hardware compatibility test: draft proposal

2008-08-23 Thread Mikhail Gusarov
Twas brillig at 06:24:07 20.08.2008 UTC+02 when [EMAIL PROTECTED] did gyre and 
gimble:

[]

JFYI, there's great piece of software which can be reused: 
http://www.inquisitor.ru/about/

-- 


pgpMgQtDda53n.pgp
Description: PGP signature


Re: Hardware compatibility test: draft proposal

2008-08-22 Thread Chris Lamb
Wouter Verhelst wrote:

 As I mentioned in my blog[1], I kindof like the suggestion that Bdale
 came up with during Debconf that we write a hardware compatibility test
 of sorts that hardware vendors could run on their own hardware

I think this is a great idea, and I generally agree with your decisions and
assumptions.

   - Scripts should not just test for availability of hardware. Instead,
 they should test the actual functionality; e.g., tests for a network
 interface should be done by trying to DHCP off that interface, X.org
 drivers should try to start X and ask for input using a graphical
 dialog, and tests for a hard disk should be done by trying to read
 some data from the disk.

I think this the most important paragraph of all.

What I think is missing is some really concrete info on just how various
hardware items would be tested. For example, in the case of ethernet
adaptors, I feel that simply successfully DHCP-ing on an interface is really
not an acceptable test.

As an example, Etch's kernel contains various modules (such as sky2) that
kinda work on today's hardware - whilst the driver would probably pass a
DHCP test, the actual performance or reliability of the device is completely
inadequate. Wireless devices would pose an even more difficult problem, as
support for the various encryption modes that the device supports tend to be
developed at different times, etc.

(I'm fairly confident these comments have parallels with other hardware
categories, I just give networking examples that most readers might be able
to relate to)

Whilst I am aware that a testsuite could never be 100% conclusive (and I'm
sure you are aware too) my underlying enquiry here is trying to work out
what level of confidence you are aiming for.

(Hm, this didn't mean to be so negative..)

 - A Debian Live image will be provided that will install the
   'debian-hct' package plus all packages that say 'Provides:
   hardware-compatibility-test' plus all their dependencies. This will be
   the hardware compatibility test that we can give to vendors.

Please let me know if you would like any help with Live image foo.


Regards,

-- 
Chris Lamb, UK   [EMAIL PROTECTED]
GPG: 0x634F9A20


signature.asc
Description: PGP signature


Re: Hardware compatibility test: draft proposal

2008-08-22 Thread Giacomo Catenazzi
Wouter Verhelst wrote:
 Hi,
 
 As I mentioned in my blog[1], I kindof like the suggestion that Bdale

Yes, I find the talk very interesting.

 So, after more than twelve hours of boredom on an airplane and half a
 night of not-being-able-to-sleep-due-to-jetlag, which is certainly
 enough to think about this problem, I came up with the following things
 such a system could need:

/me too

 - It should support a notion of what I'll call 'profiles'. A 'server'
   profile should check for different things than a 'desktop' or 'laptop'
   profile; e.g., it's usually okay if a server doesn't have graphical
   support or wireless drivers, while the same isn't true for a laptop.

No. I don't think we should provide profiles.
The check should be:
complete: test all hardware that it is installed on system.
If the system doesn't have the video-card or the wifi just it doesn't
test it, but it write a notice.
Listening the available hardware is pretty trivial (see i.e. my
AutoKernConf).

Additionally a component test should be furnished, for component
hardware vendor. (e.g. a network card vendor would test
only the network card, not the whole system).


 - The vendor should be able to influence the score of a test by
   explicitly stating that particular hardware isn't available. If the
   vendor really wants to build a laptop without wireless drivers in this
   day and age, then it's obviously okay if no wireless drivers were
   detected. If, however, the vendor is not insane, then the failure to
   detect a wireless chipset should clearly influence the score.

See above.
The score should be done only negatively, i.e. when a
hardware is found but:
- doesn't work properly
- it is buggy (as for the BIOS: linux have some work-around for
  broken BIOS, but the test should alert vendor)
- it requires manual configuration
  (partly could be a problem of Debian, but it could be also
   a problem in hardware: wrong identification strings/number)
- requires non-free stuff
- ...

 Now, with the above in mind, and after having considered Holger's
 proposal to do this with Debian Live[2], I think the following generic
 spec should cut it, but I'm open to other suggestions at this point.
 It's also not very detailed yet, but since no code has been written yet,
 that doesn't really matter at this point.
 
 - A base package 'debian-hct' will provide a basic infrastructure for
   these tests to run in and an initscript that actually runs them. It
   will also contain some tests that are useful for /any/ system, such as
   do we find something that looks like a harddisk controller etc.

we really want debian in package name?
Should we do a more broad project?

 - Additional packages may provide tests. Packages that do so should say
   'Provides: hardware-compatibility-test' in their control file.

and Depends it should on 'debian-hct', to have a common interface.

 - Tests are found in /etc/hw-compat-tests. This directory will have
   subdirectories, one for each of 'hard disk controller', 'wired network
   interfaces', 'wireless network interfaces', etc. The scripts in this
   directory will run in asciibetical order, so that, e.g., drivers that
   need firmware to be loaded can ensure this firmware is actually loaded
   before allowing the generic test for this class of hardware to be ran.

I don't like to have it in /etc. IMHO it is better to have it in
/var/lib/ or ...  and copied to a root directory on the target system.


 - A Debian Live image will be provided that will install the
   'debian-hct' package plus all packages that say 'Provides:
   hardware-compatibility-test' plus all their dependencies. This will be
   the hardware compatibility test that we can give to vendors.

the BIOS testing and memory testing should be included on the
basic test.

I'm not so sure that the test should be packages.
The system is too different on early boot from a Debian system.
I think it is a lot simpler to do a separate project, using
building infrastructure as d-i or debian-live.

IMHO the target CD should be very easy to create and it
should be complete. (but maybe allowing additional external
kernel and modules).

The modular thing should be put mainly on the testing
development side.


 - Vendors who pass this test on a particular bit of hardware are allowed
   to advertise that fact; it might be nice to have provide them with a
   logo that they may use for this purpose.

This should be discussed after we have comprehensive tests, and
probably to LI.  I don't want to see packages with logo of 10
distributions. Marketing people could choose to include on packages
only few distribution, which could be negative for other
distribution (and maybe for debian).

ciao
cate


 
 Thoughts?
 
 (Back to bed now. Jet lag, gotta love it)
 
 [1] http://grep.be/blog/en/computer/debian/hardware_test and
 .../hardware_test_followup
 [2] http://debian-live.alioth.debian.org/
 


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject 

Re: Hardware compatibility test: draft proposal

2008-08-22 Thread Joe Smith


Giacomo Catenazzi [EMAIL PROTECTED] wrote in message 
news:[EMAIL PROTECTED]

Wouter Verhelst wrote:

Hi,

As I mentioned in my blog[1], I kindof like the suggestion that Bdale


Yes, I find the talk very interesting.


So, after more than twelve hours of boredom on an airplane and half a
night of not-being-able-to-sleep-due-to-jetlag, which is certainly
enough to think about this problem, I came up with the following things
such a system could need:


/me too


- It should support a notion of what I'll call 'profiles'. A 'server'
  profile should check for different things than a 'desktop' or 'laptop'
  profile; e.g., it's usually okay if a server doesn't have graphical
  support or wireless drivers, while the same isn't true for a laptop.


No. I don't think we should provide profiles.
The check should be:
complete: test all hardware that it is installed on system.
If the system doesn't have the video-card or the wifi just it doesn't
test it, but it write a notice.
Listening the available hardware is pretty trivial (see i.e. my
AutoKernConf).



Ok. What does the test do if it notices that a pecie of hardware exists, but 
cannot identify it?

Should it warn about that?

The long list of hardware not found may be a problem. Let's picture a modern 
desktop PC.

No floppy drive found.
No touchpad found.
No webcam found.
No firewire found.
No modem found. (This is common enough these days, but we would definately 
want to test any found modem due to the proliferation of weird winmodems 
these days).

No physics acellerator found.
No PC card slot found
No HD-DVD drive found
No Blu-ray drive found
No RAID controller found
No gigabit ethernet found
No EFI firmware found (This theoretical PC is not a Intel Mac.)
No fingerprint scanner found.


(The list could go on and on).

Perhaps a few of those could be merged into other tests, like a single 
optical drive test, but in some of those cases it would then be important 
that a list of hardware that was found is printed. That way the manufacturer 
can be sure that both optical drives (in a two optical drive PC) were found.


If there is any hardware that cannot be tested with only a single test 
script due to major implementation differences between all brands of 
hardware (and no current unified software interface), we would want to avoid 
having a notice printed for each possible manufacture of the device.





--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Hardware compatibility test: draft proposal

2008-08-21 Thread Frank Lichtenheld
On Wed, Aug 20, 2008 at 06:24:07AM +0200, Wouter Verhelst wrote:
 So, that's probably it at this point. I should have a look at bdale's
 talk once it becomes available at meetings-archive.debian.net, but that
 doesn't yet seem to be the case. If someone who was at bdale's talk has
 anything to add, that'd be welcome. If someone could think of anything
 even without being at bdale's talk, that's welcome too, of course.

http://meetings-archive.debian.net/pub/debian-meetings/2008/debconf8/high/508_hp.comgodebian.ogg

Gruesse,
-- 
Frank Lichtenheld [EMAIL PROTECTED]
www: http://www.djpig.de/


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Hardware compatibility test: draft proposal

2008-08-21 Thread Petter Reinholdtsen

[Wouter Verhelst]
 As I mentioned in my blog[1], I kindof like the suggestion that
 Bdale came up with during Debconf that we write a hardware
 compatibility test of sorts that hardware vendors could run on their
 own hardware to test whether Debian works on their system.

I saw Bdales talk and I like it too.  I did not spend time thinking
about your proposal, but wanted to let you know how we test
compatibility in a Debian Edu installation.

It is done in a installation where PXE installing work, and the first
step in the compatibility test is to install Debian Edu automatically
with all questions preseeded.  If installation work, the hard drive
work.

If the KDE login manager show up (kdm), the graphics card work.

Next step is to log in, and if a small sound is played, the sound card
is working.

Start a web browser, and visit URL:http://www.skolelinux.org/.  If
it work, the network card is functioning.

Next is 3D graphics.  SelectScience  Math-Stellarium from the K
meny, and see if the program is snappy.  If it is, accelerated OpenGL
is working and the 3D stuff should work fine.

Insert a USB memory stick, and see if a dialog box pop up after a few
seconds to ask what should be done.  If it does, USB is working.

Last, run nvram-wakeup and see if the motherboard and BIOS version is
supported.  If it is, shutdown-at-night will work independently of
Wake On LAN support.

I hope a Debian compatibility test will check similar things.

Happy hacking,
-- 
Petter Reinholdtsen


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Hardware compatibility test: draft proposal

2008-08-21 Thread Henrique de Moraes Holschuh
On Thu, 21 Aug 2008, Petter Reinholdtsen wrote:
 It is done in a installation where PXE installing work, and the first
 step in the compatibility test is to install Debian Edu automatically
 with all questions preseeded.  If installation work, the hard drive
 work.

[...]

Your idea is good, and a simple way to partially test things, yes.

I'd add a pre-run of the Linux firmware kit, and also grep the kernel log
for any ACPI strings.  IMHO, one should reject outright any machines that
outputs any warnings from the firmware kit, unless the vendor promises to
fix it.  Even warnings.  These things come back to bite you later.

-- 
  One disk to rule them all, One disk to find them. One disk to bring
  them all and in the darkness grind them. In the Land of Redmond
  where the shadows lie. -- The Silicon Valley Tarot
  Henrique Holschuh


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Hardware compatibility test: draft proposal

2008-08-20 Thread Wouter Verhelst
Hi,

As I mentioned in my blog[1], I kindof like the suggestion that Bdale
came up with during Debconf that we write a hardware compatibility test
of sorts that hardware vendors could run on their own hardware to test
whether Debian works on their system. The rationale for such a test:
while most of us know how Debian works and how one should test whether
their hardware actually works with Debian, it is not reasonable to
expect the same of hardware vendors for /all/ GNU/Linux distributions
out there. According to Bdale, currently all other major operating
system vendors, including the commercial Linux distributions, already
provide such a test to the hardware vendors. For this purpose, it is
okay if such a test is interactive to some extent (after all, it is
something that you would run on a hardware prototype in a lab, not on
each and every production machine), although I'm thinking a hardware
compatibility test could be useful in more cases, where it might be
better if it wasn't interactive.

So, after more than twelve hours of boredom on an airplane and half a
night of not-being-able-to-sleep-due-to-jetlag, which is certainly
enough to think about this problem, I came up with the following things
such a system could need:

- It should be modular. People who maintain driver packages for
  particular hardware may want to write additional tests that a vendor
  may want to run; and if this particular package supports it, the
  driver package maintainer may want to provide pointers to a particular
  package so that an inexperienced user may be able to configure their
  hardware after running the test themselves.
- The different tests should each be able to communicate what type of
  hardware they test for, whether that particular piece of hardware has
  been found, and whether it actually works. The test of whether
  something works may require that network connectivity, hard disks, or
  other similar things are available in or to the system, as applicable.
- It should support a notion of what I'll call 'profiles'. A 'server'
  profile should check for different things than a 'desktop' or 'laptop'
  profile; e.g., it's usually okay if a server doesn't have graphical
  support or wireless drivers, while the same isn't true for a laptop.
- The vendor should be able to influence the score of a test by
  explicitly stating that particular hardware isn't available. If the
  vendor really wants to build a laptop without wireless drivers in this
  day and age, then it's obviously okay if no wireless drivers were
  detected. If, however, the vendor is not insane, then the failure to
  detect a wireless chipset should clearly influence the score.

So, that's probably it at this point. I should have a look at bdale's
talk once it becomes available at meetings-archive.debian.net, but that
doesn't yet seem to be the case. If someone who was at bdale's talk has
anything to add, that'd be welcome. If someone could think of anything
even without being at bdale's talk, that's welcome too, of course.

Now, with the above in mind, and after having considered Holger's
proposal to do this with Debian Live[2], I think the following generic
spec should cut it, but I'm open to other suggestions at this point.
It's also not very detailed yet, but since no code has been written yet,
that doesn't really matter at this point.

- A base package 'debian-hct' will provide a basic infrastructure for
  these tests to run in and an initscript that actually runs them. It
  will also contain some tests that are useful for /any/ system, such as
  do we find something that looks like a harddisk controller etc.
- Additional packages may provide tests. Packages that do so should say
  'Provides: hardware-compatibility-test' in their control file.
- Tests are found in /etc/hw-compat-tests. This directory will have
  subdirectories, one for each of 'hard disk controller', 'wired network
  interfaces', 'wireless network interfaces', etc. The scripts in this
  directory will run in asciibetical order, so that, e.g., drivers that
  need firmware to be loaded can ensure this firmware is actually loaded
  before allowing the generic test for this class of hardware to be ran.
- Scripts in the subdirectories, when ran, should end their output with
  on a single line the letter 'S', followed by a colon, followed by two
  numbers separated by a '/'; the first is the score, the second the
  maximum possible score for this script. All output that precedes the
  score is redirected to a file for the user to inspect later. Scripts
  should make sure to avoid having a line that starts with 'S:' in this
  preceding output, perhaps by escaping it with a leading space or some
  such (this leading space will not be stripped).
  - If no hardware is found that would be supported by the driver this
script checks for, then the second number, the maximum possible
score for this script is, by definition, 0.
  - If the hardware being tested for can only be