linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [ANNOUNCE] Hardware detection tool 0.2
@ 2001-08-30 22:40 Carlos E Gorges
  2001-08-30 23:18 ` Greg KH
  2001-09-01 10:54 ` Tim Jansen
  0 siblings, 2 replies; 10+ messages in thread
From: Carlos E Gorges @ 2001-08-30 22:40 UTC (permalink / raw)
  To: linux-kernel

Hardware detection tool 0.2

The main idea is keep a unified database of modules and 
create a good tool for hardware configurators.

This version supports detection of PCI, ISA PnP and USB (hotplug) devices.

ftp://ftp.techlinux.com.br/pub/people/carlos/kernel/hwd/hwd-0.2.tar.bz2
ftp://ftp.techlinux.com.br/pub/people/carlos/kernel/hwd/hwd-0.2-linux248-ac11.patch.bz2


cya;
-- 
	 _________________________
	 Carlos E Gorges          
	 (carlos@techlinux.com.br)
	 Tech informática LTDA
	 Brazil                   
	 _________________________


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [ANNOUNCE] Hardware detection tool 0.2
  2001-08-30 22:40 [ANNOUNCE] Hardware detection tool 0.2 Carlos E Gorges
@ 2001-08-30 23:18 ` Greg KH
  2001-08-31 22:58   ` jeff millar
  2001-09-01 10:54 ` Tim Jansen
  1 sibling, 1 reply; 10+ messages in thread
From: Greg KH @ 2001-08-30 23:18 UTC (permalink / raw)
  To: Carlos E Gorges; +Cc: linux-kernel

On Thu, Aug 30, 2001 at 07:40:25PM -0300, Carlos E Gorges wrote:
> Hardware detection tool 0.2
> 
> The main idea is keep a unified database of modules and 
> create a good tool for hardware configurators.

Why don't you just pull the PCI and USB module information out of the
drivers themselves?  All the information you need it in the
MODULE_DEVICE_TABLE() macro.  You don't get a pretty vendor string for
most all of the USB devices that use a USB class spec, but that isn't
necessary.

All you are caring about is what device is supported by what module,
right?  That can be easily determined by the info in the modules.usbmap
and modules.pcimap files in the /lib/modules/<kernel_version>/
directory.

Keeping tables like these will be a tough thing to do, that's why the
linux-hotplug project relies on the drivers themselves to do the work.

thanks,

greg k-h

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [ANNOUNCE] Hardware detection tool 0.2
  2001-08-30 23:18 ` Greg KH
@ 2001-08-31 22:58   ` jeff millar
  2001-08-31 23:11     ` SMP, APIC and networking issues java programmer
  2001-08-31 23:23     ` [ANNOUNCE] Hardware detection tool 0.2 Greg KH
  0 siblings, 2 replies; 10+ messages in thread
From: jeff millar @ 2001-08-31 22:58 UTC (permalink / raw)
  To: Greg KH, Carlos E Gorges; +Cc: linux-kernel




----- Original Message -----
From: "Greg KH" <greg@kroah.com>
To: "Carlos E Gorges" <carlos@techlinux.com.br>
Cc: <linux-kernel@vger.kernel.org>
Sent: Thursday, August 30, 2001 7:18 PM
Subject: Re: [ANNOUNCE] Hardware detection tool 0.2


> On Thu, Aug 30, 2001 at 07:40:25PM -0300, Carlos E Gorges wrote:
> > Hardware detection tool 0.2
> >
> > The main idea is keep a unified database of modules and
> > create a good tool for hardware configurators.
>
> Why don't you just pull the PCI and USB module information out of the
> drivers themselves?  All the information you need it in the
> MODULE_DEVICE_TABLE() macro.  You don't get a pretty vendor string for
> most all of the USB devices that use a USB class spec, but that isn't
> necessary.

One reason: Not all hardware has the signals needed to detect when a card
gets plugged or unplugged.  Consider legacy cPCI systems.  The don't have
the Hot Swap extensions or backplane hot swap control.  The only way to find
the cards is to periodically scan the bus for new cards, cards that
disappeared, or requests for Hot Swap.



^ permalink raw reply	[flat|nested] 10+ messages in thread

* SMP, APIC and networking issues...
  2001-08-31 22:58   ` jeff millar
