From owner-freebsd-mobile Mon May 13 7:21:54 2002 Delivered-To: freebsd-mobile@freebsd.org Received: from mail025.syd.optusnet.com.au (mail025.syd.optusnet.com.au [210.49.20.147]) by hub.freebsd.org (Postfix) with ESMTP id 7C98E37B409 for ; Mon, 13 May 2002 07:21:09 -0700 (PDT) Received: from coren (c16973.brasd1.vic.optusnet.com.au [210.49.154.86]) by mail025.syd.optusnet.com.au (8.11.1/8.11.1) with SMTP id g4DEL8v28575 for ; Tue, 14 May 2002 00:21:08 +1000 Message-ID: <005001c1fa89$6f4e71c0$0100a8c0@coren> From: "Emil Mikulic" To: Subject: pccard weirdness with 4.6-PRE and Toshiba Satellite 1550CDS Date: Tue, 14 May 2002 00:21:12 +1000 MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 6.00.2600.0000 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2600.0000 Sender: owner-freebsd-mobile@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org 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: 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] pccard: card removed, slot 0 pccard: card inserted, slot 0 (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 # 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: on pcic0 pccard1: on pcic1 pcic0: irq 11 at device 19.0 on pci0 pcic0: PCI Memory allocated: 0x44000000 pcic0: Polling mode pcic1: irq 11 at device 19.1 on pci0 pcic1: PCI Memory allocated: 0x44001000 pcic1: Polling mode (from dmesg) pcib0: on motherboard pci0: on pcib0 pci0: (vendor=0x11c1, dev=0x0441) at 7.0 irq 3 pci0: at 8.0 pci0: at 11.0 irq 11 pcm0: port 0xff00-0xffff irq 11 at device 12.0 on pci0 pcic0: irq 11 at device 19.0 on pci0 pcic0: PCI Memory allocated: 0x44000000 pccard0: on pcic0 pcic1: irq 11 at device 19.1 on pci0 pcic1: PCI Memory allocated: 0x44001000 pccard1: on pcic1 eisa0: on motherboard eisa0: unknown card @@@0000 (0x00000000) at slot 1 isa0: on motherboard pccard: card inserted, slot 0 ad0: 4126MB [8944/15/63] at ata0-master BIOSDMA acd0: CDROM 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