Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 13 Nov 2001 02:11:00 -0800
From:      John Gordon <john.gordon@windriver.com>
To:        freebsd-mobile@FreeBSD.ORG
Subject:   Xircom Support Broken in 4.4-STABLE [was: Re: Odd behaviour on upgrade  to 4.4-R]
Message-ID:  <3BF0F1B4.38BBEE63@windriver.com>
References:  <3BEF7D60.A11C41BA@windriver.com> <3BEFA294.6F13C259@windriver.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Well,

Given the lack of suggestions today, I spent the evening poking around
in the PCMCIA code. I have discovered that the xe_probe routine is
apparently unable to see the CIS. It apparently maps it OK, but thanks
to some additional debug (partly enabling what was there, and partly
adding new stuff), I came up with this:

Nov 13 01:51:39 pooh pccardd[88]: Using I/O addr 0x2e8, size 8 
Nov 13 01:51:39 pooh pccardd[88]: Setting config reg at offs 0xff80 to
0x67, Res
et time = 50 ms 
Nov 13 01:51:44 pooh pccardd[88]: Assigning I/O window 0, start 0x2e8,
size 0x8 
flags 0x7 
Nov 13 01:51:44 pooh pccardd[88]: Assign xe0, io 0x2e8-0x2ef, mem 0x0, 0
bytes, 
irq 11, flags 0 
Nov 13 01:51:44 pooh /kernel: pccard2: Assigning xe0: io 0x2e8-0x2ef irq
11 mem 
0x0-0xffffffff
Nov 13 01:51:44 pooh /kernel: xe0: xe: Probing
Nov 13 01:51:44 pooh /kernel: xe0: Got version string (0x15)
Nov 13 01:51:44 pooh /kernel: xe0: version string = 85 ""
Nov 13 01:51:44 pooh /kernel: xe probe result = 6
Nov 13 01:51:44 pooh /kernel: pccard2: device_probe_and_attach error 6
Nov 13 01:51:44 pooh pccardd[88]: driver allocation failed for
Xircom(CreditCard
 Ethernet 10/100 + Modem 56): Device not configured

Now, the version string shouldn't look like that, and should only be 59
characters long, not the 85 reported here (the number before the string
is CISTPL_LEN(buf) ). My best guess here is that the new cardbus stuff
has somehow confused the xe driver. So, is there any way, other than
reverting to 4.3, to disable the cardbus support and revert to the old
mechanism? Sadly, my BIOS doesn't let me force a compatible mode.

Thanks in advance,

John...