@ 2001-08-31 23:11     ` java programmer
  2001-08-31 23:38       ` Alan Cox
  2001-08-31 23:23     ` [ANNOUNCE] Hardware detection tool 0.2 Greg KH
  1 sibling, 1 reply; 10+ messages in thread
From: java programmer @ 2001-08-31 23:11 UTC (permalink / raw)
  To: linux-kernel

Hi all:

There have been some recent posts regarding some
SMP/register corruption bugs.

Searching the archives, there have also been some
reports with both 3com and intel ethernet cards
hanging after an N amount of time, where N = a couple
of days to 2 weeks. That is, the nic's will behave
nicely for some time and then totally hang - are not 
even pingable. This happens on SMP machines and is
believed to be caused by some APIC/interrupt issues.

I have seen the exact same behavior on 2.4.7 with
a intel pro/100 ethernet 64 bit PCI nic on a SMP
intel chipset. Stress testing and transferrring 
Gbytes of data thru the nic works fine after the 
machine is rebooted but after say 3 days, the 
card just hangs. (this happens with both intel 
supplied and kernel supplied drivers, e100, eepro100)

After the hang, logging in via the console and
saying ifconfig (for eth1, I have also blacked
out the IP address) shows the following:

eth1      Link encap:Ethernet  HWaddr
00:50:8B:E3:AA:B5
inet addr:x.x.x.x  
Bcast:66.37.140.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500 
Metric:1
          RX packets:6232292 errors:0 dropped:0
overruns:0 frame:0
          TX packets:7098591 errors:0 dropped:0
overruns:0 carrier:0
          collisions:0 txqueuelen:100
          RX bytes:2693585563 (2568.8 Mb)  TX
bytes:2786888257 (2657.7 Mb)
          Interrupt:15 Base address:0x4000

The supposed trick is to boot with a  "noapic" 
option, since this is believed to be a APIC issue, 
not a driver issue (as mentioned, this problem 
has been seen for both 3com and intel cards).

Is "noapic" still the recommended approach for SMP
kernels or is it advisable to use 2.4.9 to solve 
this specific issue ?

Best regards,

javadesigner



__________________________________________________
Do You Yahoo!?
Get email alerts & NEW webcam video instant messaging with Yahoo! Messenger
http://im.yahoo.com

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [ANNOUNCE] Hardware detection tool 0.2
  2001-08-31 22:58   ` jeff millar
  2001-08-31 23:11     ` SMP, APIC and networking issues java programmer
@ 2001-08-31 23:23     ` Greg KH
  2001-08-31 23:46       ` jeff millar
  1 sibling, 1 reply; 10+ messages in thread
From: Greg KH @ 2001-08-31 23:23 UTC (permalink / raw)
  To: jeff millar; +Cc: Carlos E Gorges, linux-kernel

On Fri, Aug 31, 2001 at 06:58:59PM -0400, jeff millar wrote:
> 
> One reason: Not all hardware has the signals needed to detect when a card
> gets plugged or unplugged.  Consider legacy cPCI systems.  The don't have
> the Hot Swap extensions or backplane hot swap control.  The only way to find
> the cards is to periodically scan the bus for new cards, cards that
> disappeared, or requests for Hot Swap.

But the driver for those devices have a struct pci_driver object that
they use to register themselves with the PCI subsystem, right?  The
MODULE_DEVICE_TABLE uses the id_table structure in the struct pci_driver
object.  That's all, it isn't necessarily a hotplug specific thing.

And having that MODULE_DEVICE_TABLE for those drivers will allow the
kernel to load those modules when the bus is scanned for new cards, like
on boot :)

thanks,

greg k-h

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: SMP, APIC and networking issues...
  2001-08-31 23:11     ` SMP, APIC and networking issues java programmer
@ 2001-08-31 23:38       ` Alan Cox
  2001-09-01 20:59         ` Jorge Nerin
  0 siblings, 1 reply; 10+ messages in thread
From: Alan Cox @ 2001-08-31 23:38 UTC (permalink / raw)
  To: java programmer; +Cc: linux-kernel

> The supposed trick is to boot with a  "noapic" 
> option, since this is believed to be a APIC issue, 
> not a driver issue (as mentioned, this problem 
> has been seen for both 3com and intel cards).
> 
> Is "noapic" still the recommended approach for SMP
> kernels or is it advisable to use 2.4.9 to solve 
> this specific issue ?

If you are still seeing the problem then yes try noapic, but also let
me know if its happening with current kernels. The apic has multiple effects
and not all of them are necessarily hardware issues at all

