From owner-freebsd-mobile Thu Nov 4 11:54:24 1999 Delivered-To: freebsd-mobile@freebsd.org Received: from rover.village.org (rover.village.org [204.144.255.49]) by hub.freebsd.org (Postfix) with ESMTP id 0ACE115127; Thu, 4 Nov 1999 11:53:55 -0800 (PST) (envelope-from imp@harmony.village.org) Received: from harmony.village.org (harmony.village.org [10.0.0.6]) by rover.village.org (8.9.3/8.9.3) with ESMTP id MAA74475; Thu, 4 Nov 1999 12:53:27 -0700 (MST) (envelope-from imp@harmony.village.org) Received: from harmony.village.org (localhost.village.org [127.0.0.1]) by harmony.village.org (8.9.3/8.8.3) with ESMTP id MAA09155; Thu, 4 Nov 1999 12:52:47 -0700 (MST) Message-Id: <199911041952.MAA09155@harmony.village.org> To: Will Andrews Subject: Re: laptop problems Cc: mobile@FreeBSD.ORG, current@FreeBSD.ORG In-reply-to: Your message of "Wed, 03 Nov 1999 23:12:37 EST." <3.0.6.32.19991103231237.008b0d40@mail.psn.net> References: <3.0.6.32.19991103231237.008b0d40@mail.psn.net> <3.0.6.32.19991101181513.0081bb40@mail.psn.net> Date: Thu, 04 Nov 1999 12:52:47 -0700 From: Warner Losh Sender: owner-freebsd-mobile@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org In message <3.0.6.32.19991103231237.008b0d40@mail.psn.net> Will Andrews writes: : My card IS getting recognized, and seems to be on the appropriate port, : BUT, I think memory pointers are getting mixed up, because it's : returning the _WRONG_ MAC address. That's usually an indication that something is wrong. : Plus, 'pccard0' is being used even : though it's not in the kernel currently loaded. It must be, or it won't work at all. : Here's the kernel output (that I found erroneous): : pcic: polling, can't alloc 0 : pcic: polling, can't alloc 0 Hardwire your pcic's irq to one that works. : Here's the pccardd output: : : ep0: <3Com 3C574B, Megahertz 3CCFE574BT or Fast Etherlink 3C574-TX> at : port 0x240-0x25f irq 10 slot 0 on pccard0 : ep0: Ethernet address 4b:57:4b:57:4b:57 : ep0: strange connector type in EEPROM, assuming AUI : : Yes, I have a 3Com 3CCFE574BT that has worked with -CURRENT before. : And yes, the kernel sources (at least relevant to pccard) is up to : date, including your EEPROM an pcic_p.c (or whatever) fixes. The : devclass_alloc_unit() problem was fixed by the pcic_p.c fix, but : EEPROM problems lurk. :\ Hmmm. Looks like I'll need access to the hardware to fix it then. Or Matt Dodd will. : It's been a few days since I wrote this reply. I've been hacking : /sys/dev/ep/if_ep.c, trying to figure out what's wrong. I : originally thought the ep_get_macaddr() function's for() loop : was erroneous in that it uses an integer `i' in the for loop : instead of a u_int_16. That theory didn't go (still got the : wrong MAC addresses.. something's not right.), however, I did : find out that the polling thing was caused by pcic's IRQ not : being assigned properly. I hardwared the pcic_irq = 11; in my : /sys/pccard/pcic.c, and that removed the error. So, somebody : borked pcic.c in this respect somewhere (haven't looked : further yet), although this hardwire didn't fix the MAC : address problem. I woundn't expect it to. : Then I had a look at the odd EEPROM problem, which seems to have : been caused by erroneous values in IFM_ETHER_10T, etc. I put in : a debugging device_printf(), and found my ifm.ifmedia (whatever's : in the switch() with a default: that outputs the error message : above (it's in /sys/dev/ep/if_ep.c)) to equal 0. What the hell's : wrong with this thing? IFM_ETHER_10T should be 0, judging by : the array definition given. Perhaps you meant to use an enum? : Anyway, I plugged in a case 0: to see if that fixed the problem, : and it did. So, something's borked with that too. : : /me will check CVS logs tomorrow to see if in one place or : another ep_get_macaddr(), etc. got borked somehow. Patches? Warner To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-mobile" in the body of the message