Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 14 May 2002 00:21:12 +1000
From:      "Emil Mikulic" <darkmoon7@optushome.com.au>
To:        <freebsd-mobile@freebsd.org>
Subject:   pccard weirdness with 4.6-PRE and Toshiba Satellite 1550CDS
Message-ID:  <005001c1fa89$6f4e71c0$0100a8c0@coren>

next in thread | raw e-mail | index | archive | help
My laptop is a standard Toshiba Satellite 1550CDS.

I ran 4.4-RELEASE on it without any problems.  I CVSup'd to
4-STABLE (giving me 4.6-PRERELEASE) on May 13 2002 and
now I'm getting a lot of problems with my PCMCIA network card,
a Xircom RealPort(tm) Ethernet 10/100 RE-100 (according to
the underside of the card)

The PC Card controller mode is set to "CardBus/16-bit"
in the laptop's BIOS (v7.10)

On boot:
    pccard: card inserted, slot 0

When I run pccardd:
    <delay of 3-5 sec>
    pccardd[108]: Card "Xircom"("CreditCard 10/100")
        [CE3-10/100] [1.00] matched "Xircom" ("CreditCard
        10/100") [(null)] [(null)]
    xe0 at port 0x240-0x24f iomem 0xcc000-0xccfff irq 11
        slot 0 on pccard0
    xe0: Xircom CE3, bonding version 0x45, 100Mbps capable
    xe0: DingoID = 0x444b, RevisionID = 0x1, VendorID = 0
    xe0: Ethernet address 00:10:a4:eb:0a:1b
    pccardd[108]: xe0: Xircom (CreditCard 10/100) inserted.
    pccardd[108]: pccardd started

When I run 'dhclient xe0,' the machine freezes up COMPLETELY.
I can't even switch virtual consoles.  If I physically eject
the card, it starts responding again:

    dhclient: receive_packet failed on xe0: Device not configured
    pccardd[108]: xe0: Xircom (CreditCard 10/100) removed.
    dhclient: receive_packet failed on xe0: Device not configured
    last message repeated 20716 times

If I then physically reinsert the card:

    pccard: card inserted, slot 0
    pccardd[108]: Card "Xircom"("CreditCard 10/100")
        [CE3-10/100] [1.00] matched "Xircom" ("CreditCard
        10/100") [(null)] [(null)]
    xe0 at port 0x240-0x24f iomem 0xcc000-0xccfff irq 11
        slot 0 on pccard0
    xe0: Xircom CE3, bonding version 0x45, 100Mbps capable
    xe0: DingoID = 0x444b, RevisionID = 0x1, VendorID = 0
    xe0: Ethernet address 00:10:a4:eb:0a:1b
    pccardd[108]: xe0: Xircom (CreditCard 10/100) inserted.

I now run dhclient again it succeeds, sets up the interface
and the network card works as expected.

I tried Mr. Losh's hw.pcic.intr_path=1 suggestion, but it
didn't work.  The behaviour was the same except that the
machine didn't unfreeze when I ejected the card, but only
when I shoved it back in.

Something interesting I discovered completely by accident:

Reboot the machine:
    pccard: card inserted, slot 0

Run madplay (the Satellite has an ESS Maestro 2E that works
quite happily with the pcm driver):
    # madplay /home/darkmoon/walked-in-line.mp3
    [MAD Banner and ID3 tag]
    <pause>
    pccard: card removed, slot 0
    pccard: card inserted, slot 0
    <sound starts now>
(I swear I didn't physically touch the card!)

After this, I can quite happily run pccardd:
    pccardd[108]: Card "Xircom"("CreditCard 10/100")
        [CE3-10/100] [1.00] matched "Xircom" ("CreditCard
        10/100") [(null)] [(null)]
    xe0 at port 0x240-0x24f iomem 0xcc000-0xccfff irq 11
        slot 0 on pccard0
    xe0: Xircom CE3, bonding version 0x45, 100Mbps capable
    xe0: DingoID = 0x444b, RevisionID = 0x1, VendorID = 0
    xe0: Ethernet address 00:10:a4:eb:0a:1b
    pccardd[108]: xe0: Xircom (CreditCard 10/100) inserted.
    pccardd[108]: pccardd started

And dhclient with no weird lockup:
    # dhclient xe0
    <pause>
    #

This has worked for me every time. I use it as a work-around:
The top line of my /etc/rc.pccard is a "madplay -t 0.1 [path-to-mp3]"

I spent a dozen reboots stepping through the madplay code
to find what triggers the pccard removed/inserted thing.
I don't know if I'm right but it appears to write sound data
to a file descriptor (which, I'm guessing is pointing at
/dev/dsp or something similar) and, after a few writes, the pccard
thing happens, then after that sound actually starts being
produced from the speakers.

From reading a few other threads in the freebsd-mobile
archive, it appears that I'm not the only person suffering
from the pccard lockup problem.  Is there any way I can
help in getting this fixed?

--- random diagnostic data follows ---

haplo# sysctl -a | fgrep pcic | sort -u
hw.pcic.boot_deactivated: 0
hw.pcic.ignore_function_1: 0
hw.pcic.init_routing: 0
hw.pcic.intr_path: 2
hw.pcic.irq: 0
machdep.pccard.pcic_resume_reset: 1
pccard0: <PC Card bus (classic)> on pcic0
pccard1: <PC Card bus (classic)> on pcic1
pcic0: <Toshiba ToPIC95B PCI-CardBus Bridge> irq 11 at device 19.0 on pci0
pcic0: PCI Memory allocated: 0x44000000
pcic0: Polling mode
pcic1: <Toshiba ToPIC95B PCI-CardBus Bridge> irq 11 at device 19.1 on pci0
pcic1: PCI Memory allocated: 0x44001000
pcic1: Polling mode

(from dmesg)
pcib0: <Host to PCI bridge> on motherboard
pci0: <PCI bus> on pcib0
pci0: <unknown card> (vendor=0x11c1, dev=0x0441) at 7.0 irq 3
pci0: <S3 ViRGE MX graphics accelerator> at 8.0
pci0: <NEC uPD 9210 USB controller> at 11.0 irq 11
pcm0: <ESS Technology Maestro-2E> port 0xff00-0xffff irq 11 at device 12.0 on pci0
pcic0: <Toshiba ToPIC95B PCI-CardBus Bridge> irq 11 at device 19.0 on pci0
pcic0: PCI Memory allocated: 0x44000000
pccard0: <PC Card bus (classic)> on pcic0
pcic1: <Toshiba ToPIC95B PCI-CardBus Bridge> irq 11 at device 19.1 on pci0
pcic1: PCI Memory allocated: 0x44001000
pccard1: <PC Card bus (classic)> on pcic1
eisa0: <EISA bus> on motherboard
eisa0: unknown card @@@0000 (0x00000000) at slot 1
isa0: <ISA bus> on motherboard
pccard: card inserted, slot 0
ad0: 4126MB <TOSHIBA MK4313MAT> [8944/15/63] at ata0-master BIOSDMA
acd0: CDROM <TOSHIBA CD-ROM XM-7002B> at ata1-master PIO4
Mounting root from ufs:/dev/ad0s1a
----



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-mobile" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?005001c1fa89$6f4e71c0$0100a8c0>