The big one is that interrupts can get delayed and become much more 
asynchronous which can obviously have impacts on driver races

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [ANNOUNCE] Hardware detection tool 0.2
  2001-08-31 23:23     ` [ANNOUNCE] Hardware detection tool 0.2 Greg KH
@ 2001-08-31 23:46       ` jeff millar
  2001-09-01  0:08         ` Greg KH
  0 siblings, 1 reply; 10+ messages in thread
From: jeff millar @ 2001-08-31 23:46 UTC (permalink / raw)
  To: Greg KH; +Cc: Carlos E Gorges, linux-kernel

What bus and slot number does the driver use to register itself before the
plugging the card?

----- Original Message -----
From: "Greg KH" <greg@kroah.com>
To: "jeff millar" <jeff@wa1hco.mv.com>
Cc: "Carlos E Gorges" <carlos@techlinux.com.br>;
<linux-kernel@vger.kernel.org>
Sent: Friday, August 31, 2001 7:23 PM
Subject: Re: [ANNOUNCE] Hardware detection tool 0.2


> On Fri, Aug 31, 2001 at 06:58:59PM -0400, jeff millar wrote:
> >
> > One reason: Not all hardware has the signals needed to detect when a
card
> > gets plugged or unplugged.  Consider legacy cPCI systems.  The don't
have
> > the Hot Swap extensions or backplane hot swap control.  The only way to
find
> > the cards is to periodically scan the bus for new cards, cards that
> > disappeared, or requests for Hot Swap.
>
> But the driver for those devices have a struct pci_driver object that
> they use to register themselves with the PCI subsystem, right?  The
> MODULE_DEVICE_TABLE uses the id_table structure in the struct pci_driver
> object.  That's all, it isn't necessarily a hotplug specific thing.
>
> And having that MODULE_DEVICE_TABLE for those drivers will allow the
> kernel to load those modules when the bus is scanned for new cards, like
> on boot :)
>
> thanks,
>
> greg k-h
>


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [ANNOUNCE] Hardware detection tool 0.2
  2001-08-31 23:46       ` jeff millar
@ 2001-09-01  0:08         ` Greg KH
  0 siblings, 0 replies; 10+ messages in thread
From: Greg KH @ 2001-09-01  0:08 UTC (permalink / raw)
  To: jeff millar; +Cc: Carlos E Gorges, linux-kernel

On Fri, Aug 31, 2001 at 07:46:38PM -0400, jeff millar wrote:
> What bus and slot number does the driver use to register itself before the
> plugging the card?

I don't understand what you are asking here.
In pci_module_init you pass a pointer to your struct pci_driver object
that describes to the pci subsystem what kind of pci devices that your
driver works for.  It does this with the id_table pointer which is a
struct pci_device_id.

MODULE_DEVICE_TABLE takes that struct pci_device_id table and exports it
to an area in the module object table that allows it to be extracted by
depmod.  depmod takes that info and creates
/lib/modules/<kernel_version/modules.pcimap from it.  So any userspace
code can then look at the modules.pcimap file and determine what kind of
pci devices each module is claiming it supports.

Using that table, combined with tools like lspci, a userspace program
can build a table of kernel modules that a given hardware platform
needs.  And if it wants to, from the kernel module list, it can generate
a .config file, which is what I think Carlos is trying to do.  And what
I thought this thread was talking about.

This whole process did not involve any hotplug stuff at all.

But if you want to use it for hotplug you can :)
See my OLS 2001 paper and presentation at http://www.kroah.com/linux/
and http://linux-hotplug.sf.net/ which contains lots of good
documentation if you want to know more on how the linux-hotplug
subsystem currently works.

Did that help?

thanks,

greg k-h

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [ANNOUNCE] Hardware detection tool 0.2
  2001-08-30 22:40 [ANNOUNCE] Hardware detection tool 0.2 Carlos E Gorges
  2001-08-30 23:18 ` Greg KH
@ 2001-09-01 10:54 ` Tim Jansen
  1 sibling, 0 replies; 10+ messages in thread
From: Tim Jansen @ 2001-09-01 10:54 UTC (permalink / raw)
  To: Carlos E Gorges, linux-kernel

On Friday 31 August 2001 00:40, Carlos E Gorges wrote:
> Hardware detection tool 0.2
> The main idea is keep a unified database of modules and
> create a good tool for hardware configurators.

The next version of the device registry patch (http://www.tjansen.de/devreg) 
will contain a similar feature. 
In the current release bus drivers (like PCI, USB..) register their devices 
in the registry and the devices are then displayed in a generic, 
bus-independent form in the /proc/devreg directory.
In the upcoming version those drivers with devreg support register themselves 
on initialization and also register each driver instance (an instance handles 
a single physical device) that they create. The instance will then be 
connected to the device, devfs nodes will be connected to the driver instance 
and you can get a pretty good graph of the relations between drivers, driver 
instances, devfs nodes/minor numbers and the physical devices.

bye...

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: SMP, APIC and networking issues...
  2001-08-31 23:38       ` Alan Cox
