Bug 11146 - 2nd ISA Cyclades-Y not recognised under 3.1-stable
Summary: 2nd ISA Cyclades-Y not recognised under 3.1-stable
Status: Closed FIXED
Alias: None
Product: Base System
Classification: Unclassified
Component: kern (show other bugs)
Version: 3.1-STABLE
Hardware: Any Any
: Normal Affects Only Me
Assignee: freebsd-bugs (Nobody)
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 1999-04-15 05:10 UTC by akm
Modified: 1999-05-11 02:13 UTC (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description akm 1999-04-15 05:10:02 UTC
	When adding a 2nd ISA cyclades-Y adapter, boot -c shows that the
	devices are conflicting with each other even though they do not
	share IRQs or IO addresses.

	The 2nd card is not detected on boot up.

	There are serial ports connected to the card.

------------------------------------------------------------------------	
Apr 14 18:15:29 mercury /kernel: Preloaded elf kernel "kernel" at 0xf02c0000.
Apr 14 18:15:29 mercury /kernel: Probing for devices on PCI bus 0:
Apr 14 18:15:29 mercury /kernel: chip0: <Intel 82439TX System Controller (MTXC)> rev 0x01 on pci0.0.0
Apr 14 18:15:30 mercury /kernel: chip1: <Intel 82371AB PCI to ISA bridge> rev 0x01 on pci0.7.0
Apr 14 18:15:30 mercury /kernel: ide_pci0: <Intel PIIX4 Bus-master IDE controller> rev 0x01 on pci0.7.1
Apr 14 18:15:30 mercury /kernel: chip2: <Intel 82371AB Power management controller> rev 0x01 on pci0.7.3
Apr 14 18:15:30 mercury /kernel: vga0: <S3 Trio 64 graphics accelerator> rev 0x16 int a irq 9 on pci0.10
.0
Apr 14 18:15:30 mercury /kernel: ed1: <NE2000 PCI Ethernet (Compex)> rev 0x0a int a irq 12 on pci0.11.0
Apr 14 18:15:30 mercury /kernel: ed1: address 00:80:48:c2:77:1c, type NE2000 (16 bit)
Apr 14 18:15:30 mercury /kernel: Probing for devices on the ISA bus:
Apr 14 18:15:30 mercury /kernel: sc0 on isa
Apr 14 18:15:30 mercury /kernel: sc0: VGA color <16 virtual consoles, flags=0x0>
Apr 14 18:15:30 mercury /kernel: ed0 not found at 0x280
Apr 14 18:15:30 mercury /kernel: atkbdc0 at 0x60-0x6f on motherboard
Apr 14 18:15:30 mercury /kernel: atkbd0 irq 1 on isa
Apr 14 18:15:30 mercury /kernel: sio0 at 0x3f8-0x3ff irq 4 on isa
Apr 14 18:15:30 mercury /kernel: sio0: type 16550A
Apr 14 18:15:30 mercury /kernel: sio1 at 0x2f8-0x2ff irq 3 on isa
Apr 14 18:15:30 mercury /kernel: sio1: type 16550A
Apr 14 18:15:30 mercury /kernel: pca0 on motherboard
Apr 14 18:15:30 mercury /kernel: pca0: PC speaker audio driver
Apr 14 18:15:30 mercury /kernel: cy0 irq 10 maddr 0xd4000 msize 8192 on isa
Apr 14 18:15:30 mercury /kernel: cy1 not found
Apr 14 18:15:30 mercury /kernel: wdc0 at 0x1f0-0x1f7 irq 14 on isa
Apr 14 18:15:30 mercury /kernel: wdc0
Apr 14 18:15:30 mercury /kernel: : unit 0 (wd0): <ST32122A>
Apr 14 18:15:30 mercury /kernel: wd0: 2014MB (4124736 sectors), 4092 cyls, 16 heads, 63 S/T, 512 B/S
Apr 14 18:15:30 mercury /kernel: wdc0: unit 1 (wd1): <ST34321A>
Apr 14 18:15:30 mercury /kernel: wd1: 4103MB (8404830 sectors), 8894 cyls, 15 heads, 63 S/T, 512 B/S
Apr 14 18:15:30 mercury /kernel: wdc1 at 0x170-0x177 irq 15 on isa
Apr 14 18:15:30 mercury /kernel: wdc1: unit 0 (wd2): <ST38641A>
Apr 14 18:15:30 mercury /kernel: wd2: 8207MB (16809660 sectors), 16676 cyls, 16 heads, 63 S/T, 512 B/S
Apr 14 18:15:30 mercury /kernel: fdc0 at 0x3f0-0x3f7 irq 6 drq 2 on isa
Apr 14 18:15:30 mercury /kernel: fdc0: FIFO enabled, 8 bytes threshold
Apr 14 18:15:30 mercury /kernel: fd0: 1.44MB 3.5in
Apr 14 18:15:30 mercury /kernel: npx0 on motherboard
Apr 14 18:15:30 mercury /kernel: npx0: INT 16 interface

------------------------------------------------------------------------

Kernel Config

device          cy0     at isa? tty irq 10 iomem 0xd4000 iosiz 0x2000 vector cyintr
device          cy1     at isa? tty irq 11 iomem 0xd6000 iosiz 0x2000 vector cyintr	

------------------------------------------------------------------------

 *
 *      $Id: cy.c,v 1.83 1999/01/08 19:17:46 bde Exp $
 */

How-To-Repeat: 
	Plug two ISA cyclades-Y cards in and boot up.
Comment 1 Bruce Evans 1999-04-15 06:49:38 UTC
>>Description:
>
>	When adding a 2nd ISA cyclades-Y adapter, boot -c shows that the
>	devices are conflicting with each other even though they do not
>	share IRQs or IO addresses.

This is a red herring.  The conflict checking for `msize' (aha `iosiz')
in userconfig.c is complete nonsense (identical, nonzero sizes cause a
bogus conflict).  You can eliminate this source of confusion by reducing
one of the sizes a little.  This is harmless because the size is not
actually used by the cy driver.  It is just printed by the boot code.

The conflict checking for the [maddr, maddr + msize) range is also
broken.  Only one endpoint of the new range is checked.  This doesn't
matter here.  It just fails to detect some conflicts.

>	The 2nd card is not detected on boot up.

>...
>Apr 14 18:15:30 mercury /kernel: pca0: PC speaker audio driver
>Apr 14 18:15:30 mercury /kernel: cy0 irq 10 maddr 0xd4000 msize 8192 on isa
>Apr 14 18:15:30 mercury /kernel: cy1 not found
>Apr 14 18:15:30 mercury /kernel: wdc0 at 0x1f0-0x1f7 irq 14 on isa

Note that there is no conflict here.

>Kernel Config
>
>device          cy0     at isa? tty irq 10 iomem 0xd4000 iosiz 0x2000 vector cyintr
>device          cy1     at isa? tty irq 11 iomem 0xd6000 iosiz 0x2000 vector cyintr	

Perhaps its address is wrong (not much else case go wrong in the probe).
Try not configuring the first card.

Bruce
Comment 2 akm 1999-04-15 07:00:21 UTC
+----[ Bruce Evans ]---------------------------------------------
| >>Description:
| >
| >	When adding a 2nd ISA cyclades-Y adapter, boot -c shows that the
| >	devices are conflicting with each other even though they do not
| >	share IRQs or IO addresses.
| 
| This is a red herring.  The conflict checking for `msize' (aha `iosiz')
| in userconfig.c is complete nonsense (identical, nonzero sizes cause a
| bogus conflict).  You can eliminate this source of confusion by reducing
| one of the sizes a little.  This is harmless because the size is not
| actually used by the cy driver.  It is just printed by the boot code.

I figured it was. I mention it for completeness.

| 
| The conflict checking for the [maddr, maddr + msize) range is also
| broken.  Only one endpoint of the new range is checked.  This doesn't
| matter here.  It just fails to detect some conflicts.
| 
| >	The 2nd card is not detected on boot up.
| 
| >...
| >Apr 14 18:15:30 mercury /kernel: pca0: PC speaker audio driver
| >Apr 14 18:15:30 mercury /kernel: cy0 irq 10 maddr 0xd4000 msize 8192 on isa
| >Apr 14 18:15:30 mercury /kernel: cy1 not found
| >Apr 14 18:15:30 mercury /kernel: wdc0 at 0x1f0-0x1f7 irq 14 on isa
| 
| Note that there is no conflict here.

Indeed.

| 
| >Kernel Config
| >
| >device          cy0     at isa? tty irq 10 iomem 0xd4000 iosiz 0x2000 vector cyintr
| >device          cy1     at isa? tty irq 11 iomem 0xd6000 iosiz 0x2000 vector cyintr	
| 
| Perhaps its address is wrong (not much else case go wrong in the probe).

I have checked and double checked the dipswitches.

| Try not configuring the first card.

You mean pull it out? Or just pull it out of the config?

-- 
Totally Holistic Enterprises Internet|  P:+61 7 3870 0066   |  Andrew
The Internet (Aust) Pty Ltd          |  F:+61 7 3870 4477   |  Milton
ACN: 082 081 472                     |  M:+61 416 022 411   |72 Col .Sig
PO Box 837 Indooroopilly QLD 4068    |akm@theinternet.com.au|Specialist
Comment 3 Bruce Evans 1999-04-15 07:22:46 UTC
>| >Kernel Config
>| >
>| >device          cy0     at isa? tty irq 10 iomem 0xd4000 iosiz 0x2000 vector cyintr
>| >device          cy1     at isa? tty irq 11 iomem 0xd6000 iosiz 0x2000 vector cyintr	
>| 
>| Perhaps its address is wrong (not much else case go wrong in the probe).
>
>I have checked and double checked the dipswitches.
>
>| Try not configuring the first card.
>
>You mean pull it out? Or just pull it out of the config?

The latter, of course.  Or just disable it.  Then you could try pulling
the hardware and/or changing its settings.

Bruce
Comment 4 akm 1999-04-19 09:53:56 UTC
+----[ Bruce Evans ]---------------------------------------------
| >
| >You mean pull it out? Or just pull it out of the config?
| 
| The latter, of course.  Or just disable it.  Then you could try pulling
| the hardware and/or changing its settings.

I pulled the card moved it's iomem far away from anything else and set it's
memory size to 0x2001

And that's done the trick.

But nothing I did could get it to work at 0xd6000.

I don't know if there's still a problem somewhere or not.

-- 
Totally Holistic Enterprises Internet|  P:+61 7 3870 0066   |  Andrew
The Internet (Aust) Pty Ltd          |  F:+61 7 3870 4477   |  Milton
ACN: 082 081 472                     |  M:+61 416 022 411   |72 Col .Sig
PO Box 837 Indooroopilly QLD 4068    |akm@theinternet.com.au|Specialist
Comment 5 Bruce Evans 1999-04-19 10:20:04 UTC
>I pulled the card moved it's iomem far away from anything else and set it's
>memory size to 0x2001
>
>And that's done the trick.
>
>But nothing I did could get it to work at 0xd6000.
>
>I don't know if there's still a problem somewhere or not.

I'll call it a hardware problem (except for the conflict checking bugs).

Bruce
Comment 6 Bruce Evans freebsd_committer freebsd_triage 1999-05-11 02:07:47 UTC
State Changed
From-To: open->closed

Main problem was apparently a hardware conflict. 
False positives in software conflict checking fixed in userconfig.c 
revs 1.142 and 1.126.2.4.