John Gordon wrote:
> 
> Hello all,
> 
> Seeing Warner's notification of new code, I updated my source tree and
> rebuilt the kernel. Unfortunately, it doesn't change the behaviour I am
> seeing.
> 
> Regards,
> 
> John...
> 
> John Gordon wrote:
> >
> > Hello all,
> >
> > Well, seems I didn't learn from the pain of my last upgrade, and I
> > upgraded my laptop to 4.4-R. Now I have some very odd things happening,
> > and my Xircom card has ceased to work again.
> >
> > The driver for the card itself is unchanged (checked the sources), so it
> > has to be the PCMCIA card handling. There are some big changes in the
> > boot sequence:
> >
> > Here's what 4.3-R says:
> >
> > Nov 11 23:03:39 pooh /kernel.prev: pcic-pci0: <TI PCI-1131 PCI-CardBus
> > Bridge> irq 9 at device 7.0 on pci
> > 0
> > Nov 11 23:03:39 pooh /kernel.prev: pcic-pci0: TI113X PCI Config Reg:
> > [speaker enable][CSC serial isa irq]
> > Nov 11 23:03:39 pooh /kernel.prev: pcic-pci1: <TI PCI-1131 PCI-CardBus
> > Bridge> irq 10 at device 7.1 on pc
> > i0
> > Nov 11 23:03:39 pooh /kernel.prev: pcic-pci1: TI113X PCI Config Reg:
> > [speaker enable][CSC serial isa irq]
> > Nov 11 23:03:39 pooh /kernel.prev: pcic0: <Cirrus Logic PD672X> at port
> > 0x3e0 iomem 0xd0000 on isa0
> > Nov 11 23:03:39 pooh /kernel.prev: pcic0: Polling mode
> > Nov 11 23:03:39 pooh /kernel.prev: pccard0: <PC Card bus -- kludge
> > version> on pcic0
> > Nov 11 23:03:39 pooh /kernel.prev: pccard1: <PC Card bus -- kludge
> > version> on pcic0
> > Nov 11 23:03:39 pooh /kernel.prev: pcic1: <VLSI 82C146> at port 0x3e2
> > iomem 0xd4000 on isa0
> > Nov 11 23:03:39 pooh /kernel.prev: pcic1: Polling mode
> > Nov 11 23:03:39 pooh /kernel.prev: pccard2: <PC Card bus -- kludge
> > version> on pcic1
> > Nov 11 23:03:39 pooh /kernel.prev: pccard3: <PC Card bus -- kludge
> > version> on pcic1
> > Nov 11 23:03:40 pooh /kernel.prev: pccard: card inserted, slot 0
> > Nov 11 23:03:40 pooh /kernel.prev: pccard: card inserted, slot 2
> >
> > Now, those cards in 4.3 are the Xircom in slot 0, my LinkSys wi0 in slot
> > 2.
> >
> > The output from 4.4-R is as follows:
> >
> > Nov 11 23:02:08 pooh /kernel: pcic0: <TI PCI-1131 PCI-CardBus Bridge>
> > irq 9 at device 7.0 on pci0
> > Nov 11 23:02:08 pooh /kernel: pcic0: PCI Memory allocated: 0x44000000
> > Nov 11 23:02:08 pooh /kernel: pcic0: TI113X PCI Config Reg: [speaker
> > enable][CSC serial isa irq]
> > Nov 11 23:02:08 pooh /kernel: pccard0: <PC Card bus (classic)> on pcic0
> > Nov 11 23:02:08 pooh /kernel: pcic1: <TI PCI-1131 PCI-CardBus Bridge>
> > irq 10 at device 7.1 on pci0
> > Nov 11 23:02:08 pooh /kernel: pcic1: PCI Memory allocated: 0x44001000
> > Nov 11 23:02:08 pooh /kernel: pcic1: TI113X PCI Config Reg: [speaker
> > enable][CSC serial isa irq]
> > Nov 11 23:02:08 pooh /kernel: pccard1: <PC Card bus (classic)> on pcic1
> > Nov 11 23:02:08 pooh /kernel: pcic2: <Cirrus logic 672x> at port 0x3e0
> > iomem 0xd0000 on isa0
> > Nov 11 23:02:08 pooh /kernel: pcic2: Polling mode
> > Nov 11 23:02:08 pooh /kernel: pccard2: <PC Card bus (classic)> on pcic2
> > Nov 11 23:02:08 pooh /kernel: pccard3: <PC Card bus (classic)> on pcic2
> > Nov 11 23:02:08 pooh /kernel: pccard: card inserted, slot 0
> > Nov 11 23:02:08 pooh /kernel: pccard: card inserted, slot 2
> >
> > This time, notice that there is a pcic2 (using the device that used to
> > be called pcic0 in 4.3-R), and nothing using the device that was called
> > pcic1 in the 4.3-R kernel. The other odd thing is that slot 0 is now the
> > LinkSys, and slot 2 the Xircom. The failure comes from pccardd:
> >
> > Nov 11 14:48:18 pooh pccardd[88]: Card "Xircom"("CreditCard Ethernet
> > 10/100 + Modem 56") [CEM56] [1.00] matched "Xircom" ("CreditCard
> > Ethernet 10/100 + Modem 56") [(null)] [(null)]
> > Nov 11 14:48:23 pooh pccardd[88]: driver allocation failed for
> > Xircom(CreditCard Ethernet 10/100 + Modem 56): Device not configured
> >
> > My config for the kernel is the same as it was (I checked the diffs
> > between GENERIC for the two releases and nothing that changed is
> > relevant to what I have left in the config):
> >
> > # PCCARD (PCMCIA) support
> > device          card
> > device          pcic0   at isa? irq 0 port 0x3e0 iomem 0xd0000
> > device          pcic1   at isa? irq 0 port 0x3e2 iomem 0xd4000
> >
> > Any ideas where the strange pcic2 is coming from, and why it is starting
> > at 2 now and not 0?
> >
> > Thanks in advance,
> >
> > John...
> >
> > To Unsubscribe: send mail to majordomo@FreeBSD.org
> > with "unsubscribe freebsd-mobile" in the body of the message
> 
> To Unsubscribe: send mail to majordomo@FreeBSD.org
> with "unsubscribe freebsd-mobile" in the body of the message

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?3BF0F1B4.38BBEE63>