@ 2001-09-01 20:59         ` Jorge Nerin
  0 siblings, 0 replies; 10+ messages in thread
From: Jorge Nerin @ 2001-09-01 20:59 UTC (permalink / raw)
  To: Alan Cox; +Cc: linux-kernel

Alan Cox wrote:
>>The supposed trick is to boot with a  "noapic" 
>>option, since this is believed to be a APIC issue, 
>>not a driver issue (as mentioned, this problem 
>>has been seen for both 3com and intel cards).
>>
>>Is "noapic" still the recommended approach for SMP
>>kernels or is it advisable to use 2.4.9 to solve 
>>this specific issue ?
>>
> 
> If you are still seeing the problem then yes try noapic, but also let
> me know if its happening with current kernels. The apic has multiple effects
> and not all of them are necessarily hardware issues at all
> 
> The big one is that interrupts can get delayed and become much more 
> asynchronous which can obviously have impacts on driver races

I'm having nic hangs with recent kernels, the last one in wich I saw 
this is with 2.4.9-ac3, and I'm currently running 2.4.9-ac5, the nic is 
a 3Com Corporation 3c905B 100BaseTX [Cyclone] (rev 64) linked with a 
twisted cable to another computer.

I have a dual 200mmx, motherboard is a gigabyte 586dx, lots of apic 
errors, but so far not a lot of hangs, is home machine, no server.

Aug 27 15:50:26 quartz kernel: NETDEV WATCHDOG: eth0: transmit timed out
Aug 27 15:50:26 quartz kernel: eth0: transmit timed out, tx_status 00 
status e601.
Aug 27 15:50:26 quartz kernel:   diagnostics: net 0cf2 media 8880 dma 
0000003a.
Aug 27 15:50:26 quartz kernel: eth0: Interrupt posted but not delivered 
-- IRQ blocked by another device?
Aug 27 15:50:26 quartz kernel:   Flags; bus-master 1, dirty 149028(4) 
current 149028(4)
Aug 27 15:50:26 quartz kernel:   Transmit list 00000000 vs. c51cf300.
Aug 27 15:50:26 quartz kernel:   0: @c51cf200  length 80000062 status 
00010062
Aug 27 15:50:26 quartz kernel:   1: @c51cf240  length 80000062 status 
00010062
Aug 27 15:50:26 quartz kernel:   2: @c51cf280  length 80000062 status 
80010062
Aug 27 15:50:26 quartz kernel:   3: @c51cf2c0  length 80000062 status 
80010062
Aug 27 15:50:26 quartz kernel:   4: @c51cf300  length 8000006e status 
0001006e
Aug 27 15:50:26 quartz kernel:   5: @c51cf340  length 8000006e status 
0001006e
Aug 27 15:50:26 quartz kernel:   6: @c51cf380  length 8000006e status 
0001006e
Aug 27 15:50:26 quartz kernel:   7: @c51cf3c0  length 80000062 status 
00010062
Aug 27 15:50:26 quartz kernel:   8: @c51cf400  length 80000062 status 
00010062
Aug 27 15:50:26 quartz kernel:   9: @c51cf440  length 80000062 status 
00010062
Aug 27 15:50:26 quartz kernel:   10: @c51cf480  length 80000062 status 
00010062
Aug 27 15:50:26 quartz kernel:   11: @c51cf4c0  length 80000062 status 
00010062
Aug 27 15:50:26 quartz kernel:   12: @c51cf500  length 80000062 status 
00010062
Aug 27 15:50:26 quartz kernel:   13: @c51cf540  length 80000062 status 
00010062
Aug 27 15:50:26 quartz kernel:   14: @c51cf580  length 80000062 status 
00010062
Aug 27 15:50:26 quartz kernel:   15: @c51cf5c0  length 80000062 status 
00010062

BTW I switched to a rtl8139 from a rtl8029 for speed upgrade, but it was 
slow as a dog in my system, due to (as someone said) bad motherboard 
chipset for busmaster transfer, and nic hangs, so switched to a 3com 
905, with the same results, speed is somewhat better, but it also hangs.

-- 
Jorge Nerin
<comandante@zaralinux.com>


^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2001-09-11 17:18 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2001-08-30 22:40 [ANNOUNCE] Hardware detection tool 0.2 Carlos E Gorges
2001-08-30 23:18 ` Greg KH
2001-08-31 22:58   ` jeff millar
2001-08-31 23:11     ` SMP, APIC and networking issues java programmer
2001-08-31 23:38       ` Alan Cox
2001-09-01 20:59         ` Jorge Nerin
2001-08-31 23:23     ` [ANNOUNCE] Hardware detection tool 0.2 Greg KH
2001-08-31 23:46       ` jeff millar
2001-09-01  0:08         ` Greg KH
2001-09-01 10:54 ` Tim Jansen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).