Re: NewCard / pccbb
I tried your suggestion below, and for some reason its still assigning the same interrupt (whichever one I pick) to both the network card and the wavelan card, and interstingly enough even if I remove one of them, its still trying to get a routeable interrupt and the wavelan still doesnt work. Any way that I can get this thing to give me a straight interrupt on all cards without trying to do funny irq routing? I'm sorry, I'm totally confused here. In the dmesg output you sent me, the cardbus bridge and ethernet were being set up with totally different interrupts by your BIOS; what you're saying here is completely inconsistent with that. I don't know what your problem is. You're not giving me enough information to do anything about it, though, so the situation won't improve. I need the $PIR table and dmesg output FROM THE SYSTEM THAT IS FAILING along with any other relevant data, like hardcoded pcic interrupts in your loader config, etc. And no, there's no such thing as a straight interrupt. Please, never, ever use doesn't work in an email to me. Or if I ever meet you in person, I will hurt you a very great deal. Ok? Tell me *exactly* what you tried, and *exactly* what happened. If you don't remember, go back and do it again, and write it down this time. I get a lot of email. I don't have the faintest hope in hell of remembering all the details of your problem from one day to the next. Please keep all your context, and if I delete it from my replies (for brevity) just attach it to your next message back, ok? Regards, Mike -- ... every activity meets with opposition, everyone who acts has his rivals and unfortunately opponents also. But not because people want to be opponents, rather because the tasks and relationships force people to take different points of view. [Dr. Fritz Todt] V I C T O R Y N O T V E N G E A N C E To Unsubscribe: send mail to [EMAIL PROTECTED] with unsubscribe freebsd-hackers in the body of the message
Re: NewCard / pccbb
In message [EMAIL PROTECTED] lists w rites: : I tried your suggestion below, and for some reason its still assigning the : same interrupt (whichever one I pick) to both the network card and the : wavelan card, and interstingly enough even if I remove one of them, its : still trying to get a routeable interrupt and the wavelan still doesnt : work. Any way that I can get this thing to give me a straight interrupt : on all cards without trying to do funny irq routing? Unlike the ISA world, it is OK to use the same IRQ in the pci world. Of course, Mike will have to say if this is sane considering your PIR table. The $PIR table is really awful; it basically just says all the standard interrupts are available everywhere except the IDE controller and one other place. We need a set of preferential interrupts, I think. However, I'm missing some other pieces of the picture here, which is really pissing me off. The dmesg output he sent me doesn't relate to this at all. -- ... every activity meets with opposition, everyone who acts has his rivals and unfortunately opponents also. But not because people want to be opponents, rather because the tasks and relationships force people to take different points of view. [Dr. Fritz Todt] V I C T O R Y N O T V E N G E A N C E To Unsubscribe: send mail to [EMAIL PROTECTED] with unsubscribe freebsd-hackers in the body of the message
Re: NewCard / pccbb
Hi Mike, ok my pci-pcmcia bridge is in slot 0, my network card is in slot 3, below are the dmesg outputs from both oldcard and newcard, Ok; this is different from the linked dmesg you were showing before, and what it's highlighting is the weakness in the algorithm that we use for picking an interrupt in the I have no idea what is good case. Try taking the life is tough loop in sys/i386/pci/pci_cfgreg.c :pci_cfgintr_virgin() and change it so that it just loops from 11 to 11, ie. for (i = 11; i 12; i++) { ... I still haven't worked out a good way of dealing with this problem; the way we hand out device resources makes it difficult to know in advance which interrupts are good choices. 8( -- ... every activity meets with opposition, everyone who acts has his rivals and unfortunately opponents also. But not because people want to be opponents, rather because the tasks and relationships force people to take different points of view. [Dr. Fritz Todt] V I C T O R Y N O T V E N G E A N C E To Unsubscribe: send mail to [EMAIL PROTECTED] with unsubscribe freebsd-hackers in the body of the message
Re: NewCard / pccbb
Hi Mike, I tried your suggestion below, and for some reason its still assigning the same interrupt (whichever one I pick) to both the network card and the wavelan card, and interstingly enough even if I remove one of them, its still trying to get a routeable interrupt and the wavelan still doesnt work. Any way that I can get this thing to give me a straight interrupt on all cards without trying to do funny irq routing? Thanks Andrew On Sun, 5 Aug 2001, Mike Smith wrote: Hi Mike, ok my pci-pcmcia bridge is in slot 0, my network card is in slot 3, below are the dmesg outputs from both oldcard and newcard, Ok; this is different from the linked dmesg you were showing before, and what it's highlighting is the weakness in the algorithm that we use for picking an interrupt in the I have no idea what is good case. Try taking the life is tough loop in sys/i386/pci/pci_cfgreg.c :pci_cfgintr_virgin() and change it so that it just loops from 11 to 11, ie. for (i = 11; i 12; i++) { ... I still haven't worked out a good way of dealing with this problem; the way we hand out device resources makes it difficult to know in advance which interrupts are good choices. 8( -- ... every activity meets with opposition, everyone who acts has his rivals and unfortunately opponents also. But not because people want to be opponents, rather because the tasks and relationships force people to take different points of view. [Dr. Fritz Todt] V I C T O R Y N O T V E N G E A N C E To Unsubscribe: send mail to [EMAIL PROTECTED] with unsubscribe freebsd-hackers in the body of the message To Unsubscribe: send mail to [EMAIL PROTECTED] with unsubscribe freebsd-hackers in the body of the message
Re: NewCard / pccbb
In message [EMAIL PROTECTED] lists writes: : I tried your suggestion below, and for some reason its still assigning the : same interrupt (whichever one I pick) to both the network card and the : wavelan card, and interstingly enough even if I remove one of them, its : still trying to get a routeable interrupt and the wavelan still doesnt : work. Any way that I can get this thing to give me a straight interrupt : on all cards without trying to do funny irq routing? Unlike the ISA world, it is OK to use the same IRQ in the pci world. Of course, Mike will have to say if this is sane considering your PIR table. Warner To Unsubscribe: send mail to [EMAIL PROTECTED] with unsubscribe freebsd-hackers in the body of the message
Re: NewCard / pccbb
Ok, now I need your dmesg again, since it's been trimmed and I've lost it. I also need to know what slots you have things in. Please don't cut the $PIR output off this message when you reply. Note that your system is something of a pathalogical worst-case; no PCI recommended interrupts, all the 'major' interrupts available for each slot. It's not improbable that the table is wrong or buggy too. Here we go, the output as requested: $PIR table at 0x2812f7c0 version 1.0 PCI interrupt router at 0:3.8 vendor 0x1106 device 0x686 PCI-only interrupts [ ] entry bus slot device 00: 00 0001 INTA 01 [ 3 4 5 7 9 10 11 1214 15] INTB 02 [ 3 4 5 7 9 10 11 1214 15] INTC 03 [ 3 4 5 7 9 10 11 1214 15] INTD 05 [ 3 4 5 7 9 10 11 1214 15] 01: 00 0007 INTA fe [14 ] INTB ff [ 15] INTC 03 [ 3 4 5 7 9 10 11 1214 15] INTD 05 [ 3 4 5 7 9 10 11 1214 15] 02: 00 0109 INTA 02 [ 3 4 5 7 9 10 11 1214 15] INTB 03 [ 3 4 5 7 9 10 11 1214 15] INTC 05 [ 3 4 5 7 9 10 11 1214 15] INTD 01 [ 3 4 5 7 9 10 11 1214 15] 03: 00 0210 INTA 03 [ 3 4 5 7 9 10 11 1214 15] INTB 05 [ 3 4 5 7 9 10 11 1214 15] INTC 01 [ 3 4 5 7 9 10 11 1214 15] INTD 02 [ 3 4 5 7 9 10 11 1214 15] 04: 00 0311 INTA 05 [ 3 4 5 7 9 10 11 1214 15] INTB 01 [ 3 4 5 7 9 10 11 1214 15] INTC 02 [ 3 4 5 7 9 10 11 1214 15] INTD 03 [ 3 4 5 7 9 10 11 1214 15] 05: 00 0012 INTA 01 [ 3 4 5 7 9 10 11 1214 15] INTB 00 [ ] INTC 00 [ ] INTD 00 [ ] Thanks Andrew On Fri, 3 Aug 2001, Mike Smith wrote: Tried the patch, interesting thing, for some reason or other its always routing the IRQ to the same IRQ as the realtek network card I have in here, and with the patch in (before nothing worked at all on the pccbb), now if the network card is in slot0 it doesnt work, and the wavelan does, if the wavelan comes first on the pcibus it doesnt work and the network card does. For some reason it always seems to be trying to share an IRQ between these 2, any reason for this? Yeah; that seems to be the way your system's interrupt routing is set up. Get http://people.freebsd.org/~msmith/pir.c, build and run it and let's look at the output. -- ... every activity meets with opposition, everyone who acts has his rivals and unfortunately opponents also. But not because people want to be opponents, rather because the tasks and relationships force people to take different points of view. [Dr. Fritz Todt] V I C T O R Y N O T V E N G E A N C E -- ... every activity meets with opposition, everyone who acts has his rivals and unfortunately opponents also. But not because people want to be opponents, rather because the tasks and relationships force people to take different points of view. [Dr. Fritz Todt] V I C T O R Y N O T V E N G E A N C E To Unsubscribe: send mail to [EMAIL PROTECTED] with unsubscribe freebsd-hackers in the body of the message
Re: NewCard / pccbb
Hi Mike, ok my pci-pcmcia bridge is in slot 0, my network card is in slot 3, below are the dmesg outputs from both oldcard and newcard, Thanks Andrew Newcard dmesg: Copyright (c) 1992-2001 The FreeBSD Project. Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994 The Regents of the University of California. All rights reserved. FreeBSD 5.0-CURRENT #16: Sat Aug 4 11:09:22 SAST 2001 [EMAIL PROTECTED]:/usr/obj/usr/src/sys/VORTEXIA Timecounter i8254 frequency 1193182 Hz Timecounter TSC frequency 851941527 Hz CPU: Pentium III/Pentium III Xeon/Celeron (851.94-MHz 686-class CPU) Origin = GenuineIntel Id = 0x686 Stepping = 6 Features=0x383f9ffFPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,MMX,FXSR,SSE real memory = 125763584 (122816K bytes) avail memory = 116891648 (114152K bytes) Preloaded elf kernel kernel at 0xc046f000. Pentium Pro MTRR support enabled Using $PIR table, 6 entries at 0xc00f77c0 npx0: math processor on motherboard npx0: INT 16 interface pcib0: Host to PCI bridge at pcibus 0 on motherboard pci0: PCI bus on pcib0 pcib1: PCI-PCI bridge at device 1.0 on pci0 pci1: PCI bus on pcib1 pci1: display, VGA at 0.0 (no driver attached) isab0: PCI-ISA bridge at device 7.0 on pci0 isa0: ISA bus on isab0 atapci0: VIA 82C686 ATA100 controller port 0xffa0-0xffaf at device 7.1 on pci0 ata0: at 0x1f0 irq 14 on atapci0 ata1: at 0x170 irq 15 on atapci0 pci0: serial bus, USB at 7.2 (no driver attached) pci0: serial bus, USB at 7.3 (no driver attached) pci0: serial bus, SMBus at 7.4 (no driver attached) pci0: multimedia, audio at 7.5 (no driver attached) pccbb0: TI1410 PCI-CardBus Bridge at device 9.0 on pci0 pccbb0: PCI Memory allocated: 4400 pci_cfgintr_virgin: using routable interrupt 3 pci_cfgintr: 0:9 INTA routed to irq 3 cardbus0: Cardbus bus (newcard) on pccbb0 pccard0: 16-bit PCCard bus on pccbb0 rl0: RealTek 8139 10/100BaseTX port 0xc800-0xc8ff mem 0xdf00-0xdfff irq 12 at device 11.0 on pci0 rl0: Realtek 8139B detected. Warning, this may be unstable in autoselect mode rl0: Ethernet address: 00:50:bf:3f:bb:9d miibus0: MII bus on rl0 rlphy0: RealTek internal media interface on miibus0 rlphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto orm0: Option ROM at iomem 0xc-0xcbfff on isa0 atkbdc0: Keyboard controller (i8042) at port 0x60,0x64 on isa0 atkbd0: AT Keyboard flags 0x1 irq 1 on atkbdc0 kbd0 at atkbd0 fdc0: NEC 72065B or clone at port 0x3f0-0x3f5,0x3f7 irq 6 drq 2 on isa0 fdc0: FIFO enabled, 8 bytes threshold fd0: 1440-KB 3.5 drive on fdc0 drive 0 ppc0: Parallel port at port 0x378-0x37f irq 7 on isa0 ppc0: SMC-like chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode ppc0: FIFO with 16/16/8 bytes threshold plip0: PLIP network interface on ppbus0 lpt0: Printer on ppbus0 lpt0: Interrupt-driven port ppi0: Parallel I/O on ppbus0 sc0: System console at flags 0x100 on isa0 sc0: VGA 16 virtual consoles, flags=0x300 sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0 sio0: type 16550A sio1 at port 0x2f8-0x2ff irq 3 on isa0 sio1: type 16550A sn0: ioaddr is 0x300 sn0: test1 failed vga0: Generic ISA VGA at port 0x3c0-0x3df iomem 0xa-0xb on isa0 sc1: System console on isa0 sc1: MDA 16 virtual consoles, flags=0x0 WARNING: Driver mistake: repeat make_dev(consolectl) vga1: Generic ISA VGA at port 0x3b0-0x3bb iomem 0xb-0xb7fff on isa0 unknown: PNP0303 can't assign resources unknown: PNP0501 can't assign resources unknown: PNP0501 can't assign resources unknown: PNP0401 can't assign resources unknown: PNP0700 can't assign resources IP packet filtering initialized, divert enabled, rule-based forwarding enabled, default to accept, logging disabled IP Filter: v3.4.20 initialized. Default = pass all, Logging = enabled ad0: DMA limited to UDMA33, non-ATA66 compliant cable ad0: 19546MB FUJITSU MPG3204AT E [39714/16/63] at ata0-master UDMA33 acd0: CDROM CD-ROM 52X/AKH at ata0-slave PIO4 Mounting root from ufs:/dev/ad0s1a pccbb0: card inserted: event=0x0006, state=1411 pccard0: chip_socket_enable pccbb_pcic_socket_enable: pccbb0: pccbb_power: CARD_VCC_0V and CARD_VPP_0V [44] pccbb0: pccbb_power: CARD_VCC_5V and CARD_VPP_VCC [15] pccbb0: pccbb_pcic_wait_ready: status 0x6f pccbb0: card type is mem pccard0: read_cis pccbb_pcic_mem_map window 0 bus 44001000+400+bbfff000 card addr 0 pccbb_pcic_do_mem_map window 0: 8001 8001 3fff 44 (44001000+0400.1000*bbfff000) pccbb_pcic_do_mem_map window 0: 8001 8001 7fff 44 (44001000+0400.1000*bbfff000) cis mem map d46c5000 pccard0: CIS tuple chain: CISTPL_DEVICE type=null speed=null 01 03 00 00 ff CISTPL_DEVICE_A type=sram speed=ext 17 04 67 5a 08 ff unhandled CISTPL 1d 1d 05 01 67 5a 08 ff CISTPL_VERS_1 15 50 05 00 4c 75 63 65 6e 74 20 54 65 63 68 6e 6f 6c 6f 67 69 65 73 00 57 61 76 65 4c 41 4e 2f 49 45 45 45 00 56 65 72 73 69 6f 6e 20 30 31 2e 30 31 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ff CISTPL_MANFID 20 04 56 01 02
Re: NewCard / pccbb
: wi0: WaveLan/IEEE at port 0x100-0x13f irq 3 function 0 config 1 on : pccard0 : : Could that irq sharing be breaking something? It could also be that the pccard interrupt routing code (in src/sys/dev/pccard/pccard.c) is busted. If you look at it: static void pccard_intr(void *arg) { struct pccard_softc *sc = (struct pccard_softc *) arg; struct pccard_function *pf; STAILQ_FOREACH(pf, sc-card.pf_head, pf_list) { if (pf-intr_handler != NULL) { int reg = pccard_ccr_read(pf, PCCARD_CCR_STATUS); if (reg PCCARD_CCR_STATUS_INTR) { pccard_ccr_write(pf, PCCARD_CCR_STATUS, reg ~PCCARD_CCR_STATUS_INTR); pf-intr_handler(pf-intr_handler_arg); } } } } But if you look at the pccard stnadard, you'll find that the PCCARD_CCR_STATUS_INTR bit is only defined for MFC cards. So, try the following: static void pccard_intr(void *arg) { struct pccard_softc *sc = (struct pccard_softc *) arg; struct pccard_function *pf; STAILQ_FOREACH(pf, sc-card.pf_head, pf_list) { if (pf-intr_handler != NULL) { pf-intr_handler(pf-intr_handler_arg); } } } in its place. Warner To Unsubscribe: send mail to [EMAIL PROTECTED] with unsubscribe freebsd-hackers in the body of the message
Re: NewCard / pccbb
Hi, BTW the pir output for a TECRA8000 looks like: $PIR table at 0x3812a1e0 version 1.0 PCI interrupt router at 0:2.8 vendor 0x8086 device 0x122e PCI-only interrupts [ ] entry bus slot device 00: 00 0011 INTA 60 [ 11] INTB 61 [ 11] INTC 00 [ ] INTD 00 [ ] 01: 00 0009 INTA 62 [ 11] INTB 00 [ ] INTC 00 [ ] INTD 00 [ ] 02: 00 0004 INTA 62 [ 11] INTB 63 [ 11] INTC 00 [ ] INTD 00 [ ] 03: 00 0013 INTA 63 [ 11] INTB 00 [ ] INTC 00 [ ] INTD 00 [ ] 04: 00 0005 INTA 00 [ ] INTB 00 [ ] INTC 00 [ ] INTD 63 [ 11] 05: 00 0106 INTA 62 [ 11] INTB 63 [ 11] INTC 60 [ 11] INTD 61 [ 11] Bye! Michael Reifenberger ^.*Plaut.*$, IT, R/3 Basis, GPS To Unsubscribe: send mail to [EMAIL PROTECTED] with unsubscribe freebsd-hackers in the body of the message
Re: NewCard / pccbb
Tried the patch, interesting thing, for some reason or other its always routing the IRQ to the same IRQ as the realtek network card I have in here, and with the patch in (before nothing worked at all on the pccbb), now if the network card is in slot0 it doesnt work, and the wavelan does, if the wavelan comes first on the pcibus it doesnt work and the network card does. For some reason it always seems to be trying to share an IRQ between these 2, any reason for this? Yeah; that seems to be the way your system's interrupt routing is set up. Get http://people.freebsd.org/~msmith/pir.c, build and run it and let's look at the output. -- ... every activity meets with opposition, everyone who acts has his rivals and unfortunately opponents also. But not because people want to be opponents, rather because the tasks and relationships force people to take different points of view. [Dr. Fritz Todt] V I C T O R Y N O T V E N G E A N C E To Unsubscribe: send mail to [EMAIL PROTECTED] with unsubscribe freebsd-hackers in the body of the message