Xircom XE2000 card

jvk-list at thekrafts.org jvk-list at thekrafts.org
Sun Nov 26 17:08:29 PST 2006


>-------- Original Message --------
>Subject: Xircom XE2000 card
>From: jvk-list at thekrafts.org
>Date: Fri, November 17, 2006 9:44 am
>To: freebsd-mobile at freebsd.org


>I have an Inspiron 7000 laptop I've set up as a FreeBSD server running Version 6.1.  I have a Xircom XE2000 >ethernet card I'd like to use.  It appears to be recognized by FreeBSD, but doesn't startup correctly.  In >searching I've seen references to it working with FreeBSD, but indicate it should use the xe driver. 
 
>Here's what the dmesg says: 
>ed1: <Xircom 10/100 Network PC Card> at port 0x100-0x10f iomem 0x88000000-0x88000fff irq 1
>1 function 0 config 1 on pccard0
>device_attach: ed1 attach returned 6 
 
>Looking at the hardware list it should be supported by the dc or xe drivers, but not the ed driver.  Am I >missing something easy, or is this card not reallyl supported at all? 
 
>Thanks, 
>Joe. 


I've taken this about as far as I can, I need someone else with more
knowledge about how the device drivers work to validate and actually
get the issue fixed in the source. 


MY SOLUTION:
The real answer to my problem which was how to get my Xircom XE2000 card
to work with FreeBSD 6.1 took a bit of googleing and digging through the
code.  The issue is evidentally that there are at least two incarnations
of the XE2000 card, and as luck would have it the one I had was not
recognized correctly by the xe driver.

The bottom line is that the card is recognized by the xe driver, but I
had to add entries for it to the pccarddevs file as well as to the xe
driver.

I apologize for not being able to create normal diffs.  With the setup
I'm forced to live with right now, I'm lucky to have e-mail access.  I
hope someone can decipher my freeform version, and generate a proper
one so it can be comitted.

For the first part, src/sys/dev/pccard/pccarddevs must be modified.  For
version 1.125, add the following after line 600:
product XIRCOM XE2000_2            0x010a Xircom XE2000 10/100 Ethernet

The second part is in: src/sys/dev/pccard/if_xe_pccard.c.  The current
version is 1.32, add the following after line 125:
{ PCMCIA_CARD_D(XIRCOM, XE2000),   0x53, XE_CARD_TYPE_FLAGS_MOHAWK },
{ PCMCIA_CARD_D(XIRCOM, XE2000_2), 0x53, XE_CARD_TYPE_FLAGS_MOHAWK },

This is essentially the same change as requested in kern/85266 in the
bugs database, updated slightly for the new format of pccarddevs for
6.0.

UNRESOLVED ISSUE:
I'm also a little concerned by the fact that the ed(4) driver tries to
grab the device, I had to build a kernel without ed(4) to get the xe
driver to recognize the card. 

Thanks everyone for the help I received on the freebsd-questions list.
Joe.
 

Here's the part of the dmesg from the card insertion with
hw.pccard.debug=1 and hw.xe.debug=2 sysctls set.
Nov 27 02:56:56 dragon kernel: pccard0: chip_socket_enable
Nov 27 02:56:56 dragon kernel: pccard0: read_cis
Nov 27 02:56:56 dragon kernel: pccard0: check_cis_quirks
Nov 27 02:56:56 dragon kernel: pccard0: CIS version PC Card Standard 5.0
Nov 27 02:56:56 dragon kernel: pccard0: CIS info: Xircom, 10/100 Network
PC Card, XE2000, 1.00
Nov 27 02:56:56 dragon kernel: pccard0: Manufacturer code 0x105, product
0x10a
Nov 27 02:56:56 dragon kernel: pccard0: function 0: network adapter, ccr
addr 800 mask 3
Nov 27 02:56:56 dragon kernel: pccard0: function 0, config table entry
1: I/O card; irq mask 8ebc; iomask 4, ios
pace 0-f; memspace 0-fff; mwait_required rdybsy_active io8 io16 irqpulse
irqlevel powerdown
Nov 27 02:56:56 dragon kernel: pccard0: functions scanning
Nov 27 02:56:56 dragon kernel: pccard0: Card has 1 functions. pccard_mfc
is 0
Nov 27 02:56:56 dragon kernel: pccard0: I/O rid 0 start 0 end ffffffff
Nov 27 02:56:56 dragon kernel: pccard0: Memory rid 0 start 0 end
ffffffff
Nov 27 02:56:56 dragon kernel: pccard0: ccr_res == 88001000-880013ff,
base=800
Nov 27 02:56:56 dragon kernel: pccard0: function 0 CCR at 0 offset 800:
41 0 0 0, 0 0 0 41, 0
Nov 27 02:56:56 dragon kernel: xe0: pccard_probe
Nov 27 02:56:56 dragon kernel: xe0: <Xircom XE2000 10/100 Ethernet> at
port 0x100-0x10f iomem 0x88000000-0x88000
fff irq 11 function 0 config 1 on pccard0
Nov 27 02:56:56 dragon kernel: xe0: pccard_attach
Nov 27 02:56:56 dragon kernel: xe0: vendor = 0x0105
Nov 27 02:56:56 dragon kernel: xe0: product = 0x010a
Nov 27 02:56:56 dragon kernel: xe0: prodext = 0x53
Nov 27 02:56:56 dragon kernel: xe0: vendor_str = Xircom
Nov 27 02:56:56 dragon kernel: xe0: product_str = 10/100 Network PC Card
Nov 27 02:56:56 dragon kernel: xe0: cis3_str = XE2000
Nov 27 02:56:56 dragon kernel: xe0: cis4_str = 1.00
Nov 27 02:56:56 dragon kernel: xe0: activate
Nov 27 02:56:56 dragon kernel: xe0: [GIANT-LOCKED]
Nov 27 02:56:56 dragon kernel: xe0: attach
Nov 27 02:56:56 dragon kernel: xe0: reset
Nov 27 02:56:56 dragon kernel: xe0: version 0x45/0x04, 100Mbps capable
Nov 27 02:56:56 dragon kernel: xe0: DingoID=0x444b, RevisionID=0x0001,
VendorID=0x0000
Nov 27 02:56:56 dragon kernel: xe0: Ethernet address: 00:10:a4:b8:03:5a
Nov 27 02:56:56 dragon kernel: xe0: if_start running deferred for Giant
Nov 27 02:56:56 dragon kernel: pccard0: function 0 CCR at 0 offset 800
mask 3: 41 0 0 0, 0 0 0 41, 0




More information about the freebsd-mobile mailing list