FreeBSD 4.11, pccardd and two PCcards of the same type and model? - BSD

This is a discussion on FreeBSD 4.11, pccardd and two PCcards of the same type and model? - BSD ; I have an old laptop, which is too old to run FreeBSD 6.x or even 5.x (the PCCard controller isn't supported in 5.x or 6.x) It is going into service temporarily as a firewall, if I can get it working. ...

+ Reply to Thread
Results 1 to 4 of 4

Thread: FreeBSD 4.11, pccardd and two PCcards of the same type and model?

  1. FreeBSD 4.11, pccardd and two PCcards of the same type and model?

    I have an old laptop, which is too old to run FreeBSD 6.x or even 5.x
    (the PCCard controller isn't supported in 5.x or 6.x)
    It is going into service temporarily as a firewall, if I can get it
    working.
    So far I have installed 4.11, upgraded to 4.11-stable and started testing.
    But, there is a problem:
    since it is a firewall, it needs two network cards. Nothing is built in,
    so I have to use two PCCard nic's. No problem, I have two
    ed-compatible cards laying around:

    Jan 28 20:23:26 kg-omni2 pccardd[51]: Card "Billionton"("LNA-100B") [V]
    [1.0] matched "Billionton" ("LNA-
    100B") [(null)] [(null)]
    Jan 28 20:23:31 kg-omni2 /kernel: ed1 at port 0x300-0x31f irq 11 slot 0
    on pccard0
    Jan 28 20:23:31 kg-omni2 /kernel: ed1: address 00:10:60:f3:13:b0, type
    NE2000 (16 bit)
    Jan 28 20:23:31 kg-omni2 pccardd[51]: ed1: Billionton (LNA-100B) inserted.

    from /var/log/messages.
    This works great with one card, but as soon as I insert the other card,
    I get:
    Jan 28 20:24:07 kg-omni2 pccardd[51]: No card in database for
    "(null)"("(null)")

    A few checkpoints:
    - yes, it doesn't matter which card I use - both cards work fine alone
    - yes, pccardd have enough irq's for both cards

    Here is a dmesg:
    Copyright (c) 1992-2005 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 4.11-STABLE #0: Sun Jan 28 12:54:21 CET 2007
    root@kg-omni2.kg4.no:/usr/obj/usr/src/sys/OMNIBOOK
    Timecounter "i8254" frequency 1193182 Hz
    CPU: Pentium/P54C (133.32-MHz 586-class CPU)
    Origin = "GenuineIntel" Id = 0x52c Stepping = 12
    Features=0x1bf
    real memory = 33554432 (32768K bytes)
    avail memory = 27062272 (26428K bytes)
    Preloaded elf kernel "kernel" at 0xc0596000.
    Intel Pentium detected, installing workaround for F00F bug
    md0: Malloc disk
    npx0: on motherboard
    npx0: INT 16 interface
    pcib0: on motherboard
    pci0: on pcib0
    isab0: at device 1.0 on pci0
    isa0: on isab0
    pci0: at 2.0
    pcic0: port 0x3e0-0x3e3 at
    device 3.0 on pci0
    pcic0: Polling mode
    pccard0: on pcic0
    pccard1: on pcic0
    chip1: port 0x3000-0x301f irq 10 at device
    4.0 on pci0
    orm0:

  2. Re: FreeBSD 4.11, pccardd and two PCcards of the same type and model?

    Hang on, i just found out another thing, and it's probably important:
    - it is only when inserted in slot 1 that the card doesn't work:

    Jan 28 20:47:02 kg-omni2 /kernel: pccard: card removed, slot 1
    Jan 28 20:47:09 kg-omni2 /kernel: pccard: card inserted, slot 1
    Jan 28 20:47:15 kg-omni2 pccardd[51]: No card in database for
    "(null)"("(null)")

    The machine is a Toshiba OmniBook 5500CT.
    A verbose dmesg is attached.
    When I insert a card in slot 1 after booting verbose, I get:

    Jan 28 20:59:05 kg-omni2 /kernel: pcic0: Power: Vcc=0 Vpp=0
    Jan 28 20:59:06 kg-omni2 /kernel: pcic0: Power applied
    Jan 28 20:59:06 kg-omni2 /kernel: Power complete.
    Jan 28 20:59:06 kg-omni2 /kernel: pcic0: Power: Vcc=-1 Vpp=-1
    Jan 28 20:59:06 kg-omni2 /kernel: pcic0: Autodetected 5.0V card
    Jan 28 20:59:06 kg-omni2 /kernel: pcic0: Power applied
    Jan 28 20:59:06 kg-omni2 /kernel: pcic0: Output enabled
    Jan 28 20:59:06 kg-omni2 /kernel: pcic0: Settling complete
    Jan 28 20:59:06 kg-omni2 /kernel: Power complete.
    Jan 28 20:59:06 kg-omni2 /kernel: pccard: card inserted, slot 1
    Jan 28 20:59:06 kg-omni2 /kernel: pcic0: reset 1 int is 0 stat is cf
    Jan 28 20:59:06 kg-omni2 /kernel: pcic0: reset 2 int is 60 stat is cf
    Jan 28 20:59:06 kg-omni2 /kernel: pcic0: reset 3 int is 60 stat is ef
    Jan 28 20:59:11 kg-omni2 pccardd[51]: No card in database for
    "(null)"("(null)")

    Hmm, I wonder what the problem is...
    --
    Torfinn Ingolfsen,
    Norway

    Copyright (c) 1992-2005 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 4.11-STABLE #0: Sun Jan 28 12:54:21 CET 2007
    root@kg-omni2.kg4.no:/usr/obj/usr/src/sys/OMNIBOOK
    Calibrating clock(s) ... TSC clock: 133322139 Hz, i8254 clock: 1193172 Hz
    CLK_USE_I8254_CALIBRATION not specified - using default frequency
    Timecounter "i8254" frequency 1193182 Hz
    CLK_USE_TSC_CALIBRATION not specified - using old calibration method
    CPU: Pentium/P54C (133.32-MHz 586-class CPU)
    Origin = "GenuineIntel" Id = 0x52c Stepping = 12
    Features=0x1bf
    real memory = 33554432 (32768K bytes)
    Physical memory chunk(s):
    0x000001000 - 0x00009efff, 647168 bytes (158 pages)
    0x0005bd000 - 0x001ff7fff, 27504640 bytes (6715 pages)
    avail memory = 27062272 (26428K bytes)
    bios32: Found BIOS32 Service Directory header at 0xc00e7050
    bios32: Entry = 0xe9830 (c00e9830) Rev = 0 Len = 1
    pcibios: PCI BIOS entry at 0x286e
    pnpbios: Found PnP BIOS data at 0xc00ff000
    pnpbios: Entry = ea000:2489 Rev = 1.0
    pnpbios: Event flag at ea01e
    pnpbios: OEM ID 3726744e
    Other BIOS signatures found:
    ACPI: 00000000
    Preloaded elf kernel "kernel" at 0xc0596000.
    Intel Pentium detected, installing workaround for F00F bug
    Creating DISK md0
    md0: Malloc disk
    Math emulator present
    pci_open(1): mode 1 addr port (0x0cf8) is 0x80008048
    pci_open(1a): mode1res=0x80000000 (0x80000000)
    pci_cfgcheck: device 0 [class=060000] [hdr=00] is there (id=c5571045)
    npx0: on motherboard
    npx0: INT 16 interface
    i586_bzero() bandwidth = 104014978 bytes/sec
    bzero() bandwidth = 109625082 bytes/sec
    pcib0: on motherboard
    found-> vendor=0x1045, dev=0xc557, revid=0x00
    class=06-00-00, hdrtype=0x00, mfdev=0
    subordinatebus=0 secondarybus=0
    found-> vendor=0x1045, dev=0xc558, revid=0x00
    class=06-01-00, hdrtype=0x00, mfdev=0
    subordinatebus=0 secondarybus=0
    found-> vendor=0x102c, dev=0x00dc, revid=0x00
    class=03-00-00, hdrtype=0x00, mfdev=0
    subordinatebus=0 secondarybus=0
    map[10]: type 1, range 32, base c0000000, size 23
    found-> vendor=0x1013, dev=0x1100, revid=0xe2
    class=06-05-00, hdrtype=0x00, mfdev=0
    subordinatebus=0 secondarybus=0
    intpin=a, irq=255
    map[10]: type 1, range 32, base 000003e0, size 2
    found-> vendor=0x1004, dev=0x0105, revid=0x01
    class=07-80-00, hdrtype=0x00, mfdev=0
    subordinatebus=0 secondarybus=0
    intpin=a, irq=10
    map[10]: type 1, range 32, base 00003000, size 5
    pci0: on pcib0
    isab0: at device 1.0 on pci0
    isa0: on isab0
    pci0: (vendor=0x102c, dev=0x00dc) at 2.0
    pcic0: port 0x3e0-0x3e3 at device 3.0 on pci0
    pcic0: Polling mode
    pcic0: PCI Configuration space:
    0x00: 0x11001013 0x040001c3 0x060500e2 0x00000000
    0x10: 0x000003e1 0x00000000 0x00000000 0x00000000
    0x20: 0x00000000 0x00000000 0x00000000 0x00000000
    0x30: 0x00000000 0x00000000 0x00000000 0x000001ff
    0x40: 0x00000000 0x00000000 0x00000000 0x00000000
    0x50: 0x00000000 0x00000000 0x00000000 0x00000000
    0x60: 0x00000000 0x00000000 0x00000000 0x00000000
    0x70: 0x00000000 0x00000000 0x00000000 0x00000000
    0x80: 0x00000000 0x00000000 0x00000000 0x00000000
    0x90: 0x00000000 0x00000000 0x00000000 0x00000000
    0xa0: 0x00000000 0x00000000 0x00000000 0x00000000
    0xb0: 0x00000000 0x00000000 0x00000000 0x00000000
    0xc0: 0x00000000 0x00000000 0x00000000 0x00000000
    0xd0: 0x00000000 0x00000000 0x00000000 0x00000000
    0xe0: 0x00000000 0x00000000 0x00000000 0x00000000
    0xf0: 0x00000000 0x00000000 0x00000000 0x00000000
    pccard0: on pcic0
    pccard1: on pcic0
    chip1: port 0x3000-0x301f irq 10 at device 4.0 on pci0
    ex_isa_identify()
    pcic-: pcic0 exists, using next available unit number
    pcic-: pcic1 exists, using next available unit number
    Trying Read_Port at 203
    CSC0000: start dependant
    CSC0000: adding dma mask 0x2
    CSC0000: adding dma mask 0x9
    CSC0000: adding irq mask 0x20
    CSC0000: adding io range 0x534-0x537, size=0x4, align=0x4
    CSC0000: adding fixed io range 0x388-0x38b, size=0x4, align=0x1
    CSC0000: adding fixed io range 0x220-0x22f, size=0x10, align=0x1
    CSC0000: start dependant
    CSC0000: adding dma mask 0xb
    CSC0000: adding irq mask 0x82a0
    CSC0000: adding io range 0x534-0x537, size=0x4, align=0x4
    CSC0000: adding fixed io range 0x388-0x38b, size=0x4, align=0x1
    CSC0000: adding fixed io range 0x220-0x22f, size=0x10, align=0x1
    CSC0000: end dependant
    CSC0001: start dependant
    CSC0001: adding fixed io range 0x200-0x207, size=0x8, align=0x1
    CSC0001: start dependant
    CSC0001: adding io range 0x100-0x3ff, size=0x8, align=0x8
    CSC0001: end dependant
    CSC0002: adding io range 0x538-0x53f, size=0x8, align=0x8
    CSC0003: start dependant
    CSC0003: adding irq mask 0x200
    CSC0003: adding fixed io range 0x330-0x331, size=0x2, align=0x1
    CSC0003: start dependant
    CSC0003: adding irq mask 0x82a0
    CSC0003: adding io range 0x100-0x3f9, size=0x2, align=0x8
    CSC0003: end dependant
    isa_probe_children: disabling PnP devices
    isa_probe_children: probing non-PnP devices
    orm0:

  3. Re: FreeBSD 4.11, pccardd and two PCcards of the same type and model?

    Torfinn Ingolfsen wrote:
    > This is a multi-part message in MIME format.
    > --------------060707070005070907040604
    > Content-Type: text/plain; charset=ISO-8859-1; format=flowed
    > Content-Transfer-Encoding: 7bit
    >
    > Hang on, i just found out another thing, and it's probably important:
    > - it is only when inserted in slot 1 that the card doesn't work:
    >
    > Jan 28 20:47:02 kg-omni2 /kernel: pccard: card removed, slot 1
    > Jan 28 20:47:09 kg-omni2 /kernel: pccard: card inserted, slot 1
    > Jan 28 20:47:15 kg-omni2 pccardd[51]: No card in database for
    > "(null)"("(null)")
    >
    > The machine is a Toshiba OmniBook 5500CT.


    On my old T8000, the card controller had to be set to a specific
    mode in the BIOS. "PCIC" rather than "Compatible", AFAIR.

    --
    Warren Block * Rapid City, South Dakota * USA

  4. Re: FreeBSD 4.11, pccardd and two PCcards of the same type and model?

    Warren Block wrote:
    > On my old T8000, the card controller had to be set to a specific
    > mode in the BIOS. "PCIC" rather than "Compatible", AFAIR.


    Thanks for the tip.Unfortunately, the bios in my machine doesn't have
    such an option (it is from 1997, and yes - it is the latest available).
    after reading the man page for pcic(4), I looked at the pcic tunables:
    root@kg-omni2# sysctl hw.pcic
    hw.pcic.irq: 0
    hw.pcic.boot_deactivated: 0
    hw.pcic.pd6722_vsense: 1
    hw.pcic.ignore_function_1: 0
    hw.pcic.intr_path: 2
    hw.pcic.init_routing: 0
    hw.pcic.ignore_pci: 0
    hw.pcic.pd6729_intr_path: 1
    hw.pcic.ti12xx_enable_pci_clock: 0

    and set hw.pcic.intr_path="1" in /boot/loader.conf. The setting is
    changed after reboot:

    root@kg-omni2# sysctl hw.pcic
    hw.pcic.irq: 0
    hw.pcic.boot_deactivated: 0
    hw.pcic.pd6722_vsense: 1
    hw.pcic.ignore_function_1: 0
    hw.pcic.intr_path: 1
    hw.pcic.init_routing: 0
    hw.pcic.ignore_pci: 0
    hw.pcic.pd6729_intr_path: 1
    hw.pcic.ti12xx_enable_pci_clock: 0

    Unfortunately, it doesn't have the desired effect. :-/

    Any more hints?
    --
    Torfinn Ingolfsen,
    Norway

+ Reply to Thread